diff --git a/Spring.Net.2008.sln b/Spring.Net.2008.sln index 5687694f..e900a9ac 100644 --- a/Spring.Net.2008.sln +++ b/Spring.Net.2008.sln @@ -36,8 +36,6 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Spring.Web.Extensions.2008" EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Spring.Testing.NUnit.2008", "src\Spring\Spring.Testing.NUnit\Spring.Testing.NUnit.2008.csproj", "{ED204A7B-832F-44C7-BFE3-504AEBE1BCC8}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Spring.Data.NHibernate12.2008", "src\Spring\Spring.Data.NHibernate12\Spring.Data.NHibernate12.2008.csproj", "{90F2D070-6F98-4926-A626-BD7A6071D6D9}" -EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Spring.Testing.NUnit.Tests.2008", "test\Spring\Spring.Testing.NUnit.Tests\Spring.Testing.NUnit.Tests.2008.csproj", "{4D6D616B-7643-4D6B-8E5E-14ECFDB9AF82}" EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Spring.Scheduling.Quartz.2008", "src\Spring\Spring.Scheduling.Quartz\Spring.Scheduling.Quartz.2008.csproj", "{E823D54C-CE82-4868-929F-5F95A999F61E}" @@ -48,36 +46,22 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Spring.Messaging.Nms.2008", EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Spring.Messaging.Nms.Tests.2008", "test\Spring\Spring.Messaging.Nms.Tests\Spring.Messaging.Nms.Tests.2008.csproj", "{FA7A6931-7DBE-4A32-A312-51FAD2E80332}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Spring.Data.NHibernate20.2008", "src\Spring\Spring.Data.NHibernate20\Spring.Data.NHibernate20.2008.csproj", "{71368632-B8B7-4A6A-8C65-8DA848120C82}" -EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Spring.Messaging.2008", "src\Spring\Spring.Messaging\Spring.Messaging.2008.csproj", "{0E23AE41-D8D8-41C2-84A2-D35564049F0D}" EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Spring.Messaging.Tests.2008", "test\Spring\Spring.Messaging.Tests\Spring.Messaging.Tests.2008.csproj", "{41BC3AEA-7EB3-48BF-B1EC-84119376AC98}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Spring.Data.NHibernate20.Tests.2008", "test\Spring\Spring.Data.NHibernate20.Tests\Spring.Data.NHibernate20.Tests.2008.csproj", "{EACD4B0B-06F9-4A0C-B8E8-EBE6BB0A167F}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Spring.Data.NHibernate21.Tests.2008", "test\Spring\Spring.Data.NHibernate21.Tests\Spring.Data.NHibernate21.Tests.2008.csproj", "{90FEE979-7367-4542-BCCB-BF634E04A9D3}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Spring.Data.NHibernate21.2008", "src\Spring\Spring.Data.NHibernate21\Spring.Data.NHibernate21.2008.csproj", "{E57B4652-0231-49CB-B058-87E10EFE540D}" -EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Spring.Template.Velocity.2008", "src\Spring\Spring.Template.Velocity\Spring.Template.Velocity.2008.csproj", "{BF3AB954-8375-407C-9E98-4C51D8072784}" EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Spring.Template.Velocity.Tests", "test\Spring\Spring.Template.Velocity.Tests\Spring.Template.Velocity.Tests.csproj", "{10405837-CB67-40D8-9326-84C9383983E2}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Spring.Data.NHibernate30.2008", "src\Spring\Spring.Data.NHibernate30\Spring.Data.NHibernate30.2008.csproj", "{009247FE-CBAD-40FF-ADC3-D7F28B270071}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Spring.Data.NHibernate30.Tests.2008", "test\Spring\Spring.Data.NHibernate30.Tests\Spring.Data.NHibernate30.Tests.2008.csproj", "{E4CCB8A2-2381-41D1-B44C-E20E13703056}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Spring.Data.NHibernate21.Integration.Tests.2008", "test\Spring\Spring.Data.NHibernate21.Integration.Tests\Spring.Data.NHibernate21.Integration.Tests.2008.csproj", "{4A07E150-ED90-407C-8CAD-4760444DDFD9}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Spring.Data.NHibernate31.2008", "src\Spring\Spring.Data.NHibernate31\Spring.Data.NHibernate31.2008.csproj", "{1C8E0481-A70D-445E-AB4D-4A963CF7DC83}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Spring.Data.NHibernate31.Tests.2008", "test\Spring\Spring.Data.NHibernate31.Tests\Spring.Data.NHibernate31.Tests.2008.csproj", "{231512F3-4F1D-45E1-BADE-D01F68DB9A80}" -EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Spring.Testing.Microsoft.2008", "src\Spring\Spring.Testing.Microsoft\Spring.Testing.Microsoft.2008.csproj", "{2E10A8D3-B8FF-4699-90B8-E621659C58DD}" EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Spring.Testing.Microsoft.Tests.2008", "test\Spring\Spring.Testing.Microsoft.Tests\Spring.Testing.Microsoft.Tests.2008.csproj", "{7321149A-47C6-4FBA-9D1A-26FD6815381B}" EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Spring.Data.NHibernate32.2008", "src\Spring\Spring.Data.NHibernate32\Spring.Data.NHibernate32.2008.csproj", "{1C8E0481-A70D-445E-AB4D-4A963CF7DC83}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Spring.Data.NHibernate32.Tests.2008", "test\Spring\Spring.Data.NHibernate32.Tests\Spring.Data.NHibernate32.Tests.2008.csproj", "{231512F3-4F1D-45E1-BADE-D01F68DB9A80}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|.NET = Debug|.NET @@ -244,18 +228,6 @@ Global {ED204A7B-832F-44C7-BFE3-504AEBE1BCC8}.Release|Any CPU.Build.0 = Release|Any CPU {ED204A7B-832F-44C7-BFE3-504AEBE1BCC8}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU {ED204A7B-832F-44C7-BFE3-504AEBE1BCC8}.Release|Mixed Platforms.Build.0 = Release|Any CPU - {90F2D070-6F98-4926-A626-BD7A6071D6D9}.Debug|.NET.ActiveCfg = Debug|Any CPU - {90F2D070-6F98-4926-A626-BD7A6071D6D9}.Debug|.NET.Build.0 = Debug|Any CPU - {90F2D070-6F98-4926-A626-BD7A6071D6D9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {90F2D070-6F98-4926-A626-BD7A6071D6D9}.Debug|Any CPU.Build.0 = Debug|Any CPU - {90F2D070-6F98-4926-A626-BD7A6071D6D9}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU - {90F2D070-6F98-4926-A626-BD7A6071D6D9}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU - {90F2D070-6F98-4926-A626-BD7A6071D6D9}.Release|.NET.ActiveCfg = Release|Any CPU - {90F2D070-6F98-4926-A626-BD7A6071D6D9}.Release|.NET.Build.0 = Release|Any CPU - {90F2D070-6F98-4926-A626-BD7A6071D6D9}.Release|Any CPU.ActiveCfg = Release|Any CPU - {90F2D070-6F98-4926-A626-BD7A6071D6D9}.Release|Any CPU.Build.0 = Release|Any CPU - {90F2D070-6F98-4926-A626-BD7A6071D6D9}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU - {90F2D070-6F98-4926-A626-BD7A6071D6D9}.Release|Mixed Platforms.Build.0 = Release|Any CPU {4D6D616B-7643-4D6B-8E5E-14ECFDB9AF82}.Debug|.NET.ActiveCfg = Debug|Any CPU {4D6D616B-7643-4D6B-8E5E-14ECFDB9AF82}.Debug|.NET.Build.0 = Debug|Any CPU {4D6D616B-7643-4D6B-8E5E-14ECFDB9AF82}.Debug|Any CPU.ActiveCfg = Debug|Any CPU @@ -308,16 +280,6 @@ Global {FA7A6931-7DBE-4A32-A312-51FAD2E80332}.Release|Any CPU.Build.0 = Release|Any CPU {FA7A6931-7DBE-4A32-A312-51FAD2E80332}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU {FA7A6931-7DBE-4A32-A312-51FAD2E80332}.Release|Mixed Platforms.Build.0 = Release|Any CPU - {71368632-B8B7-4A6A-8C65-8DA848120C82}.Debug|.NET.ActiveCfg = Debug|Any CPU - {71368632-B8B7-4A6A-8C65-8DA848120C82}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {71368632-B8B7-4A6A-8C65-8DA848120C82}.Debug|Any CPU.Build.0 = Debug|Any CPU - {71368632-B8B7-4A6A-8C65-8DA848120C82}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU - {71368632-B8B7-4A6A-8C65-8DA848120C82}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU - {71368632-B8B7-4A6A-8C65-8DA848120C82}.Release|.NET.ActiveCfg = Release|Any CPU - {71368632-B8B7-4A6A-8C65-8DA848120C82}.Release|Any CPU.ActiveCfg = Release|Any CPU - {71368632-B8B7-4A6A-8C65-8DA848120C82}.Release|Any CPU.Build.0 = Release|Any CPU - {71368632-B8B7-4A6A-8C65-8DA848120C82}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU - {71368632-B8B7-4A6A-8C65-8DA848120C82}.Release|Mixed Platforms.Build.0 = Release|Any CPU {0E23AE41-D8D8-41C2-84A2-D35564049F0D}.Debug|.NET.ActiveCfg = Debug|Any CPU {0E23AE41-D8D8-41C2-84A2-D35564049F0D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {0E23AE41-D8D8-41C2-84A2-D35564049F0D}.Debug|Any CPU.Build.0 = Debug|Any CPU @@ -338,36 +300,6 @@ Global {41BC3AEA-7EB3-48BF-B1EC-84119376AC98}.Release|Any CPU.Build.0 = Release|Any CPU {41BC3AEA-7EB3-48BF-B1EC-84119376AC98}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU {41BC3AEA-7EB3-48BF-B1EC-84119376AC98}.Release|Mixed Platforms.Build.0 = Release|Any CPU - {EACD4B0B-06F9-4A0C-B8E8-EBE6BB0A167F}.Debug|.NET.ActiveCfg = Debug|Any CPU - {EACD4B0B-06F9-4A0C-B8E8-EBE6BB0A167F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {EACD4B0B-06F9-4A0C-B8E8-EBE6BB0A167F}.Debug|Any CPU.Build.0 = Debug|Any CPU - {EACD4B0B-06F9-4A0C-B8E8-EBE6BB0A167F}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU - {EACD4B0B-06F9-4A0C-B8E8-EBE6BB0A167F}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU - {EACD4B0B-06F9-4A0C-B8E8-EBE6BB0A167F}.Release|.NET.ActiveCfg = Release|Any CPU - {EACD4B0B-06F9-4A0C-B8E8-EBE6BB0A167F}.Release|Any CPU.ActiveCfg = Release|Any CPU - {EACD4B0B-06F9-4A0C-B8E8-EBE6BB0A167F}.Release|Any CPU.Build.0 = Release|Any CPU - {EACD4B0B-06F9-4A0C-B8E8-EBE6BB0A167F}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU - {EACD4B0B-06F9-4A0C-B8E8-EBE6BB0A167F}.Release|Mixed Platforms.Build.0 = Release|Any CPU - {90FEE979-7367-4542-BCCB-BF634E04A9D3}.Debug|.NET.ActiveCfg = Debug|Any CPU - {90FEE979-7367-4542-BCCB-BF634E04A9D3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {90FEE979-7367-4542-BCCB-BF634E04A9D3}.Debug|Any CPU.Build.0 = Debug|Any CPU - {90FEE979-7367-4542-BCCB-BF634E04A9D3}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU - {90FEE979-7367-4542-BCCB-BF634E04A9D3}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU - {90FEE979-7367-4542-BCCB-BF634E04A9D3}.Release|.NET.ActiveCfg = Release|Any CPU - {90FEE979-7367-4542-BCCB-BF634E04A9D3}.Release|Any CPU.ActiveCfg = Release|Any CPU - {90FEE979-7367-4542-BCCB-BF634E04A9D3}.Release|Any CPU.Build.0 = Release|Any CPU - {90FEE979-7367-4542-BCCB-BF634E04A9D3}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU - {90FEE979-7367-4542-BCCB-BF634E04A9D3}.Release|Mixed Platforms.Build.0 = Release|Any CPU - {E57B4652-0231-49CB-B058-87E10EFE540D}.Debug|.NET.ActiveCfg = Debug|Any CPU - {E57B4652-0231-49CB-B058-87E10EFE540D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {E57B4652-0231-49CB-B058-87E10EFE540D}.Debug|Any CPU.Build.0 = Debug|Any CPU - {E57B4652-0231-49CB-B058-87E10EFE540D}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU - {E57B4652-0231-49CB-B058-87E10EFE540D}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU - {E57B4652-0231-49CB-B058-87E10EFE540D}.Release|.NET.ActiveCfg = Release|Any CPU - {E57B4652-0231-49CB-B058-87E10EFE540D}.Release|Any CPU.ActiveCfg = Release|Any CPU - {E57B4652-0231-49CB-B058-87E10EFE540D}.Release|Any CPU.Build.0 = Release|Any CPU - {E57B4652-0231-49CB-B058-87E10EFE540D}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU - {E57B4652-0231-49CB-B058-87E10EFE540D}.Release|Mixed Platforms.Build.0 = Release|Any CPU {BF3AB954-8375-407C-9E98-4C51D8072784}.Debug|.NET.ActiveCfg = Debug|Any CPU {BF3AB954-8375-407C-9E98-4C51D8072784}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {BF3AB954-8375-407C-9E98-4C51D8072784}.Debug|Any CPU.Build.0 = Debug|Any CPU @@ -388,56 +320,6 @@ Global {10405837-CB67-40D8-9326-84C9383983E2}.Release|Any CPU.Build.0 = Release|Any CPU {10405837-CB67-40D8-9326-84C9383983E2}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU {10405837-CB67-40D8-9326-84C9383983E2}.Release|Mixed Platforms.Build.0 = Release|Any CPU - {009247FE-CBAD-40FF-ADC3-D7F28B270071}.Debug|.NET.ActiveCfg = Debug|Any CPU - {009247FE-CBAD-40FF-ADC3-D7F28B270071}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {009247FE-CBAD-40FF-ADC3-D7F28B270071}.Debug|Any CPU.Build.0 = Debug|Any CPU - {009247FE-CBAD-40FF-ADC3-D7F28B270071}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU - {009247FE-CBAD-40FF-ADC3-D7F28B270071}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU - {009247FE-CBAD-40FF-ADC3-D7F28B270071}.Release|.NET.ActiveCfg = Release|Any CPU - {009247FE-CBAD-40FF-ADC3-D7F28B270071}.Release|Any CPU.ActiveCfg = Release|Any CPU - {009247FE-CBAD-40FF-ADC3-D7F28B270071}.Release|Any CPU.Build.0 = Release|Any CPU - {009247FE-CBAD-40FF-ADC3-D7F28B270071}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU - {009247FE-CBAD-40FF-ADC3-D7F28B270071}.Release|Mixed Platforms.Build.0 = Release|Any CPU - {E4CCB8A2-2381-41D1-B44C-E20E13703056}.Debug|.NET.ActiveCfg = Debug|Any CPU - {E4CCB8A2-2381-41D1-B44C-E20E13703056}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {E4CCB8A2-2381-41D1-B44C-E20E13703056}.Debug|Any CPU.Build.0 = Debug|Any CPU - {E4CCB8A2-2381-41D1-B44C-E20E13703056}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU - {E4CCB8A2-2381-41D1-B44C-E20E13703056}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU - {E4CCB8A2-2381-41D1-B44C-E20E13703056}.Release|.NET.ActiveCfg = Release|Any CPU - {E4CCB8A2-2381-41D1-B44C-E20E13703056}.Release|Any CPU.ActiveCfg = Release|Any CPU - {E4CCB8A2-2381-41D1-B44C-E20E13703056}.Release|Any CPU.Build.0 = Release|Any CPU - {E4CCB8A2-2381-41D1-B44C-E20E13703056}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU - {E4CCB8A2-2381-41D1-B44C-E20E13703056}.Release|Mixed Platforms.Build.0 = Release|Any CPU - {4A07E150-ED90-407C-8CAD-4760444DDFD9}.Debug|.NET.ActiveCfg = Debug|Any CPU - {4A07E150-ED90-407C-8CAD-4760444DDFD9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {4A07E150-ED90-407C-8CAD-4760444DDFD9}.Debug|Any CPU.Build.0 = Debug|Any CPU - {4A07E150-ED90-407C-8CAD-4760444DDFD9}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU - {4A07E150-ED90-407C-8CAD-4760444DDFD9}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU - {4A07E150-ED90-407C-8CAD-4760444DDFD9}.Release|.NET.ActiveCfg = Release|Any CPU - {4A07E150-ED90-407C-8CAD-4760444DDFD9}.Release|Any CPU.ActiveCfg = Release|Any CPU - {4A07E150-ED90-407C-8CAD-4760444DDFD9}.Release|Any CPU.Build.0 = Release|Any CPU - {4A07E150-ED90-407C-8CAD-4760444DDFD9}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU - {4A07E150-ED90-407C-8CAD-4760444DDFD9}.Release|Mixed Platforms.Build.0 = Release|Any CPU - {1C8E0481-A70D-445E-AB4D-4A963CF7DC83}.Debug|.NET.ActiveCfg = Debug|Any CPU - {1C8E0481-A70D-445E-AB4D-4A963CF7DC83}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {1C8E0481-A70D-445E-AB4D-4A963CF7DC83}.Debug|Any CPU.Build.0 = Debug|Any CPU - {1C8E0481-A70D-445E-AB4D-4A963CF7DC83}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU - {1C8E0481-A70D-445E-AB4D-4A963CF7DC83}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU - {1C8E0481-A70D-445E-AB4D-4A963CF7DC83}.Release|.NET.ActiveCfg = Release|Any CPU - {1C8E0481-A70D-445E-AB4D-4A963CF7DC83}.Release|Any CPU.ActiveCfg = Release|Any CPU - {1C8E0481-A70D-445E-AB4D-4A963CF7DC83}.Release|Any CPU.Build.0 = Release|Any CPU - {1C8E0481-A70D-445E-AB4D-4A963CF7DC83}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU - {1C8E0481-A70D-445E-AB4D-4A963CF7DC83}.Release|Mixed Platforms.Build.0 = Release|Any CPU - {231512F3-4F1D-45E1-BADE-D01F68DB9A80}.Debug|.NET.ActiveCfg = Debug|Any CPU - {231512F3-4F1D-45E1-BADE-D01F68DB9A80}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {231512F3-4F1D-45E1-BADE-D01F68DB9A80}.Debug|Any CPU.Build.0 = Debug|Any CPU - {231512F3-4F1D-45E1-BADE-D01F68DB9A80}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU - {231512F3-4F1D-45E1-BADE-D01F68DB9A80}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU - {231512F3-4F1D-45E1-BADE-D01F68DB9A80}.Release|.NET.ActiveCfg = Release|Any CPU - {231512F3-4F1D-45E1-BADE-D01F68DB9A80}.Release|Any CPU.ActiveCfg = Release|Any CPU - {231512F3-4F1D-45E1-BADE-D01F68DB9A80}.Release|Any CPU.Build.0 = Release|Any CPU - {231512F3-4F1D-45E1-BADE-D01F68DB9A80}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU - {231512F3-4F1D-45E1-BADE-D01F68DB9A80}.Release|Mixed Platforms.Build.0 = Release|Any CPU {2E10A8D3-B8FF-4699-90B8-E621659C58DD}.Debug|.NET.ActiveCfg = Debug|Any CPU {2E10A8D3-B8FF-4699-90B8-E621659C58DD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {2E10A8D3-B8FF-4699-90B8-E621659C58DD}.Debug|Any CPU.Build.0 = Debug|Any CPU @@ -458,6 +340,26 @@ Global {7321149A-47C6-4FBA-9D1A-26FD6815381B}.Release|Any CPU.Build.0 = Release|Any CPU {7321149A-47C6-4FBA-9D1A-26FD6815381B}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU {7321149A-47C6-4FBA-9D1A-26FD6815381B}.Release|Mixed Platforms.Build.0 = Release|Any CPU + {1C8E0481-A70D-445E-AB4D-4A963CF7DC83}.Debug|.NET.ActiveCfg = Debug|Any CPU + {1C8E0481-A70D-445E-AB4D-4A963CF7DC83}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {1C8E0481-A70D-445E-AB4D-4A963CF7DC83}.Debug|Any CPU.Build.0 = Debug|Any CPU + {1C8E0481-A70D-445E-AB4D-4A963CF7DC83}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU + {1C8E0481-A70D-445E-AB4D-4A963CF7DC83}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU + {1C8E0481-A70D-445E-AB4D-4A963CF7DC83}.Release|.NET.ActiveCfg = Release|Any CPU + {1C8E0481-A70D-445E-AB4D-4A963CF7DC83}.Release|Any CPU.ActiveCfg = Release|Any CPU + {1C8E0481-A70D-445E-AB4D-4A963CF7DC83}.Release|Any CPU.Build.0 = Release|Any CPU + {1C8E0481-A70D-445E-AB4D-4A963CF7DC83}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU + {1C8E0481-A70D-445E-AB4D-4A963CF7DC83}.Release|Mixed Platforms.Build.0 = Release|Any CPU + {231512F3-4F1D-45E1-BADE-D01F68DB9A80}.Debug|.NET.ActiveCfg = Debug|Any CPU + {231512F3-4F1D-45E1-BADE-D01F68DB9A80}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {231512F3-4F1D-45E1-BADE-D01F68DB9A80}.Debug|Any CPU.Build.0 = Debug|Any CPU + {231512F3-4F1D-45E1-BADE-D01F68DB9A80}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU + {231512F3-4F1D-45E1-BADE-D01F68DB9A80}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU + {231512F3-4F1D-45E1-BADE-D01F68DB9A80}.Release|.NET.ActiveCfg = Release|Any CPU + {231512F3-4F1D-45E1-BADE-D01F68DB9A80}.Release|Any CPU.ActiveCfg = Release|Any CPU + {231512F3-4F1D-45E1-BADE-D01F68DB9A80}.Release|Any CPU.Build.0 = Release|Any CPU + {231512F3-4F1D-45E1-BADE-D01F68DB9A80}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU + {231512F3-4F1D-45E1-BADE-D01F68DB9A80}.Release|Mixed Platforms.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/Spring.Net.2010.sln b/Spring.Net.2010.sln index 55de98aa..7ab93b4c 100644 --- a/Spring.Net.2010.sln +++ b/Spring.Net.2010.sln @@ -39,8 +39,6 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Spring.Web.Extensions.2010" EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Spring.Testing.NUnit.2010", "src\Spring\Spring.Testing.NUnit\Spring.Testing.NUnit.2010.csproj", "{ED204A7B-832F-44C7-BFE3-504AEBE1BCC8}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Spring.Data.NHibernate12.2010", "src\Spring\Spring.Data.NHibernate12\Spring.Data.NHibernate12.2010.csproj", "{90F2D070-6F98-4926-A626-BD7A6071D6D9}" -EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Spring.Testing.NUnit.Tests.2010", "test\Spring\Spring.Testing.NUnit.Tests\Spring.Testing.NUnit.Tests.2010.csproj", "{4D6D616B-7643-4D6B-8E5E-14ECFDB9AF82}" EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Spring.Scheduling.Quartz.2010", "src\Spring\Spring.Scheduling.Quartz\Spring.Scheduling.Quartz.2010.csproj", "{E823D54C-CE82-4868-929F-5F95A999F61E}" @@ -51,36 +49,18 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Spring.Messaging.Nms.2010", EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Spring.Messaging.Nms.Tests.2010", "test\Spring\Spring.Messaging.Nms.Tests\Spring.Messaging.Nms.Tests.2010.csproj", "{FA7A6931-7DBE-4A32-A312-51FAD2E80332}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Spring.Data.NHibernate20.2010", "src\Spring\Spring.Data.NHibernate20\Spring.Data.NHibernate20.2010.csproj", "{71368632-B8B7-4A6A-8C65-8DA848120C82}" -EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Spring.Messaging.2010", "src\Spring\Spring.Messaging\Spring.Messaging.2010.csproj", "{0E23AE41-D8D8-41C2-84A2-D35564049F0D}" EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Spring.Messaging.Tests.2010", "test\Spring\Spring.Messaging.Tests\Spring.Messaging.Tests.2010.csproj", "{41BC3AEA-7EB3-48BF-B1EC-84119376AC98}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Spring.Data.NHibernate20.Tests.2010", "test\Spring\Spring.Data.NHibernate20.Tests\Spring.Data.NHibernate20.Tests.2010.csproj", "{EACD4B0B-06F9-4A0C-B8E8-EBE6BB0A167F}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Spring.Data.NHibernate21.Tests.2010", "test\Spring\Spring.Data.NHibernate21.Tests\Spring.Data.NHibernate21.Tests.2010.csproj", "{90FEE979-7367-4542-BCCB-BF634E04A9D3}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Spring.Data.NHibernate21.2010", "src\Spring\Spring.Data.NHibernate21\Spring.Data.NHibernate21.2010.csproj", "{E57B4652-0231-49CB-B058-87E10EFE540D}" -EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Spring.Template.Velocity.2010", "src\Spring\Spring.Template.Velocity\Spring.Template.Velocity.2010.csproj", "{BF3AB954-8375-407C-9E98-4C51D8072784}" EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Spring.Template.Velocity.Tests.2010", "test\Spring\Spring.Template.Velocity.Tests\Spring.Template.Velocity.Tests.2010.csproj", "{10405837-CB67-40D8-9326-84C9383983E2}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Spring.Data.NHibernate30.2010", "src\Spring\Spring.Data.NHibernate30\Spring.Data.NHibernate30.2010.csproj", "{009247FE-CBAD-40FF-ADC3-D7F28B270071}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Spring.Data.NHibernate30.Tests.2010", "test\Spring\Spring.Data.NHibernate30.Tests\Spring.Data.NHibernate30.Tests.2010.csproj", "{E4CCB8A2-2381-41D1-B44C-E20E13703056}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Spring.Data.NHibernate21.Integration.Tests.2010", "test\Spring\Spring.Data.NHibernate21.Integration.Tests\Spring.Data.NHibernate21.Integration.Tests.2010.csproj", "{4A07E150-ED90-407C-8CAD-4760444DDFD9}" -EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Spring.Web.Mvc.2010", "src\Spring\Spring.Web.Mvc\Spring.Web.Mvc.2010.csproj", "{5166CE3A-14BE-478A-88DA-729A39DE1E29}" EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Spring.Web.Mvc.Tests.2010", "test\Spring\Spring.Web.Mvc.Tests\Spring.Web.Mvc.Tests.2010.csproj", "{D4032434-D9A8-437B-95E8-9D4DE0AD9932}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Spring.Data.NHibernate31.2010", "src\Spring\Spring.Data.NHibernate31\Spring.Data.NHibernate31.2010.csproj", "{66DCCF2A-5E28-4539-8F8A-C8DDB9E54CC4}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Spring.Data.NHibernate31.Tests.2010", "test\Spring\Spring.Data.NHibernate31.Tests\Spring.Data.NHibernate31.Tests.2010.csproj", "{867628D8-DFCC-4D2A-A786-EB0D97DBC3DC}" -EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Spring.Web.Mvc3.2010", "src\Spring\Spring.Web.Mvc3\Spring.Web.Mvc3.2010.csproj", "{904C97E0-3667-4D12-A55F-6CC2E6F68A0A}" EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Spring.Web.Mvc3.Tests.2010", "test\Spring\Spring.Web.Mvc3.Tests\Spring.Web.Mvc3.Tests.2010.csproj", "{1E8E7C0A-4474-44F6-AA67-FABB40FA9784}" @@ -262,18 +242,6 @@ Global {ED204A7B-832F-44C7-BFE3-504AEBE1BCC8}.Release|Any CPU.Build.0 = Release|Any CPU {ED204A7B-832F-44C7-BFE3-504AEBE1BCC8}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU {ED204A7B-832F-44C7-BFE3-504AEBE1BCC8}.Release|Mixed Platforms.Build.0 = Release|Any CPU - {90F2D070-6F98-4926-A626-BD7A6071D6D9}.Debug|.NET.ActiveCfg = Debug|Any CPU - {90F2D070-6F98-4926-A626-BD7A6071D6D9}.Debug|.NET.Build.0 = Debug|Any CPU - {90F2D070-6F98-4926-A626-BD7A6071D6D9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {90F2D070-6F98-4926-A626-BD7A6071D6D9}.Debug|Any CPU.Build.0 = Debug|Any CPU - {90F2D070-6F98-4926-A626-BD7A6071D6D9}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU - {90F2D070-6F98-4926-A626-BD7A6071D6D9}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU - {90F2D070-6F98-4926-A626-BD7A6071D6D9}.Release|.NET.ActiveCfg = Release|Any CPU - {90F2D070-6F98-4926-A626-BD7A6071D6D9}.Release|.NET.Build.0 = Release|Any CPU - {90F2D070-6F98-4926-A626-BD7A6071D6D9}.Release|Any CPU.ActiveCfg = Release|Any CPU - {90F2D070-6F98-4926-A626-BD7A6071D6D9}.Release|Any CPU.Build.0 = Release|Any CPU - {90F2D070-6F98-4926-A626-BD7A6071D6D9}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU - {90F2D070-6F98-4926-A626-BD7A6071D6D9}.Release|Mixed Platforms.Build.0 = Release|Any CPU {4D6D616B-7643-4D6B-8E5E-14ECFDB9AF82}.Debug|.NET.ActiveCfg = Debug|Any CPU {4D6D616B-7643-4D6B-8E5E-14ECFDB9AF82}.Debug|.NET.Build.0 = Debug|Any CPU {4D6D616B-7643-4D6B-8E5E-14ECFDB9AF82}.Debug|Any CPU.ActiveCfg = Debug|Any CPU @@ -326,16 +294,6 @@ Global {FA7A6931-7DBE-4A32-A312-51FAD2E80332}.Release|Any CPU.Build.0 = Release|Any CPU {FA7A6931-7DBE-4A32-A312-51FAD2E80332}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU {FA7A6931-7DBE-4A32-A312-51FAD2E80332}.Release|Mixed Platforms.Build.0 = Release|Any CPU - {71368632-B8B7-4A6A-8C65-8DA848120C82}.Debug|.NET.ActiveCfg = Debug|Any CPU - {71368632-B8B7-4A6A-8C65-8DA848120C82}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {71368632-B8B7-4A6A-8C65-8DA848120C82}.Debug|Any CPU.Build.0 = Debug|Any CPU - {71368632-B8B7-4A6A-8C65-8DA848120C82}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU - {71368632-B8B7-4A6A-8C65-8DA848120C82}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU - {71368632-B8B7-4A6A-8C65-8DA848120C82}.Release|.NET.ActiveCfg = Release|Any CPU - {71368632-B8B7-4A6A-8C65-8DA848120C82}.Release|Any CPU.ActiveCfg = Release|Any CPU - {71368632-B8B7-4A6A-8C65-8DA848120C82}.Release|Any CPU.Build.0 = Release|Any CPU - {71368632-B8B7-4A6A-8C65-8DA848120C82}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU - {71368632-B8B7-4A6A-8C65-8DA848120C82}.Release|Mixed Platforms.Build.0 = Release|Any CPU {0E23AE41-D8D8-41C2-84A2-D35564049F0D}.Debug|.NET.ActiveCfg = Debug|Any CPU {0E23AE41-D8D8-41C2-84A2-D35564049F0D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {0E23AE41-D8D8-41C2-84A2-D35564049F0D}.Debug|Any CPU.Build.0 = Debug|Any CPU @@ -356,36 +314,6 @@ Global {41BC3AEA-7EB3-48BF-B1EC-84119376AC98}.Release|Any CPU.Build.0 = Release|Any CPU {41BC3AEA-7EB3-48BF-B1EC-84119376AC98}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU {41BC3AEA-7EB3-48BF-B1EC-84119376AC98}.Release|Mixed Platforms.Build.0 = Release|Any CPU - {EACD4B0B-06F9-4A0C-B8E8-EBE6BB0A167F}.Debug|.NET.ActiveCfg = Debug|Any CPU - {EACD4B0B-06F9-4A0C-B8E8-EBE6BB0A167F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {EACD4B0B-06F9-4A0C-B8E8-EBE6BB0A167F}.Debug|Any CPU.Build.0 = Debug|Any CPU - {EACD4B0B-06F9-4A0C-B8E8-EBE6BB0A167F}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU - {EACD4B0B-06F9-4A0C-B8E8-EBE6BB0A167F}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU - {EACD4B0B-06F9-4A0C-B8E8-EBE6BB0A167F}.Release|.NET.ActiveCfg = Release|Any CPU - {EACD4B0B-06F9-4A0C-B8E8-EBE6BB0A167F}.Release|Any CPU.ActiveCfg = Release|Any CPU - {EACD4B0B-06F9-4A0C-B8E8-EBE6BB0A167F}.Release|Any CPU.Build.0 = Release|Any CPU - {EACD4B0B-06F9-4A0C-B8E8-EBE6BB0A167F}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU - {EACD4B0B-06F9-4A0C-B8E8-EBE6BB0A167F}.Release|Mixed Platforms.Build.0 = Release|Any CPU - {90FEE979-7367-4542-BCCB-BF634E04A9D3}.Debug|.NET.ActiveCfg = Debug|Any CPU - {90FEE979-7367-4542-BCCB-BF634E04A9D3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {90FEE979-7367-4542-BCCB-BF634E04A9D3}.Debug|Any CPU.Build.0 = Debug|Any CPU - {90FEE979-7367-4542-BCCB-BF634E04A9D3}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU - {90FEE979-7367-4542-BCCB-BF634E04A9D3}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU - {90FEE979-7367-4542-BCCB-BF634E04A9D3}.Release|.NET.ActiveCfg = Release|Any CPU - {90FEE979-7367-4542-BCCB-BF634E04A9D3}.Release|Any CPU.ActiveCfg = Release|Any CPU - {90FEE979-7367-4542-BCCB-BF634E04A9D3}.Release|Any CPU.Build.0 = Release|Any CPU - {90FEE979-7367-4542-BCCB-BF634E04A9D3}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU - {90FEE979-7367-4542-BCCB-BF634E04A9D3}.Release|Mixed Platforms.Build.0 = Release|Any CPU - {E57B4652-0231-49CB-B058-87E10EFE540D}.Debug|.NET.ActiveCfg = Debug|Any CPU - {E57B4652-0231-49CB-B058-87E10EFE540D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {E57B4652-0231-49CB-B058-87E10EFE540D}.Debug|Any CPU.Build.0 = Debug|Any CPU - {E57B4652-0231-49CB-B058-87E10EFE540D}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU - {E57B4652-0231-49CB-B058-87E10EFE540D}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU - {E57B4652-0231-49CB-B058-87E10EFE540D}.Release|.NET.ActiveCfg = Release|Any CPU - {E57B4652-0231-49CB-B058-87E10EFE540D}.Release|Any CPU.ActiveCfg = Release|Any CPU - {E57B4652-0231-49CB-B058-87E10EFE540D}.Release|Any CPU.Build.0 = Release|Any CPU - {E57B4652-0231-49CB-B058-87E10EFE540D}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU - {E57B4652-0231-49CB-B058-87E10EFE540D}.Release|Mixed Platforms.Build.0 = Release|Any CPU {BF3AB954-8375-407C-9E98-4C51D8072784}.Debug|.NET.ActiveCfg = Debug|Any CPU {BF3AB954-8375-407C-9E98-4C51D8072784}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {BF3AB954-8375-407C-9E98-4C51D8072784}.Debug|Any CPU.Build.0 = Debug|Any CPU @@ -406,36 +334,6 @@ Global {10405837-CB67-40D8-9326-84C9383983E2}.Release|Any CPU.Build.0 = Release|Any CPU {10405837-CB67-40D8-9326-84C9383983E2}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU {10405837-CB67-40D8-9326-84C9383983E2}.Release|Mixed Platforms.Build.0 = Release|Any CPU - {009247FE-CBAD-40FF-ADC3-D7F28B270071}.Debug|.NET.ActiveCfg = Debug|Any CPU - {009247FE-CBAD-40FF-ADC3-D7F28B270071}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {009247FE-CBAD-40FF-ADC3-D7F28B270071}.Debug|Any CPU.Build.0 = Debug|Any CPU - {009247FE-CBAD-40FF-ADC3-D7F28B270071}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU - {009247FE-CBAD-40FF-ADC3-D7F28B270071}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU - {009247FE-CBAD-40FF-ADC3-D7F28B270071}.Release|.NET.ActiveCfg = Release|Any CPU - {009247FE-CBAD-40FF-ADC3-D7F28B270071}.Release|Any CPU.ActiveCfg = Release|Any CPU - {009247FE-CBAD-40FF-ADC3-D7F28B270071}.Release|Any CPU.Build.0 = Release|Any CPU - {009247FE-CBAD-40FF-ADC3-D7F28B270071}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU - {009247FE-CBAD-40FF-ADC3-D7F28B270071}.Release|Mixed Platforms.Build.0 = Release|Any CPU - {E4CCB8A2-2381-41D1-B44C-E20E13703056}.Debug|.NET.ActiveCfg = Debug|Any CPU - {E4CCB8A2-2381-41D1-B44C-E20E13703056}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {E4CCB8A2-2381-41D1-B44C-E20E13703056}.Debug|Any CPU.Build.0 = Debug|Any CPU - {E4CCB8A2-2381-41D1-B44C-E20E13703056}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU - {E4CCB8A2-2381-41D1-B44C-E20E13703056}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU - {E4CCB8A2-2381-41D1-B44C-E20E13703056}.Release|.NET.ActiveCfg = Release|Any CPU - {E4CCB8A2-2381-41D1-B44C-E20E13703056}.Release|Any CPU.ActiveCfg = Release|Any CPU - {E4CCB8A2-2381-41D1-B44C-E20E13703056}.Release|Any CPU.Build.0 = Release|Any CPU - {E4CCB8A2-2381-41D1-B44C-E20E13703056}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU - {E4CCB8A2-2381-41D1-B44C-E20E13703056}.Release|Mixed Platforms.Build.0 = Release|Any CPU - {4A07E150-ED90-407C-8CAD-4760444DDFD9}.Debug|.NET.ActiveCfg = Debug|Any CPU - {4A07E150-ED90-407C-8CAD-4760444DDFD9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {4A07E150-ED90-407C-8CAD-4760444DDFD9}.Debug|Any CPU.Build.0 = Debug|Any CPU - {4A07E150-ED90-407C-8CAD-4760444DDFD9}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU - {4A07E150-ED90-407C-8CAD-4760444DDFD9}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU - {4A07E150-ED90-407C-8CAD-4760444DDFD9}.Release|.NET.ActiveCfg = Release|Any CPU - {4A07E150-ED90-407C-8CAD-4760444DDFD9}.Release|Any CPU.ActiveCfg = Release|Any CPU - {4A07E150-ED90-407C-8CAD-4760444DDFD9}.Release|Any CPU.Build.0 = Release|Any CPU - {4A07E150-ED90-407C-8CAD-4760444DDFD9}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU - {4A07E150-ED90-407C-8CAD-4760444DDFD9}.Release|Mixed Platforms.Build.0 = Release|Any CPU {5166CE3A-14BE-478A-88DA-729A39DE1E29}.Debug|.NET.ActiveCfg = Debug|Any CPU {5166CE3A-14BE-478A-88DA-729A39DE1E29}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {5166CE3A-14BE-478A-88DA-729A39DE1E29}.Debug|Any CPU.Build.0 = Debug|Any CPU @@ -456,26 +354,6 @@ Global {D4032434-D9A8-437B-95E8-9D4DE0AD9932}.Release|Any CPU.Build.0 = Release|Any CPU {D4032434-D9A8-437B-95E8-9D4DE0AD9932}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU {D4032434-D9A8-437B-95E8-9D4DE0AD9932}.Release|Mixed Platforms.Build.0 = Release|Any CPU - {66DCCF2A-5E28-4539-8F8A-C8DDB9E54CC4}.Debug|.NET.ActiveCfg = Debug|Any CPU - {66DCCF2A-5E28-4539-8F8A-C8DDB9E54CC4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {66DCCF2A-5E28-4539-8F8A-C8DDB9E54CC4}.Debug|Any CPU.Build.0 = Debug|Any CPU - {66DCCF2A-5E28-4539-8F8A-C8DDB9E54CC4}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU - {66DCCF2A-5E28-4539-8F8A-C8DDB9E54CC4}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU - {66DCCF2A-5E28-4539-8F8A-C8DDB9E54CC4}.Release|.NET.ActiveCfg = Release|Any CPU - {66DCCF2A-5E28-4539-8F8A-C8DDB9E54CC4}.Release|Any CPU.ActiveCfg = Release|Any CPU - {66DCCF2A-5E28-4539-8F8A-C8DDB9E54CC4}.Release|Any CPU.Build.0 = Release|Any CPU - {66DCCF2A-5E28-4539-8F8A-C8DDB9E54CC4}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU - {66DCCF2A-5E28-4539-8F8A-C8DDB9E54CC4}.Release|Mixed Platforms.Build.0 = Release|Any CPU - {867628D8-DFCC-4D2A-A786-EB0D97DBC3DC}.Debug|.NET.ActiveCfg = Debug|Any CPU - {867628D8-DFCC-4D2A-A786-EB0D97DBC3DC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {867628D8-DFCC-4D2A-A786-EB0D97DBC3DC}.Debug|Any CPU.Build.0 = Debug|Any CPU - {867628D8-DFCC-4D2A-A786-EB0D97DBC3DC}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU - {867628D8-DFCC-4D2A-A786-EB0D97DBC3DC}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU - {867628D8-DFCC-4D2A-A786-EB0D97DBC3DC}.Release|.NET.ActiveCfg = Release|Any CPU - {867628D8-DFCC-4D2A-A786-EB0D97DBC3DC}.Release|Any CPU.ActiveCfg = Release|Any CPU - {867628D8-DFCC-4D2A-A786-EB0D97DBC3DC}.Release|Any CPU.Build.0 = Release|Any CPU - {867628D8-DFCC-4D2A-A786-EB0D97DBC3DC}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU - {867628D8-DFCC-4D2A-A786-EB0D97DBC3DC}.Release|Mixed Platforms.Build.0 = Release|Any CPU {904C97E0-3667-4D12-A55F-6CC2E6F68A0A}.Debug|.NET.ActiveCfg = Debug|Any CPU {904C97E0-3667-4D12-A55F-6CC2E6F68A0A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {904C97E0-3667-4D12-A55F-6CC2E6F68A0A}.Debug|Any CPU.Build.0 = Debug|Any CPU diff --git a/Spring.build b/Spring.build index c046ca36..06e78ca5 100644 --- a/Spring.build +++ b/Spring.build @@ -376,12 +376,6 @@ Commandline Examples: - - - - - - @@ -396,10 +390,6 @@ Commandline Examples: - - - - @@ -421,14 +411,6 @@ Commandline Examples: - - - - - - - - @@ -663,18 +645,6 @@ Commandline Examples: - - - - - - - - - - - - @@ -708,26 +678,6 @@ Commandline Examples: - - - - - - - - - - - - - - - - - - - - @@ -1081,66 +1031,6 @@ Commandline Examples: - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -1285,26 +1175,6 @@ Commandline Examples: - - - - - - - - - - - - - - - - - - - - @@ -1587,12 +1457,6 @@ Commandline Examples: - - - - - - @@ -1612,17 +1476,7 @@ Commandline Examples: - - - - - - - - - - - + diff --git a/build-support/solutions/Spring.Net.NHibernate30.2008.sln b/build-support/solutions/Spring.Net.NHibernate.2008.sln similarity index 77% rename from build-support/solutions/Spring.Net.NHibernate30.2008.sln rename to build-support/solutions/Spring.Net.NHibernate.2008.sln index e1fbc8be..68685a11 100644 --- a/build-support/solutions/Spring.Net.NHibernate30.2008.sln +++ b/build-support/solutions/Spring.Net.NHibernate.2008.sln @@ -1,119 +1,118 @@ -Microsoft Visual Studio Solution File, Format Version 10.00 -# Visual Studio 2008 -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{F04753EF-7A1B-4837-AB63-8C0821E8155D}" - ProjectSection(SolutionItems) = preProject - ..\..\Spring.build = ..\..\Spring.build - ..\..\src\Spring\Spring.Data.NHibernate30\Spring.Data.NHibernate30.build = ..\..\src\Spring\Spring.Data.NHibernate30\Spring.Data.NHibernate30.build - EndProjectSection -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Spring.Core.2008", "..\..\src\Spring\Spring.Core\Spring.Core.2008.csproj", "{710961A3-0DF4-49E4-A26E-F5B9C044AC84}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Spring.Aop.2008", "..\..\src\Spring\Spring.Aop\Spring.Aop.2008.csproj", "{3A3A4E65-45A6-4B20-B460-0BEDC302C02C}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Spring.Data.2008", "..\..\src\Spring\Spring.Data\Spring.Data.2008.csproj", "{AE00E5AB-C39A-436F-86D2-33BFE33E2E40}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Spring.Data.NHibernate30.Integration.Tests.2008", "..\..\test\Spring\Spring.Data.NHibernate30.Integration.Tests\Spring.Data.NHibernate30.Integration.Tests.2008.csproj", "{93FED0CE-0B01-43AF-8CB1-244CC7C3308B}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Spring.Data.NHibernate30.Tests.2008", "..\..\test\Spring\Spring.Data.NHibernate30.Tests\Spring.Data.NHibernate30.Tests.2008.csproj", "{E4CCB8A2-2381-41D1-B44C-E20E13703056}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Spring.Data.NHibernate30.2008", "..\..\src\Spring\Spring.Data.NHibernate30\Spring.Data.NHibernate30.2008.csproj", "{009247FE-CBAD-40FF-ADC3-D7F28B270071}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Spring.Data.Tests.2008", "..\..\test\Spring\Spring.Data.Tests\Spring.Data.Tests.2008.csproj", "{ACD39D47-1811-40FA-9E7E-5DEA5B9CE6C0}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Spring.Core.Tests.2008", "..\..\test\Spring\Spring.Core.Tests\Spring.Core.Tests.2008.csproj", "{44B16BAA-6DF8-447C-9D7F-3AD3D854D904}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|.NET = Debug|.NET - Debug|Any CPU = Debug|Any CPU - Debug|Mixed Platforms = Debug|Mixed Platforms - Release|.NET = Release|.NET - Release|Any CPU = Release|Any CPU - Release|Mixed Platforms = Release|Mixed Platforms - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {710961A3-0DF4-49E4-A26E-F5B9C044AC84}.Debug|.NET.ActiveCfg = Debug|Any CPU - {710961A3-0DF4-49E4-A26E-F5B9C044AC84}.Debug|.NET.Build.0 = Debug|Any CPU - {710961A3-0DF4-49E4-A26E-F5B9C044AC84}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {710961A3-0DF4-49E4-A26E-F5B9C044AC84}.Debug|Any CPU.Build.0 = Debug|Any CPU - {710961A3-0DF4-49E4-A26E-F5B9C044AC84}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU - {710961A3-0DF4-49E4-A26E-F5B9C044AC84}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU - {710961A3-0DF4-49E4-A26E-F5B9C044AC84}.Release|.NET.ActiveCfg = Release|Any CPU - {710961A3-0DF4-49E4-A26E-F5B9C044AC84}.Release|.NET.Build.0 = Release|Any CPU - {710961A3-0DF4-49E4-A26E-F5B9C044AC84}.Release|Any CPU.ActiveCfg = Release|Any CPU - {710961A3-0DF4-49E4-A26E-F5B9C044AC84}.Release|Any CPU.Build.0 = Release|Any CPU - {710961A3-0DF4-49E4-A26E-F5B9C044AC84}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU - {710961A3-0DF4-49E4-A26E-F5B9C044AC84}.Release|Mixed Platforms.Build.0 = Release|Any CPU - {3A3A4E65-45A6-4B20-B460-0BEDC302C02C}.Debug|.NET.ActiveCfg = Debug|Any CPU - {3A3A4E65-45A6-4B20-B460-0BEDC302C02C}.Debug|.NET.Build.0 = Debug|Any CPU - {3A3A4E65-45A6-4B20-B460-0BEDC302C02C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {3A3A4E65-45A6-4B20-B460-0BEDC302C02C}.Debug|Any CPU.Build.0 = Debug|Any CPU - {3A3A4E65-45A6-4B20-B460-0BEDC302C02C}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU - {3A3A4E65-45A6-4B20-B460-0BEDC302C02C}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU - {3A3A4E65-45A6-4B20-B460-0BEDC302C02C}.Release|.NET.ActiveCfg = Release|Any CPU - {3A3A4E65-45A6-4B20-B460-0BEDC302C02C}.Release|.NET.Build.0 = Release|Any CPU - {3A3A4E65-45A6-4B20-B460-0BEDC302C02C}.Release|Any CPU.ActiveCfg = Release|Any CPU - {3A3A4E65-45A6-4B20-B460-0BEDC302C02C}.Release|Any CPU.Build.0 = Release|Any CPU - {3A3A4E65-45A6-4B20-B460-0BEDC302C02C}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU - {3A3A4E65-45A6-4B20-B460-0BEDC302C02C}.Release|Mixed Platforms.Build.0 = Release|Any CPU - {AE00E5AB-C39A-436F-86D2-33BFE33E2E40}.Debug|.NET.ActiveCfg = Debug|Any CPU - {AE00E5AB-C39A-436F-86D2-33BFE33E2E40}.Debug|.NET.Build.0 = Debug|Any CPU - {AE00E5AB-C39A-436F-86D2-33BFE33E2E40}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {AE00E5AB-C39A-436F-86D2-33BFE33E2E40}.Debug|Any CPU.Build.0 = Debug|Any CPU - {AE00E5AB-C39A-436F-86D2-33BFE33E2E40}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU - {AE00E5AB-C39A-436F-86D2-33BFE33E2E40}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU - {AE00E5AB-C39A-436F-86D2-33BFE33E2E40}.Release|.NET.ActiveCfg = Release|Any CPU - {AE00E5AB-C39A-436F-86D2-33BFE33E2E40}.Release|.NET.Build.0 = Release|Any CPU - {AE00E5AB-C39A-436F-86D2-33BFE33E2E40}.Release|Any CPU.ActiveCfg = Release|Any CPU - {AE00E5AB-C39A-436F-86D2-33BFE33E2E40}.Release|Any CPU.Build.0 = Release|Any CPU - {AE00E5AB-C39A-436F-86D2-33BFE33E2E40}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU - {AE00E5AB-C39A-436F-86D2-33BFE33E2E40}.Release|Mixed Platforms.Build.0 = Release|Any CPU - {93FED0CE-0B01-43AF-8CB1-244CC7C3308B}.Debug|.NET.ActiveCfg = Debug|Any CPU - {93FED0CE-0B01-43AF-8CB1-244CC7C3308B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {93FED0CE-0B01-43AF-8CB1-244CC7C3308B}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU - {93FED0CE-0B01-43AF-8CB1-244CC7C3308B}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU - {93FED0CE-0B01-43AF-8CB1-244CC7C3308B}.Release|.NET.ActiveCfg = Release|Any CPU - {93FED0CE-0B01-43AF-8CB1-244CC7C3308B}.Release|Any CPU.ActiveCfg = Release|Any CPU - {93FED0CE-0B01-43AF-8CB1-244CC7C3308B}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU - {E4CCB8A2-2381-41D1-B44C-E20E13703056}.Debug|.NET.ActiveCfg = Debug|Any CPU - {E4CCB8A2-2381-41D1-B44C-E20E13703056}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {E4CCB8A2-2381-41D1-B44C-E20E13703056}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU - {E4CCB8A2-2381-41D1-B44C-E20E13703056}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU - {E4CCB8A2-2381-41D1-B44C-E20E13703056}.Release|.NET.ActiveCfg = Release|Any CPU - {E4CCB8A2-2381-41D1-B44C-E20E13703056}.Release|Any CPU.ActiveCfg = Release|Any CPU - {E4CCB8A2-2381-41D1-B44C-E20E13703056}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU - {009247FE-CBAD-40FF-ADC3-D7F28B270071}.Debug|.NET.ActiveCfg = Debug|Any CPU - {009247FE-CBAD-40FF-ADC3-D7F28B270071}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {009247FE-CBAD-40FF-ADC3-D7F28B270071}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU - {009247FE-CBAD-40FF-ADC3-D7F28B270071}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU - {009247FE-CBAD-40FF-ADC3-D7F28B270071}.Release|.NET.ActiveCfg = Release|Any CPU - {009247FE-CBAD-40FF-ADC3-D7F28B270071}.Release|Any CPU.ActiveCfg = Release|Any CPU - {009247FE-CBAD-40FF-ADC3-D7F28B270071}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU - {ACD39D47-1811-40FA-9E7E-5DEA5B9CE6C0}.Debug|.NET.ActiveCfg = Debug|Any CPU - {ACD39D47-1811-40FA-9E7E-5DEA5B9CE6C0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {ACD39D47-1811-40FA-9E7E-5DEA5B9CE6C0}.Debug|Any CPU.Build.0 = Debug|Any CPU - {ACD39D47-1811-40FA-9E7E-5DEA5B9CE6C0}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU - {ACD39D47-1811-40FA-9E7E-5DEA5B9CE6C0}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU - {ACD39D47-1811-40FA-9E7E-5DEA5B9CE6C0}.Release|.NET.ActiveCfg = Release|Any CPU - {ACD39D47-1811-40FA-9E7E-5DEA5B9CE6C0}.Release|Any CPU.ActiveCfg = Release|Any CPU - {ACD39D47-1811-40FA-9E7E-5DEA5B9CE6C0}.Release|Any CPU.Build.0 = Release|Any CPU - {ACD39D47-1811-40FA-9E7E-5DEA5B9CE6C0}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU - {ACD39D47-1811-40FA-9E7E-5DEA5B9CE6C0}.Release|Mixed Platforms.Build.0 = Release|Any CPU - {44B16BAA-6DF8-447C-9D7F-3AD3D854D904}.Debug|.NET.ActiveCfg = Debug|Any CPU - {44B16BAA-6DF8-447C-9D7F-3AD3D854D904}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {44B16BAA-6DF8-447C-9D7F-3AD3D854D904}.Debug|Any CPU.Build.0 = Debug|Any CPU - {44B16BAA-6DF8-447C-9D7F-3AD3D854D904}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU - {44B16BAA-6DF8-447C-9D7F-3AD3D854D904}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU - {44B16BAA-6DF8-447C-9D7F-3AD3D854D904}.Release|.NET.ActiveCfg = Release|Any CPU - {44B16BAA-6DF8-447C-9D7F-3AD3D854D904}.Release|Any CPU.ActiveCfg = Release|Any CPU - {44B16BAA-6DF8-447C-9D7F-3AD3D854D904}.Release|Any CPU.Build.0 = Release|Any CPU - {44B16BAA-6DF8-447C-9D7F-3AD3D854D904}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU - {44B16BAA-6DF8-447C-9D7F-3AD3D854D904}.Release|Mixed Platforms.Build.0 = Release|Any CPU - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection - GlobalSection(ExtensibilityGlobals) = postSolution - NAntAddinLastFileName = Spring.build - EndGlobalSection -EndGlobal +Microsoft Visual Studio Solution File, Format Version 10.00 +# Visual Studio 2008 +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{F04753EF-7A1B-4837-AB63-8C0821E8155D}" + ProjectSection(SolutionItems) = preProject + ..\..\Spring.build = ..\..\Spring.build + EndProjectSection +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Spring.Core.2008", "..\..\src\Spring\Spring.Core\Spring.Core.2008.csproj", "{710961A3-0DF4-49E4-A26E-F5B9C044AC84}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Spring.Aop.2008", "..\..\src\Spring\Spring.Aop\Spring.Aop.2008.csproj", "{3A3A4E65-45A6-4B20-B460-0BEDC302C02C}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Spring.Data.2008", "..\..\src\Spring\Spring.Data\Spring.Data.2008.csproj", "{AE00E5AB-C39A-436F-86D2-33BFE33E2E40}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Spring.Data.NHibernate32.Integration.Tests.2008", "..\..\test\Spring\Spring.Data.NHibernate32.Integration.Tests\Spring.Data.NHibernate32.Integration.Tests.2008.csproj", "{CD6A49DE-745C-4360-AADF-3539CFEC6639}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Spring.Data.NHibernate32.Tests.2008", "..\..\test\Spring\Spring.Data.NHibernate32.Tests\Spring.Data.NHibernate32.Tests.2008.csproj", "{231512F3-4F1D-45E1-BADE-D01F68DB9A80}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Spring.Data.NHibernate32.2008", "..\..\src\Spring\Spring.Data.NHibernate32\Spring.Data.NHibernate32.2008.csproj", "{1C8E0481-A70D-445E-AB4D-4A963CF7DC83}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Spring.Data.Tests.2008", "..\..\test\Spring\Spring.Data.Tests\Spring.Data.Tests.2008.csproj", "{ACD39D47-1811-40FA-9E7E-5DEA5B9CE6C0}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Spring.Core.Tests.2008", "..\..\test\Spring\Spring.Core.Tests\Spring.Core.Tests.2008.csproj", "{44B16BAA-6DF8-447C-9D7F-3AD3D854D904}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|.NET = Debug|.NET + Debug|Any CPU = Debug|Any CPU + Debug|Mixed Platforms = Debug|Mixed Platforms + Release|.NET = Release|.NET + Release|Any CPU = Release|Any CPU + Release|Mixed Platforms = Release|Mixed Platforms + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {710961A3-0DF4-49E4-A26E-F5B9C044AC84}.Debug|.NET.ActiveCfg = Debug|Any CPU + {710961A3-0DF4-49E4-A26E-F5B9C044AC84}.Debug|.NET.Build.0 = Debug|Any CPU + {710961A3-0DF4-49E4-A26E-F5B9C044AC84}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {710961A3-0DF4-49E4-A26E-F5B9C044AC84}.Debug|Any CPU.Build.0 = Debug|Any CPU + {710961A3-0DF4-49E4-A26E-F5B9C044AC84}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU + {710961A3-0DF4-49E4-A26E-F5B9C044AC84}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU + {710961A3-0DF4-49E4-A26E-F5B9C044AC84}.Release|.NET.ActiveCfg = Release|Any CPU + {710961A3-0DF4-49E4-A26E-F5B9C044AC84}.Release|.NET.Build.0 = Release|Any CPU + {710961A3-0DF4-49E4-A26E-F5B9C044AC84}.Release|Any CPU.ActiveCfg = Release|Any CPU + {710961A3-0DF4-49E4-A26E-F5B9C044AC84}.Release|Any CPU.Build.0 = Release|Any CPU + {710961A3-0DF4-49E4-A26E-F5B9C044AC84}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU + {710961A3-0DF4-49E4-A26E-F5B9C044AC84}.Release|Mixed Platforms.Build.0 = Release|Any CPU + {3A3A4E65-45A6-4B20-B460-0BEDC302C02C}.Debug|.NET.ActiveCfg = Debug|Any CPU + {3A3A4E65-45A6-4B20-B460-0BEDC302C02C}.Debug|.NET.Build.0 = Debug|Any CPU + {3A3A4E65-45A6-4B20-B460-0BEDC302C02C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {3A3A4E65-45A6-4B20-B460-0BEDC302C02C}.Debug|Any CPU.Build.0 = Debug|Any CPU + {3A3A4E65-45A6-4B20-B460-0BEDC302C02C}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU + {3A3A4E65-45A6-4B20-B460-0BEDC302C02C}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU + {3A3A4E65-45A6-4B20-B460-0BEDC302C02C}.Release|.NET.ActiveCfg = Release|Any CPU + {3A3A4E65-45A6-4B20-B460-0BEDC302C02C}.Release|.NET.Build.0 = Release|Any CPU + {3A3A4E65-45A6-4B20-B460-0BEDC302C02C}.Release|Any CPU.ActiveCfg = Release|Any CPU + {3A3A4E65-45A6-4B20-B460-0BEDC302C02C}.Release|Any CPU.Build.0 = Release|Any CPU + {3A3A4E65-45A6-4B20-B460-0BEDC302C02C}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU + {3A3A4E65-45A6-4B20-B460-0BEDC302C02C}.Release|Mixed Platforms.Build.0 = Release|Any CPU + {AE00E5AB-C39A-436F-86D2-33BFE33E2E40}.Debug|.NET.ActiveCfg = Debug|Any CPU + {AE00E5AB-C39A-436F-86D2-33BFE33E2E40}.Debug|.NET.Build.0 = Debug|Any CPU + {AE00E5AB-C39A-436F-86D2-33BFE33E2E40}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {AE00E5AB-C39A-436F-86D2-33BFE33E2E40}.Debug|Any CPU.Build.0 = Debug|Any CPU + {AE00E5AB-C39A-436F-86D2-33BFE33E2E40}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU + {AE00E5AB-C39A-436F-86D2-33BFE33E2E40}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU + {AE00E5AB-C39A-436F-86D2-33BFE33E2E40}.Release|.NET.ActiveCfg = Release|Any CPU + {AE00E5AB-C39A-436F-86D2-33BFE33E2E40}.Release|.NET.Build.0 = Release|Any CPU + {AE00E5AB-C39A-436F-86D2-33BFE33E2E40}.Release|Any CPU.ActiveCfg = Release|Any CPU + {AE00E5AB-C39A-436F-86D2-33BFE33E2E40}.Release|Any CPU.Build.0 = Release|Any CPU + {AE00E5AB-C39A-436F-86D2-33BFE33E2E40}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU + {AE00E5AB-C39A-436F-86D2-33BFE33E2E40}.Release|Mixed Platforms.Build.0 = Release|Any CPU + {CD6A49DE-745C-4360-AADF-3539CFEC6639}.Debug|.NET.ActiveCfg = Debug|Any CPU + {CD6A49DE-745C-4360-AADF-3539CFEC6639}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {CD6A49DE-745C-4360-AADF-3539CFEC6639}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU + {CD6A49DE-745C-4360-AADF-3539CFEC6639}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU + {CD6A49DE-745C-4360-AADF-3539CFEC6639}.Release|.NET.ActiveCfg = Release|Any CPU + {CD6A49DE-745C-4360-AADF-3539CFEC6639}.Release|Any CPU.ActiveCfg = Release|Any CPU + {CD6A49DE-745C-4360-AADF-3539CFEC6639}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU + {231512F3-4F1D-45E1-BADE-D01F68DB9A80}.Debug|.NET.ActiveCfg = Debug|Any CPU + {231512F3-4F1D-45E1-BADE-D01F68DB9A80}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {231512F3-4F1D-45E1-BADE-D01F68DB9A80}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU + {231512F3-4F1D-45E1-BADE-D01F68DB9A80}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU + {231512F3-4F1D-45E1-BADE-D01F68DB9A80}.Release|.NET.ActiveCfg = Release|Any CPU + {231512F3-4F1D-45E1-BADE-D01F68DB9A80}.Release|Any CPU.ActiveCfg = Release|Any CPU + {231512F3-4F1D-45E1-BADE-D01F68DB9A80}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU + {1C8E0481-A70D-445E-AB4D-4A963CF7DC83}.Debug|.NET.ActiveCfg = Debug|Any CPU + {1C8E0481-A70D-445E-AB4D-4A963CF7DC83}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {1C8E0481-A70D-445E-AB4D-4A963CF7DC83}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU + {1C8E0481-A70D-445E-AB4D-4A963CF7DC83}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU + {1C8E0481-A70D-445E-AB4D-4A963CF7DC83}.Release|.NET.ActiveCfg = Release|Any CPU + {1C8E0481-A70D-445E-AB4D-4A963CF7DC83}.Release|Any CPU.ActiveCfg = Release|Any CPU + {1C8E0481-A70D-445E-AB4D-4A963CF7DC83}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU + {ACD39D47-1811-40FA-9E7E-5DEA5B9CE6C0}.Debug|.NET.ActiveCfg = Debug|Any CPU + {ACD39D47-1811-40FA-9E7E-5DEA5B9CE6C0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {ACD39D47-1811-40FA-9E7E-5DEA5B9CE6C0}.Debug|Any CPU.Build.0 = Debug|Any CPU + {ACD39D47-1811-40FA-9E7E-5DEA5B9CE6C0}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU + {ACD39D47-1811-40FA-9E7E-5DEA5B9CE6C0}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU + {ACD39D47-1811-40FA-9E7E-5DEA5B9CE6C0}.Release|.NET.ActiveCfg = Release|Any CPU + {ACD39D47-1811-40FA-9E7E-5DEA5B9CE6C0}.Release|Any CPU.ActiveCfg = Release|Any CPU + {ACD39D47-1811-40FA-9E7E-5DEA5B9CE6C0}.Release|Any CPU.Build.0 = Release|Any CPU + {ACD39D47-1811-40FA-9E7E-5DEA5B9CE6C0}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU + {ACD39D47-1811-40FA-9E7E-5DEA5B9CE6C0}.Release|Mixed Platforms.Build.0 = Release|Any CPU + {44B16BAA-6DF8-447C-9D7F-3AD3D854D904}.Debug|.NET.ActiveCfg = Debug|Any CPU + {44B16BAA-6DF8-447C-9D7F-3AD3D854D904}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {44B16BAA-6DF8-447C-9D7F-3AD3D854D904}.Debug|Any CPU.Build.0 = Debug|Any CPU + {44B16BAA-6DF8-447C-9D7F-3AD3D854D904}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU + {44B16BAA-6DF8-447C-9D7F-3AD3D854D904}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU + {44B16BAA-6DF8-447C-9D7F-3AD3D854D904}.Release|.NET.ActiveCfg = Release|Any CPU + {44B16BAA-6DF8-447C-9D7F-3AD3D854D904}.Release|Any CPU.ActiveCfg = Release|Any CPU + {44B16BAA-6DF8-447C-9D7F-3AD3D854D904}.Release|Any CPU.Build.0 = Release|Any CPU + {44B16BAA-6DF8-447C-9D7F-3AD3D854D904}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU + {44B16BAA-6DF8-447C-9D7F-3AD3D854D904}.Release|Mixed Platforms.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + NAntAddinLastFileName = Spring.build + EndGlobalSection +EndGlobal diff --git a/build-support/solutions/Spring.Net.NHibernate20.2008.sln b/build-support/solutions/Spring.Net.NHibernate.2010.sln similarity index 64% rename from build-support/solutions/Spring.Net.NHibernate20.2008.sln rename to build-support/solutions/Spring.Net.NHibernate.2010.sln index 99a8ff0b..40c48c24 100644 --- a/build-support/solutions/Spring.Net.NHibernate20.2008.sln +++ b/build-support/solutions/Spring.Net.NHibernate.2010.sln @@ -1,131 +1,118 @@ -Microsoft Visual Studio Solution File, Format Version 10.00 -# Visual Studio 2008 -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{F04753EF-7A1B-4837-AB63-8C0821E8155D}" - ProjectSection(SolutionItems) = preProject - Spring.build = Spring.build - EndProjectSection -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Spring.Core.2008", "..\..\src\Spring\Spring.Core\Spring.Core.2008.csproj", "{710961A3-0DF4-49E4-A26E-F5B9C044AC84}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Spring.Aop.2008", "..\..\src\Spring\Spring.Aop\Spring.Aop.2008.csproj", "{3A3A4E65-45A6-4B20-B460-0BEDC302C02C}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Spring.Data.2008", "..\..\src\Spring\Spring.Data\Spring.Data.2008.csproj", "{AE00E5AB-C39A-436F-86D2-33BFE33E2E40}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Spring.Data.NHibernate20.Integration.Tests.2008", "..\..\test\Spring\Spring.Data.NHibernate20.Integration.Tests\Spring.Data.NHibernate20.Integration.Tests.2008.csproj", "{4A07E150-ED90-407C-8CAD-4760444DDFD9}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Spring.Data.NHibernate20.Tests.2008", "..\..\test\Spring\Spring.Data.NHibernate20.Tests\Spring.Data.NHibernate20.Tests.2008.csproj", "{94E4E1B4-D424-4EB9-BF34-2EE8CC3D7048}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Spring.Data.NHibernate20.2008", "..\..\src\Spring\Spring.Data.NHibernate20\Spring.Data.NHibernate20.2008.csproj", "{71368632-B8B7-4A6A-8C65-8DA848120C82}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Spring.Data.Tests.2008", "..\..\test\Spring\Spring.Data.Tests\Spring.Data.Tests.2008.csproj", "{ACD39D47-1811-40FA-9E7E-5DEA5B9CE6C0}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Spring.Core.Tests.2008", "..\..\test\Spring\Spring.Core.Tests\Spring.Core.Tests.2008.csproj", "{44B16BAA-6DF8-447C-9D7F-3AD3D854D904}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|.NET = Debug|.NET - Debug|Any CPU = Debug|Any CPU - Debug|Mixed Platforms = Debug|Mixed Platforms - Release|.NET = Release|.NET - Release|Any CPU = Release|Any CPU - Release|Mixed Platforms = Release|Mixed Platforms - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {710961A3-0DF4-49E4-A26E-F5B9C044AC84}.Debug|.NET.ActiveCfg = Debug|Any CPU - {710961A3-0DF4-49E4-A26E-F5B9C044AC84}.Debug|.NET.Build.0 = Debug|Any CPU - {710961A3-0DF4-49E4-A26E-F5B9C044AC84}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {710961A3-0DF4-49E4-A26E-F5B9C044AC84}.Debug|Any CPU.Build.0 = Debug|Any CPU - {710961A3-0DF4-49E4-A26E-F5B9C044AC84}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU - {710961A3-0DF4-49E4-A26E-F5B9C044AC84}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU - {710961A3-0DF4-49E4-A26E-F5B9C044AC84}.Release|.NET.ActiveCfg = Release|Any CPU - {710961A3-0DF4-49E4-A26E-F5B9C044AC84}.Release|.NET.Build.0 = Release|Any CPU - {710961A3-0DF4-49E4-A26E-F5B9C044AC84}.Release|Any CPU.ActiveCfg = Release|Any CPU - {710961A3-0DF4-49E4-A26E-F5B9C044AC84}.Release|Any CPU.Build.0 = Release|Any CPU - {710961A3-0DF4-49E4-A26E-F5B9C044AC84}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU - {710961A3-0DF4-49E4-A26E-F5B9C044AC84}.Release|Mixed Platforms.Build.0 = Release|Any CPU - {3A3A4E65-45A6-4B20-B460-0BEDC302C02C}.Debug|.NET.ActiveCfg = Debug|Any CPU - {3A3A4E65-45A6-4B20-B460-0BEDC302C02C}.Debug|.NET.Build.0 = Debug|Any CPU - {3A3A4E65-45A6-4B20-B460-0BEDC302C02C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {3A3A4E65-45A6-4B20-B460-0BEDC302C02C}.Debug|Any CPU.Build.0 = Debug|Any CPU - {3A3A4E65-45A6-4B20-B460-0BEDC302C02C}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU - {3A3A4E65-45A6-4B20-B460-0BEDC302C02C}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU - {3A3A4E65-45A6-4B20-B460-0BEDC302C02C}.Release|.NET.ActiveCfg = Release|Any CPU - {3A3A4E65-45A6-4B20-B460-0BEDC302C02C}.Release|.NET.Build.0 = Release|Any CPU - {3A3A4E65-45A6-4B20-B460-0BEDC302C02C}.Release|Any CPU.ActiveCfg = Release|Any CPU - {3A3A4E65-45A6-4B20-B460-0BEDC302C02C}.Release|Any CPU.Build.0 = Release|Any CPU - {3A3A4E65-45A6-4B20-B460-0BEDC302C02C}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU - {3A3A4E65-45A6-4B20-B460-0BEDC302C02C}.Release|Mixed Platforms.Build.0 = Release|Any CPU - {AE00E5AB-C39A-436F-86D2-33BFE33E2E40}.Debug|.NET.ActiveCfg = Debug|Any CPU - {AE00E5AB-C39A-436F-86D2-33BFE33E2E40}.Debug|.NET.Build.0 = Debug|Any CPU - {AE00E5AB-C39A-436F-86D2-33BFE33E2E40}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {AE00E5AB-C39A-436F-86D2-33BFE33E2E40}.Debug|Any CPU.Build.0 = Debug|Any CPU - {AE00E5AB-C39A-436F-86D2-33BFE33E2E40}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU - {AE00E5AB-C39A-436F-86D2-33BFE33E2E40}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU - {AE00E5AB-C39A-436F-86D2-33BFE33E2E40}.Release|.NET.ActiveCfg = Release|Any CPU - {AE00E5AB-C39A-436F-86D2-33BFE33E2E40}.Release|.NET.Build.0 = Release|Any CPU - {AE00E5AB-C39A-436F-86D2-33BFE33E2E40}.Release|Any CPU.ActiveCfg = Release|Any CPU - {AE00E5AB-C39A-436F-86D2-33BFE33E2E40}.Release|Any CPU.Build.0 = Release|Any CPU - {AE00E5AB-C39A-436F-86D2-33BFE33E2E40}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU - {AE00E5AB-C39A-436F-86D2-33BFE33E2E40}.Release|Mixed Platforms.Build.0 = Release|Any CPU - {4A07E150-ED90-407C-8CAD-4760444DDFD9}.Debug|.NET.ActiveCfg = Debug|Any CPU - {4A07E150-ED90-407C-8CAD-4760444DDFD9}.Debug|.NET.Build.0 = Debug|Any CPU - {4A07E150-ED90-407C-8CAD-4760444DDFD9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {4A07E150-ED90-407C-8CAD-4760444DDFD9}.Debug|Any CPU.Build.0 = Debug|Any CPU - {4A07E150-ED90-407C-8CAD-4760444DDFD9}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU - {4A07E150-ED90-407C-8CAD-4760444DDFD9}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU - {4A07E150-ED90-407C-8CAD-4760444DDFD9}.Release|.NET.ActiveCfg = Release|Any CPU - {4A07E150-ED90-407C-8CAD-4760444DDFD9}.Release|.NET.Build.0 = Release|Any CPU - {4A07E150-ED90-407C-8CAD-4760444DDFD9}.Release|Any CPU.ActiveCfg = Release|Any CPU - {4A07E150-ED90-407C-8CAD-4760444DDFD9}.Release|Any CPU.Build.0 = Release|Any CPU - {4A07E150-ED90-407C-8CAD-4760444DDFD9}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU - {4A07E150-ED90-407C-8CAD-4760444DDFD9}.Release|Mixed Platforms.Build.0 = Release|Any CPU - {94E4E1B4-D424-4EB9-BF34-2EE8CC3D7048}.Debug|.NET.ActiveCfg = Debug|Any CPU - {94E4E1B4-D424-4EB9-BF34-2EE8CC3D7048}.Debug|.NET.Build.0 = Debug|Any CPU - {94E4E1B4-D424-4EB9-BF34-2EE8CC3D7048}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {94E4E1B4-D424-4EB9-BF34-2EE8CC3D7048}.Debug|Any CPU.Build.0 = Debug|Any CPU - {94E4E1B4-D424-4EB9-BF34-2EE8CC3D7048}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU - {94E4E1B4-D424-4EB9-BF34-2EE8CC3D7048}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU - {94E4E1B4-D424-4EB9-BF34-2EE8CC3D7048}.Release|.NET.ActiveCfg = Release|Any CPU - {94E4E1B4-D424-4EB9-BF34-2EE8CC3D7048}.Release|.NET.Build.0 = Release|Any CPU - {94E4E1B4-D424-4EB9-BF34-2EE8CC3D7048}.Release|Any CPU.ActiveCfg = Release|Any CPU - {94E4E1B4-D424-4EB9-BF34-2EE8CC3D7048}.Release|Any CPU.Build.0 = Release|Any CPU - {94E4E1B4-D424-4EB9-BF34-2EE8CC3D7048}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU - {94E4E1B4-D424-4EB9-BF34-2EE8CC3D7048}.Release|Mixed Platforms.Build.0 = Release|Any CPU - {71368632-B8B7-4A6A-8C65-8DA848120C82}.Debug|.NET.ActiveCfg = Debug|Any CPU - {71368632-B8B7-4A6A-8C65-8DA848120C82}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {71368632-B8B7-4A6A-8C65-8DA848120C82}.Debug|Any CPU.Build.0 = Debug|Any CPU - {71368632-B8B7-4A6A-8C65-8DA848120C82}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU - {71368632-B8B7-4A6A-8C65-8DA848120C82}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU - {71368632-B8B7-4A6A-8C65-8DA848120C82}.Release|.NET.ActiveCfg = Release|Any CPU - {71368632-B8B7-4A6A-8C65-8DA848120C82}.Release|Any CPU.ActiveCfg = Release|Any CPU - {71368632-B8B7-4A6A-8C65-8DA848120C82}.Release|Any CPU.Build.0 = Release|Any CPU - {71368632-B8B7-4A6A-8C65-8DA848120C82}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU - {71368632-B8B7-4A6A-8C65-8DA848120C82}.Release|Mixed Platforms.Build.0 = Release|Any CPU - {ACD39D47-1811-40FA-9E7E-5DEA5B9CE6C0}.Debug|.NET.ActiveCfg = Debug|Any CPU - {ACD39D47-1811-40FA-9E7E-5DEA5B9CE6C0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {ACD39D47-1811-40FA-9E7E-5DEA5B9CE6C0}.Debug|Any CPU.Build.0 = Debug|Any CPU - {ACD39D47-1811-40FA-9E7E-5DEA5B9CE6C0}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU - {ACD39D47-1811-40FA-9E7E-5DEA5B9CE6C0}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU - {ACD39D47-1811-40FA-9E7E-5DEA5B9CE6C0}.Release|.NET.ActiveCfg = Release|Any CPU - {ACD39D47-1811-40FA-9E7E-5DEA5B9CE6C0}.Release|Any CPU.ActiveCfg = Release|Any CPU - {ACD39D47-1811-40FA-9E7E-5DEA5B9CE6C0}.Release|Any CPU.Build.0 = Release|Any CPU - {ACD39D47-1811-40FA-9E7E-5DEA5B9CE6C0}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU - {ACD39D47-1811-40FA-9E7E-5DEA5B9CE6C0}.Release|Mixed Platforms.Build.0 = Release|Any CPU - {44B16BAA-6DF8-447C-9D7F-3AD3D854D904}.Debug|.NET.ActiveCfg = Debug|Any CPU - {44B16BAA-6DF8-447C-9D7F-3AD3D854D904}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {44B16BAA-6DF8-447C-9D7F-3AD3D854D904}.Debug|Any CPU.Build.0 = Debug|Any CPU - {44B16BAA-6DF8-447C-9D7F-3AD3D854D904}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU - {44B16BAA-6DF8-447C-9D7F-3AD3D854D904}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU - {44B16BAA-6DF8-447C-9D7F-3AD3D854D904}.Release|.NET.ActiveCfg = Release|Any CPU - {44B16BAA-6DF8-447C-9D7F-3AD3D854D904}.Release|Any CPU.ActiveCfg = Release|Any CPU - {44B16BAA-6DF8-447C-9D7F-3AD3D854D904}.Release|Any CPU.Build.0 = Release|Any CPU - {44B16BAA-6DF8-447C-9D7F-3AD3D854D904}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU - {44B16BAA-6DF8-447C-9D7F-3AD3D854D904}.Release|Mixed Platforms.Build.0 = Release|Any CPU - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection - GlobalSection(ExtensibilityGlobals) = postSolution - NAntAddinLastFileName = Spring.build - EndGlobalSection -EndGlobal +Microsoft Visual Studio Solution File, Format Version 11.00 +# Visual Studio 2010 +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{F04753EF-7A1B-4837-AB63-8C0821E8155D}" + ProjectSection(SolutionItems) = preProject + ..\..\Spring.build = ..\..\Spring.build + EndProjectSection +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Spring.Core.2010", "..\..\src\Spring\Spring.Core\Spring.Core.2010.csproj", "{710961A3-0DF4-49E4-A26E-F5B9C044AC84}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Spring.Aop.2010", "..\..\src\Spring\Spring.Aop\Spring.Aop.2010.csproj", "{3A3A4E65-45A6-4B20-B460-0BEDC302C02C}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Spring.Data.2010", "..\..\src\Spring\Spring.Data\Spring.Data.2010.csproj", "{AE00E5AB-C39A-436F-86D2-33BFE33E2E40}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Spring.Data.NHibernate32.Integration.Tests.2010", "..\..\test\Spring\Spring.Data.NHibernate32.Integration.Tests\Spring.Data.NHibernate32.Integration.Tests.2010.csproj", "{CD6A49DE-745C-4360-AADF-3539CFEC6639}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Spring.Data.NHibernate32.Tests.2010", "..\..\test\Spring\Spring.Data.NHibernate32.Tests\Spring.Data.NHibernate32.Tests.2010.csproj", "{C33C6A06-885D-49D2-8029-422D38CBC6D7}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Spring.Data.NHibernate32.2010", "..\..\src\Spring\Spring.Data.NHibernate32\Spring.Data.NHibernate32.2010.csproj", "{9F0F739C-876E-4C4B-AA55-9AC9242C25C8}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Spring.Data.Tests.2010", "..\..\test\Spring\Spring.Data.Tests\Spring.Data.Tests.2010.csproj", "{ACD39D47-1811-40FA-9E7E-5DEA5B9CE6C0}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Spring.Core.Tests.2010", "..\..\test\Spring\Spring.Core.Tests\Spring.Core.Tests.2010.csproj", "{44B16BAA-6DF8-447C-9D7F-3AD3D854D904}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|.NET = Debug|.NET + Debug|Any CPU = Debug|Any CPU + Debug|Mixed Platforms = Debug|Mixed Platforms + Release|.NET = Release|.NET + Release|Any CPU = Release|Any CPU + Release|Mixed Platforms = Release|Mixed Platforms + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {710961A3-0DF4-49E4-A26E-F5B9C044AC84}.Debug|.NET.ActiveCfg = Debug|Any CPU + {710961A3-0DF4-49E4-A26E-F5B9C044AC84}.Debug|.NET.Build.0 = Debug|Any CPU + {710961A3-0DF4-49E4-A26E-F5B9C044AC84}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {710961A3-0DF4-49E4-A26E-F5B9C044AC84}.Debug|Any CPU.Build.0 = Debug|Any CPU + {710961A3-0DF4-49E4-A26E-F5B9C044AC84}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU + {710961A3-0DF4-49E4-A26E-F5B9C044AC84}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU + {710961A3-0DF4-49E4-A26E-F5B9C044AC84}.Release|.NET.ActiveCfg = Release|Any CPU + {710961A3-0DF4-49E4-A26E-F5B9C044AC84}.Release|.NET.Build.0 = Release|Any CPU + {710961A3-0DF4-49E4-A26E-F5B9C044AC84}.Release|Any CPU.ActiveCfg = Release|Any CPU + {710961A3-0DF4-49E4-A26E-F5B9C044AC84}.Release|Any CPU.Build.0 = Release|Any CPU + {710961A3-0DF4-49E4-A26E-F5B9C044AC84}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU + {710961A3-0DF4-49E4-A26E-F5B9C044AC84}.Release|Mixed Platforms.Build.0 = Release|Any CPU + {3A3A4E65-45A6-4B20-B460-0BEDC302C02C}.Debug|.NET.ActiveCfg = Debug|Any CPU + {3A3A4E65-45A6-4B20-B460-0BEDC302C02C}.Debug|.NET.Build.0 = Debug|Any CPU + {3A3A4E65-45A6-4B20-B460-0BEDC302C02C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {3A3A4E65-45A6-4B20-B460-0BEDC302C02C}.Debug|Any CPU.Build.0 = Debug|Any CPU + {3A3A4E65-45A6-4B20-B460-0BEDC302C02C}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU + {3A3A4E65-45A6-4B20-B460-0BEDC302C02C}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU + {3A3A4E65-45A6-4B20-B460-0BEDC302C02C}.Release|.NET.ActiveCfg = Release|Any CPU + {3A3A4E65-45A6-4B20-B460-0BEDC302C02C}.Release|.NET.Build.0 = Release|Any CPU + {3A3A4E65-45A6-4B20-B460-0BEDC302C02C}.Release|Any CPU.ActiveCfg = Release|Any CPU + {3A3A4E65-45A6-4B20-B460-0BEDC302C02C}.Release|Any CPU.Build.0 = Release|Any CPU + {3A3A4E65-45A6-4B20-B460-0BEDC302C02C}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU + {3A3A4E65-45A6-4B20-B460-0BEDC302C02C}.Release|Mixed Platforms.Build.0 = Release|Any CPU + {AE00E5AB-C39A-436F-86D2-33BFE33E2E40}.Debug|.NET.ActiveCfg = Debug|Any CPU + {AE00E5AB-C39A-436F-86D2-33BFE33E2E40}.Debug|.NET.Build.0 = Debug|Any CPU + {AE00E5AB-C39A-436F-86D2-33BFE33E2E40}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {AE00E5AB-C39A-436F-86D2-33BFE33E2E40}.Debug|Any CPU.Build.0 = Debug|Any CPU + {AE00E5AB-C39A-436F-86D2-33BFE33E2E40}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU + {AE00E5AB-C39A-436F-86D2-33BFE33E2E40}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU + {AE00E5AB-C39A-436F-86D2-33BFE33E2E40}.Release|.NET.ActiveCfg = Release|Any CPU + {AE00E5AB-C39A-436F-86D2-33BFE33E2E40}.Release|.NET.Build.0 = Release|Any CPU + {AE00E5AB-C39A-436F-86D2-33BFE33E2E40}.Release|Any CPU.ActiveCfg = Release|Any CPU + {AE00E5AB-C39A-436F-86D2-33BFE33E2E40}.Release|Any CPU.Build.0 = Release|Any CPU + {AE00E5AB-C39A-436F-86D2-33BFE33E2E40}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU + {AE00E5AB-C39A-436F-86D2-33BFE33E2E40}.Release|Mixed Platforms.Build.0 = Release|Any CPU + {CD6A49DE-745C-4360-AADF-3539CFEC6639}.Debug|.NET.ActiveCfg = Debug|Any CPU + {CD6A49DE-745C-4360-AADF-3539CFEC6639}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {CD6A49DE-745C-4360-AADF-3539CFEC6639}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU + {CD6A49DE-745C-4360-AADF-3539CFEC6639}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU + {CD6A49DE-745C-4360-AADF-3539CFEC6639}.Release|.NET.ActiveCfg = Release|Any CPU + {CD6A49DE-745C-4360-AADF-3539CFEC6639}.Release|Any CPU.ActiveCfg = Release|Any CPU + {CD6A49DE-745C-4360-AADF-3539CFEC6639}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU + {C33C6A06-885D-49D2-8029-422D38CBC6D7}.Debug|.NET.ActiveCfg = Debug|Any CPU + {C33C6A06-885D-49D2-8029-422D38CBC6D7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {C33C6A06-885D-49D2-8029-422D38CBC6D7}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU + {C33C6A06-885D-49D2-8029-422D38CBC6D7}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU + {C33C6A06-885D-49D2-8029-422D38CBC6D7}.Release|.NET.ActiveCfg = Release|Any CPU + {C33C6A06-885D-49D2-8029-422D38CBC6D7}.Release|Any CPU.ActiveCfg = Release|Any CPU + {C33C6A06-885D-49D2-8029-422D38CBC6D7}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU + {9F0F739C-876E-4C4B-AA55-9AC9242C25C8}.Debug|.NET.ActiveCfg = Debug|Any CPU + {9F0F739C-876E-4C4B-AA55-9AC9242C25C8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {9F0F739C-876E-4C4B-AA55-9AC9242C25C8}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU + {9F0F739C-876E-4C4B-AA55-9AC9242C25C8}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU + {9F0F739C-876E-4C4B-AA55-9AC9242C25C8}.Release|.NET.ActiveCfg = Release|Any CPU + {9F0F739C-876E-4C4B-AA55-9AC9242C25C8}.Release|Any CPU.ActiveCfg = Release|Any CPU + {9F0F739C-876E-4C4B-AA55-9AC9242C25C8}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU + {ACD39D47-1811-40FA-9E7E-5DEA5B9CE6C0}.Debug|.NET.ActiveCfg = Debug|Any CPU + {ACD39D47-1811-40FA-9E7E-5DEA5B9CE6C0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {ACD39D47-1811-40FA-9E7E-5DEA5B9CE6C0}.Debug|Any CPU.Build.0 = Debug|Any CPU + {ACD39D47-1811-40FA-9E7E-5DEA5B9CE6C0}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU + {ACD39D47-1811-40FA-9E7E-5DEA5B9CE6C0}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU + {ACD39D47-1811-40FA-9E7E-5DEA5B9CE6C0}.Release|.NET.ActiveCfg = Release|Any CPU + {ACD39D47-1811-40FA-9E7E-5DEA5B9CE6C0}.Release|Any CPU.ActiveCfg = Release|Any CPU + {ACD39D47-1811-40FA-9E7E-5DEA5B9CE6C0}.Release|Any CPU.Build.0 = Release|Any CPU + {ACD39D47-1811-40FA-9E7E-5DEA5B9CE6C0}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU + {ACD39D47-1811-40FA-9E7E-5DEA5B9CE6C0}.Release|Mixed Platforms.Build.0 = Release|Any CPU + {44B16BAA-6DF8-447C-9D7F-3AD3D854D904}.Debug|.NET.ActiveCfg = Debug|Any CPU + {44B16BAA-6DF8-447C-9D7F-3AD3D854D904}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {44B16BAA-6DF8-447C-9D7F-3AD3D854D904}.Debug|Any CPU.Build.0 = Debug|Any CPU + {44B16BAA-6DF8-447C-9D7F-3AD3D854D904}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU + {44B16BAA-6DF8-447C-9D7F-3AD3D854D904}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU + {44B16BAA-6DF8-447C-9D7F-3AD3D854D904}.Release|.NET.ActiveCfg = Release|Any CPU + {44B16BAA-6DF8-447C-9D7F-3AD3D854D904}.Release|Any CPU.ActiveCfg = Release|Any CPU + {44B16BAA-6DF8-447C-9D7F-3AD3D854D904}.Release|Any CPU.Build.0 = Release|Any CPU + {44B16BAA-6DF8-447C-9D7F-3AD3D854D904}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU + {44B16BAA-6DF8-447C-9D7F-3AD3D854D904}.Release|Mixed Platforms.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + NAntAddinLastFileName = Spring.build + EndGlobalSection +EndGlobal diff --git a/build-support/solutions/Spring.Net.NHibernate21.2008.sln b/build-support/solutions/Spring.Net.NHibernate21.2008.sln deleted file mode 100644 index bfbe0386..00000000 --- a/build-support/solutions/Spring.Net.NHibernate21.2008.sln +++ /dev/null @@ -1,170 +0,0 @@ -Microsoft Visual Studio Solution File, Format Version 10.00 -# Visual Studio 2008 -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{F04753EF-7A1B-4837-AB63-8C0821E8155D}" - ProjectSection(SolutionItems) = preProject - ..\..\common-project.include = ..\..\common-project.include - ..\..\Spring.build = ..\..\Spring.build - ..\..\src\Spring\Spring.Data.NHibernate21\Spring.Data.NHibernate21.build = ..\..\src\Spring\Spring.Data.NHibernate21\Spring.Data.NHibernate21.build - ..\..\Spring.include = ..\..\Spring.include - EndProjectSection -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Spring.Core.2008", "..\..\src\Spring\Spring.Core\Spring.Core.2008.csproj", "{710961A3-0DF4-49E4-A26E-F5B9C044AC84}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Spring.Aop.2008", "..\..\src\Spring\Spring.Aop\Spring.Aop.2008.csproj", "{3A3A4E65-45A6-4B20-B460-0BEDC302C02C}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Spring.Data.2008", "..\..\src\Spring\Spring.Data\Spring.Data.2008.csproj", "{AE00E5AB-C39A-436F-86D2-33BFE33E2E40}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Spring.Data.NHibernate21.Integration.Tests.2008", "..\..\test\Spring\Spring.Data.NHibernate21.Integration.Tests\Spring.Data.NHibernate21.Integration.Tests.2008.csproj", "{4A07E150-ED90-407C-8CAD-4760444DDFD9}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Spring.Data.NHibernate21.Tests.2008", "..\..\test\Spring\Spring.Data.NHibernate21.Tests\Spring.Data.NHibernate21.Tests.2008.csproj", "{90FEE979-7367-4542-BCCB-BF634E04A9D3}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Spring.Data.NHibernate21.2008", "..\..\src\Spring\Spring.Data.NHibernate21\Spring.Data.NHibernate21.2008.csproj", "{E57B4652-0231-49CB-B058-87E10EFE540D}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Spring.Data.Tests.2008", "..\..\test\Spring\Spring.Data.Tests\Spring.Data.Tests.2008.csproj", "{ACD39D47-1811-40FA-9E7E-5DEA5B9CE6C0}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Spring.Core.Tests.2008", "..\..\test\Spring\Spring.Core.Tests\Spring.Core.Tests.2008.csproj", "{44B16BAA-6DF8-447C-9D7F-3AD3D854D904}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Spring.Aop.Tests.2008", "..\..\test\Spring\Spring.Aop.Tests\Spring.Aop.Tests.2008.csproj", "{2111596A-0327-4C9D-8919-294FBD988A23}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Spring.Testing.NUnit.2008", "..\..\src\Spring\Spring.Testing.NUnit\Spring.Testing.NUnit.2008.csproj", "{ED204A7B-832F-44C7-BFE3-504AEBE1BCC8}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Spring.Data.Integration.Tests.2008", "..\..\test\Spring\Spring.Data.Integration.Tests\Spring.Data.Integration.Tests.2008.csproj", "{91766D21-C568-459F-9BEA-759B011F23CF}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|.NET = Debug|.NET - Debug|Any CPU = Debug|Any CPU - Debug|Mixed Platforms = Debug|Mixed Platforms - Release|.NET = Release|.NET - Release|Any CPU = Release|Any CPU - Release|Mixed Platforms = Release|Mixed Platforms - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {710961A3-0DF4-49E4-A26E-F5B9C044AC84}.Debug|.NET.ActiveCfg = Debug|Any CPU - {710961A3-0DF4-49E4-A26E-F5B9C044AC84}.Debug|.NET.Build.0 = Debug|Any CPU - {710961A3-0DF4-49E4-A26E-F5B9C044AC84}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {710961A3-0DF4-49E4-A26E-F5B9C044AC84}.Debug|Any CPU.Build.0 = Debug|Any CPU - {710961A3-0DF4-49E4-A26E-F5B9C044AC84}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU - {710961A3-0DF4-49E4-A26E-F5B9C044AC84}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU - {710961A3-0DF4-49E4-A26E-F5B9C044AC84}.Release|.NET.ActiveCfg = Release|Any CPU - {710961A3-0DF4-49E4-A26E-F5B9C044AC84}.Release|.NET.Build.0 = Release|Any CPU - {710961A3-0DF4-49E4-A26E-F5B9C044AC84}.Release|Any CPU.ActiveCfg = Release|Any CPU - {710961A3-0DF4-49E4-A26E-F5B9C044AC84}.Release|Any CPU.Build.0 = Release|Any CPU - {710961A3-0DF4-49E4-A26E-F5B9C044AC84}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU - {710961A3-0DF4-49E4-A26E-F5B9C044AC84}.Release|Mixed Platforms.Build.0 = Release|Any CPU - {3A3A4E65-45A6-4B20-B460-0BEDC302C02C}.Debug|.NET.ActiveCfg = Debug|Any CPU - {3A3A4E65-45A6-4B20-B460-0BEDC302C02C}.Debug|.NET.Build.0 = Debug|Any CPU - {3A3A4E65-45A6-4B20-B460-0BEDC302C02C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {3A3A4E65-45A6-4B20-B460-0BEDC302C02C}.Debug|Any CPU.Build.0 = Debug|Any CPU - {3A3A4E65-45A6-4B20-B460-0BEDC302C02C}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU - {3A3A4E65-45A6-4B20-B460-0BEDC302C02C}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU - {3A3A4E65-45A6-4B20-B460-0BEDC302C02C}.Release|.NET.ActiveCfg = Release|Any CPU - {3A3A4E65-45A6-4B20-B460-0BEDC302C02C}.Release|.NET.Build.0 = Release|Any CPU - {3A3A4E65-45A6-4B20-B460-0BEDC302C02C}.Release|Any CPU.ActiveCfg = Release|Any CPU - {3A3A4E65-45A6-4B20-B460-0BEDC302C02C}.Release|Any CPU.Build.0 = Release|Any CPU - {3A3A4E65-45A6-4B20-B460-0BEDC302C02C}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU - {3A3A4E65-45A6-4B20-B460-0BEDC302C02C}.Release|Mixed Platforms.Build.0 = Release|Any CPU - {AE00E5AB-C39A-436F-86D2-33BFE33E2E40}.Debug|.NET.ActiveCfg = Debug|Any CPU - {AE00E5AB-C39A-436F-86D2-33BFE33E2E40}.Debug|.NET.Build.0 = Debug|Any CPU - {AE00E5AB-C39A-436F-86D2-33BFE33E2E40}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {AE00E5AB-C39A-436F-86D2-33BFE33E2E40}.Debug|Any CPU.Build.0 = Debug|Any CPU - {AE00E5AB-C39A-436F-86D2-33BFE33E2E40}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU - {AE00E5AB-C39A-436F-86D2-33BFE33E2E40}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU - {AE00E5AB-C39A-436F-86D2-33BFE33E2E40}.Release|.NET.ActiveCfg = Release|Any CPU - {AE00E5AB-C39A-436F-86D2-33BFE33E2E40}.Release|.NET.Build.0 = Release|Any CPU - {AE00E5AB-C39A-436F-86D2-33BFE33E2E40}.Release|Any CPU.ActiveCfg = Release|Any CPU - {AE00E5AB-C39A-436F-86D2-33BFE33E2E40}.Release|Any CPU.Build.0 = Release|Any CPU - {AE00E5AB-C39A-436F-86D2-33BFE33E2E40}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU - {AE00E5AB-C39A-436F-86D2-33BFE33E2E40}.Release|Mixed Platforms.Build.0 = Release|Any CPU - {4A07E150-ED90-407C-8CAD-4760444DDFD9}.Debug|.NET.ActiveCfg = Debug|Any CPU - {4A07E150-ED90-407C-8CAD-4760444DDFD9}.Debug|.NET.Build.0 = Debug|Any CPU - {4A07E150-ED90-407C-8CAD-4760444DDFD9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {4A07E150-ED90-407C-8CAD-4760444DDFD9}.Debug|Any CPU.Build.0 = Debug|Any CPU - {4A07E150-ED90-407C-8CAD-4760444DDFD9}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU - {4A07E150-ED90-407C-8CAD-4760444DDFD9}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU - {4A07E150-ED90-407C-8CAD-4760444DDFD9}.Release|.NET.ActiveCfg = Release|Any CPU - {4A07E150-ED90-407C-8CAD-4760444DDFD9}.Release|.NET.Build.0 = Release|Any CPU - {4A07E150-ED90-407C-8CAD-4760444DDFD9}.Release|Any CPU.ActiveCfg = Release|Any CPU - {4A07E150-ED90-407C-8CAD-4760444DDFD9}.Release|Any CPU.Build.0 = Release|Any CPU - {4A07E150-ED90-407C-8CAD-4760444DDFD9}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU - {4A07E150-ED90-407C-8CAD-4760444DDFD9}.Release|Mixed Platforms.Build.0 = Release|Any CPU - {90FEE979-7367-4542-BCCB-BF634E04A9D3}.Debug|.NET.ActiveCfg = Debug|Any CPU - {90FEE979-7367-4542-BCCB-BF634E04A9D3}.Debug|.NET.Build.0 = Debug|Any CPU - {90FEE979-7367-4542-BCCB-BF634E04A9D3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {90FEE979-7367-4542-BCCB-BF634E04A9D3}.Debug|Any CPU.Build.0 = Debug|Any CPU - {90FEE979-7367-4542-BCCB-BF634E04A9D3}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU - {90FEE979-7367-4542-BCCB-BF634E04A9D3}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU - {90FEE979-7367-4542-BCCB-BF634E04A9D3}.Release|.NET.ActiveCfg = Release|Any CPU - {90FEE979-7367-4542-BCCB-BF634E04A9D3}.Release|.NET.Build.0 = Release|Any CPU - {90FEE979-7367-4542-BCCB-BF634E04A9D3}.Release|Any CPU.ActiveCfg = Release|Any CPU - {90FEE979-7367-4542-BCCB-BF634E04A9D3}.Release|Any CPU.Build.0 = Release|Any CPU - {90FEE979-7367-4542-BCCB-BF634E04A9D3}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU - {90FEE979-7367-4542-BCCB-BF634E04A9D3}.Release|Mixed Platforms.Build.0 = Release|Any CPU - {E57B4652-0231-49CB-B058-87E10EFE540D}.Debug|.NET.ActiveCfg = Debug|Any CPU - {E57B4652-0231-49CB-B058-87E10EFE540D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {E57B4652-0231-49CB-B058-87E10EFE540D}.Debug|Any CPU.Build.0 = Debug|Any CPU - {E57B4652-0231-49CB-B058-87E10EFE540D}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU - {E57B4652-0231-49CB-B058-87E10EFE540D}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU - {E57B4652-0231-49CB-B058-87E10EFE540D}.Release|.NET.ActiveCfg = Release|Any CPU - {E57B4652-0231-49CB-B058-87E10EFE540D}.Release|Any CPU.ActiveCfg = Release|Any CPU - {E57B4652-0231-49CB-B058-87E10EFE540D}.Release|Any CPU.Build.0 = Release|Any CPU - {E57B4652-0231-49CB-B058-87E10EFE540D}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU - {E57B4652-0231-49CB-B058-87E10EFE540D}.Release|Mixed Platforms.Build.0 = Release|Any CPU - {ACD39D47-1811-40FA-9E7E-5DEA5B9CE6C0}.Debug|.NET.ActiveCfg = Debug|Any CPU - {ACD39D47-1811-40FA-9E7E-5DEA5B9CE6C0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {ACD39D47-1811-40FA-9E7E-5DEA5B9CE6C0}.Debug|Any CPU.Build.0 = Debug|Any CPU - {ACD39D47-1811-40FA-9E7E-5DEA5B9CE6C0}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU - {ACD39D47-1811-40FA-9E7E-5DEA5B9CE6C0}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU - {ACD39D47-1811-40FA-9E7E-5DEA5B9CE6C0}.Release|.NET.ActiveCfg = Release|Any CPU - {ACD39D47-1811-40FA-9E7E-5DEA5B9CE6C0}.Release|Any CPU.ActiveCfg = Release|Any CPU - {ACD39D47-1811-40FA-9E7E-5DEA5B9CE6C0}.Release|Any CPU.Build.0 = Release|Any CPU - {ACD39D47-1811-40FA-9E7E-5DEA5B9CE6C0}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU - {ACD39D47-1811-40FA-9E7E-5DEA5B9CE6C0}.Release|Mixed Platforms.Build.0 = Release|Any CPU - {44B16BAA-6DF8-447C-9D7F-3AD3D854D904}.Debug|.NET.ActiveCfg = Debug|Any CPU - {44B16BAA-6DF8-447C-9D7F-3AD3D854D904}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {44B16BAA-6DF8-447C-9D7F-3AD3D854D904}.Debug|Any CPU.Build.0 = Debug|Any CPU - {44B16BAA-6DF8-447C-9D7F-3AD3D854D904}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU - {44B16BAA-6DF8-447C-9D7F-3AD3D854D904}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU - {44B16BAA-6DF8-447C-9D7F-3AD3D854D904}.Release|.NET.ActiveCfg = Release|Any CPU - {44B16BAA-6DF8-447C-9D7F-3AD3D854D904}.Release|Any CPU.ActiveCfg = Release|Any CPU - {44B16BAA-6DF8-447C-9D7F-3AD3D854D904}.Release|Any CPU.Build.0 = Release|Any CPU - {44B16BAA-6DF8-447C-9D7F-3AD3D854D904}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU - {44B16BAA-6DF8-447C-9D7F-3AD3D854D904}.Release|Mixed Platforms.Build.0 = Release|Any CPU - {2111596A-0327-4C9D-8919-294FBD988A23}.Debug|.NET.ActiveCfg = Debug|Any CPU - {2111596A-0327-4C9D-8919-294FBD988A23}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {2111596A-0327-4C9D-8919-294FBD988A23}.Debug|Any CPU.Build.0 = Debug|Any CPU - {2111596A-0327-4C9D-8919-294FBD988A23}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU - {2111596A-0327-4C9D-8919-294FBD988A23}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU - {2111596A-0327-4C9D-8919-294FBD988A23}.Release|.NET.ActiveCfg = Release|Any CPU - {2111596A-0327-4C9D-8919-294FBD988A23}.Release|Any CPU.ActiveCfg = Release|Any CPU - {2111596A-0327-4C9D-8919-294FBD988A23}.Release|Any CPU.Build.0 = Release|Any CPU - {2111596A-0327-4C9D-8919-294FBD988A23}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU - {2111596A-0327-4C9D-8919-294FBD988A23}.Release|Mixed Platforms.Build.0 = Release|Any CPU - {ED204A7B-832F-44C7-BFE3-504AEBE1BCC8}.Debug|.NET.ActiveCfg = Debug|Any CPU - {ED204A7B-832F-44C7-BFE3-504AEBE1BCC8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {ED204A7B-832F-44C7-BFE3-504AEBE1BCC8}.Debug|Any CPU.Build.0 = Debug|Any CPU - {ED204A7B-832F-44C7-BFE3-504AEBE1BCC8}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU - {ED204A7B-832F-44C7-BFE3-504AEBE1BCC8}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU - {ED204A7B-832F-44C7-BFE3-504AEBE1BCC8}.Release|.NET.ActiveCfg = Release|Any CPU - {ED204A7B-832F-44C7-BFE3-504AEBE1BCC8}.Release|Any CPU.ActiveCfg = Release|Any CPU - {ED204A7B-832F-44C7-BFE3-504AEBE1BCC8}.Release|Any CPU.Build.0 = Release|Any CPU - {ED204A7B-832F-44C7-BFE3-504AEBE1BCC8}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU - {ED204A7B-832F-44C7-BFE3-504AEBE1BCC8}.Release|Mixed Platforms.Build.0 = Release|Any CPU - {91766D21-C568-459F-9BEA-759B011F23CF}.Debug|.NET.ActiveCfg = Debug|Any CPU - {91766D21-C568-459F-9BEA-759B011F23CF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {91766D21-C568-459F-9BEA-759B011F23CF}.Debug|Any CPU.Build.0 = Debug|Any CPU - {91766D21-C568-459F-9BEA-759B011F23CF}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU - {91766D21-C568-459F-9BEA-759B011F23CF}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU - {91766D21-C568-459F-9BEA-759B011F23CF}.Release|.NET.ActiveCfg = Release|Any CPU - {91766D21-C568-459F-9BEA-759B011F23CF}.Release|Any CPU.ActiveCfg = Release|Any CPU - {91766D21-C568-459F-9BEA-759B011F23CF}.Release|Any CPU.Build.0 = Release|Any CPU - {91766D21-C568-459F-9BEA-759B011F23CF}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU - {91766D21-C568-459F-9BEA-759B011F23CF}.Release|Mixed Platforms.Build.0 = Release|Any CPU - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection - GlobalSection(ExtensibilityGlobals) = postSolution - NAntAddinLastFileName = Spring.build - EndGlobalSection -EndGlobal diff --git a/build-support/solutions/Spring.Net.NHibernate31.2008.sln b/build-support/solutions/Spring.Net.NHibernate31.2008.sln deleted file mode 100644 index e36fba9c..00000000 --- a/build-support/solutions/Spring.Net.NHibernate31.2008.sln +++ /dev/null @@ -1,155 +0,0 @@ -Microsoft Visual Studio Solution File, Format Version 10.00 -# Visual Studio 2008 -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{F04753EF-7A1B-4837-AB63-8C0821E8155D}" - ProjectSection(SolutionItems) = preProject - ..\..\Spring.build = ..\..\Spring.build - ..\..\src\Spring\Spring.Data.NHibernate30\Spring.Data.NHibernate30.build = ..\..\src\Spring\Spring.Data.NHibernate30\Spring.Data.NHibernate30.build - EndProjectSection -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Spring.Core.2008", "..\..\src\Spring\Spring.Core\Spring.Core.2008.csproj", "{710961A3-0DF4-49E4-A26E-F5B9C044AC84}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Spring.Aop.2008", "..\..\src\Spring\Spring.Aop\Spring.Aop.2008.csproj", "{3A3A4E65-45A6-4B20-B460-0BEDC302C02C}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Spring.Data.2008", "..\..\src\Spring\Spring.Data\Spring.Data.2008.csproj", "{AE00E5AB-C39A-436F-86D2-33BFE33E2E40}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Spring.Data.NHibernate31.Integration.Tests.2008", "..\..\test\Spring\Spring.Data.NHibernate31.Integration.Tests\Spring.Data.NHibernate31.Integration.Tests.2008.csproj", "{93FED0CE-0B01-43AF-8CB1-244CC7C3308B}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Spring.Data.NHibernate31.Tests.2008", "..\..\test\Spring\Spring.Data.NHibernate31.Tests\Spring.Data.NHibernate31.Tests.2008.csproj", "{E4CCB8A2-2381-41D1-B44C-E20E13703056}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Spring.Data.NHibernate31.2008", "..\..\src\Spring\Spring.Data.NHibernate31\Spring.Data.NHibernate31.2008.csproj", "{009247FE-CBAD-40FF-ADC3-D7F28B270071}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Spring.Data.Tests.2008", "..\..\test\Spring\Spring.Data.Tests\Spring.Data.Tests.2008.csproj", "{ACD39D47-1811-40FA-9E7E-5DEA5B9CE6C0}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Spring.Core.Tests.2008", "..\..\test\Spring\Spring.Core.Tests\Spring.Core.Tests.2008.csproj", "{44B16BAA-6DF8-447C-9D7F-3AD3D854D904}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Spring.Template.Velocity.2008", "..\..\src\Spring\Spring.Template.Velocity\Spring.Template.Velocity.2008.csproj", "{BF3AB954-8375-407C-9E98-4C51D8072784}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Spring.Services.2008", "..\..\src\Spring\Spring.Services\Spring.Services.2008.csproj", "{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Spring.Messaging.Nms.2008", "..\..\src\Spring\Spring.Messaging.Nms\Spring.Messaging.Nms.2008.csproj", "{AEB1578C-9018-4D49-B440-789F38DD2F29}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|.NET = Debug|.NET - Debug|Any CPU = Debug|Any CPU - Debug|Mixed Platforms = Debug|Mixed Platforms - Release|.NET = Release|.NET - Release|Any CPU = Release|Any CPU - Release|Mixed Platforms = Release|Mixed Platforms - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {710961A3-0DF4-49E4-A26E-F5B9C044AC84}.Debug|.NET.ActiveCfg = Debug|Any CPU - {710961A3-0DF4-49E4-A26E-F5B9C044AC84}.Debug|.NET.Build.0 = Debug|Any CPU - {710961A3-0DF4-49E4-A26E-F5B9C044AC84}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {710961A3-0DF4-49E4-A26E-F5B9C044AC84}.Debug|Any CPU.Build.0 = Debug|Any CPU - {710961A3-0DF4-49E4-A26E-F5B9C044AC84}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU - {710961A3-0DF4-49E4-A26E-F5B9C044AC84}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU - {710961A3-0DF4-49E4-A26E-F5B9C044AC84}.Release|.NET.ActiveCfg = Release|Any CPU - {710961A3-0DF4-49E4-A26E-F5B9C044AC84}.Release|.NET.Build.0 = Release|Any CPU - {710961A3-0DF4-49E4-A26E-F5B9C044AC84}.Release|Any CPU.ActiveCfg = Release|Any CPU - {710961A3-0DF4-49E4-A26E-F5B9C044AC84}.Release|Any CPU.Build.0 = Release|Any CPU - {710961A3-0DF4-49E4-A26E-F5B9C044AC84}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU - {710961A3-0DF4-49E4-A26E-F5B9C044AC84}.Release|Mixed Platforms.Build.0 = Release|Any CPU - {3A3A4E65-45A6-4B20-B460-0BEDC302C02C}.Debug|.NET.ActiveCfg = Debug|Any CPU - {3A3A4E65-45A6-4B20-B460-0BEDC302C02C}.Debug|.NET.Build.0 = Debug|Any CPU - {3A3A4E65-45A6-4B20-B460-0BEDC302C02C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {3A3A4E65-45A6-4B20-B460-0BEDC302C02C}.Debug|Any CPU.Build.0 = Debug|Any CPU - {3A3A4E65-45A6-4B20-B460-0BEDC302C02C}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU - {3A3A4E65-45A6-4B20-B460-0BEDC302C02C}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU - {3A3A4E65-45A6-4B20-B460-0BEDC302C02C}.Release|.NET.ActiveCfg = Release|Any CPU - {3A3A4E65-45A6-4B20-B460-0BEDC302C02C}.Release|.NET.Build.0 = Release|Any CPU - {3A3A4E65-45A6-4B20-B460-0BEDC302C02C}.Release|Any CPU.ActiveCfg = Release|Any CPU - {3A3A4E65-45A6-4B20-B460-0BEDC302C02C}.Release|Any CPU.Build.0 = Release|Any CPU - {3A3A4E65-45A6-4B20-B460-0BEDC302C02C}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU - {3A3A4E65-45A6-4B20-B460-0BEDC302C02C}.Release|Mixed Platforms.Build.0 = Release|Any CPU - {AE00E5AB-C39A-436F-86D2-33BFE33E2E40}.Debug|.NET.ActiveCfg = Debug|Any CPU - {AE00E5AB-C39A-436F-86D2-33BFE33E2E40}.Debug|.NET.Build.0 = Debug|Any CPU - {AE00E5AB-C39A-436F-86D2-33BFE33E2E40}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {AE00E5AB-C39A-436F-86D2-33BFE33E2E40}.Debug|Any CPU.Build.0 = Debug|Any CPU - {AE00E5AB-C39A-436F-86D2-33BFE33E2E40}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU - {AE00E5AB-C39A-436F-86D2-33BFE33E2E40}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU - {AE00E5AB-C39A-436F-86D2-33BFE33E2E40}.Release|.NET.ActiveCfg = Release|Any CPU - {AE00E5AB-C39A-436F-86D2-33BFE33E2E40}.Release|.NET.Build.0 = Release|Any CPU - {AE00E5AB-C39A-436F-86D2-33BFE33E2E40}.Release|Any CPU.ActiveCfg = Release|Any CPU - {AE00E5AB-C39A-436F-86D2-33BFE33E2E40}.Release|Any CPU.Build.0 = Release|Any CPU - {AE00E5AB-C39A-436F-86D2-33BFE33E2E40}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU - {AE00E5AB-C39A-436F-86D2-33BFE33E2E40}.Release|Mixed Platforms.Build.0 = Release|Any CPU - {93FED0CE-0B01-43AF-8CB1-244CC7C3308B}.Debug|.NET.ActiveCfg = Debug|Any CPU - {93FED0CE-0B01-43AF-8CB1-244CC7C3308B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {93FED0CE-0B01-43AF-8CB1-244CC7C3308B}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU - {93FED0CE-0B01-43AF-8CB1-244CC7C3308B}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU - {93FED0CE-0B01-43AF-8CB1-244CC7C3308B}.Release|.NET.ActiveCfg = Release|Any CPU - {93FED0CE-0B01-43AF-8CB1-244CC7C3308B}.Release|Any CPU.ActiveCfg = Release|Any CPU - {93FED0CE-0B01-43AF-8CB1-244CC7C3308B}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU - {E4CCB8A2-2381-41D1-B44C-E20E13703056}.Debug|.NET.ActiveCfg = Debug|Any CPU - {E4CCB8A2-2381-41D1-B44C-E20E13703056}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {E4CCB8A2-2381-41D1-B44C-E20E13703056}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU - {E4CCB8A2-2381-41D1-B44C-E20E13703056}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU - {E4CCB8A2-2381-41D1-B44C-E20E13703056}.Release|.NET.ActiveCfg = Release|Any CPU - {E4CCB8A2-2381-41D1-B44C-E20E13703056}.Release|Any CPU.ActiveCfg = Release|Any CPU - {E4CCB8A2-2381-41D1-B44C-E20E13703056}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU - {009247FE-CBAD-40FF-ADC3-D7F28B270071}.Debug|.NET.ActiveCfg = Debug|Any CPU - {009247FE-CBAD-40FF-ADC3-D7F28B270071}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {009247FE-CBAD-40FF-ADC3-D7F28B270071}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU - {009247FE-CBAD-40FF-ADC3-D7F28B270071}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU - {009247FE-CBAD-40FF-ADC3-D7F28B270071}.Release|.NET.ActiveCfg = Release|Any CPU - {009247FE-CBAD-40FF-ADC3-D7F28B270071}.Release|Any CPU.ActiveCfg = Release|Any CPU - {009247FE-CBAD-40FF-ADC3-D7F28B270071}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU - {ACD39D47-1811-40FA-9E7E-5DEA5B9CE6C0}.Debug|.NET.ActiveCfg = Debug|Any CPU - {ACD39D47-1811-40FA-9E7E-5DEA5B9CE6C0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {ACD39D47-1811-40FA-9E7E-5DEA5B9CE6C0}.Debug|Any CPU.Build.0 = Debug|Any CPU - {ACD39D47-1811-40FA-9E7E-5DEA5B9CE6C0}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU - {ACD39D47-1811-40FA-9E7E-5DEA5B9CE6C0}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU - {ACD39D47-1811-40FA-9E7E-5DEA5B9CE6C0}.Release|.NET.ActiveCfg = Release|Any CPU - {ACD39D47-1811-40FA-9E7E-5DEA5B9CE6C0}.Release|Any CPU.ActiveCfg = Release|Any CPU - {ACD39D47-1811-40FA-9E7E-5DEA5B9CE6C0}.Release|Any CPU.Build.0 = Release|Any CPU - {ACD39D47-1811-40FA-9E7E-5DEA5B9CE6C0}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU - {ACD39D47-1811-40FA-9E7E-5DEA5B9CE6C0}.Release|Mixed Platforms.Build.0 = Release|Any CPU - {44B16BAA-6DF8-447C-9D7F-3AD3D854D904}.Debug|.NET.ActiveCfg = Debug|Any CPU - {44B16BAA-6DF8-447C-9D7F-3AD3D854D904}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {44B16BAA-6DF8-447C-9D7F-3AD3D854D904}.Debug|Any CPU.Build.0 = Debug|Any CPU - {44B16BAA-6DF8-447C-9D7F-3AD3D854D904}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU - {44B16BAA-6DF8-447C-9D7F-3AD3D854D904}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU - {44B16BAA-6DF8-447C-9D7F-3AD3D854D904}.Release|.NET.ActiveCfg = Release|Any CPU - {44B16BAA-6DF8-447C-9D7F-3AD3D854D904}.Release|Any CPU.ActiveCfg = Release|Any CPU - {44B16BAA-6DF8-447C-9D7F-3AD3D854D904}.Release|Any CPU.Build.0 = Release|Any CPU - {44B16BAA-6DF8-447C-9D7F-3AD3D854D904}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU - {44B16BAA-6DF8-447C-9D7F-3AD3D854D904}.Release|Mixed Platforms.Build.0 = Release|Any CPU - {BF3AB954-8375-407C-9E98-4C51D8072784}.Debug|.NET.ActiveCfg = Debug|Any CPU - {BF3AB954-8375-407C-9E98-4C51D8072784}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {BF3AB954-8375-407C-9E98-4C51D8072784}.Debug|Any CPU.Build.0 = Debug|Any CPU - {BF3AB954-8375-407C-9E98-4C51D8072784}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU - {BF3AB954-8375-407C-9E98-4C51D8072784}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU - {BF3AB954-8375-407C-9E98-4C51D8072784}.Release|.NET.ActiveCfg = Release|Any CPU - {BF3AB954-8375-407C-9E98-4C51D8072784}.Release|Any CPU.ActiveCfg = Release|Any CPU - {BF3AB954-8375-407C-9E98-4C51D8072784}.Release|Any CPU.Build.0 = Release|Any CPU - {BF3AB954-8375-407C-9E98-4C51D8072784}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU - {BF3AB954-8375-407C-9E98-4C51D8072784}.Release|Mixed Platforms.Build.0 = Release|Any CPU - {FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}.Debug|.NET.ActiveCfg = Debug|Any CPU - {FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}.Debug|Any CPU.Build.0 = Debug|Any CPU - {FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU - {FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU - {FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}.Release|.NET.ActiveCfg = Release|Any CPU - {FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}.Release|Any CPU.ActiveCfg = Release|Any CPU - {FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}.Release|Any CPU.Build.0 = Release|Any CPU - {FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU - {FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}.Release|Mixed Platforms.Build.0 = Release|Any CPU - {AEB1578C-9018-4D49-B440-789F38DD2F29}.Debug|.NET.ActiveCfg = Debug|Any CPU - {AEB1578C-9018-4D49-B440-789F38DD2F29}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {AEB1578C-9018-4D49-B440-789F38DD2F29}.Debug|Any CPU.Build.0 = Debug|Any CPU - {AEB1578C-9018-4D49-B440-789F38DD2F29}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU - {AEB1578C-9018-4D49-B440-789F38DD2F29}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU - {AEB1578C-9018-4D49-B440-789F38DD2F29}.Release|.NET.ActiveCfg = Release|Any CPU - {AEB1578C-9018-4D49-B440-789F38DD2F29}.Release|Any CPU.ActiveCfg = Release|Any CPU - {AEB1578C-9018-4D49-B440-789F38DD2F29}.Release|Any CPU.Build.0 = Release|Any CPU - {AEB1578C-9018-4D49-B440-789F38DD2F29}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU - {AEB1578C-9018-4D49-B440-789F38DD2F29}.Release|Mixed Platforms.Build.0 = Release|Any CPU - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection - GlobalSection(ExtensibilityGlobals) = postSolution - NAntAddinLastFileName = Spring.build - EndGlobalSection -EndGlobal diff --git a/lib/NHibernate12/mono/2.0/log4net.dll b/examples/Spring/Spring.Data.NHibernate.Northwind/lib/net/2.0/log4net.dll similarity index 100% rename from lib/NHibernate12/mono/2.0/log4net.dll rename to examples/Spring/Spring.Data.NHibernate.Northwind/lib/net/2.0/log4net.dll diff --git a/examples/Spring/Spring.Data.NHibernate.Northwind/src/Spring.Northwind.Dao.NHibernate/Spring.Northwind.Dao.NHibernate.2008.csproj b/examples/Spring/Spring.Data.NHibernate.Northwind/src/Spring.Northwind.Dao.NHibernate/Spring.Northwind.Dao.NHibernate.2008.csproj index 6b0355de..68ff5706 100644 --- a/examples/Spring/Spring.Data.NHibernate.Northwind/src/Spring.Northwind.Dao.NHibernate/Spring.Northwind.Dao.NHibernate.2008.csproj +++ b/examples/Spring/Spring.Data.NHibernate.Northwind/src/Spring.Northwind.Dao.NHibernate/Spring.Northwind.Dao.NHibernate.2008.csproj @@ -14,6 +14,7 @@ 2.0 + v3.5 true @@ -39,15 +40,11 @@ False - ..\..\..\..\..\lib\NHibernate21\net\2.0\Iesi.Collections.dll - - - False - ..\..\..\..\..\lib\NHibernate21\net\2.0\log4net.dll + ..\..\..\..\..\lib\NHibernate32\net\3.5\Iesi.Collections.dll False - ..\..\..\..\..\lib\NHibernate21\net\2.0\NHibernate.dll + ..\..\..\..\..\lib\NHibernate32\net\3.5\NHibernate.dll False @@ -57,12 +54,14 @@ False ..\..\..\..\..\bin\net\3.5\debug\Spring.Data.dll - + False - ..\..\..\..\..\bin\net\3.5\debug\Spring.Data.NHibernate21.dll + ..\..\..\..\..\bin\net\3.5\debug\Spring.Data.NHibernate32.dll - + + 3.5 + diff --git a/examples/Spring/Spring.Data.NHibernate.Northwind/src/Spring.Northwind.Dao.NHibernate/Spring.Northwind.Dao.NHibernate.2010.csproj b/examples/Spring/Spring.Data.NHibernate.Northwind/src/Spring.Northwind.Dao.NHibernate/Spring.Northwind.Dao.NHibernate.2010.csproj index 83de1eeb..1b5da148 100644 --- a/examples/Spring/Spring.Data.NHibernate.Northwind/src/Spring.Northwind.Dao.NHibernate/Spring.Northwind.Dao.NHibernate.2010.csproj +++ b/examples/Spring/Spring.Data.NHibernate.Northwind/src/Spring.Northwind.Dao.NHibernate/Spring.Northwind.Dao.NHibernate.2010.csproj @@ -58,15 +58,11 @@ False - ..\..\..\..\..\lib\NHibernate21\net\2.0\Iesi.Collections.dll - - - False - ..\..\..\..\..\lib\NHibernate21\net\2.0\log4net.dll + ..\..\..\..\..\lib\NHibernate32\net\4.0\Iesi.Collections.dll False - ..\..\..\..\..\lib\NHibernate21\net\2.0\NHibernate.dll + ..\..\..\..\..\lib\NHibernate32\net\4.0\NHibernate.dll False @@ -76,9 +72,9 @@ False ..\..\..\..\..\bin\net\4.0\debug\Spring.Data.dll - + False - ..\..\..\..\..\bin\net\4.0\debug\Spring.Data.NHibernate21.dll + ..\..\..\..\..\bin\net\4.0\debug\Spring.Data.NHibernate32.dll diff --git a/examples/Spring/Spring.Data.NHibernate.Northwind/src/Spring.Northwind.Dao/Spring.Northwind.Dao.2008.csproj b/examples/Spring/Spring.Data.NHibernate.Northwind/src/Spring.Northwind.Dao/Spring.Northwind.Dao.2008.csproj index 3d889f3e..9e479d32 100644 --- a/examples/Spring/Spring.Data.NHibernate.Northwind/src/Spring.Northwind.Dao/Spring.Northwind.Dao.2008.csproj +++ b/examples/Spring/Spring.Data.NHibernate.Northwind/src/Spring.Northwind.Dao/Spring.Northwind.Dao.2008.csproj @@ -14,6 +14,7 @@ 2.0 + v3.5 true @@ -34,6 +35,9 @@ + + 3.5 + diff --git a/examples/Spring/Spring.Data.NHibernate.Northwind/src/Spring.Northwind.Service/Spring.Northwind.Service.2008.csproj b/examples/Spring/Spring.Data.NHibernate.Northwind/src/Spring.Northwind.Service/Spring.Northwind.Service.2008.csproj index 9fe0c303..9486ef90 100644 --- a/examples/Spring/Spring.Data.NHibernate.Northwind/src/Spring.Northwind.Service/Spring.Northwind.Service.2008.csproj +++ b/examples/Spring/Spring.Data.NHibernate.Northwind/src/Spring.Northwind.Service/Spring.Northwind.Service.2008.csproj @@ -2,7 +2,7 @@ Debug AnyCPU - 8.0.50727 + 9.0.30729 2.0 {9E15876F-E9E0-43B7-9874-B54F163757D6} Library @@ -14,6 +14,7 @@ 2.0 + v3.5 true @@ -42,6 +43,9 @@ ..\..\..\..\..\bin\net\3.5\debug\Spring.Data.dll + + 3.5 + diff --git a/examples/Spring/Spring.Data.NHibernate.Northwind/src/Spring.Northwind.Web.References/Spring.Northwind.Web.References.2008.csproj b/examples/Spring/Spring.Data.NHibernate.Northwind/src/Spring.Northwind.Web.References/Spring.Northwind.Web.References.2008.csproj index 9952c6c8..c1fc37c6 100644 --- a/examples/Spring/Spring.Data.NHibernate.Northwind/src/Spring.Northwind.Web.References/Spring.Northwind.Web.References.2008.csproj +++ b/examples/Spring/Spring.Data.NHibernate.Northwind/src/Spring.Northwind.Web.References/Spring.Northwind.Web.References.2008.csproj @@ -29,6 +29,7 @@ false false true + v3.5 true @@ -48,10 +49,6 @@ 4 - - False - ..\..\..\..\..\lib\NHibernate21\net\2.0\Antlr3.Runtime.dll - False ..\..\..\..\..\bin\net\3.5\debug\Common.Logging.dll @@ -63,11 +60,15 @@ False - ..\..\..\..\..\lib\NHibernate21\net\2.0\Iesi.Collections.dll + ..\..\..\..\..\lib\NHibernate32\net\3.5\Iesi.Collections.dll - + False - ..\..\..\..\..\lib\NHibernate21\net\2.0\NHibernate.dll + ..\..\lib\net\2.0\log4net.dll + + + False + ..\..\..\..\..\lib\NHibernate32\net\3.5\NHibernate.dll False @@ -81,15 +82,18 @@ False ..\..\..\..\..\bin\net\3.5\debug\Spring.Data.dll - + False - ..\..\..\..\..\bin\net\3.5\debug\Spring.Data.NHibernate21.dll + ..\..\..\..\..\bin\net\3.5\debug\Spring.Data.NHibernate32.dll False ..\..\..\..\..\bin\net\3.5\debug\Spring.Web.dll + + 3.5 + diff --git a/examples/Spring/Spring.Data.NHibernate.Northwind/src/Spring.Northwind.Web.References/Spring.Northwind.Web.References.2010.csproj b/examples/Spring/Spring.Data.NHibernate.Northwind/src/Spring.Northwind.Web.References/Spring.Northwind.Web.References.2010.csproj index cab01622..6f3ba35f 100644 --- a/examples/Spring/Spring.Data.NHibernate.Northwind/src/Spring.Northwind.Web.References/Spring.Northwind.Web.References.2010.csproj +++ b/examples/Spring/Spring.Data.NHibernate.Northwind/src/Spring.Northwind.Web.References/Spring.Northwind.Web.References.2010.csproj @@ -52,10 +52,6 @@ AllRules.ruleset - - False - ..\..\..\..\..\lib\NHibernate21\net\2.0\Antlr3.Runtime.dll - False ..\..\..\..\..\bin\net\4.0\debug\Common.Logging.dll @@ -65,13 +61,14 @@ False ..\..\lib\net\2.0\Common.Logging.Log4Net.dll - - False - ..\..\..\..\..\lib\NHibernate21\net\2.0\Iesi.Collections.dll + + ..\..\..\..\..\lib\NHibernate32\net\4.0\Iesi.Collections.dll - - False - ..\..\..\..\..\lib\NHibernate21\net\2.0\NHibernate.dll + + ..\..\lib\net\2.0\log4net.dll + + + ..\..\..\..\..\lib\NHibernate32\net\4.0\NHibernate.dll False @@ -85,9 +82,9 @@ False ..\..\..\..\..\bin\net\4.0\debug\Spring.Data.dll - + False - ..\..\..\..\..\bin\net\4.0\debug\Spring.Data.NHibernate21.dll + ..\..\..\..\..\bin\net\4.0\debug\Spring.Data.NHibernate32.dll False diff --git a/examples/Spring/Spring.Data.NHibernate.Northwind/test/Spring.Northwind.IntegrationTests/Spring.Northwind.IntegrationTests.2008.csproj b/examples/Spring/Spring.Data.NHibernate.Northwind/test/Spring.Northwind.IntegrationTests/Spring.Northwind.IntegrationTests.2008.csproj index 58024406..0fb3ac5c 100644 --- a/examples/Spring/Spring.Data.NHibernate.Northwind/test/Spring.Northwind.IntegrationTests/Spring.Northwind.IntegrationTests.2008.csproj +++ b/examples/Spring/Spring.Data.NHibernate.Northwind/test/Spring.Northwind.IntegrationTests/Spring.Northwind.IntegrationTests.2008.csproj @@ -2,7 +2,7 @@ Debug AnyCPU - 9.0.21022 + 9.0.30729 2.0 {2D0C5DF7-3BDB-44FB-BC1B-58E60B170BAD} Library @@ -14,6 +14,7 @@ 2.0 + v3.5 true @@ -39,15 +40,11 @@ False - ..\..\..\..\..\lib\NHibernate21\net\2.0\Iesi.Collections.dll - - - False - ..\..\..\..\..\lib\NHibernate21\net\2.0\log4net.dll + ..\..\..\..\..\lib\NHibernate32\net\3.5\Iesi.Collections.dll False - ..\..\..\..\..\lib\NHibernate21\net\2.0\NHibernate.dll + ..\..\..\..\..\lib\NHibernate32\net\3.5\NHibernate.dll False @@ -61,9 +58,9 @@ False ..\..\..\..\..\bin\net\3.5\debug\Spring.Data.dll - + False - ..\..\..\..\..\bin\net\3.5\debug\Spring.Data.NHibernate21.dll + ..\..\..\..\..\bin\net\3.5\debug\Spring.Data.NHibernate32.dll False @@ -74,6 +71,9 @@ ..\..\..\..\..\bin\net\3.5\debug\Spring.Web.dll + + 3.5 + diff --git a/examples/Spring/Spring.Data.NHibernate.Northwind/test/Spring.Northwind.IntegrationTests/Spring.Northwind.IntegrationTests.2010.csproj b/examples/Spring/Spring.Data.NHibernate.Northwind/test/Spring.Northwind.IntegrationTests/Spring.Northwind.IntegrationTests.2010.csproj index 92ea502f..d36b87e4 100644 --- a/examples/Spring/Spring.Data.NHibernate.Northwind/test/Spring.Northwind.IntegrationTests/Spring.Northwind.IntegrationTests.2010.csproj +++ b/examples/Spring/Spring.Data.NHibernate.Northwind/test/Spring.Northwind.IntegrationTests/Spring.Northwind.IntegrationTests.2010.csproj @@ -58,15 +58,11 @@ False - ..\..\..\..\..\lib\NHibernate21\net\2.0\Iesi.Collections.dll - - - False - ..\..\..\..\..\lib\NHibernate21\net\2.0\log4net.dll + ..\..\..\..\..\lib\NHibernate32\net\3.5\Iesi.Collections.dll False - ..\..\..\..\..\lib\NHibernate21\net\2.0\NHibernate.dll + ..\..\..\..\..\lib\NHibernate32\net\3.5\NHibernate.dll False @@ -80,9 +76,9 @@ False ..\..\..\..\..\bin\net\4.0\debug\Spring.Data.dll - + False - ..\..\..\..\..\bin\net\4.0\debug\Spring.Data.NHibernate21.dll + ..\..\..\..\..\bin\net\4.0\debug\Spring.Data.NHibernate32.dll False diff --git a/lib/NHibernate12/mono/2.0/Castle.DynamicProxy.dll b/lib/NHibernate12/mono/2.0/Castle.DynamicProxy.dll deleted file mode 100644 index 3feebda1..00000000 Binary files a/lib/NHibernate12/mono/2.0/Castle.DynamicProxy.dll and /dev/null differ diff --git a/lib/NHibernate12/mono/2.0/Castle.DynamicProxy.license.txt b/lib/NHibernate12/mono/2.0/Castle.DynamicProxy.license.txt deleted file mode 100644 index b7530910..00000000 --- a/lib/NHibernate12/mono/2.0/Castle.DynamicProxy.license.txt +++ /dev/null @@ -1,13 +0,0 @@ -Copyright 2004-2005 Castle Project - http://www.castleproject.org/ - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. diff --git a/lib/NHibernate12/mono/2.0/Castle.DynamicProxy.xml b/lib/NHibernate12/mono/2.0/Castle.DynamicProxy.xml deleted file mode 100644 index 4afaa733..00000000 --- a/lib/NHibernate12/mono/2.0/Castle.DynamicProxy.xml +++ /dev/null @@ -1,687 +0,0 @@ - - - - Castle.DynamicProxy - - - - - Summary description for ReferenceExpression. - - - - - Summary description for Expression. - - - - - Summary description for IEmitter. - - - - - Summary description for ArgumentReference. - - - - - Summary description for TypeReference. - - - - - Summary description for Reference. - - - - - Summary description for AssignArrayStatement. - - - - - Summary description for Statement. - - - - - Summary description for AssignStatement. - - - - - Summary description for BinaryExpression. - - - - - Summary description for ConditionExpression. - - - - - Summary description for ConstructorInvocationExpression. - - - - - Summary description for ConvertExpression. - - - - - Summary description for ExpressionStatement. - - - - - Summary description for FieldReference. - - - - - Summary description for FixedReference. - - - - - Summary description for GotoStatement. - - - - - Wraps a reference that is passed ByRef and provides indirect load/store facilities. - - - - - Summary description for LabelReference. - - - - - Summary description for LoadRefArrayElementExpression. - - - - - Summary description for LocalReference. - - - - - Summary description for LockBlockExpression. - - - - - Summary description for MarkBranchStatement. - - - - - Summary description for MethodInvocationExpression. - - - - - Summary description for MethodPointerExpression. - - - - - Summary description for MethodTokenExpression. - - - - - Summary description for NewArrayExpression. - - - - - Summary description for NewInstanceExpression. - - - - - Summary description for NopStatement. - - - - - Summary description for NullExpression. - - - - - Summary description for PopValueFromStackStatement. - - - - - Summary description for ReferenceExpression. - - - - - Summary description for ReferencesToObjectArrayExpression. - - - - - Summary description for ReturnReferenceExpression. - - - - - Summary description for ReturnStatement. - - - - - Summary description for SelfReference. - - - - - Summary description for TypeTokenExpression. - - - - - Summary description for VirtualMethodInvocationExpression. - - - - - Summary description for ArgumentsUtil. - - - - - Provides appropriate Ldc.X opcode for the type of primitive value to be loaded. - - - - - Provides appropriate Ldind.X opcode for - the type of primitive value to be loaded indirectly. - - - - - Provides appropriate Stind.X opcode - for the type of primitive value to be stored indirectly. - - - - - Summary description for OpCodeUtil. - - - - - Emits a load opcode of the appropriate kind for a constant string or - primitive value. - - - - - - - Emits a load opcode of the appropriate kind for the constant default value of a - type, such as 0 for value types and null for reference types. - - - - - Emits a load indirect opcode of the appropriate type for a value or object reference. - Pops a pointer off the evaluation stack, dereferences it and loads - a value of the specified type. - - - - - - - Emits a store indirectopcode of the appropriate type for a value or object reference. - Pops a value of the specified type and a pointer off the evaluation stack, and - stores the value. - - - - - - - Summary description for AbstractCodeBuilder. - - - - - Summary description for AbstractEasyType. - - - - - Summary description for ConstructorCodeBuilder. - - - - - Summary description for ConstructorCollection. - - - - - Summary description for EasyCallable. - - - - - Summary description for EasyNested. - - - - - Summary description for EasyConstructor. - - - - - Summary description for IEasyBuilder. - - - - - Summary description for EasyDefaultConstructor. - - - - - Summary description for EasyEvent. - - - - - Summary description for EasyMethod. - - - - - Summary description for EasyProperty. - - - - - Summary description for EasyRuntimeConstructor. - - - - - Summary description for EasyRuntimeMethod. - - - - - Summary description for EasyType. - - - - - Summary description for EventsCollection. - - - - - Summary description for MethodCodeBuilder. - - - - - Summary description for MethodCollection. - - - - - Summary description for NestedTypeCollection. - - - - - Summary description for PropertiesCollection. - - - - - Summary description for Set. - - - - - Summary description for BaseCodeGenerator. - - - - - Holds instance fields which points to delegates instantiated - - - - - MethodInfo => Callable delegate - - - - - Generates one public constructor receiving - the instance and instantiating a hashtable - - - Should be overrided to provided specific semantics, if necessary - - - - - Common initializatio code for the default constructor - - - - - - - - - - - - - - - Iterates over the interfaces and generate implementation - for each method in it. - - Type class - if true, we inspect the - type for implemented interfaces - - - - Naive implementation, but valid for long namespaces - Works by using only the last piece of the namespace - - - - - Gets the name of a type, taking into consideration nested types. - - - - - Generate property implementation - - - - - - Generates implementation for each method. - - - - - - - Writes the method implementation. This - method generates the IL code for property get/set method and - ordinary methods. - - The method to implement. - being constructed. - - - - - - - - - Summary description for ClassProxyGenerator. - - - - - Generates one public constructor receiving - the instance and instantiating a hashtable - - - - - Summary description for InterfaceProxyGenerator. - - - - - From an interface method (abstract) look up - for a matching method on the target - - - - - - - Generates one public constructor receiving - the instance and instantiating a HybridCollection - - - - - Summary description for ModuleScope. - - - - - Avoid leaks caused by non disposal of generated types. - - - - - Keep track of generated types - - - - - Used to lock the module builder creation - - - - - Summary description for ProxyGenerationException. - - - - - Summary description for DefaultProxyBuilder. - - - - - Summary description for IProxyBuilder. - - - - - Summary description for GeneratorContext. - - - - - Checks if the method has the same signature as a method that was marked as - one that should generate a new vtable slot. - - - - - The implementor of IObjectReference responsible for - the deserialization and reconstruction of the proxy object - - - - - Proceed with, manipulate or find more information about the call that - is being intercepted - - - - - Proceed with the call that was intercepted. - - The arguments that will be passed onto the method. - The argument returned from the method. - - - - Get the dynamic proxy that intercepted this call. - - - - - Get or set target that will be invoked when Process() is called. - - - Changing InvocationTarget only effects this call. Any call made after - this will invoke the original target of the proxy. - - - - - Get the method that is being invoked. - - - - - Get the method on the target object that is being invoked. - - - - - - - - - - Handles the deserialization of proxies. - - - - - Usefull for test cases - - - - - Summary description for AssertUtil. - - - - - - - - - - - - - - - - - - - - - - - - - - - Generates a Java style proxy. This overrides the .Net proxy requirements - that forces one to extend MarshalByRefObject or (for a different purpose) - ContextBoundObject to have a Proxiable class. - - - The should be used to generate a class - implementing the specified interfaces. The dynamic implementation will - only calls the internal instance. - - - Please note that this proxy implementation currently doesn't not supports ref and out arguments - in methods. - Also note that only virtual methods can be proxied in a class. - - - - MyInvocationHandler interceptor = ... - ProxyGenerator generator = new ProxyGenerator(); - IInterfaceExposed proxy = - generator.CreateProxy( new Type[] { typeof(IInterfaceExposed) }, interceptor ); - - - - - - Generates a proxy implementing all the specified interfaces and - redirecting method invocations to the specifed interceptor. - - Interface to be implemented - instance of - The proxy target. - Proxy instance - - - - Generates a proxy implementing all the specified interfaces and - redirecting method invocations to the specifed interceptor. - - Array of interfaces to be implemented - instance of - The proxy target. - Proxy instance - - - - - - - - - The proxy target. - - - - - - - - - - The proxy target. - - - - - Summary description for StandardInterceptor. - - - - - - - - - - - - diff --git a/lib/NHibernate12/mono/2.0/Iesi.Collections.dll b/lib/NHibernate12/mono/2.0/Iesi.Collections.dll deleted file mode 100644 index c4cc0373..00000000 Binary files a/lib/NHibernate12/mono/2.0/Iesi.Collections.dll and /dev/null differ diff --git a/lib/NHibernate12/mono/2.0/Iesi.Collections.license.txt b/lib/NHibernate12/mono/2.0/Iesi.Collections.license.txt deleted file mode 100644 index 66c4a8dc..00000000 --- a/lib/NHibernate12/mono/2.0/Iesi.Collections.license.txt +++ /dev/null @@ -1,9 +0,0 @@ -Copyright © 2002-2004 by Aidant Systems, Inc., and by Jason Smith. - -Copied from http://www.codeproject.com/csharp/sets.asp#xx703510xx that was posted by JasonSmith 12:13 2 Jan '04 - -Feel free to use this code any way you want to. As a favor to me, you can leave the copyright in there. You never know when someone might recognize your name! - -If you do use the code in a commercial product, I would appreciate hearing about it. This message serves as legal notice that I won't be suing you for royalties! The code is in the public domain. - -On the other hand, I don't provide support. The code is actually simple enough that it shouldn't need it. diff --git a/lib/NHibernate12/mono/2.0/Iesi.Collections.xml b/lib/NHibernate12/mono/2.0/Iesi.Collections.xml deleted file mode 100644 index 587094a3..00000000 --- a/lib/NHibernate12/mono/2.0/Iesi.Collections.xml +++ /dev/null @@ -1,1887 +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 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/NHibernate12/mono/2.0/NHibernate.dll b/lib/NHibernate12/mono/2.0/NHibernate.dll deleted file mode 100644 index 19bc3f9e..00000000 Binary files a/lib/NHibernate12/mono/2.0/NHibernate.dll and /dev/null differ diff --git a/lib/NHibernate12/mono/2.0/NHibernate.license.txt b/lib/NHibernate12/mono/2.0/NHibernate.license.txt deleted file mode 100644 index 8a88d148..00000000 --- a/lib/NHibernate12/mono/2.0/NHibernate.license.txt +++ /dev/null @@ -1,460 +0,0 @@ - GNU LESSER GENERAL PUBLIC LICENSE - Version 2.1, February 1999 - - Copyright (C) 1991, 1999 Free Software Foundation, Inc. - 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - -[This is the first released version of the Lesser GPL. It also counts - as the successor of the GNU Library Public License, version 2, hence - the version number 2.1.] - - Preamble - - The licenses for most software are designed to take away your -freedom to share and change it. By contrast, the GNU General Public -Licenses are intended to guarantee your freedom to share and change -free software--to make sure the software is free for all its users. - - This license, the Lesser General Public License, applies to some -specially designated software packages--typically libraries--of the -Free Software Foundation and other authors who decide to use it. You -can use it too, but we suggest you first think carefully about whether -this license or the ordinary General Public License is the better -strategy to use in any particular case, based on the explanations below. - - When we speak of free software, we are referring to freedom of use, -not price. Our General Public Licenses are designed to make sure that -you have the freedom to distribute copies of free software (and charge -for this service if you wish); that you receive source code or can get -it if you want it; that you can change the software and use pieces of -it in new free programs; and that you are informed that you can do -these things. - - To protect your rights, we need to make restrictions that forbid -distributors to deny you these rights or to ask you to surrender these -rights. These restrictions translate to certain responsibilities for -you if you distribute copies of the library or if you modify it. - - For example, if you distribute copies of the library, whether gratis -or for a fee, you must give the recipients all the rights that we gave -you. You must make sure that they, too, receive or can get the source -code. If you link other code with the library, you must provide -complete object files to the recipients, so that they can relink them -with the library after making changes to the library and recompiling -it. And you must show them these terms so they know their rights. - - We protect your rights with a two-step method: (1) we copyright the -library, and (2) we offer you this license, which gives you legal -permission to copy, distribute and/or modify the library. - - To protect each distributor, we want to make it very clear that -there is no warranty for the free library. Also, if the library is -modified by someone else and passed on, the recipients should know -that what they have is not the original version, so that the original -author's reputation will not be affected by problems that might be -introduced by others. - - Finally, software patents pose a constant threat to the existence of -any free program. We wish to make sure that a company cannot -effectively restrict the users of a free program by obtaining a -restrictive license from a patent holder. Therefore, we insist that -any patent license obtained for a version of the library must be -consistent with the full freedom of use specified in this license. - - Most GNU software, including some libraries, is covered by the -ordinary GNU General Public License. This license, the GNU Lesser -General Public License, applies to certain designated libraries, and -is quite different from the ordinary General Public License. We use -this license for certain libraries in order to permit linking those -libraries into non-free programs. - - When a program is linked with a library, whether statically or using -a shared library, the combination of the two is legally speaking a -combined work, a derivative of the original library. The ordinary -General Public License therefore permits such linking only if the -entire combination fits its criteria of freedom. The Lesser General -Public License permits more lax criteria for linking other code with -the library. - - We call this license the "Lesser" General Public License because it -does Less to protect the user's freedom than the ordinary General -Public License. It also provides other free software developers Less -of an advantage over competing non-free programs. These disadvantages -are the reason we use the ordinary General Public License for many -libraries. However, the Lesser license provides advantages in certain -special circumstances. - - For example, on rare occasions, there may be a special need to -encourage the widest possible use of a certain library, so that it becomes -a de-facto standard. To achieve this, non-free programs must be -allowed to use the library. A more frequent case is that a free -library does the same job as widely used non-free libraries. In this -case, there is little to gain by limiting the free library to free -software only, so we use the Lesser General Public License. - - In other cases, permission to use a particular library in non-free -programs enables a greater number of people to use a large body of -free software. For example, permission to use the GNU C Library in -non-free programs enables many more people to use the whole GNU -operating system, as well as its variant, the GNU/Linux operating -system. - - Although the Lesser General Public License is Less protective of the -users' freedom, it does ensure that the user of a program that is -linked with the Library has the freedom and the wherewithal to run -that program using a modified version of the Library. - - The precise terms and conditions for copying, distribution and -modification follow. Pay close attention to the difference between a -"work based on the library" and a "work that uses the library". The -former contains code derived from the library, whereas the latter must -be combined with the library in order to run. - - GNU LESSER GENERAL PUBLIC LICENSE - TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - - 0. This License Agreement applies to any software library or other -program which contains a notice placed by the copyright holder or -other authorized party saying it may be distributed under the terms of -this Lesser General Public License (also called "this License"). -Each licensee is addressed as "you". - - A "library" means a collection of software functions and/or data -prepared so as to be conveniently linked with application programs -(which use some of those functions and data) to form executables. - - The "Library", below, refers to any such software library or work -which has been distributed under these terms. A "work based on the -Library" means either the Library or any derivative work under -copyright law: that is to say, a work containing the Library or a -portion of it, either verbatim or with modifications and/or translated -straightforwardly into another language. (Hereinafter, translation is -included without limitation in the term "modification".) - - "Source code" for a work means the preferred form of the work for -making modifications to it. For a library, complete source code means -all the source code for all modules it contains, plus any associated -interface definition files, plus the scripts used to control compilation -and installation of the library. - - Activities other than copying, distribution and modification are not -covered by this License; they are outside its scope. The act of -running a program using the Library is not restricted, and output from -such a program is covered only if its contents constitute a work based -on the Library (independent of the use of the Library in a tool for -writing it). Whether that is true depends on what the Library does -and what the program that uses the Library does. - - 1. You may copy and distribute verbatim copies of the Library's -complete source code as you receive it, in any medium, provided that -you conspicuously and appropriately publish on each copy an -appropriate copyright notice and disclaimer of warranty; keep intact -all the notices that refer to this License and to the absence of any -warranty; and distribute a copy of this License along with the -Library. - - You may charge a fee for the physical act of transferring a copy, -and you may at your option offer warranty protection in exchange for a -fee. - - 2. You may modify your copy or copies of the Library or any portion -of it, thus forming a work based on the Library, and copy and -distribute such modifications or work under the terms of Section 1 -above, provided that you also meet all of these conditions: - - a) The modified work must itself be a software library. - - b) You must cause the files modified to carry prominent notices - stating that you changed the files and the date of any change. - - c) You must cause the whole of the work to be licensed at no - charge to all third parties under the terms of this License. - - d) If a facility in the modified Library refers to a function or a - table of data to be supplied by an application program that uses - the facility, other than as an argument passed when the facility - is invoked, then you must make a good faith effort to ensure that, - in the event an application does not supply such function or - table, the facility still operates, and performs whatever part of - its purpose remains meaningful. - - (For example, a function in a library to compute square roots has - a purpose that is entirely well-defined independent of the - application. Therefore, Subsection 2d requires that any - application-supplied function or table used by this function must - be optional: if the application does not supply it, the square - root function must still compute square roots.) - -These requirements apply to the modified work as a whole. If -identifiable sections of that work are not derived from the Library, -and can be reasonably considered independent and separate works in -themselves, then this License, and its terms, do not apply to those -sections when you distribute them as separate works. But when you -distribute the same sections as part of a whole which is a work based -on the Library, the distribution of the whole must be on the terms of -this License, whose permissions for other licensees extend to the -entire whole, and thus to each and every part regardless of who wrote -it. - -Thus, it is not the intent of this section to claim rights or contest -your rights to work written entirely by you; rather, the intent is to -exercise the right to control the distribution of derivative or -collective works based on the Library. - -In addition, mere aggregation of another work not based on the Library -with the Library (or with a work based on the Library) on a volume of -a storage or distribution medium does not bring the other work under -the scope of this License. - - 3. You may opt to apply the terms of the ordinary GNU General Public -License instead of this License to a given copy of the Library. To do -this, you must alter all the notices that refer to this License, so -that they refer to the ordinary GNU General Public License, version 2, -instead of to this License. (If a newer version than version 2 of the -ordinary GNU General Public License has appeared, then you can specify -that version instead if you wish.) Do not make any other change in -these notices. - - Once this change is made in a given copy, it is irreversible for -that copy, so the ordinary GNU General Public License applies to all -subsequent copies and derivative works made from that copy. - - This option is useful when you wish to copy part of the code of -the Library into a program that is not a library. - - 4. You may copy and distribute the Library (or a portion or -derivative of it, under Section 2) in object code or executable form -under the terms of Sections 1 and 2 above provided that you accompany -it with the complete corresponding machine-readable source code, which -must be distributed under the terms of Sections 1 and 2 above on a -medium customarily used for software interchange. - - If distribution of object code is made by offering access to copy -from a designated place, then offering equivalent access to copy the -source code from the same place satisfies the requirement to -distribute the source code, even though third parties are not -compelled to copy the source along with the object code. - - 5. A program that contains no derivative of any portion of the -Library, but is designed to work with the Library by being compiled or -linked with it, is called a "work that uses the Library". Such a -work, in isolation, is not a derivative work of the Library, and -therefore falls outside the scope of this License. - - However, linking a "work that uses the Library" with the Library -creates an executable that is a derivative of the Library (because it -contains portions of the Library), rather than a "work that uses the -library". The executable is therefore covered by this License. -Section 6 states terms for distribution of such executables. - - When a "work that uses the Library" uses material from a header file -that is part of the Library, the object code for the work may be a -derivative work of the Library even though the source code is not. -Whether this is true is especially significant if the work can be -linked without the Library, or if the work is itself a library. The -threshold for this to be true is not precisely defined by law. - - If such an object file uses only numerical parameters, data -structure layouts and accessors, and small macros and small inline -functions (ten lines or less in length), then the use of the object -file is unrestricted, regardless of whether it is legally a derivative -work. (Executables containing this object code plus portions of the -Library will still fall under Section 6.) - - Otherwise, if the work is a derivative of the Library, you may -distribute the object code for the work under the terms of Section 6. -Any executables containing that work also fall under Section 6, -whether or not they are linked directly with the Library itself. - - 6. As an exception to the Sections above, you may also combine or -link a "work that uses the Library" with the Library to produce a -work containing portions of the Library, and distribute that work -under terms of your choice, provided that the terms permit -modification of the work for the customer's own use and reverse -engineering for debugging such modifications. - - You must give prominent notice with each copy of the work that the -Library is used in it and that the Library and its use are covered by -this License. You must supply a copy of this License. If the work -during execution displays copyright notices, you must include the -copyright notice for the Library among them, as well as a reference -directing the user to the copy of this License. Also, you must do one -of these things: - - a) Accompany the work with the complete corresponding - machine-readable source code for the Library including whatever - changes were used in the work (which must be distributed under - Sections 1 and 2 above); and, if the work is an executable linked - with the Library, with the complete machine-readable "work that - uses the Library", as object code and/or source code, so that the - user can modify the Library and then relink to produce a modified - executable containing the modified Library. (It is understood - that the user who changes the contents of definitions files in the - Library will not necessarily be able to recompile the application - to use the modified definitions.) - - b) Use a suitable shared library mechanism for linking with the - Library. A suitable mechanism is one that (1) uses at run time a - copy of the library already present on the user's computer system, - rather than copying library functions into the executable, and (2) - will operate properly with a modified version of the library, if - the user installs one, as long as the modified version is - interface-compatible with the version that the work was made with. - - c) Accompany the work with a written offer, valid for at - least three years, to give the same user the materials - specified in Subsection 6a, above, for a charge no more - than the cost of performing this distribution. - - d) If distribution of the work is made by offering access to copy - from a designated place, offer equivalent access to copy the above - specified materials from the same place. - - e) Verify that the user has already received a copy of these - materials or that you have already sent this user a copy. - - For an executable, the required form of the "work that uses the -Library" must include any data and utility programs needed for -reproducing the executable from it. However, as a special exception, -the materials to be distributed need not include anything that is -normally distributed (in either source or binary form) with the major -components (compiler, kernel, and so on) of the operating system on -which the executable runs, unless that component itself accompanies -the executable. - - It may happen that this requirement contradicts the license -restrictions of other proprietary libraries that do not normally -accompany the operating system. Such a contradiction means you cannot -use both them and the Library together in an executable that you -distribute. - - 7. You may place library facilities that are a work based on the -Library side-by-side in a single library together with other library -facilities not covered by this License, and distribute such a combined -library, provided that the separate distribution of the work based on -the Library and of the other library facilities is otherwise -permitted, and provided that you do these two things: - - a) Accompany the combined library with a copy of the same work - based on the Library, uncombined with any other library - facilities. This must be distributed under the terms of the - Sections above. - - b) Give prominent notice with the combined library of the fact - that part of it is a work based on the Library, and explaining - where to find the accompanying uncombined form of the same work. - - 8. You may not copy, modify, sublicense, link with, or distribute -the Library except as expressly provided under this License. Any -attempt otherwise to copy, modify, sublicense, link with, or -distribute the Library is void, and will automatically terminate your -rights under this License. However, parties who have received copies, -or rights, from you under this License will not have their licenses -terminated so long as such parties remain in full compliance. - - 9. You are not required to accept this License, since you have not -signed it. However, nothing else grants you permission to modify or -distribute the Library or its derivative works. These actions are -prohibited by law if you do not accept this License. Therefore, by -modifying or distributing the Library (or any work based on the -Library), you indicate your acceptance of this License to do so, and -all its terms and conditions for copying, distributing or modifying -the Library or works based on it. - - 10. Each time you redistribute the Library (or any work based on the -Library), the recipient automatically receives a license from the -original licensor to copy, distribute, link with or modify the Library -subject to these terms and conditions. You may not impose any further -restrictions on the recipients' exercise of the rights granted herein. -You are not responsible for enforcing compliance by third parties with -this License. - - 11. If, as a consequence of a court judgment or allegation of patent -infringement or for any other reason (not limited to patent issues), -conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot -distribute so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you -may not distribute the Library at all. For example, if a patent -license would not permit royalty-free redistribution of the Library by -all those who receive copies directly or indirectly through you, then -the only way you could satisfy both it and this License would be to -refrain entirely from distribution of the Library. - -If any portion of this section is held invalid or unenforceable under any -particular circumstance, the balance of the section is intended to apply, -and the section as a whole is intended to apply in other circumstances. - -It is not the purpose of this section to induce you to infringe any -patents or other property right claims or to contest validity of any -such claims; this section has the sole purpose of protecting the -integrity of the free software distribution system which is -implemented by public license practices. Many people have made -generous contributions to the wide range of software distributed -through that system in reliance on consistent application of that -system; it is up to the author/donor to decide if he or she is willing -to distribute software through any other system and a licensee cannot -impose that choice. - -This section is intended to make thoroughly clear what is believed to -be a consequence of the rest of this License. - - 12. If the distribution and/or use of the Library is restricted in -certain countries either by patents or by copyrighted interfaces, the -original copyright holder who places the Library under this License may add -an explicit geographical distribution limitation excluding those countries, -so that distribution is permitted only in or among countries not thus -excluded. In such case, this License incorporates the limitation as if -written in the body of this License. - - 13. The Free Software Foundation may publish revised and/or new -versions of the Lesser General Public License from time to time. -Such new versions will be similar in spirit to the present version, -but may differ in detail to address new problems or concerns. - -Each version is given a distinguishing version number. If the Library -specifies a version number of this License which applies to it and -"any later version", you have the option of following the terms and -conditions either of that version or of any later version published by -the Free Software Foundation. If the Library does not specify a -license version number, you may choose any version ever published by -the Free Software Foundation. - - 14. If you wish to incorporate parts of the Library into other free -programs whose distribution conditions are incompatible with these, -write to the author to ask for permission. For software which is -copyrighted by the Free Software Foundation, write to the Free -Software Foundation; we sometimes make exceptions for this. Our -decision will be guided by the two goals of preserving the free status -of all derivatives of our free software and of promoting the sharing -and reuse of software generally. - - NO WARRANTY - - 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO -WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. -EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR -OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY -KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE -LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME -THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. - - 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN -WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY -AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU -FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR -CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE -LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING -RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A -FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF -SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGES. - - END OF TERMS AND CONDITIONS - diff --git a/lib/NHibernate12/mono/2.0/NHibernate.xml b/lib/NHibernate12/mono/2.0/NHibernate.xml deleted file mode 100644 index 39b0414c..00000000 --- a/lib/NHibernate12/mono/2.0/NHibernate.xml +++ /dev/null @@ -1,29887 +0,0 @@ - - - - NHibernate - - - - - Expected row count. Valid only for batchable expectations. - - - - - 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. - - - - 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. - - - - - - 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. - - - - - A implementation that returns - , disabling reflection optimization. - - - - - An item of cached data, timestamped with the time it was cached, when it was locked, - when it was unlocked - - - - - Summary description for ILockable. - - - - - Lock the item - - - - - Is this item visible to the timestamped transaction? - - - - - - - Don't overwite 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. - - - - - A soft lock which supports concurrent locking, - timestamped with the time it was released - - - This class was named Lock in H2.1 - - - - - Marker interface, denoting a client-visible "soft lock" on a cached item. - - - - - 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 - - - - - A simple -based cache - - - - - 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 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Cache Provider plugin for NHibernate that is configured by using - hibernate.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 . - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 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. - - - - 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 sesion 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. - - - - - 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 - - - - - - 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. - - - - - 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. - - - - - - - - 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 - - - - - - The XML Namespace for the nhibernate-mapping - - - - - The XML Namespace for the nhibernate-configuration - - - - - 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 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. - - - - 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. - - - - 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 droping tables - - - - - - Generate DDL for creating tables - - - - - - 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 - otherwise. - - A configuration object initialized with the file. - - To configure NHibernate explicitly using hibernate.cfg.xml, ignoring - the application configuration file, use this code: - - configuration.Configure("path/to/hibernate.cfg.xml"); - - - - - - Configure NHibernate from an representing the root - <hibernate-configuration> element. - - Configuration node - This Configuration object - - - - 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 overwrite 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 XmlTextReader. - - The that contains the Xml to configure NHibernate. - A Configuration object initialized with the file. - - Calling Configure(XmlTextReader) 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 XmlTextReader that contains the mapping. - This Configuration object. - - - - Adds the Mappings in the after validating it - against the nhibernate-mapping-2.2 schema. - - The XmlTextReader that contains the mapping. - The name of the document to use for error reporting. May be . - This Configuration object. - - - - Allocate on first use as we are expensive in time/space - - - - Allocate on first use as we are expensive in time/space - - - - The class mappings - - - - - The collection mappings - - - - - The table mappings - - - - - The named queries - - - - - 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 - - - - - - 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 - - - - The singleton instance - - - - - Return the unqualified class name - - - - - - - Return the unqualified property name - - - - - - - Return the argument - - - - - - - Return the argument - - - - - - - Return the unqualified property name - - - - - - - - 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, <nhibernate> section in the application configuration file - corresponds to Java system-level properties; <hibernate-configuration> - section is considered to be the session-factory-level configuration. It is possible - to use the applicatoin configuration file (App.config) together with the NHibernate configuration - file (hibernate.cfg.xml) at the same time. - - - - - Used to find the .Net 2.0 named connection string - - - - - Issue warnings to user when any obsolete property names are used. - - - - - - - NHibernate version (informational). - - - - - Gets a copy of the configuration found in <nhibernate> 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. - - - - - Converts a partial class name into a fully qualified one - - - - - - - - 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 Lists, arrays, primitive arrays - > - - - - Called for Maps - - - - - - - - - Called for all collections - - - - - Summary description for ImprovedNamingStrategy. - - - - - The singleton instance - - - - - Return the unqualified class name, mixed case converted to underscores - - - - - - - Return the full property path with underscore seperators, 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 seperators, mixed case converted to underscores - - - - - - - - A collection of mappings from classes and collections to relational database tables. - - Represents a single <hibernate-mapping> element. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Adds an import to allow for the full class name Namespace.Entity - 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 - automattically 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 classes outside this resource - needed by the classes in this resource. - - An of - - - - Settings that affect the behavior of NHibernate at runtime. - - - - - 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. - The interface closely resembles bag semantics, - however NHibernate for .NET 1.1 used so - is used to ensure the easiest transition - to generics. - - The type of the element the bag should hold. - The underlying collection used is an - - - - 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. - - - - - - 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. - - - - - 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 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. - - - - - 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 - - - - - Called before any elements are read into the collection, - allowing appropriate initializations to occur. - - The for this persistent collection. - - - - 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. - - - - - 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. - - - - - 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. - - - - - Get the snapshot value of the given collection entry - - - - - Called after initializing from cache - - - - - Clear the dirty flag, after flushing changes - to the database. - - - - - Mark the collection as dirty - - - - - 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. - - - - - Is the initialized collection empty? - - - - - Gets a indicating if the underlying collection is directly - accessable 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 the collection dirty? Note that this is only - reliable during the flush cycle, after the - collection elements are dirty checked against - the snapshot. - - - - - Called by any read-only method of the collection interface - - - - - Called by any writer method of the collection interface - - - - - Queue an addition if the peristent collection supports it - - - if the addition was queued up, if the persistent collection - doesn't support Queued Addition. - - - - - Queue additions - - - - - After reading all existing elements from the database, - add the queued elements to the underlying collection. - - The to add. - The that - is currently loading the collection. - - The default implementation is to throw an - because most collections do not support delayed addition. If the collection - does then override this method. - - - - - 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. - - - - - Not called by Hibernate, but used by non-NET serialization, eg. SOAP libraries. - - - - - 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 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 - - - - Read the state of the collection from a disassembled cached value. - - - - - - - - Iterate all collection entries, during update of the database - - - - - - 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. - - - - Get the index of the given collection entry - - - - - - - - Called before any elements are read into the collection, - allowing appropriate initializations to occur. - - - - - - Does the current state exactly match the snapshot? - - - - - - - Return a new snapshot of the current state - - The for this Collection. - - - - - Disassemble the collection, ready for the cache - - - - - - - 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. - - - - - 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? - - - - - - - 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 - - - - - Is the initialized collection empty? - - - - - Is the collection currently connected to an open session? - - - - - Is this collection in a state that would allow us to "queue" additions? - - - - - Gets a indicating if the underlying collection is directly - accessable 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 . - - - - - - - - - - - - - - - - - - - - Initializes an instance of the - in the . - - The the bag is in. - - - - Initializes an instance of the - that wraps an existing in the . - - The the bag is in. - The to wrap. - - - - Gets a indicating if this Bag needs to be recreated - in the database. - - The for this Collection. - - 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. - - - - - 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 number of occurrences of the element in the list. - - - - - Is this the wrapper for the given underlying bag instance? - - The bag that might be wrapped. - - if the is equal to the - wrapped collection by object reference. - - - - - Is the initialized GenericBag empty? - - if the bag has a Count==0, otherwise. - - - - 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". - - - - - - 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 - - - - 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 bag is in. - The to wrap. - - - - Does the current state of the list exactly match the snapshot? - - The to compare the elements of the Collection. - - if the wrapped list is different than the snapshot - of the list or if one of the elements in the collection is - dirty. - - - - - Return a new snapshot of the current state. - - The for this Collection. - - A new that contains Deep Copies of the - Elements stored in this wrapped collection. - - - - - Get all "orphaned" elements. - - The snapshot of the collection. - The type of the entities the collection - is supposed to contain. - - An that contains all of the elements - that have been orphaned. - - - - - 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. - - - - Initializes an instance of the - in the . - - The the map is in. - - - - Initializes an instance of the - that wraps an existing in the - . - - The the bag is in. - The to wrap. - - - - .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 set is being - populated from the database. - - - This is necessary to ensure that the object being added to the set doesn't - have its and - methods called during the load process. - - - - - Returns a Hashtable where the Key & the Value are both a Copy of the - same object. - - - - - - - This constructor is NOT meant to be called from user code. - - - - - Creates a new PersistentGenericSet initialized to the values in the Map. - This constructor is NOT meant to be called from user code. - - - Only call this constructor if you consider the map initialized. - - - - - Initializes this PersistentGenericSet from the cached values. - - The CollectionPersister to use to reassemble the set. - The disassembled set. - 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 - that was populated during and writes it to the underlying - set. - - - - - - - - - - - - - - - - - - - - A persistent wrapper for an array. lazy initialization is NOT supported - - - - - The that NHibernate is wrapping. - - - - - A temporary list that holds the objects while the PersistentArrayHolder is being - populated from the database. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 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. - - - - Returns the user-visible portion of the NHibernate PersistentArrayHolder. - - - The array that contains the data, not the NHibernate wrapper. - - - - - - - - - - - - - - - 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. - - - - - 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 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 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 underlying collection used in an . - - - - - Return a new snapshot of the current state. - - The for this Collection. - - A new that contains Deep Copies of the - Elements stored in this wrapped collection. - - - - - Does the current state of the list exactly match the snapshot? - - The to compare the elements of the Collection. - - if the wrapped list is different than the snapshot - of the list or if one of the elements in the collection is - dirty. - - - - - 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 . - - - - - 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. - - - - - 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. - - - - - Returns a Hashtable where the Key & the Value are both a Copy of the - same object. - - - - - - - This constructor is NOT meant to be called from user code. - - - - - Creates a new PersistentSet initialized to the values in the Map. - This constructor is NOT meant to be called from user code. - - - Only call this constructor if you consider the map initialized. - - - - - 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. - - - - - - - - - - - - - - - - - - - - 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. - - - - - Initializes a new instance of the class. - - - - - 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 . - Works only with Web Applications. - - - - - 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 each . Works only with web applications. - - - - - Used to show a better debug display for dictionaries - - - - - ANSI-SQL substring - Documented in: - ANSI X3.135-1992 - American National Standard for Information Systems - Database Language - SQL - - - Syntax: - ::= - SUBSTRING FROM < start position> - [ FOR ] - ]]> - - - - - 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? - - - - - 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 - - - - - 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). - - - - - Applies the template to passed in arguments. - - args function arguments - generated SQL function call - - - - - 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. - - - - Support for slightly more general templating than StandardSQLFunction, - with an unlimited number of arguments. - - - - - An SQL dialect for DB2 on iSeries OS/400. - - - The DB2400Dialect defaults the following configuration properties: - - - Property - Default Value - - - hibernate.connection.driver_class - - - - - - - - An SQL dialect for DB2. - - - The DB2Dialect defaults the following configuration properties: - - - Property - Default Value - - - hibernate.connection.driver_class - - - - - - - - Represents a dialect of SQL implemented by a particular RDBMS. Sublcasses - 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 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 length of the SqlType - The database type name used by ddl. - - - - - - - - - - - Subclasses register a typename for the given type code and maximum - column length. $1 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. $1 in the - typename will be replaced by the column length (if appropriate). - - The typecode - The database type name - - - - - - - - - - - - - - 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 used to add a primary key constraint to a table - - - - - - 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. - - - - - Generate SQL to get the identifier of an inserted row. - If the returned value is not null, the caller will prepare a statement from it, - set SQL parameters just as it would for insertSQL, and execute it as a query - which is expected to return the identifier of the inserted row. - If the returned value is null, the caller will execute insertSQL as an update - and then execute IdentitySelectString as a query. - The default implementation (in this class) returns . - - a parameterized SQL statement to insert a row into a table. - The column for which the identity generator was specified. - The name of the table the row is being inserted in. - a SQL statement that has the same effect as insertSQL - and also gets the identifier of the inserted row. - Return if this dialect doesn't support this feature. - - - - - The syntax that returns the identity value of the last insert, if native - key generation is supported - - - - - The syntax that fetches the next value of a sequence, if sequences are supported. - - The name of the sequence - - - - - The syntax used to create a sequence, if sequences are supported - - - - - - - The syntax used to drop a sequence, if sequences are supported - - - - - - - - - - - - - - - - - - - - Create an JoinFragment for this dialect - - - - - - Create an CaseFragment for this dialect - - - - - - Add a LIMIT clause to the given SQL SELECT - - A Query in the form of a SqlString. - Offset of the first row is not zero - A new SqlString 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. - - - - Return SQL needed to drop the named table. May (and should) use - some form of "if exists" clause, and cascade constraints. - - - - - - - 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 - - - - - 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. - - - - - 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. -

-
-
- - - 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? - - - - - How we seperate the queries when we use multiply queries. - - - - - Retrieves the FOR UPDATE syntax specific to this dialect - - The appropriate FOR UPDATE clause string. - - - - Retrieves the FOR UPDATE NOWAIT syntax specific to this dialect - - The appropriate FOR UPDATE NOWAIT clause string. - - - - Does this dialect support subselects? - - - - - Does this dialect support the UNIQUE column syntax? - - - - - The syntax used to add a column to a table. Note this is deprecated - - - - - The keyword used to specify a nullable column - - - - - Does this dialect support identity column key generation? - - - - - Does this dialect support sequences? - - - - - The keyword used to specify an identity column, if native key generation is supported - - - - - The keyword used to insert a generated value into an identity column (or null) - - - - - The keyword used to insert a row without specifying any column values - - - - - Retrieve a set of default Hibernate properties for this database. - - - - - Completely optional cascading drop clause - - - - - The name of the SQL function that transforms a string to lowercase - - - - - 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? - - false, unless overridden - - - - The opening quote for a quoted identifier. - - - - - The closing quote for a quoted identifier. - - - - - Whether this dialect has an identity clause added to the data type or a - completely seperate identity data type. - - - - - 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. - - - - - Does the dialect support the syntax 'drop table if exists NAME' - - - - - Does the dialect support the syntax 'drop table NAME if exists' - - - - - 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. - - - - - - - - - - - - - - - - - - - - - Add a LIMIT clause to the given SQL SELECT - - A Query in the form of a SqlString. - Offset of the first row is not zero - A new SqlString that contains the LIMIT clause. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Summary description for FirebirdDialect. - - - The FirebirdDialect defaults the following configuration properties: - - - Property - Default Value - - - hibernate.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. - - - The InformixDialect defaults the following configuration properties: - - - Property - Default Value - - - hibernate.connection.driver_class - - - - - - - - - - - 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 - - - - - Whether this dialect have an Identity clause added to the data type or a - completely seperate identity data type - - - - - An SQL dialect for IngresSQL. - - - The IngresDialect defaults the following configuration properties: - - - Property - Default Value - - - hibernate.use_outer_join - - - - hibernate.connection.driver_class - - - - - - - - An SQL dialect compatible with Microsoft SQL Server 2000. - - - The MsSql2000Dialect defaults the following configuration properties: - - - Property - Default Value - - - hibernate.use_outer_join - - - - hibernate.connection.driver_class - - - - hibernate.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 of. - 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 with the LIMIT clause applied. - - The LIMIT SQL will look like - - - SELECT TOP last (columns) FROM ( - SELECT ROW_NUMBER() OVER(ORDER BY __hibernate_sort_expr_1__ {sort direction 1} [, __hibernate_sort_expr_2__ {sort direction 2}, ...]) as row, (query.columns) FROM ( - {original select query part}, {sort field 1} as __hibernate_sort_expr_1__ [, {sort field 2} as __hibernate_sort_expr_2__, ...] - {remainder of original query minus the order by clause} - ) query - ) page WHERE page.row > offset - - - - Note that we need to add explicitly specify the columns, because we need to be able to use them - in a paged subselect. NH-1155 - - - - - 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 - - - hibernate.use_outer_join - - - - hibernate.connection.driver_class - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 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. - - - - - - - - - - - - - - - - - - - - - - - - - It's a immature version, it just work. - An SQL dialect for Oracle 9 - - - The Oracle9Dialect defaults the following configuration properties: - - - Property - Default Value - - - hibernate.use_outer_join - - - - hibernate.connection.driver_class - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - An SQL dialect for Oracle, compatible with Oracle 8. - - - - - - - - - - - - - - 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 - - - hibernate.use_outer_join - - - - hibernate.connection.driver_class - - - - - - - - - - - - - - Offset of the first row to process in the result set is non-zero - - - - - - - - - - - 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. - - not used - not used - - - - - 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); - - - - - 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. - This dialect uses serial - - - - - The sql syntax to insert a row without specifying any column in PostgreSQL is - INSERT INTO table DEFAULT VALUES; - - - - - 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 -

-
-
- - - - - - - - - - - - - This is a subclass of SybaseDialect for sybase 11 databases (specifically tested against 11.9.2). 11.9.2 does not support ANSI JOINs - therefore we have to provide a special join fragment for left/right joins (*= and =* respectively). - - - - - An SQL dialect compatible with Sybase. - - -

- 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 SybaseDialect defaults the following configuration properties: - - - Property - Default Value - - - hibernate.use_outer_join - - - - hibernate.connection.driver_class - - - - hibernate.prepare_sql - - - -
-
- - - - - - - - - Sybase does not support quoted aliases, this function thus returns - aliasName as is. - - - - - - - - - - - - - - - - - - - - - - - - - - This class is basically a port of the hibernate 3.2 Sybase 11 join fragment. It usees concepts from that join fragment and the Oracle join fragment in NHibernate - - - - - Represents a SQL JOIN - - - - - 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 SybaseAnywhereDialect defaults the following configuration properties: - - - Property - Default Value - - - hibernate.use_outer_join - - - - hibernate.connection.driver_class - - - - hibernate.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 - - - - - 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($1)" ); - Names.Put(DbType, 65534, "LONGVARCHAR($1)" ); - - 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($1)" ); - - would result in - - Names.Get(DbType) // --> "VARCHAR($1)" (will cause trouble) - Names.Get(DbType,100) // --> "VARCHAR(100)" - Names.Get(DbType,1000) // --> "VARCHAR(1000)" - Names.Get(DbType,10000) // --> "VARCHAR(10000)" - - - - - - Constructor. - - String to be replaced by actual size/length in type names - - - - 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 (maximum) type size/length - - 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 9.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 hibernate.connection.driver_class should be - set to the assembly-qualified name of the driver class. - - - key="hibernate.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. - - - - - - Create an instance of according to the configuration - and the capabilities of the driver - - The connection manager for the batcher. - - - - - 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? - - - - - 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. - - - - Create an instance 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 need to override this method and return their own batcher. - - - - - 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. - - - - 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 the class. - - - Thrown when the ASA.Data.AseClient 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. - - - - - 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 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://gborg.postgresql.org/project/npgsql/projdisplay.php. -

-
-
- - - 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. - - - - - Create an instance 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 need to override this method and return their own batcher. - - - - - 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. - - - - Create an instance 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 need to override this method and return their own batcher. - - - - - 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. - - - - - The SybaseClientDriver Driver provides a database driver for Sybase. - - - It has been reported to work with the . - - - - - Initializes a new instance of the class. - - - Thrown when the Sybase.Data.AseClient assembly can not be loaded. - - - - - Sybase.Data.AseClient uses named parameters in the sql. - - - Sybase uses @ in the sql. - - - - - - - Sybase.Data.AseClient use the @ to locate parameters in sql. - - @ is used to locate parameters in sql. - - - - 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. - - - - - 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 - 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 - 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 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 copying from a transient parent entity into the object in the session cache - - - - - Summary description for Cascades. - - - - - Cascade an action to the child or children - - - - - - - - - - - - - - - - - - - - - - Cascade an action from the parent object to all its children. - - - - - - - - - - - Cascade to the collection elements - - - - - - - - - - - - - A session action that may be cascaded from parent entity to its children - - - - - - - - Cascade the action to the child object - - - - - The children to whom we should cascade. - - - - - Do we need to handle orphan delete for this action? - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Should the given action be cascaded? - - - - - - - Save / Delete / Update / Evict / Lock / Replicate + delete orphans - - - - - Save / Delete / Update / Evict / Lock / Replicate - - - - - Save / Update / Lock / Replicate - - - - - Delete - - - - - Delete + delete orphans - - - - - No Cascades - - - - - Do we delete orphans automatically? - - - - - 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. - - - - - 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 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 - - - - - - - - - - The user-visible identifier - - - - - - - - - - - - - - - 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. - - - - 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. - - - - 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. - - - - 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. - - - - 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. - - - - - 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). - - - - - Defines a complete "snapshot" of a particular collection. - - - - - Gets the identifier of the Entity that owns this Collection. - - - - - Gets the role that identifies this Collection. - - - - - Gets the snapshot copy of the Collection's elements. - - - In most cases this is the same collection type as the one being snapshotted. - ie - the snapshot of an IList will return an IList. - - - - - Gets a indicating if the collection was at one time - associated with an Entity and then later dereferenced during a Flush(). - - - - - 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 - - - - - - Create a new databinder. - - - - - - Get the ClassMetadata associated with the given entity class - - - - - - - Get the CollectionMetadata associated with the named collection role - - - - - - - Get all ClassMetadata as a IDictionary from Type - to metadata object - - - - - - 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 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. - - - - - - 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 used. - - - - - Get the SQL Dialect - - - - - Obtain a set of the names of all filters defined on this SessionFactory. - - The set of filter names. - - - - This collections allows external libraries - to add their own configuration to the NHibernate session factory. - This is needed in such cases where the library is tightly coupled to NHibernate, such - as the case of NHibernate Search - - - - - Get the persister for a class - - - - - Get the persister for the named class - - The name of the class that is persisted. - The for the class. - If no can be found. - - - - Get the persister for the named class - - The name of the class that is persisted. - Whether to throw an exception if the class is not found, - or just return - The for the class. - If no can be found - and throwIfNotFound is true. - - - - Get the persister object for a collection role - - - - - - - Get the return types 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 - - - - Obtain an ADO.NET connection - - - - - - Release an ADO.NET connection - - - - - - Get the identifier generator for the hierarchy - - - - - Open a session conforming to the given parameters. For use mainly by - implementations. - - The external ADO.NET connection to use, if any (i.e., optional). - The release mode for managed database connections. - An appropriate session. - - - - - Is outerjoin fetching enabled? - - - - - Are scrollable ResultSets supported? - - - - - Is PreparedStatement.getGeneratedKeys supported (Java-specific?) - - - - - Get the database schema specified in hibernate.default_schema - - - - - - - - - - - - - - - Maximum depth of outer join fetching - - - - - Are we logging SQL to the console? - - - - - Get the default query cache - - - - - Is query caching enabled? - - - - - Gets the IsolationLevel an IDbTransaction should be set to. - - - This is only applicable to manually controlled NHibernate Transactions. - - - - - Gets a boolean indicating if the sql statement should be prepared. The value - is calculated from hibernate.adonet.batch_size if the value exists and greater than 0. - - - - - 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 - - - - - The main runtime interface between a Java application and Hibernate. 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 Find(), 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 deteced 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, - 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 - - - - 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. - - - - - - - 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 - - - - 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 - - - - 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 - - - - 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 - - - - Execute a query - - A query expressed in Hibernate's query language - A distinct list of instances - See for implications of cache usage. - - - - Execute a query, binding a value to a "?" parameter in the query string. - - The query string - A value to be bound to a "?" placeholder - The Hibernate type of the value - A distinct list of instances - See for implications of cache usage. - - - - Execute a query, binding an array of values to a "?" parameters in the query string. - - The query string - An array of values to be bound to the "?" placeholders - An array of Hibernate types of the values - A distinct list of instances - See for implications of cache usage. - - - - Execute a query and return the results in an interator. - - - - If the query has multiple return values, values will be returned in an array of - type object[]. - - - Entities returned as results are initialized on demand. The first SQL query returns - identifiers only. So Enumerator() is usually a less efficient way to retrieve - object than Find(). - - - The query string - An enumerator - - - - Execute a query and return the results in an interator, - binding a value to a "?" parameter in the query string. - - - - If the query has multiple return values, values will be returned in an array of - type object[]. - - - Entities returned as results are initialized on demand. The first SQL query returns - identifiers only. So Enumerator() is usually a less efficient way to retrieve - object than Find(). - - - The query string - A value to be written to a "?" placeholder in the query string - The hibernate type of the value - An enumerator - - - - Execute a query and return the results in an interator, - binding the values to "?"s parameters in the query string. - - - - If the query has multiple return values, values will be returned in an array of - type object[]. - - - Entities returned as results are initialized on demand. The first SQL query returns - identifiers only. So Enumerator() is usually a less efficient way to retrieve - object than Find(). - - - The query string - A list of values to be written to "?" placeholders in the query - A list of hibernate types of the values - An enumerator - - - - Apply a filter to a persistent collection. - - - A filter is a Hibernate query that may refer to this, the collection element. - Filters allow efficient access to very large lazy collections. (Executing the filter - does not initialize the collection.) - - A persistent collection to filter - A filter query string - The resulting collection - - - - Apply a filter to a persistent collection, binding the given parameter to a "?" placeholder - - - A filter is a Hibernate query that may refer to this, the collection element. - Filters allow efficient access to very large lazy collections. (Executing the filter - does not initialize the collection.) - - A persistent collection to filter - A filter query string - A value to be written to a "?" placeholder in the query - The hibernate type of value - A collection - - - - Apply a filter to a persistent collection, binding the given parameters to "?" placeholders. - - - A filter is a Hibernate query that may refer to this, the collection element. - Filters allow efficient access to very large lazy collections. (Executing the filter - does not initialize the collection.) - - A persistent collection to filter - A filter query string - The values to be written to "?" placeholders in the query - The hibernate types of the values - A collection - - - - 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 - - - - 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 hibernate.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 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 instance of Query for the given query string - - A hibernate query string - 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 IQuery for the given SQL string. - - a query expressed in SQL - a table alias that appears inside {} in the SQL string - the returned persistent class - An from the SQL string - - - - Create a new instance of for the given SQL string. - - a query expressed in SQL - an array of table aliases that appear inside {} in the SQL string - the returned persistent classes - An from the SQL string - - - - Create a new instance of for the given SQL query 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 - - - - Strongly-typed version of - - - - - Strongly-typed version of - - - - - Enable the named filter for this current session. - - The name of the filter to be enabled. - The Filter instance representing the enabled fiter. - - - - Retrieve a currently enabled filter by name. - - The name of the filter to be retrieved. - The Filter instance representing the enabled fiter. - - - - 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. - - - - - 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 - - - - - 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). - - - - - 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 pre-flush identifier of the collection - - - - - - - Get the snapshot of the pre-flush collection state - - - - - Get the object for an array - - - - - Register a object for an array - - - - - Initialize the collection (if not already initialized) - - - - - - - Is this the "inverse" end of a bidirectional association? - - - - - - - new in h2.1 and no javadoc - - - - - - - - - new in h2.1 and no javadoc - - - - - new in h2.1 and no javadoc - - - - - new in h2.1 and no javadoc - - - - - new in h2.1 and no javadoc - - - - - Gets the NHibernate collection wrapper from the ISession. - - - - - - A NHibernate wrapped collection. - - - - - 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 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. - - - - - - - - Load an instance by a unique key that is not the primary key. - - - - - - - - - After actually deleting a row, record the fact that the instance no longer exists on the - database (needed for identity-column key generation) - - - - - - Execute a Find() 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 IEntityPersister for an object - - - - - - - Add an uninitialized instance of an entity class, as a placeholder to ensure object identity. - Must be called before PostHydrate() - - - - - Register the "hydrated" state of an entity instance, after the first step of 2-phase loading - - - - - Perform the second step of 2-phase load (ie. fully initialize the entity instance) - - - - - Get the entity instance associated with the given EntityKey - - - - - Return the existing proxy associated with the given EntityKey, or the second - argument (the entity associated with the key) if no proxy exists. - - The to see if it should be Proxied. - The that identifies the entity. - - Returns a the Proxy for the class or the parameter impl. - - - - Return the existing proxy associated with the given object. (Slower than the form above) - - - - - 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 shold release cache softlocks). May be called multiple times during the transaction - completion process. - - - - - Return the identifier of the persistent object, or null if transient - - - - - Return the identifer of the persistent or transient object, or throw - an exception if the instance is "unsaved" - - - - - Instantiate the entity class, initializing with the given identifier - - - - - Set the lock mode of the entity to the given lock mode - - - - - Get the current version of the entity - - - - - Get the lock mode of the entity - - - - - Execute an SQL Query - - - - - Strongly-typed version of - - - - - new in 2.1 no javadoc - - - - - - new in 2.1 no javadoc - - - - - - - - new in 2.1 no javadoc - - - - - - - - Retrieve the representation of the given entity. - - The entity for which to locate the EntityEntry. - The EntityEntry for the given entity. - - - - Retreive the currently set value for a filter parameter. - - The filter parameter name in the format - {FILTER_NAME.PARAMETER_NAME}. - The filter parameter value. - - - - Retreive the type for a given filter parrameter. - - The filter parameter name in the format - {FILTER_NAME.PARAMETER_NAME}. - The filter parameter type. - - - - 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 {@link org.hibernate.impl.FilterImpl} - instance. - - The currently enabled filters. - - - - 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 - - - - - 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 - - - - - Get the columns of the associated table which are to - be used in the join - - - - - Container for data that is used during the NHibernate query/load process. - - - - - Initializes an instance of the class. - - An array of objects for the parameters. - An array of objects for the parameters. - - - - Initializes an instance of the class. - - An array of objects for the parameters. - An array of objects for the parameters. - An that is parameter name keyed to a value. - An that is hql alias keyed to a LockMode value. - - - - - - - - - - - - - - - - Ensure the Types and Values are the same length. - - - If the Lengths of and - are not equal. - - - - - - - - Gets or sets an that contains the named - parameter as the key and the as the value. - - An of 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. - - - - - - - - - - - - - - - - - - - - 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. - - - - Gets the value of the version. - - 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. - The value of the version. - - - - Sets the value of the version. - - 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 index of the version property in the fields parameter. - The of the versioned property. - - - - 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? - - - - - Converts the given SQLException into NHibernate's ADOException hierarchy, as well as performing - appropriate logging. - - - The exception to convert. - An optional error message. - The converted ADOException. - - - - 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. - - - - 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. - - - - 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 - - - - - 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 - - - - - Render the SQL Fragment. - - - - - - - - - Render the SQL Fragment to be used in the Group By Clause. - - - - - - - - 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 - - - - - - - - Get the user-visible aliases for this projection (ie. the ones that will be passed to the ResultTransformer) - - - - - Does this projection specify grouping attributes? - - - - - 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 arry 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. - - - - - 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. - - - - - - - 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. - - - - - 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 " - - - - A Count - - - - - 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. - - - - An that Junctions together multiple - s with an or - - - - - Get the Sql operator to put between multiple s. - - The string " or " - - - - An that represents an "equal" constraint. - - - - - 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. - - - - 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 . - - - - - 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. - Use case-insensitive comparison - - - - 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. - - - - Get the Sql operator to use for the . - - The string " = " - - - - An that represents an "equal" constraint - between two properties. - - - - - Superclass for an that represents a - constraint between two properties (with SQL binary operators). - - - - - Initialize a new instance of the class - that compares two mapped properties. - - 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 property expression. - - - - - 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. - - - - - 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. - - - - - The Expression 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 to the named property - - The name of the Property in the class. - The value for the Property. - An . - - - - Apply a "like" constraint to the named property - - The name of the Property in the class. - The value for the Property. - A . - - - - A case-insensitive "like", similar to Postgres "ilike" operator - - The name of the Property in the class. - 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. - A . - - - - Apply a "less than" constraint to the named property - - The name of the Property in the class. - The value for the Property. - A . - - - - Apply a "less than or equal" constraint to the named property - - The name of the Property in the class. - The value for the Property. - A . - - - - Apply a "greater than or equal" constraint to the named property - - The name of the Property in the class. - The value for the Property. - A . - - - - 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 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 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 "is null" constraint to the named property - - The name of the Property in the class. - A . - - - - Apply an "equal" constraint to two properties - - The lhs Property Name - The rhs Property Name - A . - - - - Apply an "not equal" constraint to two properties - - The lhs Property Name - The rhs Property Name - A . - - - - Apply a "greater than" 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 Property Name - The rhs Property Name - A . - - - - Apply a "less than" constraint to two properties - - The lhs Property Name - The rhs Property Name - A . - - - - Apply a "less than or equal" constraint to two properties - - The lhs Property Name - The rhs Property Name - A . - - - - Apply an "is not null" 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 . - - - - Apply an "is not empty" constraint to the named property - - The name of the Property in the class. - A . - - - - Return the conjuction 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 . - - - - 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 - - - - - - - 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 - - - - - An that represents an "greater than or equal" constraint. - - - - - 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. - - - - Get the Sql operator to use for the . - - The string " >= " - - - - An that represents an "greater than or equal" constraint - between two properties. - - - - - 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 " < " - - - - An that represents an "greater than" constraint. - - - - - 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. - - - - Get the Sql operator to use for the . - - The string " > " - - - - An that represents an "greater than" constraint - between two properties. - - - - - 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 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... - - - - - - - - - - - - - - - An that represents an "like" constraint - that is not case sensitive. - - - - - 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. - - - - - 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. - - - - Get the Sql operator to use for the . - - The string " <= " - - - - An that represents an "less than or equal" constraint - between two properties. - - - - - 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. - - - - - 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. - - - - Get the Sql operator to use for the . - - The string " like " - - - - An that represents an "less than" constraint. - - - - - 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. - - - - Get the Sql operator to use for the . - - The string " < " - - - - An that represents an "less than" constraint - between two properties. - - - - - 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. - - - - - 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. - - - - - 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. - - - - - Constructor for Order. - - - - - - - Render the SQL fragment - - - - - Ascending 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" - - - - 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(*) - - - - - - A property value count - - - - - - - A distinct property value count - - - - - - - A property maximum value - - - - - - - A property minimum value - - - - - - - A property average value - - - - - - - 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 projected property value - - - - - - - A projected identifier value - - - - - - Assign an alias to a projection, by wrapping it - - - - - - - - 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 - - - - - 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. - - - - - Factory class for AbstractCriterion instances that represent - involving subqueries. - Expression - Projection - AbstractCriterion - - - - - Generates translators which uses the older hand-written parser to perform the translation. - - - - - 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 an HQL filter string. - - The query string to be translated - Currently enabled filters - The session factory - An appropriate translator. - - - - 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 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 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. - - - - - 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 vesrion 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 - - - - - Unmarshall the fields of a persistent instance from a result set, - without resolving associations or collections - - - - - - - - - - - - Advance the cursor to the first required row of the IDataReader - - - - - - - Should we pre-process the SQL string, adding a dialect-specific - LIMIT clause. - - - - - - - - Bind positional parameter values to the IDbCommand - (these are parameters specified by ?). - - - - - - - - - - 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 maximum last row number, - others require the maximum returned row count. - - - - - 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 - - - - 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 . - The to load in. - An IDataReader advanced to the first record in RowSelection. - - - - Bind named parameters to the IDbCommand - - The that contains the parameters. - The named parameters (key) and the values to set. - The this Loader is using. - - - - - 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. - - - - of - - - - 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 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") - - - - - An (optional) persister for a collection to be initialized; only collection loaders - return a non-null value - - - - - 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 SQL table aliases of entities whose - associations are subselect-loadable, returning - null if this loader does not support subselect - loading - - - - - Get the result set descriptor - - - - - 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. - - - - - 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? - - - - 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 - - - - Used for collection filters - - - - - - - Persisters for the return values of a Find 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. - - - - - Provides utility methods for generating HQL / SQL names. - Shared by both the 'classic' and 'new' query translators. - - - - - 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. - - - - Handle Hibernate "implicit" polymorphism, by translating the query string into - several "concrete" queries against mapped classes. - - - - - - - - - An that returns the current identifier - assigned to an instance. - - -

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

-
-
- - - 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 - - - - - - - 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. - - - - - 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. - - - - 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 - - - - hilo - - - - identity - - - - native - - Chooses between , - , and based on the - 's capabilities. - - - - seqhilo - - - - sequence - - - - uuid.hex - - - - uuid.string - - - -
-
- - - 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. -

-
-
- - - 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 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. - - - - - - An that requires creation of database objects - All s that also implement - An have access to a special mapping parameter: schema - - - - - 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 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 name of the schema parameter. - - - - - 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 . - - - - 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. -

-
-
- - - The name of the column parameter. - - - - - The name of the table parameter. - - - - - The name of the schema parameter. - - - - - 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 , , 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 . - - - - 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. - - - - 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 . - - - - 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.Find(); - - - A particulare 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 . - - - - - 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 - - - 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 forceable refresh of - the query cache? - - - - The timeout for the underlying ADO query - - - - - - 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 - - - - - Bind a value to an indexed parameter. - - Postion 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 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 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. - - - - - The query string - - - - - The Hibernate types of the query result set. - - - - - The names of all named parameters of the query - - The parameter names, in no particular order - - - - 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. - - - - - 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 . - - - - - - - Visit a property value. Dispatch to the correct handler - for the property type. - - - - - - - - Walk the tree starting from the given entity. - - - - - - - Visit a collection. Default superclass implementation is a no-op. - - - - - - - - Visit a many-to-one or one-to-one associated entity. Default - superclass implementation is a no-op. - - - - - - - - Manages prepared statements and batching. Class exists to enforce separation of concerns - - - - - 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 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 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 the the Batcher was - created in. - - - The the Batcher was - created in. - - - - - Gets the for this batcher. - - - - - A cached instance of a persistent class - - - - - - - - - - - - - - - - - - - - - - - - - We need an entry to tell us all about the current state - of a collection with respect to its persistent state - - - - - 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. - - - - - 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. - - - - session-start/post-flush persistent state - - - allow the snapshot to be serialized - - - - Initializes a new instance of . - - - The CollectionEntry is for a Collection that is not dirty and - has already been initialized. - - - - - Initializes a new instance of for collections just loaded from the database. - - The that persists this Collection type. - The identifier of the Entity that is the owner of this Collection. - A boolean indicating whether to ignore the collection during current (or next) flush. - - - - Initializes a new instance of for initialized detached collections. - - The from another . - The that created this . - - This takes an from another and - creates an entry for it in this by copying the values from the - cs parameter. - - - - - 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. - - - - - - - - - - - - - - Manages the database connection and transaction for an . - - - This class corresponds to ConnectionManager and JDBCContext in Hibernate, - combined. - - - - - 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(); - - - Hibernate's query language is much more general and should be used for non-simple cases. - - - This is an experimental API. - - - - - - Set a limit upon the number of objects to be retrieved - - - - - - Set the first result to be retrieved - - - - - - Set a timeout for the underlying ADO.NET query - - - - - - - Add an Expression to constrain the results to be retrieved. - - - - - - - An an Order to the result set - - - - - - Get the results - - - - - - Get the results and fill the - - The list to fill with the results. - - - - Strongly-typed version of . - - - - - 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 - - If there is more than one matching result - - - - - 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. - - - - - 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) - - - - Create a new , "rooted" at the associated entity - - - - - - - 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, - using the specified join type. - - A dot-seperated property path - The type of join to use - The created "sub criteria" - - - - Set a strategy for handling the query results. This determines the - "shape" of the query result set. - - - - - - - - - - Set the lock mode of the current entity - - the lock mode - - - - - Set the lock mode of the aliased entity - - an alias - the lock mode - - - - - 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 - - - - - 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. - - - - - - Get the alias of the entity encapsulated by this criteria instance. - - The alias for the encapsulated entity. - - - - 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 - - - - - - Executes the batch - - - This seems to be returning the total number of affected rows in all queries - - - - - Return the batch command to be executed - - - - - The number of commands batched in this instance - - - - - 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 - - - - - 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. - - - - 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 updating the database, update the snapshot information, - and escalate the lock mode. - - - - - 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 reponsible 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. - - - - - - - - - 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 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 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. - - - - - Evict any collections referenced by the object from the ISession cache. - - - This will NOT pick up any collections that were dereferenced, so - they will be deleted (suboptimal but not exactly incorrect). - - - - - - - - - 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. - - - - - An action that can Execute during a - Flush. - - - - - - - - - - Execute the action required to write changes to the database. - - - - - Called after the Transaction has been completed. - - - - Actions should make sure that the Cache is notified about - what just happened. - - - - - Does the executable have an AfterTransactionCompletion process - - - - - The spaces (tables) that are affectd by this Executable action. - - - This is used to determine if the ISession needs to be flushed before - a query is executed so stale data is not returned. - - - - - 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] - - - - When implemented by a class, disassembles the object into a cacheable representation. - The value to disassemble.The sesionThe disassembled, deep cloned state of the object - - - - When implemented by a class, reconstructs the object from its - cached "disassembled" state. - The disassembled state from the cacheThe sessiontThe parent Entity objectThe assembled object. - - - - Combines sevaral queries into a single database call - - - - - Get all the - - - - - Add the specified HQL query to the multi query - - - - - Add the specified HQL query to the multi query - - - - - Add a named query to the multi query - - - - - 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 - - - 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 forceable refresh of - the query cache? - - - - The timeout for the underlying ADO query - - - - - - Bind a value to a named query parameter - - The name of the parameter - The possibly null parameter value - The NHibernate . - - - - 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 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 a named parameter - using an NHibernate . - - The name of the parameter - A non-null instance of a array. - - - - 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 name of the parameter - 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 . - - A non-null instance of a . - The name of the parameter - - - - 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 name of the parameter - A non-null instance of a . - - - - 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 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 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 name of the parameter - 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 name of the parameter - 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 name of the parameter - 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 . - - - - 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. - - - - - Return the query results of all the queries - - - - - 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. - - - - - - When a transient entity is passed to , 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. - - - - - 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 - - - - - When an entity is passed to Update(), all its collections must be - inspected and: - - - - Associate any uninitialized PersistentCollections with this Session. - - - - - Associate any initialized PersistentCollections with this Session, using the - existing snapshot. - - - - - Execute a collection removal (SQL DELETE) for each null collection property - or "new" collection. - - - - - - - - Summary description for OracleDataClientBatchingBatcher. - By Tomer Avissar - - - - - - - an actual entity object, not a proxy! - - - - - Implementation of the interface for collection filters. - - - - - - - - - - - - - The base class for a scheduled action to perform on a Collection during a - flush. - - - - - Initializes a new instance of . - - The that is responsible for the persisting the Collection. - The identifier of the Collection owner. - The that the Action is occuring in. - - - - - - - - - - - - - - - - - - Gets the that is responsible for persisting the Collection. - - - - - Gets the identifier of the Collection owner. - - - - - Gets the the action is executing in. - - - - - - - - A scheduled recreation of the Collection in the database. - - - - - Initializes a new instance of . - - The to recreate. - The that is responsible for the persisting the Collection. - The identifier of the Collection owner. - The that the Action is occuring in. - - - - - - - A scheduled removal of the Collection from the database. - - - This Collection is not represented in the database anymore. - - - - - Initializes a new instance of . - - The that is being removed. - The that is responsible for the persisting the Collection. - The identifier of the Collection owner. - Indicates if the Collection was empty when it was loaded. - The that the Action is occuring in. - - - - - - - A scheduled update of the Collection in the database. - - - Entities in the Collection or the contents of the Collection have been modified - and the database should be updated accordingly. - - - - - Initializes a new instance of . - - The to update. - The that is responsible for the persisting the Collection. - The identifier of the Collection owner. - Indicates if the Collection was empty when it was loaded. - The that the Action is occuring in. - - - - - - - A scheduled deletion of an object. - - - - - The base class for a scheduled action to perform on an entity during a - flush. - - - - - Initializes a new instance of . - - The that the Action is occuring in. - The identifier of the object. - The actual object instance. - The that is responsible for the persisting the object. - - - - - - Not supported for a non-collection entity - - - - Called when the Transaction this action occurred in has completed. - - - - - - Execute the action using the . - - - - - Gets the the action is executing in. - - - - - Gets the identifier of the object. - - - - - Gets the that is responsible for persisting the object. - - - - - Gets the object that is having the scheduled action performed against it. - - - - - - - - - - - - - Initializes a new instance of . - - The identifier of the object. - The version of the object being deleted. - The actual object instance. - The that is responsible for the persisting the object. - The that the Action is occuring in. - - - - - - - - - - Summary description for ScheduledIdentityInsertion. - - - - - - - - - - - - - - - - - - - - - - - - - A scheduled insertion of an object. - - - - - Initializes a new instance of . - - The identifier of the object. - An object array that contains the state of the object being inserted. - The actual object instance. - The version of the object instance. - The that is responsible for the persisting the object. - The that the Action is occuring in. - - - - - - - - - - A scheduled update of an object. - - - - - Initializes a new instance of . - - The identifier of the object. - An array of objects that contains the value of each Property. - An array that contains the indexes of the dirty Properties. - Whether the object contains a dirty collection. - - The current version of the object. - The version the object should be after update. - The actual object instance. - The that is responsible for the persisting the object. - The that the Action is occuring in. - - - - - - - - - - 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. - - - - - - - - - - - - - - - - - - - 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. - - - - - - - - - - - - - - - - - - - - - - - - - - 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. - - - - - - - Added to solve a problem with SessionImpl.Find( CriteriaImpl ), - see the comment there for an explanation. - - - - - - - - - - - - - Closes the session factory, releasing all held resources. - - cleans up used cache regions and "stops" the cache provider. - close the ADO.NET connection - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Gets the ICurrentSessionContext instance attached to this session factory. - - - - - A class that can be used as a Key in a Hashtable for - a Query Cache. - - - - - A class that can be used as a Key in a Hashtable for - a Query Cache. - - - - - 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. - - - TODO: verify that the AppDomain statements are correct. - - - - - - - - - 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. - - - - 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 - - - - - Indicates if the Session has been closed. - - - (by default) if the Session is Open and can be used, - if the Session has had the methods Close() or - Dispose() invoked. - - - - An with the as the key - and an as the value. - - - - - An with the as the key - and an as the value. - - - - - An with the as the key - and an as the value. - - - - - An with the as the key - and an as the value. - - - - - An with the as the key - and an as the value. - - - - - An with the as the key - and an as the value. - - - - - An of objects of the deleted entities. - - - - - 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. - - - - - - - - - Ensure that the locks are downgraded to - and that all of the softlocks in the have - been released. - - - - - Mark the Session as being closed and Clear out the HashTables of - entities and proxies along with the Identity Maps for entries, array - holders, collections, and nullifiables. - - - - - - - - - - - - - - - - - - - Save a transient object. An id is generated, assigned to the object and returned - - - - - - - Save a transient object with a manually assigned ID - - - - - - - If the parameter value is an unitialized proxy then it will be reassociated - with the session. - - A persistable object, proxy, persistent collection or null - - when an uninitialized proxy was passed into this method, otherwise. - - - - - associate a proxy that was instantiated by another session with this session - - - - - - - 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" - - - - - - - - - Delete a persistent object - - - - - - Checks to see if there are any Properties that should not be null - are references to null or to a transient object. - - An object array of values that should be validated. - The that describes which values can be null. - A indicating if this is an Update operation. - - Thrown when a non-nullable property contains a value that would - persist the value of null to the database. - - - - - Reattach a detached (disassociated) initialized or uninitialized collection wrapper - - - - - - - Used only by Replicate - - - - - - - - - - Retrieve a list of persistent objects using a Hibernate query - - - - - - - - - - - - - - - - - - - - - - Obtain an instance of for a named query string defined in the - mapping file. - - The name of a query defined externally. - An fro a named query string. - - The query can be either in hql or sql format. - - - - - Give the interceptor an opportunity to override the default instantiation - - - - - - - - detect in-memory changes, determine if the changes are to tables - named in the query and, if so, complete execution the flush - - - - - - - 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. - - - - - - - - - - Grab the existing proxy for an instance, if one exists. - (otherwise return the instance) - - - - - - - - - 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. - - - - - - - - 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 ADO datareader we are currently processing - - - - - - - - - - Load the data for the object with the specified id into a newly created object. - 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. - - - - - Load the data for the object with the specified id into the supplied - instance. A new key will be assigned to the object. If there is an - existing uninitialized proxy, this will break identity equals as far - as the application is concerned. - - - - - Load the data for the object with the specified id into a newly created - object. A new key will be assigned to the object. If the class supports - lazy initialization, return a proxy instead, leaving the real work for - later. This should return an existing proxy where appropriate. - - The of the object to load. - The identifier of the object in the database. - - A boolean indicating if NHiberate should check if the object has or has not been deleted. - - A boolean indicating if it is allowed to return a Proxy instead of an instance of the . - - An loaded instance of the object or a proxy of the object is proxies are allowed. - - - If the parameter checkDeleted is it is possible to return an object that has - been deleted by the user in this . If the parameter checkDeleted is - and the object has been deleted then an will be - thrown. - - - - - 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 method always hits the db, and does not create proxies. It should return - an existing proxy where appropriate. - - - - - - - - - - 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. - - - - - - - - - Actually do all the hard work of loading up an object - - - - - - - - - 1. see if it is already loaded - 2. see if it is cached - 3. actually go to the database - - - - - 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 - - - - - - - - - This can be called from commit() or at the start of a Find() 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 - - - - - Execute all SQL and second-level cache updates, in a - special order so that foreign-key constraints cannot - be violated: -
    -
  1. Inserts, in the order they were performed
  2. -
  3. Updates
  4. -
  5. Deletion of collection elements
  6. -
  7. Insertion of collection elements
  8. -
  9. Deletes, in the order they were performed
  10. -
-
- - - 1. detect any dirty entities - 2. schedule any entity updates - 3. search out any reachable collections - - - - - Process cascade save/update at the start of a flush to discover - any newly referenced entity that must be passed to - and also apply orphan delete - - - - - 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(). - - - - - - - - - - - - - - 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). - - - - - - - process any unreferenced collections and then inspect all known collections, - scheduling creates/removes/updates - - - - - 1. Recreate the collection key -> collection map - 2. rebuild the collection entries - 3. call Interceptor.postFlush() - - - - - Initialize the flags of the CollectionEntry, including the - dirty check. - - - - - Initialize the role of the collection. - The CollectionEntry.reached stuff is just to detect any silly users who set up - circular or shared references between/to collections. - - - - - - - - record the fact that this collection was dereferenced - - - - - - 1. record the collection role that this collection is referenced by - 2. decide if the collection needs deleting/creating/updating (but - don't actually schedule the action yet) - - - - - - - add a collection we just loaded up (still needs initializing) - - - - - - - - add a collection we just pulled out of the cache (does not need initializing) - - - - - - - - Add a new collection (i.e. a newly created one, just instantiated by - the application, with no database state or snapshot) - - - - - - - Add an (initialized) collection that was created by another session and passed - into update() (i.e. one with a snapshot and existing state on the database) - - - - - - - - - - - - - - associate a holder with an array - called after loading an array - - - - - - called by a collection that wants to initialize itself - - - - - - - - - - A flag to indicate if Dispose() has been called. - - - - - Finalizer that ensures the object is correctly disposed of. - - - - - Just in case the user forgot to Commit() or Close() - - - - - 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. - - - - - 1. determine the collection role of the given collection (this may require a flush, if the collection is recorded as unreferenced) - 2. obtain a compiled filter query - 3. autoflush if necessary - - - - - - - - - - Get the collection entry for a collection passed to filter, - which might be a collection wrapper, an array, or an unwrapped - collection. Return if there is no entry. - - - - - - - remove any hard references to the entity that are held by the infrastructure - (references held by application or other persistant instances are okay) - - - - - - Evict collections from the factory-level cache - - - - - - - - - - - - - - - - - - - - - - - - - - - - Instantiate a collection wrapper (called when loading an object) - - - - - - - - - Try to initialize a Collection from the cache. - - - - - - if the collection was initialized from the cache, otherwise . - - - - - - - - - - - - - - - - - - - - - - - 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. - - - - - 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 - - - - - 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 - - - - - 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. - - - - - Wrap collections in a NHibernate collection wrapper. - - - - - 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 - - - - - 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 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 aliases of the columns constrained - by this criterion (for use in ORDER BY clause). - - - - - Get the a typed value for the given property value. - - - - - 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 collumns - 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 collumns 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 aliases for the property columns - - - - - The result set column alias for the Oracle row id - - - - - Calculate and cache select-clause suffixes. - - - - - Optional, may return - - - - Substitues JDBC 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. - - @param sqlString The query string. - @return The SQL query with parameter substitution complete. - - - - 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 return defined as part of - a native sql query. - - - - - Returns the class owning the collection. - - - - - Returns 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. - - - - - 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. - - - - - Abstract superclass for entity loaders that use outer joins - - - - - - - - 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 - - - - - 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 collumns 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 - - - - - 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. - - - - - 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. - - - Author: Gavin King - - - - - 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 - - - - - - - - Get or set the metatype - - - - - 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. - - - - - A bag permits duplicates, so it has no primary key - - - - - Initializes a new instance of the class. - - The that contains this bag mapping. - - - - - - Should we create an index on the key columns? - - - - Gets the appropriate that is - specialized for this bag mapping. - - - - - Represents the mapping to a column in a database. - - - - - - - - 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 an Alias for the column name. - - The that contains the rules for Aliasing. - A string to use as the suffix for the Alias. - - A string that can be used as the alias for this Column. - - - - - Initializes a new instance of . - - The NHibernate that reads from and writes to the column. - The index of the column in the . - - - - Gets the of the column based on the . - - - - The of the column based on the . - - - - - 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. - - The value of Name.GetHashCode(). - - - - Gets or sets the length of the datatype in the database. - - The length of the datatype in the database. - - - - Gets or sets the NHibernate of the column. - - - The NHibernate of the column. - - - - - 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 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. - - - - - A Foreign Key constraint in the database. - - - - - Initializes a new instance of the class. - - - - - 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. - - - - - 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. - - - - - Gets or sets the that this Foreign Key is referencing. - - - The that this Foreign Key is referencing. - - - - - 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. - - - - - - - - - - - - - - - - - - - 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. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 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 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 heirarchy must define a unique discriminator-value. The default value - is the class name if no value is supplied. - - - - - Gets a boolean indicating if this PersistentClass has any subclasses. - - if this PeristentClass has any subclasses. - - - - Gets the number of subclasses that inherit either directly or indirectly. - - The number of subclasses that inherit from this PersistentClass. - - - - Gets the Collection of Subclasses for this PersistentClass. - - - It will recursively go through Subclasses so that if a Subclass 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. - - - - - 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. - - - - - Gets an of objects. - - - An of objects. - - - - - 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 the fully qualified name of the type being persisted. - - The fully qualified name of the type being persisted. - - - - 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 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 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 a boolean indicating if the mapped class - has a version property. - - if there is a <version> property. - - - - 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 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 TableClosureCollection and the subclassTables into the ICollection. - - - - 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 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. - - - - - - - - - - - - - - - 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 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. - - - - - 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. - - - - - - - - - - - - - - - Build a collection of properties which are "referenceable". - - - See for a discussion of "referenceable". - - - - - 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. - - - - - - - - - - - - - - Mapping for a property of a .NET class (entity - or component). - - - - - 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. - - - - - - - - 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-sublcass, 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 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 a boolean indicating if this mapped class is inherited from another. - - - because this is the root mapped class. - - - - - 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 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 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. - - - - - Gets or sets the that is used as the version. - - The that is used as the version. - - - - Gets a boolean indicating if the mapped class has a version property. - - if there is a Property for a version. - - - - 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 or sets the cache region name. - - The region name used with the Cache. - - - - Gets or set a boolean indicating if the mapped class has properties that can be changed. - - if the object is mutable. - - - - 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 of the Persister. - - The of the Persister. - - - - Gets the of the class - that is mapped in the class element. - - - The of the class this mapped class. - - - - - 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 Subclass 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. - - - - - - - - - - - - - - - A Set with no nullable element columns will have a primary - key consisting of all table columns (ie - key columns + - element columns). - - - - - Declaration of a System.Type mapped with the <subclass> or - <joined-subclass> 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 Subclass Properties. - - - - - Adds a that is implemented by a subclass. - - The implemented by a subclass. - - This also adds the to the Superclass' collection - of Subclass Properties. - - - - - Adds a that a subclass is stored in. - - The the subclass is stored in. - - This also adds the to the Superclass' collection - of Subclass Tables. - - - - - - - - - - - - - - - - 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 a boolean indicating if this mapped class is inherited from another. - - - because this is a Subclass. - - - - - 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 this class is stored in. - - The this class is stored in. - - This also adds the to the Superclass' collection - of Subclass Tables. - - - - - 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 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 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 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 - Subclass, only the RootClass. - - - - - - - - - - - - - - - Represents a Table in a database that an object gets mapped against. - - - - - Initializes a new instance of . - - - - - 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 Qualifier to use when accessing the table. - A String representing the Qualified name. - If this were used with MSSQL it would return a dbo.table_name. - - - - 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. - - - - - 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. - - - - - - - - - - - - - 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 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. - - - - - - - - - - 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. - - - - 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 - - - - - Create a class instance initialized with the given identifier - - - - - - - Get the type of a particular (named) property - - - - - - - Get the value of a particular (named) property - - - - - - - - Set the value of a particular (named) property - - - - - - - - Return the values of the mapped properties of the object - - - - - - 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) - - - - - - - Get the version number (or timestamp) from the object's version property - (or return null if not versioned) - - - - - - - The persistent class - - - - - 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 - - - - - Does the class implement the ILifecycle interface? - - - - - Does the class implement the IValidatable inteface? - - - - - Does the class support dynamic proxies? - - - - - 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 - - - - - Does the class have an identifier property? - - - - - 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? - - - - - 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 query alias and a property path, return the qualified column name - - - - - - - - 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 table to join to. - - - - - The columns to join on. - - - - - Is this instance actually a ICollectionPersister? - - - - - Is this instance actually a many-to-many association? - - - - -

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 - - - - - Is this collection role cacheable - - - - - 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 an "indexed" collection? (list or map) - - - - - Is this collection lazyily 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 entity class that "owns" this collection - - - - - Get the surrogate key generation strategy (optional operation) - - - - - Get the type of the surrogate key - - - - - 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.) - - - - - Get the "space" that holds the persistent state - - - - - Generate a list of collection index and element columns - - - - - 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 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? - - - - - 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? - - - - - 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. - - - - Gets just the Identifier of the Element for the Collection. - - - - - - - This was created in addition to ReadElement because ADO.NET does not allow - for 2 IDataReaders to be open against a single IDbConnection at one time. - - When a Collection is loaded it was recursively opening IDbDataReaders to resolve - the Element for the Collection while the IDbDataReader was open that contained the - record for the Collection. - - - - - 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 (preferrably immutable) and must provide a constructor of type - (PersistentClass, SessionFactoryImplementor) - - - - - Finish the initialization of this object, once all ClassPersisters have been - instantiated. Called only once, before any other method. - - - - - Create a new proxy instance - - - - - - - - Is this a new transient instance? - - - - - - - Set the given values to the mapped properties of the given object - - - - - - - Return the values of the mapped properties of the object - - - - - - - Set the value of a particular property - - - - - - - - Get the value of a particular property - - - - - - - - Get the value of a particular property - - - - - - - - Get the type of a particular property - - - - - - - Compare two snapshots of the state of an instance to determine if the persistent state - was modified - - - - - - or the indices of the dirty properties - - - - Compare the state of an instance to the current database state - - - - - - return or the indicies of the modified properties - - - - 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. - - - - 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 - - - - - - - Load an insatance 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 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. - - - - - - - - - - - NHibernate-specific feature, not present in H2.1 - - - - Determines whether the specified entity is an instance of the class - managed by this persister. - - The entity. - - if the specified entity is an instance; otherwise, . - - - - - 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. - - - - Returns an object that identifies the space in which identifiers of this class hierarchy - are unique. eg. a table name, etc. - - - - - Returns an array of objects that identifies spaces in which properties of this class - instance are persisted. eg. table names. - - - - - - The persistent class - - - - - The classname of the persistent class (used only for messages) - - - - - Does the class implement the ILifecycle inteface? - - - - - Does the class implement the IValidatable interface? - - - - - Does this class support dynamic proxies? - - - - - Get the proxy interface that instances of this concrete class will be cast to - - - - - Do instances of this class contain collections? - - - - - Does this class declare any cascading save/update/deletes? - - - - - Are instances of this class mutable? - - - - - 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. - - - - - Does the class have a property holding the identifier value? - - - - - Gets if the Type has a Property for the <id> or uses a <composite-id> - to store the id. - - true if there is a Identifier Property or Composite Identifier. - - - - 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) - - - - - 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 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. - - - - - 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 - - - - - 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. - - - - - 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 - - - - - Does this class have a cache? - - - - - Get the cache (optional operation) - - - - - Get the user-visible metadata for the class (optional operation) - - - - - Is batch loading enabled? - - - - - Returns an array of objects that identify spaces in which properties of this class are persisted, - for instances of this class and its subclasses. - - - - - The session factory this instance is associated with. - - - - - Does this entity contain a version property that is defined - to be database generated? - - - - - 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 - - - - - Does the persistent class have subclasses? - - - - - The discriminator type - - - - - Get the names of columns used to persist the identifier - - - - - Get the name of the column used as a discriminator - - - - - Does this entity own any collections which are fetchable by subselect? - - - - - 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) - - - - - - - Generate a list of collection index and element columns - - - - - - - - Get the column names for the given property path - - - - - Get the table name for the given property path - - - - - Extends the generic ILoadable contract to add operations required by HQL - - - - - Get the where clause fragment, give a query alias - - SQL alias to use for column names in the returned query - - - - - - - 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. - - - - - - - - Is this class mapped as a subclass of another class? - - - - - 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 value in the hbm) - - - - - 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). - - - - - - - - All columns to select, when loading. - - - - - Get the type - - - - - Set the given values to the mapped properties of the given object - - - Use the access optimizer if available - - - - - Return the values of the mapped properties of the object - - - Uses the access optimizer, if available. - - - - - Get the value of the numbered property - - - - - - - - Set the value of the numbered property - - - - - - - - Determine if the given field values are dirty. - - - - - - - - - - Determine if the given field values are dirty. - - - - - - - - - - Return a new instance initialized with the given identifier. - - - - - - - Returns the SQL used to get the Identity value from the last insert. - - This is not a NHibernate Command because the SQL contains no parameters. - - - - Must be called by subclasses, at the end of their constructors - - - - - - Retrieve the version number - - - - - - - - Do a version check - - - - - Generate the SQL that selects the version number by id - - - - - - Transform the array of property indexes to an array of booleans - - - - - Get the column names for the numbered property of this class - - - - - Decide which tables need to be updated - - - - - Persist an object, using a natively generated identifier - - - - - 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. - - - - - Load an instance using the appropriate loader (as determined by - - - - - Delete an object. - - - - - Persist an object - - - - - Determines whether the specified entity is an instance of the class - managed by this persister. - - The entity. - - 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 query that insert a row into the root table, letting the database generate an id - - - - - The queries that update rows by id (and version) - - - - - A IEntityPersister implementing the normalized "table-per-subclass" mapping strategy - - - - - Generate the SQL that pessimistic locks a row by id (and version) - - An existing SqlString to copy for then new SqlString. - - A new SqlString - - The parameter sqlString does not get modified. It is Cloned to make a new SqlString. - If the parametersqlString is null a new one will be created. - - - - - Constructs the NormalizedEntityPerister for the PersistentClass. - - The PeristentClass to create the EntityPersister for. - The configured . - The SessionFactory that this EntityPersister will be stored in. - The mapping used to retrieve type information. - - - - Create a new one dimensional array sorted in the Reverse order of the original array. - - The original array. - A new array in the reverse order of the original array. - - - - Create a new two dimensional array sorted in the Reverse order of the original array. The - second dimension is not reversed. - - The original array. - A new array in the reverse order of the original array. - - - - 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 - - - - Constants from interface. - - - - - 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 using FOR UPDATE - - - - - - Generate the SQL that selects a row by id using FOR UPDATE NOWAIT - - - - - - Generates an SqlString that selects a row by id - - SQL containing FOR UPDATE clauses - to append at the end of the query (optional) - - - - - Generate the SQL that updates a row by id, excluding subclasses - - - - - - - Generates the SQL that pessimistically locks a row by id (and version) - - An existing SqlString to copy for then new SqlString. - - A new SqlString - - The parameter sqlString does not get modified. It is Cloned to make a new SqlString. - If the parametersqlString is null a new one will be created. - - - - - - - - - - - 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. - - - - - An for a Property get. - - - - - 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. - - - - - 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. - - - - - 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. - - - - - Accesses mapped property values via a get/set pair, which may be nonpublic. - The default (and recommended strategy). - - - - - 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 . - - - - - 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 set. - - - - - 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. - - - - - 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 - - - - - 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. - - - - 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. - - - - 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. - - - - 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 retreive the value and will use the field - to set the value. This is a good option for <id> Properties because this access method - allow's users of the Class to get the value of the Id but not set the value. - - - - 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 whould have to be from Foo as foo where foo._someProperty - (assuming CamelCase with an underscore field naming strategy is used). - - - - - - A for use with the Castle Dynamic Class Generator. - - - - - Provides the base functionallity 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. - - - - - 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 Class to Proxy. - 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. - - - - - 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. - - - - - 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 . - - - - - - - - - - - - - - - - Initializes a new object. - - The Class to Proxy. - The Id of the Object we are Proxying. - - - The ISession this Proxy is in. - - - - Invoke the actual Property/Method using the Proxy or instantiate the actual - object and use it when the Proxy can't handle the method. - - The from the generated Castle.DynamicProxy. - The parameters for the Method/Property - The result just like the actual object was called. - - - - Called immediately after instantiation - - - - - - - - - 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. - - - - Build a proxy using the Castle.DynamicProxy library. - - The value for the Id. - The Session the proxy is in. - A fully built INHibernateProxy. - - - - 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 seperate DLL than NHibernate. - - - - - - NHibernateProxyHelper provides convenience methods for working with - objects that might be instances of Classes or the Proxied version of - the Class. - - - - - Gets the that is used by the Proxy. - - The Proxy object - - A reference to that contains the details - of the Proxied object. - - - - - Convenience method to figure out the underlying type for the object regardless of it - is a Proxied object or the real object. - - 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 - - - - - Validates whether can be specified as the base class - (or an interface) for a dynamically-generated proxy. - - - A collection of errors, if any, or if none were found. - - The type to validate. - - - - 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. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Represents an SQL case when ... then ... end as ... - - This class looks StringHelper.SqlParameter safe... - - - - Represents an SQL case when ... then ... end as ... - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - An ANSI-style Join. - - - - - - - - Sets the op - - The op to set - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Represents an SQL decode(pkvalue, key1, 1, key2, 2, ..., 0) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Represents an SQL for update of ... nowait statement - - - - - Represents an ... in (...) expression - - - - - Add a value to the value list. Value may be a string, - a , or one of special values - or . - - - - - - - - - - - - - - - - - - - - - - - - - - Builds a SqlString from the internal data. - - A valid SqlString that can be converted into an IDbCommand - - - - - - - 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 wierd if this - was a normal join condition, but is natural - for a filter. - - - - - A placeholder for an ADO.NET parameter in an . - - - - - Used as a placeholder when parsing HQL or SQL queries. - - - - - Generates an array of parameters for the given SqlTypes. - - The number of parameters to generate. - An array of objects - - - - Determines wether 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. - - - - - 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 - - - - - 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 - - - - - - - A class that builds an INSERT sql statement. - - - - - - - - - - - - - - - - - - Adds the Property's columns to the INSERT sql - - An array of the column names for the Property - The IType of the property. - The SqlInsertBuilder. - - - - 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. - - - - - - - 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 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 - - - - - - - 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. - - - - Sets the For Update Fragment to the Select Command - - The fragment to set. - 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 SqlStringBuilder 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 occurence 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 occurence 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 - - - - 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 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 SqlUpdateBuilder. - - - - 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 SqlUpdateBuilder. - - - - Adds columns with a specific value to the INSERT sql - - The names of the Column sto add. - A valid sql string to set as the value of the 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. - - - - 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 WhereFragement - - 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 - - - - Initializes a new instance of the class. - - - - - 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. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 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 and the format parameter to true. - - - - - 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 and format 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. - if the ddl should be nicely formatted instead of one statement per line. - - 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. - if the ddl should be nicely formatted instead of one statement per line. - - This method allows for both the drop and create ddl script to be executed. - - - - - Format an SQL statement using simple rules - - The string containing the sql to format. - A string that contains formatted sql. - - The simple rules to used when formatting are: - - - Insert a newline after each comma - - - Indent three spaces after each inserted newline - - - - If the statement contains single/double quotes return unchanged because - it is too complex and could be broken by simple formatting. - - - - - - - - An abstract factory for ITransaction instances. - - - - - Configure from the given properties - - - - - - Create a new transaction and return it without starting it. - - - - - 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. - - - - - 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. - - - - - Implementors define a strategy for transforming criteria query - results into the actual application-visible query result list. - - - - - - - - - - - - - - - - - - - - - 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]; - - - - - - Each row of results is a map () from alias to values/entities - - - - - Creates a resulttransformer that will inject aliased values into instances - of via property methods or fields. - - - - - 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. - - - Author: Steve Ebersole - - - - - 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. - - - - 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. - - - - 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. - - - - 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, compare two instances of the class mapped by this - IType for persistence "equality" - ie. Equality of persistent state. - The left hand side object.The right hand side object.True if the two objects contain the same values. - - - - Get a hashcode, consistent with persistence "equality" - - - - - 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. - - - - Parse the XML representation of an instance - an instance of the type - - - - When implemented by a class, returns a deep copy of the persistent - state, stopping at entities and at collections. - A Collection element or Entity fieldA deep copy of the object. - - - - When implemented by a class, 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 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. - - - - - - - - Determines whether the specified value is represented as in the database. - - The value, may be . - - if the specified value is represented as in the database; - otherwise, . - - - - - 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 - - - - - - - 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 abbreviated name of the type. - The NHibernate type name. - - - - 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 whether or not this IType contains - s that implement well-behaived Equals() method. - true if a well-behaived Equals() is implemented. - - Strickly, if this method returns true then x.Equals(y) implies - IType.Equals(x, y) and also IType.Equals(x, y) implies that - probably x.Equals(y) - - - In the default implementations s are assumed to have - HaveNiceEquals==true and s are assumed to have - HaveNiceEquals==false. - - - This code doesn't look like it is used anywhere internally because I did a search - on ".HasNiceEquals" and found no results. So it looks like it is used for a description - of the IType only. - - - - - - Disassembles the object into a cacheable representation. - - The value to disassemble. - The is not used by this method. - 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 fieldA 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, compare two instances of the class mapped by this - IType for persistence "equality" - ie. Equality of persistent state. - The left hand side object.The right hand side object.True if the two objects contain the same values. - - - - Determines whether the specified value is represented as in the database. - - The value, may be . - - if the specified value is ; otherwise, . - - - - - - - - - - - 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. - - - - Parse the XML representation of an instance - an instance of the type - - - - 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 whether or not this IType contains - s that implement well-behaived Equals() method. - true if a well-behaived Equals() is implemented. - - Strickly, if this method returns true then x.Equals(y) implies - IType.Equals(x, y) and also IType.Equals(x, y) implies that - probably x.Equals(y) - - - In the default implementations s are assumed to have - HaveNiceEquals==true and s are assumed to have - HaveNiceEquals==false. - - - This code doesn't look like it is used anywhere internally because I did a search - on ".HasNiceEquals" and found no results. So it looks like it is used for a description - of the IType only. - - - - - - 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 - - - - - Maps a Property - to a DbType.AnsiStringFixedLength column. - - - - - Common base class for and . - - - - - Superclass of types. - - - - - Superclass of nullable immutable 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 . - - - - - 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 - - - - - Parse the XML representation of an instance - an instance of the type - - - This implementation forwards the call to if the parameter - value is not empty. - - - 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 . - - - - - - 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 implemenation 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 retreiving 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 implemenation 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 implemenation 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. - - - - - When implemented by a class, returns a deep copy of the persistent state. - - The value to deep copy. - A deep copy of the object. - - Most of the built in NullableTypes will just return the same object - passed into it. - - - - - When implemented by a class, returns a deep copy of the persistent - state, stopping at entities and at collections. - A Collection element or Entity fieldA deep copy of the object. - - - This implemenation 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 . - - - - - - 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 ImmutableType class using a - . - - The underlying . - - - - Returns a deep copy of the persistent state. - - The value to deep copy. - A deep copy of the object. - - A is considered immutable because a boxed version - of the is being stored by NHibernate. So any changes - made to it would require the to be unboxed and - then reboxed. - - - - - 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 . - - - - - Gets whether or not this IType contains - s that implement well-behaived Equals() method. - - - true - it is assumed that a ImmutableType implements a - well-behaived Equals(). - - - There is no concrete rule that s implement - a well-behaived Equals(). If the does - not implement the Equals() then set this to . - - - - - 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 containts a well formed SQL Statement. - - - - Initialize a new instance of the ValueTypeType class using a - . - - The underlying . - - - - Compare two instances of the class mapped by this - IType for persistence "equality" - ie. Equality of persistent state. - - The left hand side object. - The right hand side object. - True if the two objects contain the same values. - - - - 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. - - TODO: figure out if this is used to build Xml strings or will have encoding - done automattically. - - - - - 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. - - - - 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. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 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 "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. - - - - Returns a reference to the elements in the collection. - - The object that holds the ICollection. - An ICollection of the Elements(classes) in the Collection. - - By default the parameter collection is just cast to an ICollection. Collections - such as Maps and Sets should override this so that the Elements are returned - not a - DictionaryEntry. - - - - - Wraps a collection from System.Collections or Iesi.Collections inside one of the - NHibernate collections. - - The for the collection to be a part of. - The unwrapped collection. - - 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 - - - - - Instantiate an empty instance of the "underlying" collection (not a wrapper) - - - - - We always need to dirty check the collection because we sometimes - need to incremement 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. - - - - - Superclass for mutable nullable types. - - - - - 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 . - - - - - Gets whether or not this IType contains - s that implement well-behaived Equals() method. - - - false - it is assumed that a MutableType does not implement a - well-behaved Equals(). - - - There is no concrete rule that s don't implement - a well-behaved Equals(). If the does implement - the Equals() then set this to . - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 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. - - - - - 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. - Returns an instance of the - - - - 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. - - - - - Get a comparator for the version numbers - - - - - Maps a Property - to a column. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Maps a Property - to a DbType.StringFixedLength column. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Use the access optimizer if available - - - - - Use the access optimizer if available - - - - - - - - - - - - - - - - - - - - - - - - - - - This method does not populate the component parent - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Summary description for CompositeCustomType. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Maps a Property - to a column. - - - CultureInfoType stores the culture name (not the Culture ID) of the - in the DB. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - A custom type for mapping user-written classes that implement - . - - - - - - - Adapts IUserType to the generic IType interface. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 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 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Maps the Year, Month, and Day of a Property to a - column - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Maps a Property - to a column. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Maps a Property - to a column. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Handles "dynamic" components, represented as <map>s - - - - - A reference to an entity class - - - - - 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. - - - - - Resolves the identifier to the actual object. - - - - - Resolve an identifier or unique key value - - - - - - - - - - - - - - - - - - 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? - - - - - 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 - - - - - - - - Should we cascade at this cascade point? - - - - - A foreign key from child to parent - - - - - A foreign key from parent to child - - - - - 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. - - - - - - 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 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 . - - - - - 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 occuring 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 - - - - - - - - - - - Determines what the NHibernate SqlType should be based on the - values contain in the Enum - - The Enumeration class to get the values from. - The SqlType for this EnumClass - - - - 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. - 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. - - - - 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 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 an DateTime column that only stores the - Hours, Minutes, and Seconds of the DateTime as significant. - - - - 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 diffently 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. - - - - - - - - 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. - - - - - 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. - - An 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. - - A 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. - - 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. - - 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. - - 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. - - 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. - - 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. - - 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. - - A 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. - - The to use to create the - with. - - - A for the specified role. - - - - - Creates a new for an - with identifier - 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. - - The to use to create the - with. - - - A for the specified role. - - - - - Creates a new for an - with list - 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. - - The to use to create the - with. - - - 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. - - The to use as the TKey to create the - with. - - - The to use as the TValue to create the - with. - - - 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. - The type of the set elements. - A for the specified role. - - - - Creates a new for a sorted . - - 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 for the set. - The type of the elements in the set. - A for the specified role. - - - - Deep copy values in the first array into the second - - - - - Determine if any of the given field values are dirty, - returning an array containing indexes of - the dirty fields or null if no fields are dirty. - - - - - Determine if any of the given field values are modified, - returning an array containing indexes of - the dirty fields or null if no fields are 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. - - - - - - - - - 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 inteface to be implemented by user-defined types. - - - - The inteface abstracts user code from future changes to the inteface, - simplifies the implementation of custom types and hides certain "internal interfaces from - user code. - - - Implemenators 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 intefaces 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 - - - - - A custom type with certain not- values represented as - in the database. - - Implementing this interface is useful if a property of the type - is used in a class with dynamic-update or dynamic-insert - set to . - - - - - Determines whether the specified value is represented as in the database. - - The value, may be . - - if the specified value is represented as in the database; - otherwise, . - - - - - 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. - - - - - 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) - - - - - 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. - - - - - 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 - . - - - - - - - - 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. - - - - - Compares two objects for Equality using "==" instead of Object.Equals - - - Only for use in IdentityMap. - - - - - Performs a null safe comparison using "==" instead of Object.Equals() - - First object to compare. - Second object to compare. - - 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. - - - Unlike the standard IComparer interface this will not return a 1 or -1 - to indicate which is Greater Than or Less Than. It always returns -1 to - indicate the two are not Equal. - - - - - Combines multiple objects implementing into one. - - - - - Creates an IEnumerable object from multiple IEnumerables. - - The IEnumerables to join together. - - - - - - - - - - - - - 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 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. - - - - - - - - Summary description for ObjectUtils. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Extracts a set of param child nodes from the specified node - <param name="theName" value="theValue"/> - - Parent element. - null if no parameters are found - - - - 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. - - - - Returns a reference to the Type. - - The name of the class or a fully qualified name. - The Type for the Class. - - - - 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. - - - - 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 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 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 seperators in the tokens. - - - This is more powerful than Split because you have the option of including or - not including the seperators in the tokens. - - - - - - - - - - - - - - - - - - - - Takes a fully qualified type name and returns the full name of the - Class - includes namespaces. - - - - - - - Takes a fully qualifed 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 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Count of elements in the collection. Unreliable! - - - - - 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. - - - - - 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. - - - - - - - - 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. - - - - - Contains static declarations from Criteria interface in Hibernate. - - - - - The alias that refers to the "root" entity of the criteria query. - - - - - Each row of results is an IDictionary 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 - - - - - 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. - - 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 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 - - - - - 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 - - A mapped type - The identifier of the new instance - An instance of the class, or to choose default behaviour - - - - 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 a session-scoped (and only session scoped) interceptor is attached - to a session - - - - - 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") - - - - - 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. - - - - - 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 hibernate.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 - - - - 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 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 - - - - - Attempty 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(). - - - - - 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. - - - - - 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 decimal type - - - - - NHibernate double type - - - - - 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 Timestamp type - - - - - NHibernate TrueFalse type - - - - - NHibernate YesNo type - - - - - NHibernate class type - - - - - NHibernate serializable type - - - - - NHibernate System.Object type - - - - - Cannot be instantiated. - - - - - 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 NHibernate 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. - - - - - 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 of the object attempted to be loaded. - - - - 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. - - - - - 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 - - - - - - - - - - Overwrite existing rows when a row already exists - - - - - - - - - - When a row already exists, choose the latest version - - - - - - - - - - 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 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 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. - - - - - 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 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 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/NHibernate12/mono/2.0/log4net.xml b/lib/NHibernate12/mono/2.0/log4net.xml deleted file mode 100644 index fab7af26..00000000 --- a/lib/NHibernate12/mono/2.0/log4net.xml +++ /dev/null @@ -1,28655 +0,0 @@ - - - - log4net - - - - - Appender that logs to a database. - - - - appends logging events to a table within a - database. The appender can be configured to specify the connection - string by setting the property. - The connection type (provider) can be specified by setting the - property. For more information on database connection strings for - your specific database see http://www.connectionstrings.com/. - - - Records are written into the database either using a prepared - statement or a stored procedure. The property - is set to (System.Data.CommandType.Text) to specify a prepared statement - or to (System.Data.CommandType.StoredProcedure) to specify a stored - procedure. - - - The prepared statement text or the name of the stored procedure - must be set in the property. - - - The prepared statement or stored procedure can take a number - of parameters. Parameters are added using the - method. This adds a single to the - ordered list of parameters. The - type may be subclassed if required to provide database specific - functionality. The specifies - the parameter name, database type, size, and how the value should - be generated using a . - - - - An example of a SQL Server table that could be logged to: - - CREATE TABLE [dbo].[Log] ( - [ID] [int] IDENTITY (1, 1) NOT NULL , - [Date] [datetime] NOT NULL , - [Thread] [varchar] (255) NOT NULL , - [Level] [varchar] (20) NOT NULL , - [Logger] [varchar] (255) NOT NULL , - [Message] [varchar] (4000) NOT NULL - ) ON [PRIMARY] - - - - An example configuration to log to the above table: - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Julian Biddle - Nicko Cadell - Gert Driesen - Lance Nehring - - - - Abstract base class implementation of that - buffers events in a fixed size buffer. - - - - This base class should be used by appenders that need to buffer a - number of events before logging them. For example the - buffers events and then submits the entire contents of the buffer to - the underlying database in one go. - - - Subclasses should override the - method to deliver the buffered events. - - The BufferingAppenderSkeleton maintains a fixed size cyclic - buffer of events. The size of the buffer is set using - the property. - - A is used to inspect - each event as it arrives in the appender. If the - triggers, then the current buffer is sent immediately - (see ). Otherwise the event - is stored in the buffer. For example, an evaluator can be used to - deliver the events immediately when an ERROR event arrives. - - - The buffering appender can be configured in a mode. - By default the appender is NOT lossy. When the buffer is full all - the buffered events are sent with . - If the property is set to true then the - buffer will not be sent when it is full, and new events arriving - in the appender will overwrite the oldest event in the buffer. - In lossy mode the buffer will only be sent when the - triggers. This can be useful behavior when you need to know about - ERROR events but not about events with a lower level, configure an - evaluator that will trigger when an ERROR event arrives, the whole - buffer will be sent which gives a history of events leading up to - the ERROR event. - - - Nicko Cadell - Gert Driesen - - - - Abstract base class implementation of . - - - - This class provides the code for common functionality, such - as support for threshold filtering and support for general filters. - - - Appenders can also implement the interface. Therefore - they would require that the method - be called after the appenders properties have been configured. - - - Nicko Cadell - Gert Driesen - - - - Implement this interface for your own strategies for printing log statements. - - - - Implementors should consider extending the - class which provides a default implementation of this interface. - - - Appenders can also implement the interface. Therefore - they would require that the method - be called after the appenders properties have been configured. - - - Nicko Cadell - Gert Driesen - - - - Closes the appender and releases resources. - - - - Releases any resources allocated within the appender such as file handles, - network connections, etc. - - - It is a programming error to append to a closed appender. - - - - - - Log the logging event in Appender specific way. - - The event to log - - - This method is called to log a message into this appender. - - - - - - Gets or sets the name of this appender. - - The name of the appender. - - The name uniquely identifies the appender. - - - - - Interface for appenders that support bulk logging. - - - - This interface extends the interface to - support bulk logging of objects. Appenders - should only implement this interface if they can bulk log efficiently. - - - Nicko Cadell - - - - Log the array of logging events in Appender specific way. - - The events to log - - - This method is called to log an array of events into this appender. - - - - - - Interface used to delay activate a configured object. - - - - This allows an object to defer activation of its options until all - options have been set. This is required for components which have - related options that remain ambiguous until all are set. - - - If a component implements this interface then the method - must be called by the container after its all the configured properties have been set - and before the component can be used. - - - Nicko Cadell - - - - Activate the options that were previously set with calls to properties. - - - - This allows an object to defer activation of its options until all - options have been set. This is required for components which have - related options that remain ambiguous until all are set. - - - If a component implements this interface then this method must be called - after its properties have been set before the component can be used. - - - - - - Initial buffer size - - - - - Maximum buffer size before it is recycled - - - - - Default constructor - - - Empty default constructor - - - - - Finalizes this appender by calling the implementation's - method. - - - - If this appender has not been closed then the Finalize method - will call . - - - - - - Initialize the appender based on the options set - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - - - - Closes the appender and release resources. - - - - Release any resources allocated within the appender such as file handles, - network connections, etc. - - - It is a programming error to append to a closed appender. - - - This method cannot be overridden by subclasses. This method - delegates the closing of the appender to the - method which must be overridden in the subclass. - - - - - - Performs threshold checks and invokes filters before - delegating actual logging to the subclasses specific - method. - - The event to log. - - - This method cannot be overridden by derived classes. A - derived class should override the method - which is called by this method. - - - The implementation of this method is as follows: - - - - - - Checks that the severity of the - is greater than or equal to the of this - appender. - - - - Checks that the chain accepts the - . - - - - - Calls and checks that - it returns true. - - - - - If all of the above steps succeed then the - will be passed to the abstract method. - - - - - - Performs threshold checks and invokes filters before - delegating actual logging to the subclasses specific - method. - - The array of events to log. - - - This method cannot be overridden by derived classes. A - derived class should override the method - which is called by this method. - - - The implementation of this method is as follows: - - - - - - Checks that the severity of the - is greater than or equal to the of this - appender. - - - - Checks that the chain accepts the - . - - - - - Calls and checks that - it returns true. - - - - - If all of the above steps succeed then the - will be passed to the method. - - - - - - Test if the logging event should we output by this appender - - the event to test - true if the event should be output, false if the event should be ignored - - - This method checks the logging event against the threshold level set - on this appender and also against the filters specified on this - appender. - - - The implementation of this method is as follows: - - - - - - Checks that the severity of the - is greater than or equal to the of this - appender. - - - - Checks that the chain accepts the - . - - - - - - - - - Adds a filter to the end of the filter chain. - - the filter to add to this appender - - - The Filters are organized in a linked list. - - - Setting this property causes the new filter to be pushed onto the - back of the filter chain. - - - - - - Clears the filter list for this appender. - - - - Clears the filter list for this appender. - - - - - - Checks if the message level is below this appender's threshold. - - to test against. - - - If there is no threshold set, then the return value is always true. - - - - true if the meets the - requirements of this appender. - - - - - Is called when the appender is closed. Derived classes should override - this method if resources need to be released. - - - - Releases any resources allocated within the appender such as file handles, - network connections, etc. - - - It is a programming error to append to a closed appender. - - - - - - Subclasses of should implement this method - to perform actual logging. - - The event to append. - - - A subclass must implement this method to perform - logging of the . - - This method will be called by - if all the conditions listed for that method are met. - - - To restrict the logging of events in the appender - override the method. - - - - - - Append a bulk array of logging events. - - the array of logging events - - - This base class implementation calls the - method for each element in the bulk array. - - - A sub class that can better process a bulk array of events should - override this method in addition to . - - - - - - Called before as a precondition. - - - - This method is called by - before the call to the abstract method. - - - This method can be overridden in a subclass to extend the checks - made before the event is passed to the method. - - - A subclass should ensure that they delegate this call to - this base class if it is overridden. - - - true if the call to should proceed. - - - - Renders the to a string. - - The event to render. - The event rendered as a string. - - - Helper method to render a to - a string. This appender must have a - set to render the to - a string. - - If there is exception data in the logging event and - the layout does not process the exception, this method - will append the exception text to the rendered string. - - - Where possible use the alternative version of this method - . - That method streams the rendering onto an existing Writer - which can give better performance if the caller already has - a open and ready for writing. - - - - - - Renders the to a string. - - The event to render. - The TextWriter to write the formatted event to - - - Helper method to render a to - a string. This appender must have a - set to render the to - a string. - - If there is exception data in the logging event and - the layout does not process the exception, this method - will append the exception text to the rendered string. - - - Use this method in preference to - where possible. If, however, the caller needs to render the event - to a string then does - provide an efficient mechanism for doing so. - - - - - - The layout of this appender. - - - See for more information. - - - - - The name of this appender. - - - See for more information. - - - - - The level threshold of this appender. - - - - There is no level threshold filtering by default. - - - See for more information. - - - - - - It is assumed and enforced that errorHandler is never null. - - - - It is assumed and enforced that errorHandler is never null. - - - See for more information. - - - - - - The first filter in the filter chain. - - - - Set to null initially. - - - See for more information. - - - - - - The last filter in the filter chain. - - - See for more information. - - - - - Flag indicating if this appender is closed. - - - See for more information. - - - - - The guard prevents an appender from repeatedly calling its own DoAppend method - - - - - StringWriter used to render events - - - - - Gets or sets the threshold of this appender. - - - The threshold of the appender. - - - - All log events with lower level than the threshold level are ignored - by the appender. - - - In configuration files this option is specified by setting the - value of the option to a level - string, such as "DEBUG", "INFO" and so on. - - - - - - Gets or sets the for this appender. - - The of the appender - - - The provides a default - implementation for the property. - - - - - - The filter chain. - - The head of the filter chain filter chain. - - - Returns the head Filter. The Filters are organized in a linked list - and so all Filters on this Appender are available through the result. - - - - - - Gets or sets the for this appender. - - The layout of the appender. - - - See for more information. - - - - - - - Gets or sets the name of this appender. - - The name of the appender. - - - The name uniquely identifies the appender. - - - - - - Tests if this appender requires a to be set. - - - - In the rather exceptional case, where the appender - implementation admits a layout but can also work without it, - then the appender should return true. - - - This default implementation always returns true. - - - - true if the appender requires a layout object, otherwise false. - - - - - The default buffer size. - - - The default size of the cyclic buffer used to store events. - This is set to 512 by default. - - - - - Initializes a new instance of the class. - - - - Protected default constructor to allow subclassing. - - - - - - Initializes a new instance of the class. - - the events passed through this appender must be - fixed by the time that they arrive in the derived class' SendBuffer method. - - - Protected constructor to allow subclassing. - - - The should be set if the subclass - expects the events delivered to be fixed even if the - is set to zero, i.e. when no buffering occurs. - - - - - - Flush the currently buffered events - - - - Flushes any events that have been buffered. - - - If the appender is buffering in mode then the contents - of the buffer will NOT be flushed to the appender. - - - - - - Flush the currently buffered events - - set to true to flush the buffer of lossy events - - - Flushes events that have been buffered. If is - false then events will only be flushed if this buffer is non-lossy mode. - - - If the appender is buffering in mode then the contents - of the buffer will only be flushed if is true. - In this case the contents of the buffer will be tested against the - and if triggering will be output. All other buffered - events will be discarded. - - - If is true then the buffer will always - be emptied by calling this method. - - - - - - Initialize the appender based on the options set - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - - - - Close this appender instance. - - - - Close this appender instance. If this appender is marked - as not then the remaining events in - the buffer must be sent when the appender is closed. - - - - - - This method is called by the method. - - the event to log - - - Stores the in the cyclic buffer. - - - The buffer will be sent (i.e. passed to the - method) if one of the following conditions is met: - - - - The cyclic buffer is full and this appender is - marked as not lossy (see ) - - - An is set and - it is triggered for the - specified. - - - - Before the event is stored in the buffer it is fixed - (see ) to ensure that - any data referenced by the event will be valid when the buffer - is processed. - - - - - - Sends the contents of the buffer. - - The first logging event. - The buffer containing the events that need to be send. - - - The subclass must override . - - - - - - Sends the events. - - The events that need to be send. - - - The subclass must override this method to process the buffered events. - - - - - - The size of the cyclic buffer used to hold the logging events. - - - Set to by default. - - - - - The cyclic buffer used to store the logging events. - - - - - The triggering event evaluator that causes the buffer to be sent immediately. - - - The object that is used to determine if an event causes the entire - buffer to be sent immediately. This field can be null, which - indicates that event triggering is not to be done. The evaluator - can be set using the property. If this appender - has the ( property) set to - true then an must be set. - - - - - Indicates if the appender should overwrite events in the cyclic buffer - when it becomes full, or if the buffer should be flushed when the - buffer is full. - - - If this field is set to true then an must - be set. - - - - - The triggering event evaluator filters discarded events. - - - The object that is used to determine if an event that is discarded should - really be discarded or if it should be sent to the appenders. - This field can be null, which indicates that all discarded events will - be discarded. - - - - - Value indicating which fields in the event should be fixed - - - By default all fields are fixed - - - - - The events delivered to the subclass must be fixed. - - - - - Gets or sets a value that indicates whether the appender is lossy. - - - true if the appender is lossy, otherwise false. The default is false. - - - - This appender uses a buffer to store logging events before - delivering them. A triggering event causes the whole buffer - to be send to the remote sink. If the buffer overruns before - a triggering event then logging events could be lost. Set - to false to prevent logging events - from being lost. - - If is set to true then an - must be specified. - - - - - Gets or sets the size of the cyclic buffer used to hold the - logging events. - - - The size of the cyclic buffer used to hold the logging events. - - - - The option takes a positive integer - representing the maximum number of logging events to collect in - a cyclic buffer. When the is reached, - oldest events are deleted as new events are added to the - buffer. By default the size of the cyclic buffer is 512 events. - - - If the is set to a value less than - or equal to 1 then no buffering will occur. The logging event - will be delivered synchronously (depending on the - and properties). Otherwise the event will - be buffered. - - - - - - Gets or sets the that causes the - buffer to be sent immediately. - - - The that causes the buffer to be - sent immediately. - - - - The evaluator will be called for each event that is appended to this - appender. If the evaluator triggers then the current buffer will - immediately be sent (see ). - - If is set to true then an - must be specified. - - - - - Gets or sets the value of the to use. - - - The value of the to use. - - - - The evaluator will be called for each event that is discarded from this - appender. If the evaluator triggers then the current buffer will immediately - be sent (see ). - - - - - - Gets or sets a value indicating if only part of the logging event data - should be fixed. - - - true if the appender should only fix part of the logging event - data, otherwise false. The default is false. - - - - Setting this property to true will cause only part of the - event data to be fixed and serialized. This will improve performance. - - - See for more information. - - - - - - Gets or sets a the fields that will be fixed in the event - - - The event fields that will be fixed before the event is buffered - - - - The logging event needs to have certain thread specific values - captured before it can be buffered. See - for details. - - - - - - - Initializes a new instance of the class. - - - Public default constructor to initialize a new instance of this class. - - - - - Initialize the appender based on the options set - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - - - - Override the parent method to close the database - - - - Closes the database command and database connection. - - - - - - Inserts the events into the database. - - The events to insert into the database. - - - Insert all the events specified in the - array into the database. - - - - - - Adds a parameter to the command. - - The parameter to add to the command. - - - Adds a parameter to the ordered list of command parameters. - - - - - - Writes the events to the database using the transaction specified. - - The transaction that the events will be executed under. - The array of events to insert into the database. - - - The transaction argument can be null if the appender has been - configured not to use transactions. See - property for more information. - - - - - - Formats the log message into database statement text. - - The event being logged. - - This method can be overridden by subclasses to provide - more control over the format of the database statement. - - - Text that can be passed to a . - - - - - Connects to the database. - - - - - Retrieves the class type of the ADO.NET provider. - - - - Gets the Type of the ADO.NET provider to use to connect to the - database. This method resolves the type specified in the - property. - - - Subclasses can override this method to return a different type - if necessary. - - - The of the ADO.NET provider - - - - Prepares the database command and initialize the parameters. - - - - - Flag to indicate if we are using a command object - - - - Set to true when the appender is to use a prepared - statement or stored procedure to insert into the database. - - - - - - The list of objects. - - - - The list of objects. - - - - - - The security context to use for privileged calls - - - - - The that will be used - to insert logging events into a database. - - - - - The database command. - - - - - Database connection string. - - - - - String type name of the type name. - - - - - The text of the command. - - - - - The command type. - - - - - Indicates whether to use transactions when writing to the database. - - - - - Indicates whether to use transactions when writing to the database. - - - - - Gets or sets the database connection string that is used to connect to - the database. - - - The database connection string used to connect to the database. - - - - The connections string is specific to the connection type. - See for more information. - - - Connection string for MS Access via ODBC: - "DSN=MS Access Database;UID=admin;PWD=;SystemDB=C:\data\System.mdw;SafeTransactions = 0;FIL=MS Access;DriverID = 25;DBQ=C:\data\train33.mdb" - - Another connection string for MS Access via ODBC: - "Driver={Microsoft Access Driver (*.mdb)};DBQ=C:\Work\cvs_root\log4net-1.2\access.mdb;UID=;PWD=;" - - Connection string for MS Access via OLE DB: - "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Work\cvs_root\log4net-1.2\access.mdb;User Id=;Password=;" - - - - - Gets or sets the type name of the connection - that should be created. - - - The type name of the connection. - - - - The type name of the ADO.NET provider to use. - - - The default is to use the OLE DB provider. - - - Use the OLE DB Provider. This is the default value. - System.Data.OleDb.OleDbConnection, System.Data, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - Use the MS SQL Server Provider. - System.Data.SqlClient.SqlConnection, System.Data, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - Use the ODBC Provider. - Microsoft.Data.Odbc.OdbcConnection,Microsoft.Data.Odbc,version=1.0.3300.0,publicKeyToken=b77a5c561934e089,culture=neutral - This is an optional package that you can download from - http://msdn.microsoft.com/downloads - search for ODBC .NET Data Provider. - - Use the Oracle Provider. - System.Data.OracleClient.OracleConnection, System.Data.OracleClient, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - This is an optional package that you can download from - http://msdn.microsoft.com/downloads - search for .NET Managed Provider for Oracle. - - - - - Gets or sets the command text that is used to insert logging events - into the database. - - - The command text used to insert logging events into the database. - - - - Either the text of the prepared statement or the - name of the stored procedure to execute to write into - the database. - - - The property determines if - this text is a prepared statement or a stored procedure. - - - - - - Gets or sets the command type to execute. - - - The command type to execute. - - - - This value may be either (System.Data.CommandType.Text) to specify - that the is a prepared statement to execute, - or (System.Data.CommandType.StoredProcedure) to specify that the - property is the name of a stored procedure - to execute. - - - The default value is (System.Data.CommandType.Text). - - - - - - Should transactions be used to insert logging events in the database. - - - true if transactions should be used to insert logging events in - the database, otherwise false. The default value is true. - - - - Gets or sets a value that indicates whether transactions should be used - to insert logging events in the database. - - - When set a single transaction will be used to insert the buffered events - into the database. Otherwise each event will be inserted without using - an explicit transaction. - - - - - - Gets or sets the used to call the NetSend method. - - - The used to call the NetSend method. - - - - Unless a specified here for this appender - the is queried for the - security context to use. The default behavior is to use the security context - of the current thread. - - - - - - Should this appender try to reconnect to the database on error. - - - true if the appender should try to reconnect to the database after an - error has occurred, otherwise false. The default value is false, - i.e. not to try to reconnect. - - - - The default behaviour is for the appender not to try to reconnect to the - database if an error occurs. Subsequent logging events are discarded. - - - To force the appender to attempt to reconnect to the database set this - property to true. - - - When the appender attempts to connect to the database there may be a - delay of up to the connection timeout specified in the connection string. - This delay will block the calling application's thread. - Until the connection can be reestablished this potential delay may occur multiple times. - - - - - - Gets or sets the underlying . - - - The underlying . - - - creates a to insert - logging events into a database. Classes deriving from - can use this property to get or set this . Use the - underlying returned from if - you require access beyond that which provides. - - - - - Parameter type used by the . - - - - This class provides the basic database parameter properties - as defined by the interface. - - This type can be subclassed to provide database specific - functionality. The two methods that are called externally are - and . - - - - - - Initializes a new instance of the class. - - - Default constructor for the AdoNetAppenderParameter class. - - - - - Prepare the specified database command object. - - The command to prepare. - - - Prepares the database command object by adding - this parameter to its collection of parameters. - - - - - - Renders the logging event and set the parameter value in the command. - - The command containing the parameter. - The event to be rendered. - - - Renders the logging event using this parameters layout - object. Sets the value of the parameter on the command object. - - - - - - The name of this parameter. - - - - - The database type for this parameter. - - - - - Flag to infer type rather than use the DbType - - - - - The precision for this parameter. - - - - - The scale for this parameter. - - - - - The size for this parameter. - - - - - The to use to render the - logging event into an object for this parameter. - - - - - Gets or sets the name of this parameter. - - - The name of this parameter. - - - - The name of this parameter. The parameter name - must match up to a named parameter to the SQL stored procedure - or prepared statement. - - - - - - Gets or sets the database type for this parameter. - - - The database type for this parameter. - - - - The database type for this parameter. This property should - be set to the database type from the - enumeration. See . - - - This property is optional. If not specified the ADO.NET provider - will attempt to infer the type from the value. - - - - - - - Gets or sets the precision for this parameter. - - - The precision for this parameter. - - - - The maximum number of digits used to represent the Value. - - - This property is optional. If not specified the ADO.NET provider - will attempt to infer the precision from the value. - - - - - - - Gets or sets the scale for this parameter. - - - The scale for this parameter. - - - - The number of decimal places to which Value is resolved. - - - This property is optional. If not specified the ADO.NET provider - will attempt to infer the scale from the value. - - - - - - - Gets or sets the size for this parameter. - - - The size for this parameter. - - - - The maximum size, in bytes, of the data within the column. - - - This property is optional. If not specified the ADO.NET provider - will attempt to infer the size from the value. - - - - - - - Gets or sets the to use to - render the logging event into an object for this - parameter. - - - The used to render the - logging event into an object for this parameter. - - - - The that renders the value for this - parameter. - - - The can be used to adapt - any into a - for use in the property. - - - - - - Appends logging events to the terminal using ANSI color escape sequences. - - - - AnsiColorTerminalAppender appends log events to the standard output stream - or the error output stream using a layout specified by the - user. It also allows the color of a specific level of message to be set. - - - This appender expects the terminal to understand the VT100 control set - in order to interpret the color codes. If the terminal or console does not - understand the control codes the behavior is not defined. - - - By default, all output is written to the console's standard output stream. - The property can be set to direct the output to the - error stream. - - - NOTE: This appender writes each message to the System.Console.Out or - System.Console.Error that is set at the time the event is appended. - Therefore it is possible to programmatically redirect the output of this appender - (for example NUnit does this to capture program output). While this is the desired - behavior of this appender it may have security implications in your application. - - - When configuring the ANSI colored terminal appender, a mapping should be - specified to map a logging level to a color. For example: - - - - - - - - - - - - - - - The Level is the standard log4net logging level and ForeColor and BackColor can be any - of the following values: - - Blue - Green - Red - White - Yellow - Purple - Cyan - - These color values cannot be combined together to make new colors. - - - The attributes can be any combination of the following: - - Brightforeground is brighter - Dimforeground is dimmer - Underscoremessage is underlined - Blinkforeground is blinking (does not work on all terminals) - Reverseforeground and background are reversed - Hiddenoutput is hidden - Strikethroughmessage has a line through it - - While any of these attributes may be combined together not all combinations - work well together, for example setting both Bright and Dim attributes makes - no sense. - - - Patrick Wagstrom - Nicko Cadell - - - - The to use when writing to the Console - standard output stream. - - - - The to use when writing to the Console - standard output stream. - - - - - - The to use when writing to the Console - standard error output stream. - - - - The to use when writing to the Console - standard error output stream. - - - - - - Ansi code to reset terminal - - - - - Initializes a new instance of the class. - - - The instance of the class is set up to write - to the standard output stream. - - - - - Add a mapping of level to color - - The mapping to add - - - Add a mapping to this appender. - Each mapping defines the foreground and background colours - for a level. - - - - - - This method is called by the method. - - The event to log. - - - Writes the event to the console. - - - The format of the output will depend on the appender's layout. - - - - - - Initialize the options for this appender - - - - Initialize the level to color mappings set on this appender. - - - - - - Flag to write output to the error stream rather than the standard output stream - - - - - Mapping from level object to color value - - - - - Target is the value of the console output stream. - - - Target is the value of the console output stream. - This is either "Console.Out" or "Console.Error". - - - - Target is the value of the console output stream. - This is either "Console.Out" or "Console.Error". - - - - - - This appender requires a to be set. - - true - - - This appender requires a to be set. - - - - - - The enum of possible display attributes - - - - The following flags can be combined together to - form the ANSI color attributes. - - - - - - - text is bright - - - - - text is dim - - - - - text is underlined - - - - - text is blinking - - - Not all terminals support this attribute - - - - - text and background colors are reversed - - - - - text is hidden - - - - - text is displayed with a strikethrough - - - - - The enum of possible foreground or background color values for - use with the color mapping method - - - - The output can be in one for the following ANSI colors. - - - - - - - color is black - - - - - color is red - - - - - color is green - - - - - color is yellow - - - - - color is blue - - - - - color is magenta - - - - - color is cyan - - - - - color is white - - - - - A class to act as a mapping between the level that a logging call is made at and - the color it should be displayed as. - - - - Defines the mapping between a level and the color it should be displayed in. - - - - - - An entry in the - - - - This is an abstract base class for types that are stored in the - object. - - - Nicko Cadell - - - - Default protected constructor - - - - Default protected constructor - - - - - - Initialize any options defined on this entry - - - - Should be overridden by any classes that need to initialise based on their options - - - - - - The level that is the key for this mapping - - - The that is the key for this mapping - - - - Get or set the that is the key for this - mapping subclass. - - - - - - Initialize the options for the object - - - - Combine the and together - and append the attributes. - - - - - - The mapped foreground color for the specified level - - - - Required property. - The mapped foreground color for the specified level - - - - - - The mapped background color for the specified level - - - - Required property. - The mapped background color for the specified level - - - - - - The color attributes for the specified level - - - - Required property. - The color attributes for the specified level - - - - - - The combined , and - suitable for setting the ansi terminal color. - - - - - A strongly-typed collection of objects. - - Nicko Cadell - - - - Creates a read-only wrapper for a AppenderCollection instance. - - list to create a readonly wrapper arround - - An AppenderCollection wrapper that is read-only. - - - - - An empty readonly static AppenderCollection - - - - - Initializes a new instance of the AppenderCollection class - that is empty and has the default initial capacity. - - - - - Initializes a new instance of the AppenderCollection class - that has the specified initial capacity. - - - The number of elements that the new AppenderCollection is initially capable of storing. - - - - - Initializes a new instance of the AppenderCollection class - that contains elements copied from the specified AppenderCollection. - - The AppenderCollection whose elements are copied to the new collection. - - - - Initializes a new instance of the AppenderCollection class - that contains elements copied from the specified array. - - The array whose elements are copied to the new list. - - - - Initializes a new instance of the AppenderCollection class - that contains elements copied from the specified collection. - - The collection whose elements are copied to the new list. - - - - Allow subclasses to avoid our default constructors - - - - - - - Copies the entire AppenderCollection to a one-dimensional - array. - - The one-dimensional array to copy to. - - - - Copies the entire AppenderCollection to a one-dimensional - array, starting at the specified index of the target array. - - The one-dimensional array to copy to. - The zero-based index in at which copying begins. - - - - Adds a to the end of the AppenderCollection. - - The to be added to the end of the AppenderCollection. - The index at which the value has been added. - - - - Removes all elements from the AppenderCollection. - - - - - Creates a shallow copy of the . - - A new with a shallow copy of the collection data. - - - - Determines whether a given is in the AppenderCollection. - - The to check for. - true if is found in the AppenderCollection; otherwise, false. - - - - Returns the zero-based index of the first occurrence of a - in the AppenderCollection. - - The to locate in the AppenderCollection. - - The zero-based index of the first occurrence of - in the entire AppenderCollection, if found; otherwise, -1. - - - - - Inserts an element into the AppenderCollection at the specified index. - - The zero-based index at which should be inserted. - The to insert. - - is less than zero - -or- - is equal to or greater than . - - - - - Removes the first occurrence of a specific from the AppenderCollection. - - The to remove from the AppenderCollection. - - The specified was not found in the AppenderCollection. - - - - - Removes the element at the specified index of the AppenderCollection. - - The zero-based index of the element to remove. - - is less than zero - -or- - is equal to or greater than . - - - - - Returns an enumerator that can iterate through the AppenderCollection. - - An for the entire AppenderCollection. - - - - Adds the elements of another AppenderCollection to the current AppenderCollection. - - The AppenderCollection whose elements should be added to the end of the current AppenderCollection. - The new of the AppenderCollection. - - - - Adds the elements of a array to the current AppenderCollection. - - The array whose elements should be added to the end of the AppenderCollection. - The new of the AppenderCollection. - - - - Adds the elements of a collection to the current AppenderCollection. - - The collection whose elements should be added to the end of the AppenderCollection. - The new of the AppenderCollection. - - - - Sets the capacity to the actual number of elements. - - - - - Return the collection elements as an array - - the array - - - - is less than zero - -or- - is equal to or greater than . - - - - - is less than zero - -or- - is equal to or greater than . - - - - - Gets the number of elements actually contained in the AppenderCollection. - - - - - Gets a value indicating whether access to the collection is synchronized (thread-safe). - - true if access to the ICollection is synchronized (thread-safe); otherwise, false. - - - - Gets an object that can be used to synchronize access to the collection. - - - - - Gets or sets the at the specified index. - - The zero-based index of the element to get or set. - - is less than zero - -or- - is equal to or greater than . - - - - - Gets a value indicating whether the collection has a fixed size. - - true if the collection has a fixed size; otherwise, false. The default is false - - - - Gets a value indicating whether the IList is read-only. - - true if the collection is read-only; otherwise, false. The default is false - - - - Gets or sets the number of elements the AppenderCollection can contain. - - - - - Supports type-safe iteration over a . - - - - - - Advances the enumerator to the next element in the collection. - - - true if the enumerator was successfully advanced to the next element; - false if the enumerator has passed the end of the collection. - - - The collection was modified after the enumerator was created. - - - - - Sets the enumerator to its initial position, before the first element in the collection. - - - - - Gets the current element in the collection. - - - - - Type visible only to our subclasses - Used to access protected constructor - - - - - - A value - - - - - Supports simple iteration over a . - - - - - - Initializes a new instance of the Enumerator class. - - - - - - Advances the enumerator to the next element in the collection. - - - true if the enumerator was successfully advanced to the next element; - false if the enumerator has passed the end of the collection. - - - The collection was modified after the enumerator was created. - - - - - Sets the enumerator to its initial position, before the first element in the collection. - - - - - Gets the current element in the collection. - - - - - - - - - Appends log events to the ASP.NET system. - - - - - Diagnostic information and tracing messages that you specify are appended to the output - of the page that is sent to the requesting browser. Optionally, you can view this information - from a separate trace viewer (Trace.axd) that displays trace information for every page in a - given application. - - - Trace statements are processed and displayed only when tracing is enabled. You can control - whether tracing is displayed to a page, to the trace viewer, or both. - - - The logging event is passed to the or - method depending on the level of the logging event. - - - Nicko Cadell - Gert Driesen - - - - Initializes a new instance of the class. - - - - Default constructor. - - - - - - Write the logging event to the ASP.NET trace - - the event to log - - - Write the logging event to the ASP.NET trace - HttpContext.Current.Trace - (). - - - - - - This appender requires a to be set. - - true - - - This appender requires a to be set. - - - - - - Buffers events and then forwards them to attached appenders. - - - - The events are buffered in this appender until conditions are - met to allow the appender to deliver the events to the attached - appenders. See for the - conditions that cause the buffer to be sent. - - The forwarding appender can be used to specify different - thresholds and filters for the same appender at different locations - within the hierarchy. - - - Nicko Cadell - Gert Driesen - - - - Interface for attaching appenders to objects. - - - - Interface for attaching, removing and retrieving appenders. - - - Nicko Cadell - Gert Driesen - - - - Attaches an appender. - - The appender to add. - - - Add the specified appender. The implementation may - choose to allow or deny duplicate appenders. - - - - - - Gets an attached appender with the specified name. - - The name of the appender to get. - - The appender with the name specified, or null if no appender with the - specified name is found. - - - - Returns an attached appender with the specified. - If no appender with the specified name is found null will be - returned. - - - - - - Removes all attached appenders. - - - - Removes and closes all attached appenders - - - - - - Removes the specified appender from the list of attached appenders. - - The appender to remove. - The appender removed from the list - - - The appender removed is not closed. - If you are discarding the appender you must call - on the appender removed. - - - - - - Removes the appender with the specified name from the list of appenders. - - The name of the appender to remove. - The appender removed from the list - - - The appender removed is not closed. - If you are discarding the appender you must call - on the appender removed. - - - - - - Gets all attached appenders. - - - A collection of attached appenders. - - - - Gets a collection of attached appenders. - If there are no attached appenders the - implementation should return an empty - collection rather than null. - - - - - - Initializes a new instance of the class. - - - - Default constructor. - - - - - - Closes the appender and releases resources. - - - - Releases any resources allocated within the appender such as file handles, - network connections, etc. - - - It is a programming error to append to a closed appender. - - - - - - Send the events. - - The events that need to be send. - - - Forwards the events to the attached appenders. - - - - - - Adds an to the list of appenders of this - instance. - - The to add to this appender. - - - If the specified is already in the list of - appenders, then it won't be added again. - - - - - - Looks for the appender with the specified name. - - The name of the appender to lookup. - - The appender with the specified name, or null. - - - - Get the named appender attached to this buffering appender. - - - - - - Removes all previously added appenders from this appender. - - - - This is useful when re-reading configuration information. - - - - - - Removes the specified appender from the list of appenders. - - The appender to remove. - The appender removed from the list - - The appender removed is not closed. - If you are discarding the appender you must call - on the appender removed. - - - - - Removes the appender with the specified name from the list of appenders. - - The name of the appender to remove. - The appender removed from the list - - The appender removed is not closed. - If you are discarding the appender you must call - on the appender removed. - - - - - Implementation of the interface - - - - - Gets the appenders contained in this appender as an - . - - - If no appenders can be found, then an - is returned. - - - A collection of the appenders in this appender. - - - - - Appends logging events to the console. - - - - ColoredConsoleAppender appends log events to the standard output stream - or the error output stream using a layout specified by the - user. It also allows the color of a specific type of message to be set. - - - By default, all output is written to the console's standard output stream. - The property can be set to direct the output to the - error stream. - - - NOTE: This appender writes directly to the application's attached console - not to the System.Console.Out or System.Console.Error TextWriter. - The System.Console.Out and System.Console.Error streams can be - programmatically redirected (for example NUnit does this to capture program output). - This appender will ignore these redirections because it needs to use Win32 - API calls to colorize the output. To respect these redirections the - must be used. - - - When configuring the colored console appender, mapping should be - specified to map a logging level to a color. For example: - - - - - - - - - - - - - - The Level is the standard log4net logging level and ForeColor and BackColor can be any - combination of the following values: - - Blue - Green - Red - White - Yellow - Purple - Cyan - HighIntensity - - - - Rick Hobbs - Nicko Cadell - - - - The to use when writing to the Console - standard output stream. - - - - The to use when writing to the Console - standard output stream. - - - - - - The to use when writing to the Console - standard error output stream. - - - - The to use when writing to the Console - standard error output stream. - - - - - - Initializes a new instance of the class. - - - The instance of the class is set up to write - to the standard output stream. - - - - - Initializes a new instance of the class - with the specified layout. - - the layout to use for this appender - - The instance of the class is set up to write - to the standard output stream. - - - - - Initializes a new instance of the class - with the specified layout. - - the layout to use for this appender - flag set to true to write to the console error stream - - When is set to true, output is written to - the standard error output stream. Otherwise, output is written to the standard - output stream. - - - - - Add a mapping of level to color - done by the config file - - The mapping to add - - - Add a mapping to this appender. - Each mapping defines the foreground and background colors - for a level. - - - - - - This method is called by the method. - - The event to log. - - - Writes the event to the console. - - - The format of the output will depend on the appender's layout. - - - - - - Initialize the options for this appender - - - - Initialize the level to color mappings set on this appender. - - - - - - Flag to write output to the error stream rather than the standard output stream - - - - - Mapping from level object to color value - - - - - The console output stream writer to write to - - - - This writer is not thread safe. - - - - - - Target is the value of the console output stream. - This is either "Console.Out" or "Console.Error". - - - Target is the value of the console output stream. - This is either "Console.Out" or "Console.Error". - - - - Target is the value of the console output stream. - This is either "Console.Out" or "Console.Error". - - - - - - This appender requires a to be set. - - true - - - This appender requires a to be set. - - - - - - The enum of possible color values for use with the color mapping method - - - - The following flags can be combined together to - form the colors. - - - - - - - color is blue - - - - - color is green - - - - - color is red - - - - - color is white - - - - - color is yellow - - - - - color is purple - - - - - color is cyan - - - - - color is intensified - - - - - A class to act as a mapping between the level that a logging call is made at and - the color it should be displayed as. - - - - Defines the mapping between a level and the color it should be displayed in. - - - - - - Initialize the options for the object - - - - Combine the and together. - - - - - - The mapped foreground color for the specified level - - - - Required property. - The mapped foreground color for the specified level. - - - - - - The mapped background color for the specified level - - - - Required property. - The mapped background color for the specified level. - - - - - - The combined and suitable for - setting the console color. - - - - - Appends logging events to the console. - - - - ConsoleAppender appends log events to the standard output stream - or the error output stream using a layout specified by the - user. - - - By default, all output is written to the console's standard output stream. - The property can be set to direct the output to the - error stream. - - - NOTE: This appender writes each message to the System.Console.Out or - System.Console.Error that is set at the time the event is appended. - Therefore it is possible to programmatically redirect the output of this appender - (for example NUnit does this to capture program output). While this is the desired - behavior of this appender it may have security implications in your application. - - - Nicko Cadell - Gert Driesen - - - - The to use when writing to the Console - standard output stream. - - - - The to use when writing to the Console - standard output stream. - - - - - - The to use when writing to the Console - standard error output stream. - - - - The to use when writing to the Console - standard error output stream. - - - - - - Initializes a new instance of the class. - - - The instance of the class is set up to write - to the standard output stream. - - - - - Initializes a new instance of the class - with the specified layout. - - the layout to use for this appender - - The instance of the class is set up to write - to the standard output stream. - - - - - Initializes a new instance of the class - with the specified layout. - - the layout to use for this appender - flag set to true to write to the console error stream - - When is set to true, output is written to - the standard error output stream. Otherwise, output is written to the standard - output stream. - - - - - This method is called by the method. - - The event to log. - - - Writes the event to the console. - - - The format of the output will depend on the appender's layout. - - - - - - Target is the value of the console output stream. - This is either "Console.Out" or "Console.Error". - - - Target is the value of the console output stream. - This is either "Console.Out" or "Console.Error". - - - - Target is the value of the console output stream. - This is either "Console.Out" or "Console.Error". - - - - - - This appender requires a to be set. - - true - - - This appender requires a to be set. - - - - - - Appends log events to the system. - - - - The application configuration file can be used to control what listeners - are actually used. See the MSDN documentation for the - class for details on configuring the - debug system. - - - Events are written using the - method. The event's logger name is passed as the value for the category name to the Write method. - - - Nicko Cadell - - - - Initializes a new instance of the . - - - - Default constructor. - - - - - - Initializes a new instance of the - with a specified layout. - - The layout to use with this appender. - - - Obsolete constructor. - - - - - - Writes the logging event to the system. - - The event to log. - - - Writes the logging event to the system. - If is true then the - is called. - - - - - - Immediate flush means that the underlying writer or output stream - will be flushed at the end of each append operation. - - - - Immediate flush is slower but ensures that each append request is - actually written. If is set to - false, then there is a good chance that the last few - logs events are not actually written to persistent media if and - when the application crashes. - - - The default value is true. - - - - - Gets or sets a value that indicates whether the appender will - flush at the end of each write. - - - The default behavior is to flush at the end of each - write. If the option is set tofalse, then the underlying - stream can defer writing to physical medium to a later time. - - - Avoiding the flush operation at the end of each append results - in a performance gain of 10 to 20 percent. However, there is safety - trade-off involved in skipping flushing. Indeed, when flushing is - skipped, then it is likely that the last few log events will not - be recorded on disk when the application exits. This is a high - price to pay even for a 20% performance gain. - - - - - - This appender requires a to be set. - - true - - - This appender requires a to be set. - - - - - - Writes events to the system event log. - - - - The EventID of the event log entry can be - set using the EventLogEventID property () - on the . - - - There is a limit of 32K characters for an event log message - - - When configuring the EventLogAppender a mapping can be - specified to map a logging level to an event log entry type. For example: - - - <mapping> - <level value="ERROR" /> - <eventLogEntryType value="Error" /> - </mapping> - <mapping> - <level value="DEBUG" /> - <eventLogEntryType value="Information" /> - </mapping> - - - The Level is the standard log4net logging level and eventLogEntryType can be any value - from the enum, i.e.: - - Erroran error event - Warninga warning event - Informationan informational event - - - - Aspi Havewala - Douglas de la Torre - Nicko Cadell - Gert Driesen - Thomas Voss - - - - Initializes a new instance of the class. - - - - Default constructor. - - - - - - Initializes a new instance of the class - with the specified . - - The to use with this appender. - - - Obsolete constructor. - - - - - - Add a mapping of level to - done by the config file - - The mapping to add - - - Add a mapping to this appender. - Each mapping defines the event log entry type for a level. - - - - - - Initialize the appender based on the options set - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - - - - Create an event log source - - - Uses different API calls under NET_2_0 - - - - - This method is called by the - method. - - the event to log - - Writes the event to the system event log using the - . - - If the event has an EventID property (see ) - set then this integer will be used as the event log event id. - - - There is a limit of 32K characters for an event log message - - - - - - Get the equivalent for a - - the Level to convert to an EventLogEntryType - The equivalent for a - - Because there are fewer applicable - values to use in logging levels than there are in the - this is a one way mapping. There is - a loss of information during the conversion. - - - - - The log name is the section in the event logs where the messages - are stored. - - - - - Name of the application to use when logging. This appears in the - application column of the event log named by . - - - - - The name of the machine which holds the event log. This is - currently only allowed to be '.' i.e. the current machine. - - - - - Mapping from level object to EventLogEntryType - - - - - The security context to use for privileged calls - - - - - The name of the log where messages will be stored. - - - The string name of the log where messages will be stored. - - - This is the name of the log as it appears in the Event Viewer - tree. The default value is to log into the Application - log, this is where most applications write their events. However - if you need a separate log for your application (or applications) - then you should set the appropriately. - This should not be used to distinguish your event log messages - from those of other applications, the - property should be used to distinguish events. This property should be - used to group together events into a single log. - - - - - - Property used to set the Application name. This appears in the - event logs when logging. - - - The string used to distinguish events from different sources. - - - Sets the event log source property. - - - - - This property is used to return the name of the computer to use - when accessing the event logs. Currently, this is the current - computer, denoted by a dot "." - - - The string name of the machine holding the event log that - will be logged into. - - - This property cannot be changed. It is currently set to '.' - i.e. the local machine. This may be changed in future. - - - - - Gets or sets the used to write to the EventLog. - - - The used to write to the EventLog. - - - - The system security context used to write to the EventLog. - - - Unless a specified here for this appender - the is queried for the - security context to use. The default behavior is to use the security context - of the current thread. - - - - - - This appender requires a to be set. - - true - - - This appender requires a to be set. - - - - - - A class to act as a mapping between the level that a logging call is made at and - the color it should be displayed as. - - - - Defines the mapping between a level and its event log entry type. - - - - - - The for this entry - - - - Required property. - The for this entry - - - - - - Appends logging events to a file. - - - - Logging events are sent to the file specified by - the property. - - - The file can be opened in either append or overwrite mode - by specifying the property. - If the file path is relative it is taken as relative from - the application base directory. The file encoding can be - specified by setting the property. - - - The layout's and - values will be written each time the file is opened and closed - respectively. If the property is - then the file may contain multiple copies of the header and footer. - - - This appender will first try to open the file for writing when - is called. This will typically be during configuration. - If the file cannot be opened for writing the appender will attempt - to open the file again each time a message is logged to the appender. - If the file cannot be opened for writing when a message is logged then - the message will be discarded by this appender. - - - The supports pluggable file locking models via - the property. - The default behavior, implemented by - is to obtain an exclusive write lock on the file until this appender is closed. - The alternative model, , only holds a - write lock while the appender is writing a logging event. - - - Nicko Cadell - Gert Driesen - Rodrigo B. de Oliveira - Douglas de la Torre - Niall Daley - - - - Sends logging events to a . - - - - An Appender that writes to a . - - - This appender may be used stand alone if initialized with an appropriate - writer, however it is typically used as a base class for an appender that - can open a to write to. - - - Nicko Cadell - Gert Driesen - Douglas de la Torre - - - - Initializes a new instance of the class. - - - - Default constructor. - - - - - - Initializes a new instance of the class and - sets the output destination to a new initialized - with the specified . - - The layout to use with this appender. - The to output to. - - - Obsolete constructor. - - - - - - Initializes a new instance of the class and sets - the output destination to the specified . - - The layout to use with this appender - The to output to - - The must have been previously opened. - - - - Obsolete constructor. - - - - - - This method determines if there is a sense in attempting to append. - - - - This method checked if an output target has been set and if a - layout has been set. - - - false if any of the preconditions fail. - - - - This method is called by the - method. - - The event to log. - - - Writes a log statement to the output stream if the output stream exists - and is writable. - - - The format of the output will depend on the appender's layout. - - - - - - This method is called by the - method. - - The array of events to log. - - - This method writes all the bulk logged events to the output writer - before flushing the stream. - - - - - - Close this appender instance. The underlying stream or writer is also closed. - - - Closed appenders cannot be reused. - - - - - Writes the footer and closes the underlying . - - - - Writes the footer and closes the underlying . - - - - - - Closes the underlying . - - - - Closes the underlying . - - - - - - Clears internal references to the underlying - and other variables. - - - - Subclasses can override this method for an alternate closing behavior. - - - - - - Writes a footer as produced by the embedded layout's property. - - - - Writes a footer as produced by the embedded layout's property. - - - - - - Writes a header produced by the embedded layout's property. - - - - Writes a header produced by the embedded layout's property. - - - - - - Called to allow a subclass to lazily initialize the writer - - - - This method is called when an event is logged and the or - have not been set. This allows a subclass to - attempt to initialize the writer multiple times. - - - - - - This is the where logging events - will be written to. - - - - - Immediate flush means that the underlying - or output stream will be flushed at the end of each append operation. - - - - Immediate flush is slower but ensures that each append request is - actually written. If is set to - false, then there is a good chance that the last few - logging events are not actually persisted if and when the application - crashes. - - - The default value is true. - - - - - - Gets or set whether the appender will flush at the end - of each append operation. - - - - The default behavior is to flush at the end of each - append operation. - - - If this option is set to false, then the underlying - stream can defer persisting the logging event to a later - time. - - - - Avoiding the flush operation at the end of each append results in - a performance gain of 10 to 20 percent. However, there is safety - trade-off involved in skipping flushing. Indeed, when flushing is - skipped, then it is likely that the last few log events will not - be recorded on disk when the application exits. This is a high - price to pay even for a 20% performance gain. - - - - - Sets the where the log output will go. - - - - The specified must be open and writable. - - - The will be closed when the appender - instance is closed. - - - Note: Logging to an unopened will fail. - - - - - - Gets or set the and the underlying - , if any, for this appender. - - - The for this appender. - - - - - This appender requires a to be set. - - true - - - This appender requires a to be set. - - - - - - Gets or sets the where logging events - will be written to. - - - The where logging events are written. - - - - This is the where logging events - will be written to. - - - - - - Default constructor - - - - Default constructor - - - - - - Construct a new appender using the layout, file and append mode. - - the layout to use with this appender - the full path to the file to write to - flag to indicate if the file should be appended to - - - Obsolete constructor. - - - - - - Construct a new appender using the layout and file specified. - The file will be appended to. - - the layout to use with this appender - the full path to the file to write to - - - Obsolete constructor. - - - - - - Activate the options on the file appender. - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - This will cause the file to be opened. - - - - - - Closes any previously opened file and calls the parent's . - - - - Resets the filename and the file stream. - - - - - - Called to initialize the file writer - - - - Will be called for each logged message until the file is - successfully opened. - - - - - - This method is called by the - method. - - The event to log. - - - Writes a log statement to the output stream if the output stream exists - and is writable. - - - The format of the output will depend on the appender's layout. - - - - - - This method is called by the - method. - - The array of events to log. - - - Acquires the output file locks once before writing all the events to - the stream. - - - - - - Writes a footer as produced by the embedded layout's property. - - - - Writes a footer as produced by the embedded layout's property. - - - - - - Writes a header produced by the embedded layout's property. - - - - Writes a header produced by the embedded layout's property. - - - - - - Closes the underlying . - - - - Closes the underlying . - - - - - - Closes the previously opened file. - - - - Writes the to the file and then - closes the file. - - - - - - Sets and opens the file where the log output will go. The specified file must be writable. - - The path to the log file. Must be a fully qualified path. - If true will append to fileName. Otherwise will truncate fileName - - - Calls but guarantees not to throw an exception. - Errors are passed to the . - - - - - - Sets and opens the file where the log output will go. The specified file must be writable. - - The path to the log file. Must be a fully qualified path. - If true will append to fileName. Otherwise will truncate fileName - - - If there was already an opened file, then the previous file - is closed first. - - - This method will ensure that the directory structure - for the specified exists. - - - - - - Sets the quiet writer used for file output - - the file stream that has been opened for writing - - - This implementation of creates a - over the and passes it to the - method. - - - This method can be overridden by sub classes that want to wrap the - in some way, for example to encrypt the output - data using a System.Security.Cryptography.CryptoStream. - - - - - - Sets the quiet writer being used. - - the writer over the file stream that has been opened for writing - - - This method can be overridden by sub classes that want to - wrap the in some way. - - - - - - Convert a path into a fully qualified path. - - The path to convert. - The fully qualified path. - - - Converts the path specified to a fully - qualified path. If the path is relative it is - taken as relative from the application base - directory. - - - - - - Flag to indicate if we should append to the file - or overwrite the file. The default is to append. - - - - - The name of the log file. - - - - - The encoding to use for the file stream. - - - - - The security context to use for privileged calls - - - - - The stream to log to. Has added locking semantics - - - - - The locking model to use - - - - - Gets or sets the path to the file that logging will be written to. - - - The path to the file that logging will be written to. - - - - If the path is relative it is taken as relative from - the application base directory. - - - - - - Gets or sets a flag that indicates whether the file should be - appended to or overwritten. - - - Indicates whether the file should be appended to or overwritten. - - - - If the value is set to false then the file will be overwritten, if - it is set to true then the file will be appended to. - - The default value is true. - - - - - Gets or sets used to write to the file. - - - The used to write to the file. - - - - The default encoding set is - which is the encoding for the system's current ANSI code page. - - - - - - Gets or sets the used to write to the file. - - - The used to write to the file. - - - - Unless a specified here for this appender - the is queried for the - security context to use. The default behavior is to use the security context - of the current thread. - - - - - - Gets or sets the used to handle locking of the file. - - - The used to lock the file. - - - - Gets or sets the used to handle locking of the file. - - - There are two built in locking models, and . - The former locks the file from the start of logging to the end and the - later lock only for the minimal amount of time when logging each message. - - - The default locking model is the . - - - - - - Write only that uses the - to manage access to an underlying resource. - - - - - True asynchronous writes are not supported, the implementation forces a synchronous write. - - - - - Exception base type for log4net. - - - - This type extends . It - does not add any new functionality but does differentiate the - type of exception being thrown. - - - Nicko Cadell - Gert Driesen - - - - Constructor - - - - Initializes a new instance of the class. - - - - - - Constructor - - A message to include with the exception. - - - Initializes a new instance of the class with - the specified message. - - - - - - Constructor - - A message to include with the exception. - A nested exception to include. - - - Initializes a new instance of the class - with the specified message and inner exception. - - - - - - Serialization constructor - - The that holds the serialized object data about the exception being thrown. - The that contains contextual information about the source or destination. - - - Initializes a new instance of the class - with serialized data. - - - - - - Locking model base class - - - - Base class for the locking models available to the derived loggers. - - - - - - Open the output file - - The filename to use - Whether to append to the file, or overwrite - The encoding to use - - - Open the file specified and prepare for logging. - No writes will be made until is called. - Must be called before any calls to , - and . - - - - - - Close the file - - - - Close the file. No further writes will be made. - - - - - - Acquire the lock on the file - - A stream that is ready to be written to. - - - Acquire the lock on the file in preparation for writing to it. - Return a stream pointing to the file. - must be called to release the lock on the output file. - - - - - - Release the lock on the file - - - - Release the lock on the file. No further writes will be made to the - stream until is called again. - - - - - - Gets or sets the for this LockingModel - - - The for this LockingModel - - - - The file appender this locking model is attached to and working on - behalf of. - - - The file appender is used to locate the security context and the error handler to use. - - - The value of this property will be set before is - called. - - - - - - Hold an exclusive lock on the output file - - - - Open the file once for writing and hold it open until is called. - Maintains an exclusive lock on the file during this time. - - - - - - Open the file specified and prepare for logging. - - The filename to use - Whether to append to the file, or overwrite - The encoding to use - - - Open the file specified and prepare for logging. - No writes will be made until is called. - Must be called before any calls to , - and . - - - - - - Close the file - - - - Close the file. No further writes will be made. - - - - - - Acquire the lock on the file - - A stream that is ready to be written to. - - - Does nothing. The lock is already taken - - - - - - Release the lock on the file - - - - Does nothing. The lock will be released when the file is closed. - - - - - - Acquires the file lock for each write - - - - Opens the file once for each / cycle, - thus holding the lock for the minimal amount of time. This method of locking - is considerably slower than but allows - other processes to move/delete the log file whilst logging continues. - - - - - - Prepares to open the file when the first message is logged. - - The filename to use - Whether to append to the file, or overwrite - The encoding to use - - - Open the file specified and prepare for logging. - No writes will be made until is called. - Must be called before any calls to , - and . - - - - - - Close the file - - - - Close the file. No further writes will be made. - - - - - - Acquire the lock on the file - - A stream that is ready to be written to. - - - Acquire the lock on the file in preparation for writing to it. - Return a stream pointing to the file. - must be called to release the lock on the output file. - - - - - - Release the lock on the file - - - - Release the lock on the file. No further writes will be made to the - stream until is called again. - - - - - - This appender forwards logging events to attached appenders. - - - - The forwarding appender can be used to specify different thresholds - and filters for the same appender at different locations within the hierarchy. - - - Nicko Cadell - Gert Driesen - - - - Initializes a new instance of the class. - - - - Default constructor. - - - - - - Closes the appender and releases resources. - - - - Releases any resources allocated within the appender such as file handles, - network connections, etc. - - - It is a programming error to append to a closed appender. - - - - - - Forward the logging event to the attached appenders - - The event to log. - - - Delivers the logging event to all the attached appenders. - - - - - - Forward the logging events to the attached appenders - - The array of events to log. - - - Delivers the logging events to all the attached appenders. - - - - - - Adds an to the list of appenders of this - instance. - - The to add to this appender. - - - If the specified is already in the list of - appenders, then it won't be added again. - - - - - - Looks for the appender with the specified name. - - The name of the appender to lookup. - - The appender with the specified name, or null. - - - - Get the named appender attached to this appender. - - - - - - Removes all previously added appenders from this appender. - - - - This is useful when re-reading configuration information. - - - - - - Removes the specified appender from the list of appenders. - - The appender to remove. - The appender removed from the list - - The appender removed is not closed. - If you are discarding the appender you must call - on the appender removed. - - - - - Removes the appender with the specified name from the list of appenders. - - The name of the appender to remove. - The appender removed from the list - - The appender removed is not closed. - If you are discarding the appender you must call - on the appender removed. - - - - - Implementation of the interface - - - - - Gets the appenders contained in this appender as an - . - - - If no appenders can be found, then an - is returned. - - - A collection of the appenders in this appender. - - - - - Logs events to a local syslog service. - - - - This appender uses the POSIX libc library functions openlog, syslog, and closelog. - If these functions are not available on the local system then this appender will not work! - - - The functions openlog, syslog, and closelog are specified in SUSv2 and - POSIX 1003.1-2001 standards. These are used to log messages to the local syslog service. - - - This appender talks to a local syslog service. If you need to log to a remote syslog - daemon and you cannot configure your local syslog service to do this you may be - able to use the to log via UDP. - - - Syslog messages must have a facility and and a severity. The severity - is derived from the Level of the logging event. - The facility must be chosen from the set of defined syslog - values. The facilities list is predefined - and cannot be extended. - - - An identifier is specified with each log message. This can be specified - by setting the property. The identity (also know - as the tag) must not contain white space. The default value for the - identity is the application name (from ). - - - Rob Lyon - Nicko Cadell - - - - Initializes a new instance of the class. - - - This instance of the class is set up to write - to a local syslog service. - - - - - Add a mapping of level to severity - - The mapping to add - - - Adds a to this appender. - - - - - - Initialize the appender based on the options set. - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - - - - This method is called by the method. - - The event to log. - - - Writes the event to a remote syslog daemon. - - - The format of the output will depend on the appender's layout. - - - - - - Close the syslog when the appender is closed - - - - Close the syslog when the appender is closed - - - - - - Translates a log4net level to a syslog severity. - - A log4net level. - A syslog severity. - - - Translates a log4net level to a syslog severity. - - - - - - Generate a syslog priority. - - The syslog facility. - The syslog severity. - A syslog priority. - - - - The facility. The default facility is . - - - - - The message identity - - - - - Marshaled handle to the identity string. We have to hold on to the - string as the openlog and syslog APIs just hold the - pointer to the ident and dereference it for each log message. - - - - - Mapping from level object to syslog severity - - - - - Open connection to system logger. - - - - - Generate a log message. - - - - The libc syslog method takes a format string and a variable argument list similar - to the classic printf function. As this type of vararg list is not supported - by C# we need to specify the arguments explicitly. Here we have specified the - format string with a single message argument. The caller must set the format - string to "%s". - - - - - - Close descriptor used to write to system logger. - - - - - Message identity - - - - An identifier is specified with each log message. This can be specified - by setting the property. The identity (also know - as the tag) must not contain white space. The default value for the - identity is the application name (from ). - - - - - - Syslog facility - - - Set to one of the values. The list of - facilities is predefined and cannot be extended. The default value - is . - - - - - This appender requires a to be set. - - true - - - This appender requires a to be set. - - - - - - syslog severities - - - - The log4net Level maps to a syslog severity using the - method and the - class. The severity is set on . - - - - - - system is unusable - - - - - action must be taken immediately - - - - - critical conditions - - - - - error conditions - - - - - warning conditions - - - - - normal but significant condition - - - - - informational - - - - - debug-level messages - - - - - syslog facilities - - - - The syslog facility defines which subsystem the logging comes from. - This is set on the property. - - - - - - kernel messages - - - - - random user-level messages - - - - - mail system - - - - - system daemons - - - - - security/authorization messages - - - - - messages generated internally by syslogd - - - - - line printer subsystem - - - - - network news subsystem - - - - - UUCP subsystem - - - - - clock (cron/at) daemon - - - - - security/authorization messages (private) - - - - - ftp daemon - - - - - NTP subsystem - - - - - log audit - - - - - log alert - - - - - clock daemon - - - - - reserved for local use - - - - - reserved for local use - - - - - reserved for local use - - - - - reserved for local use - - - - - reserved for local use - - - - - reserved for local use - - - - - reserved for local use - - - - - reserved for local use - - - - - A class to act as a mapping between the level that a logging call is made at and - the syslog severity that is should be logged at. - - - - A class to act as a mapping between the level that a logging call is made at and - the syslog severity that is should be logged at. - - - - - - The mapped syslog severity for the specified level - - - - Required property. - The mapped syslog severity for the specified level - - - - - - Stores logging events in an array. - - - - The memory appender stores all the logging events - that are appended in an in-memory array. - - - Use the method to get - the current list of events that have been appended. - - - Use the method to clear the - current list of events. - - - Julian Biddle - Nicko Cadell - Gert Driesen - - - - Initializes a new instance of the class. - - - - Default constructor. - - - - - - Gets the events that have been logged. - - The events that have been logged - - - Gets the events that have been logged. - - - - - - This method is called by the method. - - the event to log - - Stores the in the events list. - - - - - Clear the list of events - - - Clear the list of events - - - - - The list of events that have been appended. - - - - - Value indicating which fields in the event should be fixed - - - By default all fields are fixed - - - - - Gets or sets a value indicating whether only part of the logging event - data should be fixed. - - - true if the appender should only fix part of the logging event - data, otherwise false. The default is false. - - - - Setting this property to true will cause only part of the event - data to be fixed and stored in the appender, hereby improving performance. - - - See for more information. - - - - - - Gets or sets the fields that will be fixed in the event - - - - The logging event needs to have certain thread specific values - captured before it can be buffered. See - for details. - - - - - - Logs entries by sending network messages using the - native function. - - - - You can send messages only to names that are active - on the network. If you send the message to a user name, - that user must be logged on and running the Messenger - service to receive the message. - - - The receiver will get a top most window displaying the - messages one at a time, therefore this appender should - not be used to deliver a high volume of messages. - - - The following table lists some possible uses for this appender : - - - - - Action - Property Value(s) - - - Send a message to a user account on the local machine - - - = <name of the local machine> - - - = <user name> - - - - - Send a message to a user account on a remote machine - - - = <name of the remote machine> - - - = <user name> - - - - - Send a message to a domain user account - - - = <name of a domain controller | uninitialized> - - - = <user name> - - - - - Send a message to all the names in a workgroup or domain - - - = <workgroup name | domain name>* - - - - - Send a message from the local machine to a remote machine - - - = <name of the local machine | uninitialized> - - - = <name of the remote machine> - - - - - - - Note : security restrictions apply for sending - network messages, see - for more information. - - - - - An example configuration section to log information - using this appender from the local machine, named - LOCAL_PC, to machine OPERATOR_PC : - - - - - - - - - - Nicko Cadell - Gert Driesen - - - - The DNS or NetBIOS name of the server on which the function is to execute. - - - - - The sender of the network message. - - - - - The message alias to which the message should be sent. - - - - - The security context to use for privileged calls - - - - - Initializes the appender. - - - The default constructor initializes all fields to their default values. - - - - - Initialize the appender based on the options set. - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - The appender will be ignored if no was specified. - - - The required property was not specified. - - - - This method is called by the method. - - The event to log. - - - Sends the event using a network message. - - - - - - Sends a buffer of information to a registered message alias. - - The DNS or NetBIOS name of the server on which the function is to execute. - The message alias to which the message buffer should be sent - The originator of the message. - The message text. - The length, in bytes, of the message text. - - - The following restrictions apply for sending network messages: - - - - - Platform - Requirements - - - Windows NT - - - No special group membership is required to send a network message. - - - Admin, Accounts, Print, or Server Operator group membership is required to - successfully send a network message on a remote server. - - - - - Windows 2000 or later - - - If you send a message on a domain controller that is running Active Directory, - access is allowed or denied based on the access control list (ACL) for the securable - object. The default ACL permits only Domain Admins and Account Operators to send a network message. - - - On a member server or workstation, only Administrators and Server Operators can send a network message. - - - - - - - For more information see Security Requirements for the Network Management Functions. - - - - - If the function succeeds, the return value is zero. - - - - - - Gets or sets the sender of the message. - - - The sender of the message. - - - If this property is not specified, the message is sent from the local computer. - - - - - Gets or sets the message alias to which the message should be sent. - - - The recipient of the message. - - - This property should always be specified in order to send a message. - - - - - Gets or sets the DNS or NetBIOS name of the remote server on which the function is to execute. - - - DNS or NetBIOS name of the remote server on which the function is to execute. - - - - For Windows NT 4.0 and earlier, the string should begin with \\. - - - If this property is not specified, the local computer is used. - - - - - - Gets or sets the used to call the NetSend method. - - - The used to call the NetSend method. - - - - Unless a specified here for this appender - the is queried for the - security context to use. The default behavior is to use the security context - of the current thread. - - - - - - This appender requires a to be set. - - true - - - This appender requires a to be set. - - - - - - Appends log events to the OutputDebugString system. - - - - OutputDebugStringAppender appends log events to the - OutputDebugString system. - - - The string is passed to the native OutputDebugString - function. - - - Nicko Cadell - Gert Driesen - - - - Initializes a new instance of the class. - - - - Default constructor. - - - - - - Write the logging event to the output debug string API - - the event to log - - - Write the logging event to the output debug string API - - - - - - Stub for OutputDebugString native method - - the string to output - - - Stub for OutputDebugString native method - - - - - - This appender requires a to be set. - - true - - - This appender requires a to be set. - - - - - - Logs events to a remote syslog daemon. - - - - The BSD syslog protocol is used to remotely log to - a syslog daemon. The syslogd listens for for messages - on UDP port 514. - - - The syslog UDP protocol is not authenticated. Most syslog daemons - do not accept remote log messages because of the security implications. - You may be able to use the LocalSyslogAppender to talk to a local - syslog service. - - - There is an RFC 3164 that claims to document the BSD Syslog Protocol. - This RFC can be seen here: http://www.faqs.org/rfcs/rfc3164.html. - This appender generates what the RFC calls an "Original Device Message", - i.e. does not include the TIMESTAMP or HOSTNAME fields. By observation - this format of message will be accepted by all current syslog daemon - implementations. The daemon will attach the current time and the source - hostname or IP address to any messages received. - - - Syslog messages must have a facility and and a severity. The severity - is derived from the Level of the logging event. - The facility must be chosen from the set of defined syslog - values. The facilities list is predefined - and cannot be extended. - - - An identifier is specified with each log message. This can be specified - by setting the property. The identity (also know - as the tag) must not contain white space. The default value for the - identity is the application name (from ). - - - Rob Lyon - Nicko Cadell - - - - Sends logging events as connectionless UDP datagrams to a remote host or a - multicast group using an . - - - - UDP guarantees neither that messages arrive, nor that they arrive in the correct order. - - - To view the logging results, a custom application can be developed that listens for logging - events. - - - When decoding events send via this appender remember to use the same encoding - to decode the events as was used to send the events. See the - property to specify the encoding to use. - - - - This example shows how to log receive logging events that are sent - on IP address 244.0.0.1 and port 8080 to the console. The event is - encoded in the packet as a unicode string and it is decoded as such. - - IPEndPoint remoteEndPoint = new IPEndPoint(IPAddress.Any, 0); - UdpClient udpClient; - byte[] buffer; - string loggingEvent; - - try - { - udpClient = new UdpClient(8080); - - while(true) - { - buffer = udpClient.Receive(ref remoteEndPoint); - loggingEvent = System.Text.Encoding.Unicode.GetString(buffer); - Console.WriteLine(loggingEvent); - } - } - catch(Exception e) - { - Console.WriteLine(e.ToString()); - } - - - Dim remoteEndPoint as IPEndPoint - Dim udpClient as UdpClient - Dim buffer as Byte() - Dim loggingEvent as String - - Try - remoteEndPoint = new IPEndPoint(IPAddress.Any, 0) - udpClient = new UdpClient(8080) - - While True - buffer = udpClient.Receive(ByRef remoteEndPoint) - loggingEvent = System.Text.Encoding.Unicode.GetString(buffer) - Console.WriteLine(loggingEvent) - Wend - Catch e As Exception - Console.WriteLine(e.ToString()) - End Try - - - An example configuration section to log information using this appender to the - IP 224.0.0.1 on port 8080: - - - - - - - - - - Gert Driesen - Nicko Cadell - - - - Initializes a new instance of the class. - - - The default constructor initializes all fields to their default values. - - - - - Initialize the appender based on the options set. - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - The appender will be ignored if no was specified or - an invalid remote or local TCP port number was specified. - - - The required property was not specified. - The TCP port number assigned to or is less than or greater than . - - - - This method is called by the method. - - The event to log. - - - Sends the event using an UDP datagram. - - - Exceptions are passed to the . - - - - - - Closes the UDP connection and releases all resources associated with - this instance. - - - - Disables the underlying and releases all managed - and unmanaged resources associated with the . - - - - - - Initializes the underlying connection. - - - - The underlying is initialized and binds to the - port number from which you intend to communicate. - - - Exceptions are passed to the . - - - - - - The IP address of the remote host or multicast group to which - the logging event will be sent. - - - - - The TCP port number of the remote host or multicast group to - which the logging event will be sent. - - - - - The cached remote endpoint to which the logging events will be sent. - - - - - The TCP port number from which the will communicate. - - - - - The instance that will be used for sending the - logging events. - - - - - The encoding to use for the packet. - - - - - Gets or sets the IP address of the remote host or multicast group to which - the underlying should sent the logging event. - - - The IP address of the remote host or multicast group to which the logging event - will be sent. - - - - Multicast addresses are identified by IP class D addresses (in the range 224.0.0.0 to - 239.255.255.255). Multicast packets can pass across different networks through routers, so - it is possible to use multicasts in an Internet scenario as long as your network provider - supports multicasting. - - - Hosts that want to receive particular multicast messages must register their interest by joining - the multicast group. Multicast messages are not sent to networks where no host has joined - the multicast group. Class D IP addresses are used for multicast groups, to differentiate - them from normal host addresses, allowing nodes to easily detect if a message is of interest. - - - Static multicast addresses that are needed globally are assigned by IANA. A few examples are listed in the table below: - - - - - IP Address - Description - - - 224.0.0.1 - - - Sends a message to all system on the subnet. - - - - - 224.0.0.2 - - - Sends a message to all routers on the subnet. - - - - - 224.0.0.12 - - - The DHCP server answers messages on the IP address 224.0.0.12, but only on a subnet. - - - - - - - A complete list of actually reserved multicast addresses and their owners in the ranges - defined by RFC 3171 can be found at the IANA web site. - - - The address range 239.0.0.0 to 239.255.255.255 is reserved for administrative scope-relative - addresses. These addresses can be reused with other local groups. Routers are typically - configured with filters to prevent multicast traffic in this range from flowing outside - of the local network. - - - - - - Gets or sets the TCP port number of the remote host or multicast group to which - the underlying should sent the logging event. - - - An integer value in the range to - indicating the TCP port number of the remote host or multicast group to which the logging event - will be sent. - - - The underlying will send messages to this TCP port number - on the remote host or multicast group. - - The value specified is less than or greater than . - - - - Gets or sets the TCP port number from which the underlying will communicate. - - - An integer value in the range to - indicating the TCP port number from which the underlying will communicate. - - - - The underlying will bind to this port for sending messages. - - - Setting the value to 0 (the default) will cause the udp client not to bind to - a local port. - - - The value specified is less than or greater than . - - - - Gets or sets used to write the packets. - - - The used to write the packets. - - - - The used to write the packets. - - - - - - Gets or sets the underlying . - - - The underlying . - - - creates a to send logging events - over a network. Classes deriving from can use this - property to get or set this . Use the underlying - returned from if you require access beyond that which - provides. - - - - - Gets or sets the cached remote endpoint to which the logging events should be sent. - - - The cached remote endpoint to which the logging events will be sent. - - - The method will initialize the remote endpoint - with the values of the and - properties. - - - - - This appender requires a to be set. - - true - - - This appender requires a to be set. - - - - - - Syslog port 514 - - - - - Initializes a new instance of the class. - - - This instance of the class is set up to write - to a remote syslog daemon. - - - - - Add a mapping of level to severity - - The mapping to add - - - Add a mapping to this appender. - - - - - - This method is called by the method. - - The event to log. - - - Writes the event to a remote syslog daemon. - - - The format of the output will depend on the appender's layout. - - - - - - Initialize the options for this appender - - - - Initialize the level to syslog severity mappings set on this appender. - - - - - - Translates a log4net level to a syslog severity. - - A log4net level. - A syslog severity. - - - Translates a log4net level to a syslog severity. - - - - - - Generate a syslog priority. - - The syslog facility. - The syslog severity. - A syslog priority. - - - Generate a syslog priority. - - - - - - The facility. The default facility is . - - - - - The message identity - - - - - Mapping from level object to syslog severity - - - - - Message identity - - - - An identifier is specified with each log message. This can be specified - by setting the property. The identity (also know - as the tag) must not contain white space. The default value for the - identity is the application name (from ). - - - - - - Syslog facility - - - Set to one of the values. The list of - facilities is predefined and cannot be extended. The default value - is . - - - - - syslog severities - - - - The syslog severities. - - - - - - system is unusable - - - - - action must be taken immediately - - - - - critical conditions - - - - - error conditions - - - - - warning conditions - - - - - normal but significant condition - - - - - informational - - - - - debug-level messages - - - - - syslog facilities - - - - The syslog facilities - - - - - - kernel messages - - - - - random user-level messages - - - - - mail system - - - - - system daemons - - - - - security/authorization messages - - - - - messages generated internally by syslogd - - - - - line printer subsystem - - - - - network news subsystem - - - - - UUCP subsystem - - - - - clock (cron/at) daemon - - - - - security/authorization messages (private) - - - - - ftp daemon - - - - - NTP subsystem - - - - - log audit - - - - - log alert - - - - - clock daemon - - - - - reserved for local use - - - - - reserved for local use - - - - - reserved for local use - - - - - reserved for local use - - - - - reserved for local use - - - - - reserved for local use - - - - - reserved for local use - - - - - reserved for local use - - - - - A class to act as a mapping between the level that a logging call is made at and - the syslog severity that is should be logged at. - - - - A class to act as a mapping between the level that a logging call is made at and - the syslog severity that is should be logged at. - - - - - - The mapped syslog severity for the specified level - - - - Required property. - The mapped syslog severity for the specified level - - - - - - Delivers logging events to a remote logging sink. - - - - This Appender is designed to deliver events to a remote sink. - That is any object that implements the - interface. It delivers the events using .NET remoting. The - object to deliver events to is specified by setting the - appenders property. - - The RemotingAppender buffers events before sending them. This allows it to - make more efficient use of the remoting infrastructure. - - Once the buffer is full the events are still not sent immediately. - They are scheduled to be sent using a pool thread. The effect is that - the send occurs asynchronously. This is very important for a - number of non obvious reasons. The remoting infrastructure will - flow thread local variables (stored in the ), - if they are marked as , across the - remoting boundary. If the server is not contactable then - the remoting infrastructure will clear the - objects from the . To prevent a logging failure from - having side effects on the calling application the remoting call must be made - from a separate thread to the one used by the application. A - thread is used for this. If no thread is available then - the events will block in the thread pool manager until a thread is available. - - Because the events are sent asynchronously using pool threads it is possible to close - this appender before all the queued events have been sent. - When closing the appender attempts to wait until all the queued events have been sent, but - this will timeout after 30 seconds regardless. - - If this appender is being closed because the - event has fired it may not be possible to send all the queued events. During process - exit the runtime limits the time that a - event handler is allowed to run for. If the runtime terminates the threads before - the queued events have been sent then they will be lost. To ensure that all events - are sent the appender must be closed before the application exits. See - for details on how to shutdown - log4net programmatically. - - - Nicko Cadell - Gert Driesen - Daniel Cazzulino - - - - Initializes a new instance of the class. - - - - Default constructor. - - - - - - Initialize the appender based on the options set - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - - - - Send the contents of the buffer to the remote sink. - - - The events are not sent immediately. They are scheduled to be sent - using a pool thread. The effect is that the send occurs asynchronously. - This is very important for a number of non obvious reasons. The remoting - infrastructure will flow thread local variables (stored in the ), - if they are marked as , across the - remoting boundary. If the server is not contactable then - the remoting infrastructure will clear the - objects from the . To prevent a logging failure from - having side effects on the calling application the remoting call must be made - from a separate thread to the one used by the application. A - thread is used for this. If no thread is available then - the events will block in the thread pool manager until a thread is available. - - The events to send. - - - - Override base class close. - - - - This method waits while there are queued work items. The events are - sent asynchronously using work items. These items - will be sent once a thread pool thread is available to send them, therefore - it is possible to close the appender before all the queued events have been - sent. - - This method attempts to wait until all the queued events have been sent, but this - method will timeout after 30 seconds regardless. - - If the appender is being closed because the - event has fired it may not be possible to send all the queued events. During process - exit the runtime limits the time that a - event handler is allowed to run for. - - - - - A work item is being queued into the thread pool - - - - - A work item from the thread pool has completed - - - - - Send the contents of the buffer to the remote sink. - - - This method is designed to be used with the . - This method expects to be passed an array of - objects in the state param. - - the logging events to send - - - - The URL of the remote sink. - - - - - The local proxy (.NET remoting) for the remote logging sink. - - - - - The number of queued callbacks currently waiting or executing - - - - - Event used to signal when there are no queued work items - - - This event is set when there are no queued work items. In this - state it is safe to close the appender. - - - - - Gets or sets the URL of the well-known object that will accept - the logging events. - - - The well-known URL of the remote sink. - - - - The URL of the remoting sink that will accept logging events. - The sink must implement the - interface. - - - - - - Interface used to deliver objects to a remote sink. - - - This interface must be implemented by a remoting sink - if the is to be used - to deliver logging events to the sink. - - - - - Delivers logging events to the remote sink - - Array of events to log. - - - Delivers logging events to the remote sink - - - - - - Appender that rolls log files based on size or date or both. - - - - RollingFileAppender can roll log files based on size or date or both - depending on the setting of the property. - When set to the log file will be rolled - once its size exceeds the . - When set to the log file will be rolled - once the date boundary specified in the property - is crossed. - When set to the log file will be - rolled once the date boundary specified in the property - is crossed, but within a date boundary the file will also be rolled - once its size exceeds the . - When set to the log file will be rolled when - the appender is configured. This effectively means that the log file can be - rolled once per program execution. - - - A of few additional optional features have been added: - - Attach date pattern for current log file - Backup number increments for newer files - Infinite number of backups by file size - - - - - - For large or infinite numbers of backup files a - greater than zero is highly recommended, otherwise all the backup files need - to be renamed each time a new backup is created. - - - When Date/Time based rolling is used setting - to will reduce the number of file renamings to few or none. - - - - - - Changing or without clearing - the log file directory of backup files will cause unexpected and unwanted side effects. - - - - - If Date/Time based rolling is enabled this appender will attempt to roll existing files - in the directory without a Date/Time tag based on the last write date of the base log file. - The appender only rolls the log file when a message is logged. If Date/Time based rolling - is enabled then the appender will not roll the log file at the Date/Time boundary but - at the point when the next message is logged after the boundary has been crossed. - - - - The extends the and - has the same behavior when opening the log file. - The appender will first try to open the file for writing when - is called. This will typically be during configuration. - If the file cannot be opened for writing the appender will attempt - to open the file again each time a message is logged to the appender. - If the file cannot be opened for writing when a message is logged then - the message will be discarded by this appender. - - - When rolling a backup file necessitates deleting an older backup file the - file to be deleted is moved to a temporary name before being deleted. - - - - - A maximum number of backup files when rolling on date/time boundaries is not supported. - - - - Nicko Cadell - Gert Driesen - Aspi Havewala - Douglas de la Torre - Edward Smit - - - - Initializes a new instance of the class. - - - - Default constructor. - - - - - - Sets the quiet writer being used. - - - This method can be overridden by sub classes. - - the writer to set - - - - Write out a logging event. - - the event to write to file. - - - Handles append time behavior for RollingFileAppender. This checks - if a roll over either by date (checked first) or time (checked second) - is need and then appends to the file last. - - - - - - Write out an array of logging events. - - the events to write to file. - - - Handles append time behavior for RollingFileAppender. This checks - if a roll over either by date (checked first) or time (checked second) - is need and then appends to the file last. - - - - - - Performs any required rolling before outputting the next event - - - - Handles append time behavior for RollingFileAppender. This checks - if a roll over either by date (checked first) or time (checked second) - is need and then appends to the file last. - - - - - - Creates and opens the file for logging. If - is false then the fully qualified name is determined and used. - - the name of the file to open - true to append to existing file - - This method will ensure that the directory structure - for the specified exists. - - - - - Get the current output file name - - the base file name - the output file name - - The output file name is based on the base fileName specified. - If is set then the output - file name is the same as the base file passed in. Otherwise - the output file depends on the date pattern, on the count - direction or both. - - - - - Determines curSizeRollBackups (only within the current roll point) - - - - - Generates a wildcard pattern that can be used to find all files - that are similar to the base file name. - - - - - - - Builds a list of filenames for all files matching the base filename plus a file - pattern. - - - - - - - Initiates a roll over if needed for crossing a date boundary since the last run. - - - - - Initializes based on existing conditions at time of . - - - - Initializes based on existing conditions at time of . - The following is done - - determine curSizeRollBackups (only within the current roll point) - initiates a roll over if needed for crossing a date boundary since the last run. - - - - - - - Does the work of bumping the 'current' file counter higher - to the highest count when an incremental file name is seen. - The highest count is either the first file (when count direction - is greater than 0) or the last file (when count direction less than 0). - In either case, we want to know the highest count that is present. - - - - - - - Takes a list of files and a base file name, and looks for - 'incremented' versions of the base file. Bumps the max - count up to the highest count seen. - - - - - - - Calculates the RollPoint for the datePattern supplied. - - the date pattern to calculate the check period for - The RollPoint that is most accurate for the date pattern supplied - - Essentially the date pattern is examined to determine what the - most suitable roll point is. The roll point chosen is the roll point - with the smallest period that can be detected using the date pattern - supplied. i.e. if the date pattern only outputs the year, month, day - and hour then the smallest roll point that can be detected would be - and hourly roll point as minutes could not be detected. - - - - - Initialize the appender based on the options set - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - Sets initial conditions including date/time roll over information, first check, - scheduledFilename, and calls to initialize - the current number of backups. - - - - - - Rollover the file(s) to date/time tagged file(s). - - set to true if the file to be rolled is currently open - - - Rollover the file(s) to date/time tagged file(s). - Resets curSizeRollBackups. - If fileIsOpen is set then the new file is opened (through SafeOpenFile). - - - - - - Renames file to file . - - Name of existing file to roll. - New name for file. - - - Renames file to file . It - also checks for existence of target file and deletes if it does. - - - - - - Test if a file exists at a specified path - - the path to the file - true if the file exists - - - Test if a file exists at a specified path - - - - - - Deletes the specified file if it exists. - - The file to delete. - - - Delete a file if is exists. - The file is first moved to a new filename then deleted. - This allows the file to be removed even when it cannot - be deleted, but it still can be moved. - - - - - - Implements file roll base on file size. - - - - If the maximum number of size based backups is reached - (curSizeRollBackups == maxSizeRollBackups) then the oldest - file is deleted -- its index determined by the sign of countDirection. - If countDirection < 0, then files - {File.1, ..., File.curSizeRollBackups -1} - are renamed to {File.2, ..., - File.curSizeRollBackups}. Moreover, File is - renamed File.1 and closed. - - - A new file is created to receive further log output. - - - If maxSizeRollBackups is equal to zero, then the - File is truncated with no backup files created. - - - If maxSizeRollBackups < 0, then File is - renamed if needed and no files are deleted. - - - - - - Implements file roll. - - the base name to rename - - - If the maximum number of size based backups is reached - (curSizeRollBackups == maxSizeRollBackups) then the oldest - file is deleted -- its index determined by the sign of countDirection. - If countDirection < 0, then files - {File.1, ..., File.curSizeRollBackups -1} - are renamed to {File.2, ..., - File.curSizeRollBackups}. - - - If maxSizeRollBackups is equal to zero, then the - File is truncated with no backup files created. - - - If maxSizeRollBackups < 0, then File is - renamed if needed and no files are deleted. - - - This is called by to rename the files. - - - - - - Get the start time of the next window for the current rollpoint - - the current date - the type of roll point we are working with - the start time for the next roll point an interval after the currentDateTime date - - - Returns the date of the next roll point after the currentDateTime date passed to the method. - - - The basic strategy is to subtract the time parts that are less significant - than the rollpoint from the current time. This should roll the time back to - the start of the time window for the current rollpoint. Then we add 1 window - worth of time and get the start time of the next window for the rollpoint. - - - - - - This object supplies the current date/time. Allows test code to plug in - a method to control this class when testing date/time based rolling. - - - - - The date pattern. By default, the pattern is set to ".yyyy-MM-dd" - meaning daily rollover. - - - - - The actual formatted filename that is currently being written to - or will be the file transferred to on roll over - (based on staticLogFileName). - - - - - The timestamp when we shall next recompute the filename. - - - - - Holds date of last roll over - - - - - The type of rolling done - - - - - The default maximum file size is 10MB - - - - - There is zero backup files by default - - - - - How many sized based backups have been made so far - - - - - The rolling file count direction. - - - - - The rolling mode used in this appender. - - - - - Cache flag set if we are rolling by date. - - - - - Cache flag set if we are rolling by size. - - - - - Value indicating whether to always log to the same file. - - - - - FileName provided in configuration. Used for rolling properly - - - - - The 1st of January 1970 in UTC - - - - - Gets or sets the date pattern to be used for generating file names - when rolling over on date. - - - The date pattern to be used for generating file names when rolling - over on date. - - - - Takes a string in the same format as expected by - . - - - This property determines the rollover schedule when rolling over - on date. - - - - - - Gets or sets the maximum number of backup files that are kept before - the oldest is erased. - - - The maximum number of backup files that are kept before the oldest is - erased. - - - - If set to zero, then there will be no backup files and the log file - will be truncated when it reaches . - - - If a negative number is supplied then no deletions will be made. Note - that this could result in very slow performance as a large number of - files are rolled over unless is used. - - - The maximum applies to each time based group of files and - not the total. - - - - - - Gets or sets the maximum size that the output file is allowed to reach - before being rolled over to backup files. - - - The maximum size in bytes that the output file is allowed to reach before being - rolled over to backup files. - - - - This property is equivalent to except - that it is required for differentiating the setter taking a - argument from the setter taking a - argument. - - - The default maximum file size is 10MB (10*1024*1024). - - - - - - Gets or sets the maximum size that the output file is allowed to reach - before being rolled over to backup files. - - - The maximum size that the output file is allowed to reach before being - rolled over to backup files. - - - - This property allows you to specify the maximum size with the - suffixes "KB", "MB" or "GB" so that the size is interpreted being - expressed respectively in kilobytes, megabytes or gigabytes. - - - For example, the value "10KB" will be interpreted as 10240 bytes. - - - The default maximum file size is 10MB. - - - If you have the option to set the maximum file size programmatically - consider using the property instead as this - allows you to set the size in bytes as a . - - - - - - Gets or sets the rolling file count direction. - - - The rolling file count direction. - - - - Indicates if the current file is the lowest numbered file or the - highest numbered file. - - - By default newer files have lower numbers ( < 0), - i.e. log.1 is most recent, log.5 is the 5th backup, etc... - - - >= 0 does the opposite i.e. - log.1 is the first backup made, log.5 is the 5th backup made, etc. - For infinite backups use >= 0 to reduce - rollover costs. - - The default file count direction is -1. - - - - - Gets or sets the rolling style. - - The rolling style. - - - The default rolling style is . - - - When set to this appender's - property is set to false, otherwise - the appender would append to a single file rather than rolling - the file each time it is opened. - - - - - - Gets or sets a value indicating whether to always log to - the same file. - - - true if always should be logged to the same file, otherwise false. - - - - By default file.log is always the current file. Optionally - file.log.yyyy-mm-dd for current formatted datePattern can by the currently - logging file (or file.log.curSizeRollBackup or even - file.log.yyyy-mm-dd.curSizeRollBackup). - - - This will make time based rollovers with a large number of backups - much faster as the appender it won't have to rename all the backups! - - - - - - Style of rolling to use - - - - Style of rolling to use - - - - - - Roll files once per program execution - - - - Roll files once per program execution. - Well really once each time this appender is - configured. - - - Setting this option also sets AppendToFile to - false on the RollingFileAppender, otherwise - this appender would just be a normal file appender. - - - - - - Roll files based only on the size of the file - - - - - Roll files based only on the date - - - - - Roll files based on both the size and date of the file - - - - - The code assumes that the following 'time' constants are in a increasing sequence. - - - - The code assumes that the following 'time' constants are in a increasing sequence. - - - - - - Roll the log not based on the date - - - - - Roll the log for each minute - - - - - Roll the log for each hour - - - - - Roll the log twice a day (midday and midnight) - - - - - Roll the log each day (midnight) - - - - - Roll the log each week - - - - - Roll the log each month - - - - - This interface is used to supply Date/Time information to the . - - - This interface is used to supply Date/Time information to the . - Used primarily to allow test classes to plug themselves in so they can - supply test date/times. - - - - - Gets the current time. - - The current time. - - - Gets the current time. - - - - - - Default implementation of that returns the current time. - - - - - Gets the current time. - - The current time. - - - Gets the current time. - - - - - - Send an e-mail when a specific logging event occurs, typically on errors - or fatal errors. - - - - The number of logging events delivered in this e-mail depend on - the value of option. The - keeps only the last - logging events in its - cyclic buffer. This keeps memory requirements at a reasonable level while - still delivering useful application context. - - - Authentication and setting the server Port are only available on the MS .NET 1.1 runtime. - For these features to be enabled you need to ensure that you are using a version of - the log4net assembly that is built against the MS .NET 1.1 framework and that you are - running the your application on the MS .NET 1.1 runtime. On all other platforms only sending - unauthenticated messages to a server listening on port 25 (the default) is supported. - - - Authentication is supported by setting the property to - either or . - If using authentication then the - and properties must also be set. - - - To set the SMTP server port use the property. The default port is 25. - - - Nicko Cadell - Gert Driesen - - - - Default constructor - - - - Default constructor - - - - - - Sends the contents of the cyclic buffer as an e-mail message. - - The logging events to send. - - - - Send the email message - - the body text to include in the mail - - - - Gets or sets a semicolon-delimited list of recipient e-mail addresses. - - - A semicolon-delimited list of e-mail addresses. - - - - A semicolon-delimited list of recipient e-mail addresses. - - - - - - Gets or sets the e-mail address of the sender. - - - The e-mail address of the sender. - - - - The e-mail address of the sender. - - - - - - Gets or sets the subject line of the e-mail message. - - - The subject line of the e-mail message. - - - - The subject line of the e-mail message. - - - - - - Gets or sets the name of the SMTP relay mail server to use to send - the e-mail messages. - - - The name of the e-mail relay server. If SmtpServer is not set, the - name of the local SMTP server is used. - - - - The name of the e-mail relay server. If SmtpServer is not set, the - name of the local SMTP server is used. - - - - - - Obsolete - - - Use the BufferingAppenderSkeleton Fix methods instead - - - - Obsolete property. - - - - - - The mode to use to authentication with the SMTP server - - - Authentication is only available on the MS .NET 1.1 runtime. - - Valid Authentication mode values are: , - , and . - The default value is . When using - you must specify the - and to use to authenticate. - When using the Windows credentials for the current - thread, if impersonating, or the process will be used to authenticate. - - - - - - The username to use to authenticate with the SMTP server - - - Authentication is only available on the MS .NET 1.1 runtime. - - A and must be specified when - is set to , - otherwise the username will be ignored. - - - - - - The password to use to authenticate with the SMTP server - - - Authentication is only available on the MS .NET 1.1 runtime. - - A and must be specified when - is set to , - otherwise the password will be ignored. - - - - - - The port on which the SMTP server is listening - - - Server Port is only available on the MS .NET 1.1 runtime. - - The port on which the SMTP server is listening. The default - port is 25. The Port can only be changed when running on - the MS .NET 1.1 runtime. - - - - - - Gets or sets the priority of the e-mail message - - - One of the values. - - - - Sets the priority of the e-mails generated by this - appender. The default priority is . - - - If you are using this appender to report errors then - you may want to set the priority to . - - - - - - This appender requires a to be set. - - true - - - This appender requires a to be set. - - - - - - Values for the property. - - - - SMTP authentication modes. - - - - - - No authentication - - - - - Basic authentication. - - - Requires a username and password to be supplied - - - - - Integrated authentication - - - Uses the Windows credentials from the current thread or process to authenticate. - - - - - Send an email when a specific logging event occurs, typically on errors - or fatal errors. Rather than sending via smtp it writes a file into the - directory specified by . This allows services such - as the IIS SMTP agent to manage sending the messages. - - - - The configuration for this appender is identical to that of the SMTPAppender, - except that instead of specifying the SMTPAppender.SMTPHost you specify - . - - - The number of logging events delivered in this e-mail depend on - the value of option. The - keeps only the last - logging events in its - cyclic buffer. This keeps memory requirements at a reasonable level while - still delivering useful application context. - - - Niall Daley - Nicko Cadell - - - - Default constructor - - - - Default constructor - - - - - - Sends the contents of the cyclic buffer as an e-mail message. - - The logging events to send. - - - Sends the contents of the cyclic buffer as an e-mail message. - - - - - - Activate the options on this appender. - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - - - - Convert a path into a fully qualified path. - - The path to convert. - The fully qualified path. - - - Converts the path specified to a fully - qualified path. If the path is relative it is - taken as relative from the application base - directory. - - - - - - The security context to use for privileged calls - - - - - Gets or sets a semicolon-delimited list of recipient e-mail addresses. - - - A semicolon-delimited list of e-mail addresses. - - - - A semicolon-delimited list of e-mail addresses. - - - - - - Gets or sets the e-mail address of the sender. - - - The e-mail address of the sender. - - - - The e-mail address of the sender. - - - - - - Gets or sets the subject line of the e-mail message. - - - The subject line of the e-mail message. - - - - The subject line of the e-mail message. - - - - - - Gets or sets the path to write the messages to. - - - - Gets or sets the path to write the messages to. This should be the same - as that used by the agent sending the messages. - - - - - - Gets or sets the used to write to the pickup directory. - - - The used to write to the pickup directory. - - - - Unless a specified here for this appender - the is queried for the - security context to use. The default behavior is to use the security context - of the current thread. - - - - - - This appender requires a to be set. - - true - - - This appender requires a to be set. - - - - - - Appender that allows clients to connect via Telnet to receive log messages - - - - The TelnetAppender accepts socket connections and streams logging messages - back to the client. - The output is provided in a telnet-friendly way so that a log can be monitored - over a TCP/IP socket. - This allows simple remote monitoring of application logging. - - - The default is 23 (the telnet port). - - - Keith Long - Nicko Cadell - - - - Default constructor - - - - Default constructor - - - - - - Overrides the parent method to close the socket handler - - - - Closes all the outstanding connections. - - - - - - Initialize the appender based on the options set. - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - Create the socket handler and wait for connections - - - - - - Writes the logging event to each connected client. - - The event to log. - - - Writes the logging event to each connected client. - - - - - - Gets or sets the TCP port number on which this will listen for connections. - - - An integer value in the range to - indicating the TCP port number on which this will listen for connections. - - - - The default value is 23 (the telnet port). - - - The value specified is less than - or greater than . - - - - This appender requires a to be set. - - true - - - This appender requires a to be set. - - - - - - Helper class to manage connected clients - - - - The SocketHandler class is used to accept connections from - clients. It is threaded so that clients can connect/disconnect - asynchronously. - - - - - - Opens a new server port on - - the local port to listen on for connections - - - Creates a socket handler on the specified local server port. - - - - - - Sends a string message to each of the connected clients - - the text to send - - - Sends a string message to each of the connected clients - - - - - - Add a client to the internal clients list - - client to add - - - - Remove a client from the internal clients list - - client to remove - - - - Callback used to accept a connection on the server socket - - The result of the asynchronous operation - - - On connection adds to the list of connections - if there are two many open connections you will be disconnected - - - - - - Close all network connections - - - - Make sure we close all network connections - - - - - - Test if this handler has active connections - - - true if this handler has active connections - - - - This property will be true while this handler has - active connections, that is at least one connection that - the handler will attempt to send a message to. - - - - - - Class that represents a client connected to this handler - - - - Class that represents a client connected to this handler - - - - - - Create this for the specified - - the client's socket - - - Opens a stream writer on the socket. - - - - - - Write a string to the client - - string to send - - - Write a string to the client - - - - - - Cleanup the clients connection - - - - Close the socket connection. - - - - - - Appends log events to the system. - - - - The application configuration file can be used to control what listeners - are actually used. See the MSDN documentation for the - class for details on configuring the - trace system. - - - Events are written using the System.Diagnostics.Trace.Write(string,string) - method. The event's logger name is passed as the value for the category name to the Write method. - - - Compact Framework
- The Compact Framework does not support the - class for any operation except Assert. When using the Compact Framework this - appender will write to the system rather than - the Trace system. This appender will therefore behave like the . -
-
- Douglas de la Torre - Nicko Cadell - Gert Driesen -
- - - Initializes a new instance of the . - - - - Default constructor. - - - - - - Initializes a new instance of the - with a specified layout. - - The layout to use with this appender. - - - Obsolete constructor. - - - - - - Writes the logging event to the system. - - The event to log. - - - Writes the logging event to the system. - - - - - - Immediate flush means that the underlying writer or output stream - will be flushed at the end of each append operation. - - - - Immediate flush is slower but ensures that each append request is - actually written. If is set to - false, then there is a good chance that the last few - logs events are not actually written to persistent media if and - when the application crashes. - - - The default value is true. - - - - - Gets or sets a value that indicates whether the appender will - flush at the end of each write. - - - The default behavior is to flush at the end of each - write. If the option is set tofalse, then the underlying - stream can defer writing to physical medium to a later time. - - - Avoiding the flush operation at the end of each append results - in a performance gain of 10 to 20 percent. However, there is safety - trade-off involved in skipping flushing. Indeed, when flushing is - skipped, then it is likely that the last few log events will not - be recorded on disk when the application exits. This is a high - price to pay even for a 20% performance gain. - - - - - - This appender requires a to be set. - - true - - - This appender requires a to be set. - - - - - - Assembly level attribute that specifies a domain to alias to this assembly's repository. - - - - AliasDomainAttribute is obsolete. Use AliasRepositoryAttribute instead of AliasDomainAttribute. - - - An assembly's logger repository is defined by its , - however this can be overridden by an assembly loaded before the target assembly. - - - An assembly can alias another assembly's domain to its repository by - specifying this attribute with the name of the target domain. - - - This attribute can only be specified on the assembly and may be used - as many times as necessary to alias all the required domains. - - - Nicko Cadell - Gert Driesen - - - - Assembly level attribute that specifies a repository to alias to this assembly's repository. - - - - An assembly's logger repository is defined by its , - however this can be overridden by an assembly loaded before the target assembly. - - - An assembly can alias another assembly's repository to its repository by - specifying this attribute with the name of the target repository. - - - This attribute can only be specified on the assembly and may be used - as many times as necessary to alias all the required repositories. - - - Nicko Cadell - Gert Driesen - - - - Initializes a new instance of the class with - the specified repository to alias to this assembly's repository. - - The repository to alias to this assemby's repository. - - - Initializes a new instance of the class with - the specified repository to alias to this assembly's repository. - - - - - - Gets or sets the repository to alias to this assemby's repository. - - - The repository to alias to this assemby's repository. - - - - The name of the repository to alias to this assemby's repository. - - - - - - Initializes a new instance of the class with - the specified domain to alias to this assembly's repository. - - The domain to alias to this assemby's repository. - - - Obsolete. Use instead of . - - - - - - Use this class to quickly configure a . - - - - Allows very simple programmatic configuration of log4net. - - - Only one appender can be configured using this configurator. - The appender is set at the root of the hierarchy and all logging - events will be delivered to that appender. - - - Appenders can also implement the interface. Therefore - they would require that the method - be called after the appenders properties have been configured. - - - Nicko Cadell - Gert Driesen - - - - Initializes a new instance of the class. - - - - Uses a private access modifier to prevent instantiation of this class. - - - - - - Initializes the log4net system with a default configuration. - - - - Initializes the log4net logging system using a - that will write to Console.Out. The log messages are - formatted using the layout object - with the - layout style. - - - - - - Initializes the log4net system using the specified appender. - - The appender to use to log all logging events. - - - Initializes the log4net system using the specified appender. - - - - - - Initializes the with a default configuration. - - The repository to configure. - - - Initializes the specified repository using a - that will write to Console.Out. The log messages are - formatted using the layout object - with the - layout style. - - - - - - Initializes the using the specified appender. - - The repository to configure. - The appender to use to log all logging events. - - - Initializes the using the specified appender. - - - - - - Base class for all log4net configuration attributes. - - - This is an abstract class that must be extended by - specific configurators. This attribute allows the - configurator to be parameterized by an assembly level - attribute. - - Nicko Cadell - Gert Driesen - - - - Constructor used by subclasses. - - the ordering priority for this configurator - - - The is used to order the configurator - attributes before they are invoked. Higher priority configurators are executed - before lower priority ones. - - - - - - Configures the for the specified assembly. - - The assembly that this attribute was defined on. - The repository to configure. - - - Abstract method implemented by a subclass. When this method is called - the subclass should configure the . - - - - - - Compare this instance to another ConfiguratorAttribute - - the object to compare to - see - - - Compares the priorities of the two instances. - Sorts by priority in descending order. Objects with the same priority are - randomly ordered. - - - - - - Assembly level attribute that specifies the logging domain for the assembly. - - - - DomainAttribute is obsolete. Use RepositoryAttribute instead of DomainAttribute. - - - Assemblies are mapped to logging domains. Each domain has its own - logging repository. This attribute specified on the assembly controls - the configuration of the domain. The property specifies the name - of the domain that this assembly is a part of. The - specifies the type of the repository objects to create for the domain. If - this attribute is not specified and a is not specified - then the assembly will be part of the default shared logging domain. - - - This attribute can only be specified on the assembly and may only be used - once per assembly. - - - Nicko Cadell - Gert Driesen - - - - Assembly level attribute that specifies the logging repository for the assembly. - - - - Assemblies are mapped to logging repository. This attribute specified - on the assembly controls - the configuration of the repository. The property specifies the name - of the repository that this assembly is a part of. The - specifies the type of the object - to create for the assembly. If this attribute is not specified or a - is not specified then the assembly will be part of the default shared logging repository. - - - This attribute can only be specified on the assembly and may only be used - once per assembly. - - - Nicko Cadell - Gert Driesen - - - - Initializes a new instance of the class. - - - - Default constructor. - - - - - - Initialize a new instance of the class - with the name of the repository. - - The name of the repository. - - - Initialize the attribute with the name for the assembly's repository. - - - - - - Gets or sets the name of the logging repository. - - - The string name to use as the name of the repository associated with this - assembly. - - - - This value does not have to be unique. Several assemblies can share the - same repository. They will share the logging configuration of the repository. - - - - - - Gets or sets the type of repository to create for this assembly. - - - The type of repository to create for this assembly. - - - - The type of the repository to create for the assembly. - The type must implement the - interface. - - - This will be the type of repository created when - the repository is created. If multiple assemblies reference the - same repository then the repository is only created once using the - of the first assembly to call into the - repository. - - - - - - Initializes a new instance of the class. - - - - Obsolete. Use RepositoryAttribute instead of DomainAttribute. - - - - - - Initialize a new instance of the class - with the name of the domain. - - The name of the domain. - - - Obsolete. Use RepositoryAttribute instead of DomainAttribute. - - - - - - Use this class to initialize the log4net environment using an Xml tree. - - - - DOMConfigurator is obsolete. Use XmlConfigurator instead of DOMConfigurator. - - - Configures a using an Xml tree. - - - Nicko Cadell - Gert Driesen - - - - Private constructor - - - - - Automatically configures the log4net system based on the - application's configuration settings. - - - - DOMConfigurator is obsolete. Use XmlConfigurator instead of DOMConfigurator. - - Each application has a configuration file. This has the - same name as the application with '.config' appended. - This file is XML and calling this function prompts the - configurator to look in that file for a section called - log4net that contains the configuration data. - - - - - Automatically configures the using settings - stored in the application's configuration file. - - - - DOMConfigurator is obsolete. Use XmlConfigurator instead of DOMConfigurator. - - Each application has a configuration file. This has the - same name as the application with '.config' appended. - This file is XML and calling this function prompts the - configurator to look in that file for a section called - log4net that contains the configuration data. - - The repository to configure. - - - - Configures log4net using a log4net element - - - - DOMConfigurator is obsolete. Use XmlConfigurator instead of DOMConfigurator. - - Loads the log4net configuration from the XML element - supplied as . - - The element to parse. - - - - Configures the using the specified XML - element. - - - - DOMConfigurator is obsolete. Use XmlConfigurator instead of DOMConfigurator. - - Loads the log4net configuration from the XML element - supplied as . - - The repository to configure. - The element to parse. - - - - Configures log4net using the specified configuration file. - - The XML file to load the configuration from. - - - DOMConfigurator is obsolete. Use XmlConfigurator instead of DOMConfigurator. - - - The configuration file must be valid XML. It must contain - at least one element called log4net that holds - the log4net configuration data. - - - The log4net configuration file can possible be specified in the application's - configuration file (either MyAppName.exe.config for a - normal application on Web.config for an ASP.NET application). - - - The following example configures log4net using a configuration file, of which the - location is stored in the application's configuration file : - - - using log4net.Config; - using System.IO; - using System.Configuration; - - ... - - DOMConfigurator.Configure(new FileInfo(ConfigurationSettings.AppSettings["log4net-config-file"])); - - - In the .config file, the path to the log4net can be specified like this : - - - - - - - - - - - - - Configures log4net using the specified configuration file. - - A stream to load the XML configuration from. - - - DOMConfigurator is obsolete. Use XmlConfigurator instead of DOMConfigurator. - - - The configuration data must be valid XML. It must contain - at least one element called log4net that holds - the log4net configuration data. - - - Note that this method will NOT close the stream parameter. - - - - - - Configures the using the specified configuration - file. - - The repository to configure. - The XML file to load the configuration from. - - - DOMConfigurator is obsolete. Use XmlConfigurator instead of DOMConfigurator. - - - The configuration file must be valid XML. It must contain - at least one element called log4net that holds - the configuration data. - - - The log4net configuration file can possible be specified in the application's - configuration file (either MyAppName.exe.config for a - normal application on Web.config for an ASP.NET application). - - - The following example configures log4net using a configuration file, of which the - location is stored in the application's configuration file : - - - using log4net.Config; - using System.IO; - using System.Configuration; - - ... - - DOMConfigurator.Configure(new FileInfo(ConfigurationSettings.AppSettings["log4net-config-file"])); - - - In the .config file, the path to the log4net can be specified like this : - - - - - - - - - - - - - Configures the using the specified configuration - file. - - The repository to configure. - The stream to load the XML configuration from. - - - DOMConfigurator is obsolete. Use XmlConfigurator instead of DOMConfigurator. - - - The configuration data must be valid XML. It must contain - at least one element called log4net that holds - the configuration data. - - - Note that this method will NOT close the stream parameter. - - - - - - Configures log4net using the file specified, monitors the file for changes - and reloads the configuration if a change is detected. - - The XML file to load the configuration from. - - - DOMConfigurator is obsolete. Use XmlConfigurator instead of DOMConfigurator. - - - The configuration file must be valid XML. It must contain - at least one element called log4net that holds - the configuration data. - - - The configuration file will be monitored using a - and depends on the behavior of that class. - - - For more information on how to configure log4net using - a separate configuration file, see . - - - - - - - Configures the using the file specified, - monitors the file for changes and reloads the configuration if a change - is detected. - - The repository to configure. - The XML file to load the configuration from. - - - DOMConfigurator is obsolete. Use XmlConfigurator instead of DOMConfigurator. - - - The configuration file must be valid XML. It must contain - at least one element called log4net that holds - the configuration data. - - - The configuration file will be monitored using a - and depends on the behavior of that class. - - - For more information on how to configure log4net using - a separate configuration file, see . - - - - - - - Assembly level attribute to configure the . - - - - AliasDomainAttribute is obsolete. Use AliasRepositoryAttribute instead of AliasDomainAttribute. - - - This attribute may only be used at the assembly scope and can only - be used once per assembly. - - - Use this attribute to configure the - without calling one of the - methods. - - - Nicko Cadell - Gert Driesen - - - - Assembly level attribute to configure the . - - - - This attribute may only be used at the assembly scope and can only - be used once per assembly. - - - Use this attribute to configure the - without calling one of the - methods. - - - If neither of the or - properties are set the configuration is loaded from the application's .config file. - If set the property takes priority over the - property. The property - specifies a path to a file to load the config from. The path is relative to the - application's base directory; . - The property is used as a postfix to the assembly file name. - The config file must be located in the application's base directory; . - For example in a console application setting the to - config has the same effect as not specifying the or - properties. - - - The property can be set to cause the - to watch the configuration file for changes. - - - - Log4net will only look for assembly level configuration attributes once. - When using the log4net assembly level attributes to control the configuration - of log4net you must ensure that the first call to any of the - methods is made from the assembly with the configuration - attributes. - - - If you cannot guarantee the order in which log4net calls will be made from - different assemblies you must use programmatic configuration instead, i.e. - call the method directly. - - - - Nicko Cadell - Gert Driesen - - - - Default constructor - - - - Default constructor - - - - - - Configures the for the specified assembly. - - The assembly that this attribute was defined on. - The repository to configure. - - - Configure the repository using the . - The specified must extend the - class otherwise the will not be able to - configure it. - - - The does not extend . - - - - Attempt to load configuration from the local file system - - The assembly that this attribute was defined on. - The repository to configure. - - - - Configure the specified repository using a - - The repository to configure. - the FileInfo pointing to the config file - - - - Attempt to load configuration from a URI - - The assembly that this attribute was defined on. - The repository to configure. - - - - Gets or sets the filename of the configuration file. - - - The filename of the configuration file. - - - - If specified, this is the name of the configuration file to use with - the . This file path is relative to the - application base directory (). - - - The takes priority over the . - - - - - - Gets or sets the extension of the configuration file. - - - The extension of the configuration file. - - - - If specified this is the extension for the configuration file. - The path to the config file is built by using the application - base directory (), - the assembly file name and the config file extension. - - - If the is set to MyExt then - possible config file names would be: MyConsoleApp.exe.MyExt or - MyClassLibrary.dll.MyExt. - - - The takes priority over the . - - - - - - Gets or sets a value indicating whether to watch the configuration file. - - - true if the configuration should be watched, false otherwise. - - - - If this flag is specified and set to true then the framework - will watch the configuration file and will reload the config each time - the file is modified. - - - The config file can only be watched if it is loaded from local disk. - In a No-Touch (Smart Client) deployment where the application is downloaded - from a web server the config file may not reside on the local disk - and therefore it may not be able to watch it. - - - Watching configuration is not supported on the SSCLI. - - - - - - Class to register for the log4net section of the configuration file - - - The log4net section of the configuration file needs to have a section - handler registered. This is the section handler used. It simply returns - the XML element that is the root of the section. - - - Example of registering the log4net section handler : - - - -
- - - log4net configuration XML goes here - - - - - Nicko Cadell - Gert Driesen - - - - Initializes a new instance of the class. - - - - Default constructor. - - - - - - Parses the configuration section. - - The configuration settings in a corresponding parent configuration section. - The configuration context when called from the ASP.NET configuration system. Otherwise, this parameter is reserved and is a null reference. - The for the log4net section. - The for the log4net section. - - - Returns the containing the configuration data, - - - - - - Assembly level attribute that specifies a plugin to attach to - the repository. - - - - Specifies the type of a plugin to create and attach to the - assembly's repository. The plugin type must implement the - interface. - - - Nicko Cadell - Gert Driesen - - - - Interface used to create plugins. - - - - Interface used to create a plugin. - - - Nicko Cadell - Gert Driesen - - - - Creates the plugin object. - - the new plugin instance - - - Create and return a new plugin instance. - - - - - - Initializes a new instance of the class - with the specified type. - - The type name of plugin to create. - - - Create the attribute with the plugin type specified. - - - Where possible use the constructor that takes a . - - - - - - Initializes a new instance of the class - with the specified type. - - The type of plugin to create. - - - Create the attribute with the plugin type specified. - - - - - - Creates the plugin object defined by this attribute. - - - - Creates the instance of the object as - specified by this attribute. - - - The plugin object. - - - - Returns a representation of the properties of this object. - - - - Overrides base class method to - return a representation of the properties of this object. - - - A representation of the properties of this object - - - - Gets or sets the type for the plugin. - - - The type for the plugin. - - - - The type for the plugin. - - - - - - Gets or sets the type name for the plugin. - - - The type name for the plugin. - - - - The type name for the plugin. - - - Where possible use the property instead. - - - - - - Assembly level attribute to configure the . - - - - This attribute may only be used at the assembly scope and can only - be used once per assembly. - - - Use this attribute to configure the - without calling one of the - methods. - - - Nicko Cadell - - - - Construct provider attribute with type specified - - the type of the provider to use - - - The provider specified must subclass the - class. - - - - - - Configures the SecurityContextProvider - - The assembly that this attribute was defined on. - The repository to configure. - - - Creates a provider instance from the specified. - Sets this as the default security context provider . - - - - - - Gets or sets the type of the provider to use. - - - the type of the provider to use. - - - - The provider specified must subclass the - class. - - - - - - Use this class to initialize the log4net environment using an Xml tree. - - - - Configures a using an Xml tree. - - - Nicko Cadell - Gert Driesen - - - - Private constructor - - - - - Automatically configures the log4net system based on the - application's configuration settings. - - - - Each application has a configuration file. This has the - same name as the application with '.config' appended. - This file is XML and calling this function prompts the - configurator to look in that file for a section called - log4net that contains the configuration data. - - - To use this method to configure log4net you must specify - the section - handler for the log4net configuration section. See the - for an example. - - - - - - - Automatically configures the using settings - stored in the application's configuration file. - - - - Each application has a configuration file. This has the - same name as the application with '.config' appended. - This file is XML and calling this function prompts the - configurator to look in that file for a section called - log4net that contains the configuration data. - - - To use this method to configure log4net you must specify - the section - handler for the log4net configuration section. See the - for an example. - - - The repository to configure. - - - - Configures log4net using a log4net element - - - - Loads the log4net configuration from the XML element - supplied as . - - - The element to parse. - - - - Configures the using the specified XML - element. - - - Loads the log4net configuration from the XML element - supplied as . - - The repository to configure. - The element to parse. - - - - Configures log4net using the specified configuration file. - - The XML file to load the configuration from. - - - The configuration file must be valid XML. It must contain - at least one element called log4net that holds - the log4net configuration data. - - - The log4net configuration file can possible be specified in the application's - configuration file (either MyAppName.exe.config for a - normal application on Web.config for an ASP.NET application). - - - The first element matching <configuration> will be read as the - configuration. If this file is also a .NET .config file then you must specify - a configuration section for the log4net element otherwise .NET will - complain. Set the type for the section handler to , for example: - - -
- - - - - The following example configures log4net using a configuration file, of which the - location is stored in the application's configuration file : - - - using log4net.Config; - using System.IO; - using System.Configuration; - - ... - - XmlConfigurator.Configure(new FileInfo(ConfigurationSettings.AppSettings["log4net-config-file"])); - - - In the .config file, the path to the log4net can be specified like this : - - - - - - - - - - - - - Configures log4net using the specified configuration URI. - - A URI to load the XML configuration from. - - - The configuration data must be valid XML. It must contain - at least one element called log4net that holds - the log4net configuration data. - - - The must support the URI scheme specified. - - - - - - Configures log4net using the specified configuration data stream. - - A stream to load the XML configuration from. - - - The configuration data must be valid XML. It must contain - at least one element called log4net that holds - the log4net configuration data. - - - Note that this method will NOT close the stream parameter. - - - - - - Configures the using the specified configuration - file. - - The repository to configure. - The XML file to load the configuration from. - - - The configuration file must be valid XML. It must contain - at least one element called log4net that holds - the configuration data. - - - The log4net configuration file can possible be specified in the application's - configuration file (either MyAppName.exe.config for a - normal application on Web.config for an ASP.NET application). - - - The first element matching <configuration> will be read as the - configuration. If this file is also a .NET .config file then you must specify - a configuration section for the log4net element otherwise .NET will - complain. Set the type for the section handler to , for example: - - -
- - - - - The following example configures log4net using a configuration file, of which the - location is stored in the application's configuration file : - - - using log4net.Config; - using System.IO; - using System.Configuration; - - ... - - XmlConfigurator.Configure(new FileInfo(ConfigurationSettings.AppSettings["log4net-config-file"])); - - - In the .config file, the path to the log4net can be specified like this : - - - - - - - - - - - - - Configures the using the specified configuration - URI. - - The repository to configure. - A URI to load the XML configuration from. - - - The configuration data must be valid XML. It must contain - at least one element called log4net that holds - the configuration data. - - - The must support the URI scheme specified. - - - - - - Configures the using the specified configuration - file. - - The repository to configure. - The stream to load the XML configuration from. - - - The configuration data must be valid XML. It must contain - at least one element called log4net that holds - the configuration data. - - - Note that this method will NOT close the stream parameter. - - - - - - Configures log4net using the file specified, monitors the file for changes - and reloads the configuration if a change is detected. - - The XML file to load the configuration from. - - - The configuration file must be valid XML. It must contain - at least one element called log4net that holds - the configuration data. - - - The configuration file will be monitored using a - and depends on the behavior of that class. - - - For more information on how to configure log4net using - a separate configuration file, see . - - - - - - - Configures the using the file specified, - monitors the file for changes and reloads the configuration if a change - is detected. - - The repository to configure. - The XML file to load the configuration from. - - - The configuration file must be valid XML. It must contain - at least one element called log4net that holds - the configuration data. - - - The configuration file will be monitored using a - and depends on the behavior of that class. - - - For more information on how to configure log4net using - a separate configuration file, see . - - - - - - - Configures the specified repository using a log4net element. - - The hierarchy to configure. - The element to parse. - - - Loads the log4net configuration from the XML element - supplied as . - - - This method is ultimately called by one of the Configure methods - to load the configuration from an . - - - - - - Class used to watch config files. - - - - Uses the to monitor - changes to a specified file. Because multiple change notifications - may be raised when the file is modified, a timer is used to - compress the notifications into a single event. The timer - waits for time before delivering - the event notification. If any further - change notifications arrive while the timer is waiting it - is reset and waits again for to - elapse. - - - - - - The default amount of time to wait after receiving notification - before reloading the config file. - - - - - Watch a specified config file used to configure a repository - - The repository to configure. - The configuration file to watch. - - - Watch a specified config file used to configure a repository - - - - - - Holds the FileInfo used to configure the XmlConfigurator - - - - - Holds the repository being configured. - - - - - The timer used to compress the notification events. - - - - - Initializes a new instance of the class. - - The repository to configure. - The configuration file to watch. - - - Initializes a new instance of the class. - - - - - - Event handler used by . - - The firing the event. - The argument indicates the file that caused the event to be fired. - - - This handler reloads the configuration from the file when the event is fired. - - - - - - Event handler used by . - - The firing the event. - The argument indicates the file that caused the event to be fired. - - - This handler reloads the configuration from the file when the event is fired. - - - - - - Called by the timer when the configuration has been updated. - - null - - - - The implementation of the interface suitable - for use with the compact framework - - - - This implementation is a simple - mapping between repository name and - object. - - - The .NET Compact Framework 1.0 does not support retrieving assembly - level attributes therefore unlike the DefaultRepositorySelector - this selector does not examine the calling assembly for attributes. - - - Nicko Cadell - - - - Interface used by the to select the . - - - - The uses a - to specify the policy for selecting the correct - to return to the caller. - - - Nicko Cadell - Gert Driesen - - - - Gets the for the specified assembly. - - The assembly to use to lookup to the - The for the assembly. - - - Gets the for the specified assembly. - - - How the association between and - is made is not defined. The implementation may choose any method for - this association. The results of this method must be repeatable, i.e. - when called again with the same arguments the result must be the - save value. - - - - - - Gets the named . - - The name to use to lookup to the . - The named - - Lookup a named . This is the repository created by - calling . - - - - - Creates a new repository for the assembly specified. - - The assembly to use to create the domain to associate with the . - The type of repository to create, must implement . - The repository created. - - - The created will be associated with the domain - specified such that a call to with the - same assembly specified will return the same repository instance. - - - How the association between and - is made is not defined. The implementation may choose any method for - this association. - - - - - - Creates a new repository with the name specified. - - The name to associate with the . - The type of repository to create, must implement . - The repository created. - - - The created will be associated with the name - specified such that a call to with the - same name will return the same repository instance. - - - - - - Test if a named repository exists - - the named repository to check - true if the repository exists - - - Test if a named repository exists. Use - to create a new repository and to retrieve - a repository. - - - - - - Gets an array of all currently defined repositories. - - - An array of the instances created by - this . - - - Gets an array of all of the repositories created by this selector. - - - - - - Event to notify that a logger repository has been created. - - - Event to notify that a logger repository has been created. - - - - Event raised when a new repository is created. - The event source will be this selector. The event args will - be a which - holds the newly created . - - - - - - Create a new repository selector - - the type of the repositories to create, must implement - - - Create an new compact repository selector. - The default type for repositories must be specified, - an appropriate value would be . - - - throw if is null - throw if does not implement - - - - Get the for the specified assembly - - not used - The default - - - The argument is not used. This selector does not create a - separate repository for each assembly. - - - As a named repository is not specified the default repository is - returned. The default repository is named log4net-default-repository. - - - - - - Get the named - - the name of the repository to lookup - The named - - - Get the named . The default - repository is log4net-default-repository. Other repositories - must be created using the . - If the named repository does not exist an exception is thrown. - - - throw if is null - throw if the does not exist - - - - Create a new repository for the assembly specified - - not used - the type of repository to create, must implement - the repository created - - - The argument is not used. This selector does not create a - separate repository for each assembly. - - - If the is null then the - default repository type specified to the constructor is used. - - - As a named repository is not specified the default repository is - returned. The default repository is named log4net-default-repository. - - - - - - Create a new repository for the repository specified - - the repository to associate with the - the type of repository to create, must implement . - If this param is null then the default repository type is used. - the repository created - - - The created will be associated with the repository - specified such that a call to with the - same repository specified will return the same repository instance. - - - If the named repository already exists an exception will be thrown. - - - If is null then the default - repository type specified to the constructor is used. - - - throw if is null - throw if the already exists - - - - Test if a named repository exists - - the named repository to check - true if the repository exists - - - Test if a named repository exists. Use - to create a new repository and to retrieve - a repository. - - - - - - Gets a list of objects - - an array of all known objects - - - Gets an array of all of the repositories created by this selector. - - - - - - Notify the registered listeners that the repository has been created - - The repository that has been created - - - Raises the LoggerRepositoryCreatedEvent - event. - - - - - - Event to notify that a logger repository has been created. - - - Event to notify that a logger repository has been created. - - - - Event raised when a new repository is created. - The event source will be this selector. The event args will - be a which - holds the newly created . - - - - - - The default implementation of the interface. - - - - Uses attributes defined on the calling assembly to determine how to - configure the hierarchy for the repository. - - - Nicko Cadell - Gert Driesen - - - - Creates a new repository selector. - - The type of the repositories to create, must implement - - - Create an new repository selector. - The default type for repositories must be specified, - an appropriate value would be . - - - is . - does not implement . - - - - Gets the for the specified assembly. - - The assembly use to lookup the . - - - The type of the created and the repository - to create can be overridden by specifying the - attribute on the . - - - The default values are to use the - implementation of the interface and to use the - as the name of the repository. - - - The created will be automatically configured using - any attributes defined on - the . - - - The for the assembly - is . - - - - Gets the for the specified repository. - - The repository to use to lookup the . - The for the specified repository. - - - Returns the named repository. If is null - a is thrown. If the repository - does not exist a is thrown. - - - Use to create a repository. - - - is . - does not exist. - - - - Create a new repository for the assembly specified - - the assembly to use to create the repository to associate with the . - The type of repository to create, must implement . - The repository created. - - - The created will be associated with the repository - specified such that a call to with the - same assembly specified will return the same repository instance. - - - The type of the created and - the repository to create can be overridden by specifying the - attribute on the - . The default values are to use the - implementation of the - interface and to use the - as the name of the repository. - - - The created will be automatically - configured using any - attributes defined on the . - - - If a repository for the already exists - that repository will be returned. An error will not be raised and that - repository may be of a different type to that specified in . - Also the attribute on the - assembly may be used to override the repository type specified in - . - - - is . - - - - Creates a new repository for the assembly specified. - - the assembly to use to create the repository to associate with the . - The type of repository to create, must implement . - The name to assign to the created repository - Set to true to read and apply the assembly attributes - The repository created. - - - The created will be associated with the repository - specified such that a call to with the - same assembly specified will return the same repository instance. - - - The type of the created and - the repository to create can be overridden by specifying the - attribute on the - . The default values are to use the - implementation of the - interface and to use the - as the name of the repository. - - - The created will be automatically - configured using any - attributes defined on the . - - - If a repository for the already exists - that repository will be returned. An error will not be raised and that - repository may be of a different type to that specified in . - Also the attribute on the - assembly may be used to override the repository type specified in - . - - - is . - - - - Creates a new repository for the specified repository. - - The repository to associate with the . - The type of repository to create, must implement . - If this param is then the default repository type is used. - The new repository. - - - The created will be associated with the repository - specified such that a call to with the - same repository specified will return the same repository instance. - - - is . - already exists. - - - - Test if a named repository exists - - the named repository to check - true if the repository exists - - - Test if a named repository exists. Use - to create a new repository and to retrieve - a repository. - - - - - - Gets a list of objects - - an array of all known objects - - - Gets an array of all of the repositories created by this selector. - - - - - - Aliases a repository to an existing repository. - - The repository to alias. - The repository that the repository is aliased to. - - - The repository specified will be aliased to the repository when created. - The repository must not already exist. - - - When the repository is created it must utilize the same repository type as - the repository it is aliased to, otherwise the aliasing will fail. - - - - is . - -or- - is . - - - - - Notifies the registered listeners that the repository has been created. - - The repository that has been created. - - - Raises the event. - - - - - - Gets the repository name and repository type for the specified assembly. - - The assembly that has a . - in/out param to hold the repository name to use for the assembly, caller should set this to the default value before calling. - in/out param to hold the type of the repository to create for the assembly, caller should set this to the default value before calling. - is . - - - - Configures the repository using information from the assembly. - - The assembly containing - attributes which define the configuration for the repository. - The repository to configure. - - is . - -or- - is . - - - - - Loads the attribute defined plugins on the assembly. - - The assembly that contains the attributes. - The repository to add the plugins to. - - is . - -or- - is . - - - - - Loads the attribute defined aliases on the assembly. - - The assembly that contains the attributes. - The repository to alias to. - - is . - -or- - is . - - - - - Event to notify that a logger repository has been created. - - - Event to notify that a logger repository has been created. - - - - Event raised when a new repository is created. - The event source will be this selector. The event args will - be a which - holds the newly created . - - - - - - Defined error codes that can be passed to the method. - - - - Values passed to the method. - - - Nicko Cadell - - - - A general error - - - - - Error while writing output - - - - - Failed to flush file - - - - - Failed to close file - - - - - Unable to open output file - - - - - No layout specified - - - - - Failed to parse address - - - - - Appenders may delegate their error handling to an . - - - - Error handling is a particularly tedious to get right because by - definition errors are hard to predict and to reproduce. - - - Nicko Cadell - Gert Driesen - - - - Handles the error and information about the error condition is passed as - a parameter. - - The message associated with the error. - The that was thrown when the error occurred. - The error code associated with the error. - - - Handles the error and information about the error condition is passed as - a parameter. - - - - - - Prints the error message passed as a parameter. - - The message associated with the error. - The that was thrown when the error occurred. - - - See . - - - - - - Prints the error message passed as a parameter. - - The message associated with the error. - - - See . - - - - - - Interface for objects that require fixing. - - - - Interface that indicates that the object requires fixing before it - can be taken outside the context of the appender's - method. - - - When objects that implement this interface are stored - in the context properties maps - and - are fixed - (see ) the - method will be called. - - - Nicko Cadell - - - - Get a portable version of this object - - the portable instance of this object - - - Get a portable instance object that represents the current - state of this object. The portable object can be stored - and logged from any thread with identical results. - - - - - - Interface that all loggers implement - - - - This interface supports logging events and testing if a level - is enabled for logging. - - - These methods will not throw exceptions. Note to implementor, ensure - that the implementation of these methods cannot allow an exception - to be thrown to the caller. - - - Nicko Cadell - Gert Driesen - - - - This generic form is intended to be used by wrappers. - - The declaring type of the method that is - the stack boundary into the logging system for this call. - The level of the message to be logged. - The message object to log. - the exception to log, including its stack trace. Pass null to not log an exception. - - - Generates a logging event for the specified using - the and . - - - - - - This is the most generic printing method that is intended to be used - by wrappers. - - The event being logged. - - - Logs the specified logging event through this logger. - - - - - - Checks if this logger is enabled for a given passed as parameter. - - The level to check. - - true if this logger is enabled for level, otherwise false. - - - - Test if this logger is going to log events of the specified . - - - - - - Gets the name of the logger. - - - The name of the logger. - - - - The name of this logger - - - - - - Gets the where this - Logger instance is attached to. - - - The that this logger belongs to. - - - - Gets the where this - Logger instance is attached to. - - - - - - Base interface for all wrappers - - - - Base interface for all wrappers. - - - All wrappers must implement this interface. - - - Nicko Cadell - - - - Get the implementation behind this wrapper object. - - - The object that in implementing this object. - - - - The object that in implementing this - object. The Logger object may not - be the same object as this object because of logger decorators. - This gets the actual underlying objects that is used to process - the log events. - - - - - - Delegate used to handle logger repository creation event notifications - - The which created the repository. - The event args - that holds the instance that has been created. - - - Delegate used to handle logger repository creation event notifications. - - - - - - Provides data for the event. - - - - A - event is raised every time a is created. - - - - - - The created - - - - - Construct instance using specified - - the that has been created - - - Construct instance using specified - - - - - - The that has been created - - - The that has been created - - - - The that has been created - - - - - - Test if an triggers an action - - - - Implementations of this interface allow certain appenders to decide - when to perform an appender specific action. - - - The action or behavior triggered is defined by the implementation. - - - Nicko Cadell - - - - Test if this event triggers the action - - The event to check - true if this event triggers the action, otherwise false - - - Return true if this event triggers the action - - - - - - Defines the default set of levels recognized by the system. - - - - Each has an associated . - - - Levels have a numeric that defines the relative - ordering between levels. Two Levels with the same - are deemed to be equivalent. - - - The levels that are recognized by log4net are set for each - and each repository can have different levels defined. The levels are stored - in the on the repository. Levels are - looked up by name from the . - - - When logging at level INFO the actual level used is not but - the value of LoggerRepository.LevelMap["INFO"]. The default value for this is - , but this can be changed by reconfiguring the level map. - - - Each level has a in addition to its . The - is the string that is written into the output log. By default - the display name is the same as the level name, but this can be used to alias levels - or to localize the log output. - - - Some of the predefined levels recognized by the system are: - - - - . - - - . - - - . - - - . - - - . - - - . - - - . - - - - Nicko Cadell - Gert Driesen - - - - Constructor - - Integer value for this level, higher values represent more severe levels. - The string name of this level. - The display name for this level. This may be localized or otherwise different from the name - - - Initializes a new instance of the class with - the specified level name and value. - - - - - - Constructor - - Integer value for this level, higher values represent more severe levels. - The string name of this level. - - - Initializes a new instance of the class with - the specified level name and value. - - - - - - Returns the representation of the current - . - - - A representation of the current . - - - - Returns the level . - - - - - - Compares levels. - - The object to compare against. - true if the objects are equal. - - - Compares the levels of instances, and - defers to base class if the target object is not a - instance. - - - - - - Returns a hash code - - A hash code for the current . - - - Returns a hash code suitable for use in hashing algorithms and data - structures like a hash table. - - - Returns the hash code of the level . - - - - - - Compares this instance to a specified object and returns an - indication of their relative values. - - A instance or to compare with this instance. - - A 32-bit signed integer that indicates the relative order of the - values compared. The return value has these meanings: - - - Value - Meaning - - - Less than zero - This instance is less than . - - - Zero - This instance is equal to . - - - Greater than zero - - This instance is greater than . - -or- - is . - - - - - - - must be an instance of - or ; otherwise, an exception is thrown. - - - is not a . - - - - Returns a value indicating whether a specified - is greater than another specified . - - A - A - - true if is greater than - ; otherwise, false. - - - - Compares two levels. - - - - - - Returns a value indicating whether a specified - is less than another specified . - - A - A - - true if is less than - ; otherwise, false. - - - - Compares two levels. - - - - - - Returns a value indicating whether a specified - is greater than or equal to another specified . - - A - A - - true if is greater than or equal to - ; otherwise, false. - - - - Compares two levels. - - - - - - Returns a value indicating whether a specified - is less than or equal to another specified . - - A - A - - true if is less than or equal to - ; otherwise, false. - - - - Compares two levels. - - - - - - Returns a value indicating whether two specified - objects have the same value. - - A or . - A or . - - true if the value of is the same as the - value of ; otherwise, false. - - - - Compares two levels. - - - - - - Returns a value indicating whether two specified - objects have different values. - - A or . - A or . - - true if the value of is different from - the value of ; otherwise, false. - - - - Compares two levels. - - - - - - Compares two specified instances. - - The first to compare. - The second to compare. - - A 32-bit signed integer that indicates the relative order of the - two values compared. The return value has these meanings: - - - Value - Meaning - - - Less than zero - is less than . - - - Zero - is equal to . - - - Greater than zero - is greater than . - - - - - - Compares two levels. - - - - - - The level designates a higher level than all the rest. - - - - - The level designates very severe error events. - System unusable, emergencies. - - - - - The level designates very severe error events - that will presumably lead the application to abort. - - - - - The level designates very severe error events. - Take immediate action, alerts. - - - - - The level designates very severe error events. - Critical condition, critical. - - - - - The level designates very severe error events. - - - - - The level designates error events that might - still allow the application to continue running. - - - - - The level designates potentially harmful - situations. - - - - - The level designates informational messages - that highlight the progress of the application at the highest level. - - - - - The level designates informational messages that - highlight the progress of the application at coarse-grained level. - - - - - The level designates fine-grained informational - events that are most useful to debug an application. - - - - - The level designates fine-grained informational - events that are most useful to debug an application. - - - - - The level designates fine-grained informational - events that are most useful to debug an application. - - - - - The level designates fine-grained informational - events that are most useful to debug an application. - - - - - The level designates fine-grained informational - events that are most useful to debug an application. - - - - - The level designates fine-grained informational - events that are most useful to debug an application. - - - - - The level designates the lowest level possible. - - - - - Gets the name of this level. - - - The name of this level. - - - - Gets the name of this level. - - - - - - Gets the value of this level. - - - The value of this level. - - - - Gets the value of this level. - - - - - - Gets the display name of this level. - - - The display name of this level. - - - - Gets the display name of this level. - - - - - - A strongly-typed collection of objects. - - Nicko Cadell - - - - Creates a read-only wrapper for a LevelCollection instance. - - list to create a readonly wrapper arround - - A LevelCollection wrapper that is read-only. - - - - - Initializes a new instance of the LevelCollection class - that is empty and has the default initial capacity. - - - - - Initializes a new instance of the LevelCollection class - that has the specified initial capacity. - - - The number of elements that the new LevelCollection is initially capable of storing. - - - - - Initializes a new instance of the LevelCollection class - that contains elements copied from the specified LevelCollection. - - The LevelCollection whose elements are copied to the new collection. - - - - Initializes a new instance of the LevelCollection class - that contains elements copied from the specified array. - - The array whose elements are copied to the new list. - - - - Initializes a new instance of the LevelCollection class - that contains elements copied from the specified collection. - - The collection whose elements are copied to the new list. - - - - Allow subclasses to avoid our default constructors - - - - - - Copies the entire LevelCollection to a one-dimensional - array. - - The one-dimensional array to copy to. - - - - Copies the entire LevelCollection to a one-dimensional - array, starting at the specified index of the target array. - - The one-dimensional array to copy to. - The zero-based index in at which copying begins. - - - - Adds a to the end of the LevelCollection. - - The to be added to the end of the LevelCollection. - The index at which the value has been added. - - - - Removes all elements from the LevelCollection. - - - - - Creates a shallow copy of the . - - A new with a shallow copy of the collection data. - - - - Determines whether a given is in the LevelCollection. - - The to check for. - true if is found in the LevelCollection; otherwise, false. - - - - Returns the zero-based index of the first occurrence of a - in the LevelCollection. - - The to locate in the LevelCollection. - - The zero-based index of the first occurrence of - in the entire LevelCollection, if found; otherwise, -1. - - - - - Inserts an element into the LevelCollection at the specified index. - - The zero-based index at which should be inserted. - The to insert. - - is less than zero - -or- - is equal to or greater than . - - - - - Removes the first occurrence of a specific from the LevelCollection. - - The to remove from the LevelCollection. - - The specified was not found in the LevelCollection. - - - - - Removes the element at the specified index of the LevelCollection. - - The zero-based index of the element to remove. - - is less than zero - -or- - is equal to or greater than . - - - - - Returns an enumerator that can iterate through the LevelCollection. - - An for the entire LevelCollection. - - - - Adds the elements of another LevelCollection to the current LevelCollection. - - The LevelCollection whose elements should be added to the end of the current LevelCollection. - The new of the LevelCollection. - - - - Adds the elements of a array to the current LevelCollection. - - The array whose elements should be added to the end of the LevelCollection. - The new of the LevelCollection. - - - - Adds the elements of a collection to the current LevelCollection. - - The collection whose elements should be added to the end of the LevelCollection. - The new of the LevelCollection. - - - - Sets the capacity to the actual number of elements. - - - - - is less than zero - -or- - is equal to or greater than . - - - - - is less than zero - -or- - is equal to or greater than . - - - - - Gets the number of elements actually contained in the LevelCollection. - - - - - Gets a value indicating whether access to the collection is synchronized (thread-safe). - - true if access to the ICollection is synchronized (thread-safe); otherwise, false. - - - - Gets an object that can be used to synchronize access to the collection. - - - - - Gets or sets the at the specified index. - - The zero-based index of the element to get or set. - - is less than zero - -or- - is equal to or greater than . - - - - - Gets a value indicating whether the collection has a fixed size. - - true if the collection has a fixed size; otherwise, false. The default is false - - - - Gets a value indicating whether the IList is read-only. - - true if the collection is read-only; otherwise, false. The default is false - - - - Gets or sets the number of elements the LevelCollection can contain. - - - - - Supports type-safe iteration over a . - - - - - Advances the enumerator to the next element in the collection. - - - true if the enumerator was successfully advanced to the next element; - false if the enumerator has passed the end of the collection. - - - The collection was modified after the enumerator was created. - - - - - Sets the enumerator to its initial position, before the first element in the collection. - - - - - Gets the current element in the collection. - - - - - Type visible only to our subclasses - Used to access protected constructor - - - - - A value - - - - - Supports simple iteration over a . - - - - - Initializes a new instance of the Enumerator class. - - - - - - Advances the enumerator to the next element in the collection. - - - true if the enumerator was successfully advanced to the next element; - false if the enumerator has passed the end of the collection. - - - The collection was modified after the enumerator was created. - - - - - Sets the enumerator to its initial position, before the first element in the collection. - - - - - Gets the current element in the collection. - - - - - An evaluator that triggers at a threshold level - - - - This evaluator will trigger if the level of the event - passed to - is equal to or greater than the - level. - - - Nicko Cadell - - - - The threshold for triggering - - - - - Create a new evaluator using the threshold. - - - - Create a new evaluator using the threshold. - - - This evaluator will trigger if the level of the event - passed to - is equal to or greater than the - level. - - - - - - Create a new evaluator using the specified threshold. - - the threshold to trigger at - - - Create a new evaluator using the specified threshold. - - - This evaluator will trigger if the level of the event - passed to - is equal to or greater than the - level. - - - - - - Is this the triggering event? - - The event to check - This method returns true, if the event level - is equal or higher than the . - Otherwise it returns false - - - This evaluator will trigger if the level of the event - passed to - is equal to or greater than the - level. - - - - - - the threshold to trigger at - - - The that will cause this evaluator to trigger - - - - This evaluator will trigger if the level of the event - passed to - is equal to or greater than the - level. - - - - - - Mapping between string name and Level object - - - - Mapping between string name and object. - This mapping is held separately for each . - The level name is case insensitive. - - - Nicko Cadell - - - - Mapping from level name to Level object. The - level name is case insensitive - - - - - Construct the level map - - - - Construct the level map. - - - - - - Clear the internal maps of all levels - - - - Clear the internal maps of all levels - - - - - - Create a new Level and add it to the map - - the string to display for the Level - the level value to give to the Level - - - Create a new Level and add it to the map - - - - - - - Create a new Level and add it to the map - - the string to display for the Level - the level value to give to the Level - the display name to give to the Level - - - Create a new Level and add it to the map - - - - - - Add a Level to the map - - the Level to add - - - Add a Level to the map - - - - - - Lookup a named level from the map - - the name of the level to lookup is taken from this level. - If the level is not set on the map then this level is added - the level in the map with the name specified - - - Lookup a named level from the map. The name of the level to lookup is taken - from the property of the - argument. - - - If no level with the specified name is found then the - argument is added to the level map - and returned. - - - - - - Lookup a by name - - The name of the Level to lookup - a Level from the map with the name specified - - - Returns the from the - map with the name specified. If the no level is - found then null is returned. - - - - - - Return all possible levels as a list of Level objects. - - all possible levels as a list of Level objects - - - Return all possible levels as a list of Level objects. - - - - - - The internal representation of caller location information. - - - - This class uses the System.Diagnostics.StackTrace class to generate - a call stack. The caller's information is then extracted from this stack. - - - The System.Diagnostics.StackTrace class is not supported on the - .NET Compact Framework 1.0 therefore caller location information is not - available on that framework. - - - The System.Diagnostics.StackTrace class has this to say about Release builds: - - - "StackTrace information will be most informative with Debug build configurations. - By default, Debug builds include debug symbols, while Release builds do not. The - debug symbols contain most of the file, method name, line number, and column - information used in constructing StackFrame and StackTrace objects. StackTrace - might not report as many method calls as expected, due to code transformations - that occur during optimization." - - - This means that in a Release build the caller information may be incomplete or may - not exist at all! Therefore caller location information cannot be relied upon in a Release build. - - - Nicko Cadell - Gert Driesen - - - - When location information is not available the constant - NA is returned. Current value of this string - constant is ?. - - - - - Constructor - - The declaring type of the method that is - the stack boundary into the logging system for this call. - - - Initializes a new instance of the - class based on the current thread. - - - - - - Constructor - - The fully qualified class name. - The method name. - The file name. - The line number of the method within the file. - - - Initializes a new instance of the - class with the specified data. - - - - - - Gets the fully qualified class name of the caller making the logging - request. - - - The fully qualified class name of the caller making the logging - request. - - - - Gets the fully qualified class name of the caller making the logging - request. - - - - - - Gets the file name of the caller. - - - The file name of the caller. - - - - Gets the file name of the caller. - - - - - - Gets the line number of the caller. - - - The line number of the caller. - - - - Gets the line number of the caller. - - - - - - Gets the method name of the caller. - - - The method name of the caller. - - - - Gets the method name of the caller. - - - - - - Gets all available caller information - - - All available caller information, in the format - fully.qualified.classname.of.caller.methodName(Filename:line) - - - - Gets all available caller information, in the format - fully.qualified.classname.of.caller.methodName(Filename:line) - - - - - - Static manager that controls the creation of repositories - - - - Static manager that controls the creation of repositories - - - This class is used by the wrapper managers (e.g. ) - to provide access to the objects. - - - This manager also holds the that is used to - lookup and create repositories. The selector can be set either programmatically using - the property, or by setting the log4net.RepositorySelector - AppSetting in the applications config file to the fully qualified type name of the - selector to use. - - - Nicko Cadell - Gert Driesen - - - - Private constructor to prevent instances. Only static methods should be used. - - - - Private constructor to prevent instances. Only static methods should be used. - - - - - - Hook the shutdown event - - - - On the full .NET runtime, the static constructor hooks up the - AppDomain.ProcessExit and AppDomain.DomainUnload> events. - These are used to shutdown the log4net system as the application exits. - - - - - - Register for ProcessExit and DomainUnload events on the AppDomain - - - - This needs to be in a separate method because the events make - a LinkDemand for the ControlAppDomain SecurityPermission. Because - this is a LinkDemand it is demanded at JIT time. Therefore we cannot - catch the exception in the method itself, we have to catch it in the - caller. - - - - - - Return the default instance. - - the repository to lookup in - Return the default instance - - - Gets the for the repository specified - by the argument. - - - - - - Returns the default instance. - - The assembly to use to lookup the repository. - The default instance. - - - - Return the default instance. - - the repository to lookup in - Return the default instance - - - Gets the for the repository specified - by the argument. - - - - - - Returns the default instance. - - The assembly to use to lookup the repository. - The default instance. - - - Returns the default instance. - - - - - - Returns the named logger if it exists. - - The repository to lookup in. - The fully qualified logger name to look for. - - The logger found, or null if the named logger does not exist in the - specified repository. - - - - If the named logger exists (in the specified repository) then it - returns a reference to the logger, otherwise it returns - null. - - - - - - Returns the named logger if it exists. - - The assembly to use to lookup the repository. - The fully qualified logger name to look for. - - The logger found, or null if the named logger does not exist in the - specified assembly's repository. - - - - If the named logger exists (in the specified assembly's repository) then it - returns a reference to the logger, otherwise it returns - null. - - - - - - Returns all the currently defined loggers in the specified repository. - - The repository to lookup in. - All the defined loggers. - - - The root logger is not included in the returned array. - - - - - - Returns all the currently defined loggers in the specified assembly's repository. - - The assembly to use to lookup the repository. - All the defined loggers. - - - The root logger is not included in the returned array. - - - - - - Retrieves or creates a named logger. - - The repository to lookup in. - The name of the logger to retrieve. - The logger with the name specified. - - - Retrieves a logger named as the - parameter. If the named logger already exists, then the - existing instance will be returned. Otherwise, a new instance is - created. - - - By default, loggers do not have a set level but inherit - it from the hierarchy. This is one of the central features of - log4net. - - - - - - Retrieves or creates a named logger. - - The assembly to use to lookup the repository. - The name of the logger to retrieve. - The logger with the name specified. - - - Retrieves a logger named as the - parameter. If the named logger already exists, then the - existing instance will be returned. Otherwise, a new instance is - created. - - - By default, loggers do not have a set level but inherit - it from the hierarchy. This is one of the central features of - log4net. - - - - - - Shorthand for . - - The repository to lookup in. - The of which the fullname will be used as the name of the logger to retrieve. - The logger with the name specified. - - - Gets the logger for the fully qualified name of the type specified. - - - - - - Shorthand for . - - the assembly to use to lookup the repository - The of which the fullname will be used as the name of the logger to retrieve. - The logger with the name specified. - - - Gets the logger for the fully qualified name of the type specified. - - - - - - Shuts down the log4net system. - - - - Calling this method will safely close and remove all - appenders in all the loggers including root contained in all the - default repositories. - - - Some appenders need to be closed before the application exists. - Otherwise, pending logging events might be lost. - - - The shutdown method is careful to close nested - appenders before closing regular appenders. This is allows - configurations where a regular appender is attached to a logger - and again to a nested appender. - - - - - - Shuts down the repository for the repository specified. - - The repository to shutdown. - - - Calling this method will safely close and remove all - appenders in all the loggers including root contained in the - repository for the specified. - - - Some appenders need to be closed before the application exists. - Otherwise, pending logging events might be lost. - - - The shutdown method is careful to close nested - appenders before closing regular appenders. This is allows - configurations where a regular appender is attached to a logger - and again to a nested appender. - - - - - - Shuts down the repository for the repository specified. - - The assembly to use to lookup the repository. - - - Calling this method will safely close and remove all - appenders in all the loggers including root contained in the - repository for the repository. The repository is looked up using - the specified. - - - Some appenders need to be closed before the application exists. - Otherwise, pending logging events might be lost. - - - The shutdown method is careful to close nested - appenders before closing regular appenders. This is allows - configurations where a regular appender is attached to a logger - and again to a nested appender. - - - - - - Resets all values contained in this repository instance to their defaults. - - The repository to reset. - - - Resets all values contained in the repository instance to their - defaults. This removes all appenders from all loggers, sets - the level of all non-root loggers to null, - sets their additivity flag to true and sets the level - of the root logger to . Moreover, - message disabling is set its default "off" value. - - - - - - Resets all values contained in this repository instance to their defaults. - - The assembly to use to lookup the repository to reset. - - - Resets all values contained in the repository instance to their - defaults. This removes all appenders from all loggers, sets - the level of all non-root loggers to null, - sets their additivity flag to true and sets the level - of the root logger to . Moreover, - message disabling is set its default "off" value. - - - - - - Creates a repository with the specified name. - - The name of the repository, this must be unique amongst repositories. - The created for the repository. - - - CreateDomain is obsolete. Use CreateRepository instead of CreateDomain. - - - Creates the default type of which is a - object. - - - The name must be unique. Repositories cannot be redefined. - An will be thrown if the repository already exists. - - - The specified repository already exists. - - - - Creates a repository with the specified name. - - The name of the repository, this must be unique amongst repositories. - The created for the repository. - - - Creates the default type of which is a - object. - - - The name must be unique. Repositories cannot be redefined. - An will be thrown if the repository already exists. - - - The specified repository already exists. - - - - Creates a repository with the specified name and repository type. - - The name of the repository, this must be unique to the repository. - A that implements - and has a no arg constructor. An instance of this type will be created to act - as the for the repository specified. - The created for the repository. - - - CreateDomain is obsolete. Use CreateRepository instead of CreateDomain. - - - The name must be unique. Repositories cannot be redefined. - An Exception will be thrown if the repository already exists. - - - The specified repository already exists. - - - - Creates a repository with the specified name and repository type. - - The name of the repository, this must be unique to the repository. - A that implements - and has a no arg constructor. An instance of this type will be created to act - as the for the repository specified. - The created for the repository. - - - The name must be unique. Repositories cannot be redefined. - An Exception will be thrown if the repository already exists. - - - The specified repository already exists. - - - - Creates a repository for the specified assembly and repository type. - - The assembly to use to get the name of the repository. - A that implements - and has a no arg constructor. An instance of this type will be created to act - as the for the repository specified. - The created for the repository. - - - CreateDomain is obsolete. Use CreateRepository instead of CreateDomain. - - - The created will be associated with the repository - specified such that a call to with the - same assembly specified will return the same repository instance. - - - - - - Creates a repository for the specified assembly and repository type. - - The assembly to use to get the name of the repository. - A that implements - and has a no arg constructor. An instance of this type will be created to act - as the for the repository specified. - The created for the repository. - - - The created will be associated with the repository - specified such that a call to with the - same assembly specified will return the same repository instance. - - - - - - Gets an array of all currently defined repositories. - - An array of all the known objects. - - - Gets an array of all currently defined repositories. - - - - - - Internal method to get pertinent version info. - - A string of version info. - - - - Called when the event fires - - the that is exiting - null - - - Called when the event fires. - - - When the event is triggered the log4net system is . - - - - - - Called when the event fires - - the that is exiting - null - - - Called when the event fires. - - - When the event is triggered the log4net system is . - - - - - - Initialize the default repository selector - - - - - Gets or sets the repository selector used by the . - - - The repository selector used by the . - - - - The repository selector () is used by - the to create and select repositories - (). - - - The caller to supplies either a string name - or an assembly (if not supplied the assembly is inferred using - ). - - - This context is used by the selector to lookup a specific repository. - - - For the full .NET Framework, the default repository is DefaultRepositorySelector; - for the .NET Compact Framework CompactRepositorySelector is the default - repository. - - - - - - Implementation of the interface. - - - - This class should be used as the base for all wrapper implementations. - - - Nicko Cadell - Gert Driesen - - - - Constructs a new wrapper for the specified logger. - - The logger to wrap. - - - Constructs a new wrapper for the specified logger. - - - - - - The logger that this object is wrapping - - - - - Gets the implementation behind this wrapper object. - - - The object that this object is implementing. - - - - The Logger object may not be the same object as this object - because of logger decorators. - - - This gets the actual underlying objects that is used to process - the log events. - - - - - - Portable data structure used by - - - - Portable data structure used by - - - Nicko Cadell - - - - The logger name. - - - - The logger name. - - - - - - Level of logging event. - - - - Level of logging event. Level cannot be Serializable - because it is a flyweight. Due to its special serialization it - cannot be declared final either. - - - - - - The application supplied message. - - - - The application supplied message of logging event. - - - - - - The name of thread - - - - The name of thread in which this logging event was generated - - - - - - The time the event was logged - - - - The TimeStamp is stored in the local time zone for this computer. - - - - - - Location information for the caller. - - - - Location information for the caller. - - - - - - String representation of the user - - - - String representation of the user's windows name, - like DOMAIN\username - - - - - - String representation of the identity. - - - - String representation of the current thread's principal identity. - - - - - - The string representation of the exception - - - - The string representation of the exception - - - - - - String representation of the AppDomain. - - - - String representation of the AppDomain. - - - - - - Additional event specific properties - - - - A logger or an appender may attach additional - properties to specific events. These properties - have a string key and an object value. - - - - - - Flags passed to the property - - - - Flags passed to the property - - - Nicko Cadell - - - - Fix the MDC - - - - - Fix the NDC - - - - - Fix the rendered message - - - - - Fix the thread name - - - - - Fix the callers location information - - - CAUTION: Very slow to generate - - - - - Fix the callers windows user name - - - CAUTION: Slow to generate - - - - - Fix the domain friendly name - - - - - Fix the callers principal name - - - CAUTION: May be slow to generate - - - - - Fix the exception text - - - - - Fix the event properties - - - - - No fields fixed - - - - - All fields fixed - - - - - Partial fields fixed - - - - This set of partial fields gives good performance. The following fields are fixed: - - - - - - - - - - - - - The internal representation of logging events. - - - - When an affirmative decision is made to log then a - instance is created. This instance - is passed around to the different log4net components. - - - This class is of concern to those wishing to extend log4net. - - - Some of the values in instances of - are considered volatile, that is the values are correct at the - time the event is delivered to appenders, but will not be consistent - at any time afterwards. If an event is to be stored and then processed - at a later time these volatile values must be fixed by calling - . There is a performance penalty - for incurred by calling but it - is essential to maintaining data consistency. - - - Nicko Cadell - Gert Driesen - Douglas de la Torre - Daniel Cazzulino - - - - The key into the Properties map for the host name value. - - - - - The key into the Properties map for the thread identity value. - - - - - The key into the Properties map for the user name value. - - - - - Initializes a new instance of the class - from the supplied parameters. - - The declaring type of the method that is - the stack boundary into the logging system for this call. - The repository this event is logged in. - The name of the logger of this event. - The level of this event. - The message of this event. - The exception for this event. - - - Except , and , - all fields of LoggingEvent are filled when actually needed. Call - to cache all data locally - to prevent inconsistencies. - - This method is called by the log4net framework - to create a logging event. - - - - - - Initializes a new instance of the class - using specific data. - - The declaring type of the method that is - the stack boundary into the logging system for this call. - The repository this event is logged in. - Data used to initialize the logging event. - The fields in the struct that have already been fixed. - - - This constructor is provided to allow a - to be created independently of the log4net framework. This can - be useful if you require a custom serialization scheme. - - - Use the method to obtain an - instance of the class. - - - The parameter should be used to specify which fields in the - struct have been preset. Fields not specified in the - will be captured from the environment if requested or fixed. - - - - - - Initializes a new instance of the class - using specific data. - - The declaring type of the method that is - the stack boundary into the logging system for this call. - The repository this event is logged in. - Data used to initialize the logging event. - - - This constructor is provided to allow a - to be created independently of the log4net framework. This can - be useful if you require a custom serialization scheme. - - - Use the method to obtain an - instance of the class. - - - This constructor sets this objects flags to , - this assumes that all the data relating to this event is passed in via the - parameter and no other data should be captured from the environment. - - - - - - Initializes a new instance of the class - using specific data. - - Data used to initialize the logging event. - - - This constructor is provided to allow a - to be created independently of the log4net framework. This can - be useful if you require a custom serialization scheme. - - - Use the method to obtain an - instance of the class. - - - This constructor sets this objects flags to , - this assumes that all the data relating to this event is passed in via the - parameter and no other data should be captured from the environment. - - - - - - Serialization constructor - - The that holds the serialized object data. - The that contains contextual information about the source or destination. - - - Initializes a new instance of the class - with serialized data. - - - - - - Ensure that the repository is set. - - the value for the repository - - - - Write the rendered message to a TextWriter - - the writer to write the message to - - - Unlike the property this method - does store the message data in the internal cache. Therefore - if called only once this method should be faster than the - property, however if the message is - to be accessed multiple times then the property will be more efficient. - - - - - - Serializes this object into the provided. - - The to populate with data. - The destination for this serialization. - - - The data in this event must be fixed before it can be serialized. - - - The method must be called during the - method call if this event - is to be used outside that method. - - - - - - Gets the portable data for this . - - The for this event. - - - A new can be constructed using a - instance. - - - Does a fix of the data - in the logging event before returning the event data. - - - - - - Gets the portable data for this . - - The set of data to ensure is fixed in the LoggingEventData - The for this event. - - - A new can be constructed using a - instance. - - - - - - Returns this event's exception's rendered using the - . - - - This event's exception's rendered using the . - - - - Obsolete. Use instead. - - - - - - Returns this event's exception's rendered using the - . - - - This event's exception's rendered using the . - - - - Returns this event's exception's rendered using the - . - - - - - - Fix instance fields that hold volatile data. - - - - Some of the values in instances of - are considered volatile, that is the values are correct at the - time the event is delivered to appenders, but will not be consistent - at any time afterwards. If an event is to be stored and then processed - at a later time these volatile values must be fixed by calling - . There is a performance penalty - incurred by calling but it - is essential to maintaining data consistency. - - - Calling is equivalent to - calling passing the parameter - false. - - - See for more - information. - - - - - - Fixes instance fields that hold volatile data. - - Set to true to not fix data that takes a long time to fix. - - - Some of the values in instances of - are considered volatile, that is the values are correct at the - time the event is delivered to appenders, but will not be consistent - at any time afterwards. If an event is to be stored and then processed - at a later time these volatile values must be fixed by calling - . There is a performance penalty - for incurred by calling but it - is essential to maintaining data consistency. - - - The param controls the data that - is fixed. Some of the data that can be fixed takes a long time to - generate, therefore if you do not require those settings to be fixed - they can be ignored by setting the param - to true. This setting will ignore the - and settings. - - - Set to false to ensure that all - settings are fixed. - - - - - - Fix the fields specified by the parameter - - the fields to fix - - - Only fields specified in the will be fixed. - Fields will not be fixed if they have previously been fixed. - It is not possible to 'unfix' a field. - - - - - - Lookup a composite property in this event - - the key for the property to lookup - the value for the property - - - This event has composite properties that combine together properties from - several different contexts in the following order: - - - this events properties - - This event has that can be set. These - properties are specific to this event only. - - - - the thread properties - - The that are set on the current - thread. These properties are shared by all events logged on this thread. - - - - the global properties - - The that are set globally. These - properties are shared by all the threads in the AppDomain. - - - - - - - - - Get all the composite properties in this event - - the containing all the properties - - - See for details of the composite properties - stored by the event. - - - This method returns a single containing all the - properties defined for this event. - - - - - - The internal logging event data. - - - - - The internal logging event data. - - - - - The internal logging event data. - - - - - The fully qualified Type of the calling - logger class in the stack frame (i.e. the declaring type of the method). - - - - - The application supplied message of logging event. - - - - - The exception that was thrown. - - - This is not serialized. The string representation - is serialized instead. - - - - - The repository that generated the logging event - - - This is not serialized. - - - - - The fix state for this event - - - These flags indicate which fields have been fixed. - Not serialized. - - - - - Indicated that the internal cache is updateable (ie not fixed) - - - This is a seperate flag to m_fixFlags as it allows incrementel fixing and simpler - changes in the caching strategy. - - - - - Gets the time when the current process started. - - - This is the time when this process started. - - - - The TimeStamp is stored in the local time zone for this computer. - - - Tries to get the start time for the current process. - Failing that it returns the time of the first call to - this property. - - - Note that AppDomains may be loaded and unloaded within the - same process without the process terminating and therefore - without the process start time being reset. - - - - - - Gets the of the logging event. - - - The of the logging event. - - - - Gets the of the logging event. - - - - - - Gets the time of the logging event. - - - The time of the logging event. - - - - The TimeStamp is stored in the local time zone for this computer. - - - - - - Gets the name of the logger that logged the event. - - - The name of the logger that logged the event. - - - - Gets the name of the logger that logged the event. - - - - - - Gets the location information for this logging event. - - - The location information for this logging event. - - - - The collected information is cached for future use. - - - See the class for more information on - supported frameworks and the different behavior in Debug and - Release builds. - - - - - - Gets the message object used to initialize this event. - - - The message object used to initialize this event. - - - - Gets the message object used to initialize this event. - Note that this event may not have a valid message object. - If the event is serialized the message object will not - be transferred. To get the text of the message the - property must be used - not this property. - - - If there is no defined message object for this event then - null will be returned. - - - - - - Gets the exception object used to initialize this event. - - - The exception object used to initialize this event. - - - - Gets the exception object used to initialize this event. - Note that this event may not have a valid exception object. - If the event is serialized the exception object will not - be transferred. To get the text of the exception the - method must be used - not this property. - - - If there is no defined exception object for this event then - null will be returned. - - - - - - The that this event was created in. - - - - The that this event was created in. - - - - - - Gets the message, rendered through the . - - - The message rendered through the . - - - - The collected information is cached for future use. - - - - - - Gets the name of the current thread. - - - The name of the current thread, or the thread ID when - the name is not available. - - - - The collected information is cached for future use. - - - - - - Gets the name of the current user. - - - The name of the current user, or NOT AVAILABLE when the - underlying runtime has no support for retrieving the name of the - current user. - - - - Calls WindowsIdentity.GetCurrent().Name to get the name of - the current windows user. - - - To improve performance, we could cache the string representation of - the name, and reuse that as long as the identity stayed constant. - Once the identity changed, we would need to re-assign and re-render - the string. - - - However, the WindowsIdentity.GetCurrent() call seems to - return different objects every time, so the current implementation - doesn't do this type of caching. - - - Timing for these operations: - - - - Method - Results - - - WindowsIdentity.GetCurrent() - 10000 loops, 00:00:00.2031250 seconds - - - WindowsIdentity.GetCurrent().Name - 10000 loops, 00:00:08.0468750 seconds - - - - This means we could speed things up almost 40 times by caching the - value of the WindowsIdentity.GetCurrent().Name property, since - this takes (8.04-0.20) = 7.84375 seconds. - - - - - - Gets the identity of the current thread principal. - - - The string name of the identity of the current thread principal. - - - - Calls System.Threading.Thread.CurrentPrincipal.Identity.Name to get - the name of the current thread principal. - - - - - - Gets the AppDomain friendly name. - - - The AppDomain friendly name. - - - - Gets the AppDomain friendly name. - - - - - - Additional event specific properties. - - - Additional event specific properties. - - - - A logger or an appender may attach additional - properties to specific events. These properties - have a string key and an object value. - - - This property is for events that have been added directly to - this event. The aggregate properties (which include these - event properties) can be retrieved using - and . - - - Once the properties have been fixed this property - returns the combined cached properties. This ensures that updates to - this property are always reflected in the underlying storage. When - returning the combined properties there may be more keys in the - Dictionary than expected. - - - - - - The fixed fields in this event - - - The set of fields that are fixed in this event - - - - Fields will not be fixed if they have previously been fixed. - It is not possible to 'unfix' a field. - - - - - - Implementation of wrapper interface. - - - - This implementation of the interface - forwards to the held by the base class. - - - This logger has methods to allow the caller to log at the following - levels: - - - - DEBUG - - The and methods log messages - at the DEBUG level. That is the level with that name defined in the - repositories . The default value - for this level is . The - property tests if this level is enabled for logging. - - - - INFO - - The and methods log messages - at the INFO level. That is the level with that name defined in the - repositories . The default value - for this level is . The - property tests if this level is enabled for logging. - - - - WARN - - The and methods log messages - at the WARN level. That is the level with that name defined in the - repositories . The default value - for this level is . The - property tests if this level is enabled for logging. - - - - ERROR - - The and methods log messages - at the ERROR level. That is the level with that name defined in the - repositories . The default value - for this level is . The - property tests if this level is enabled for logging. - - - - FATAL - - The and methods log messages - at the FATAL level. That is the level with that name defined in the - repositories . The default value - for this level is . The - property tests if this level is enabled for logging. - - - - - The values for these levels and their semantic meanings can be changed by - configuring the for the repository. - - - Nicko Cadell - Gert Driesen - - - - The ILog interface is use by application to log messages into - the log4net framework. - - - - Use the to obtain logger instances - that implement this interface. The - static method is used to get logger instances. - - - This class contains methods for logging at different levels and also - has properties for determining if those logging levels are - enabled in the current configuration. - - - This interface can be implemented in different ways. This documentation - specifies reasonable behavior that a caller can expect from the actual - implementation, however different implementations reserve the right to - do things differently. - - - Simple example of logging messages - - ILog log = LogManager.GetLogger("application-log"); - - log.Info("Application Start"); - log.Debug("This is a debug message"); - - if (log.IsDebugEnabled) - { - log.Debug("This is another debug message"); - } - - - - - Nicko Cadell - Gert Driesen - - - Log a message object with the level. - - Log a message object with the level. - - The message object to log. - - - This method first checks if this logger is DEBUG - enabled by comparing the level of this logger with the - level. If this logger is - DEBUG enabled, then it converts the message object - (passed as parameter) to a string by invoking the appropriate - . It then - proceeds to call all the registered appenders in this logger - and also higher in the hierarchy depending on the value of - the additivity flag. - - WARNING Note that passing an - to this method will print the name of the - but no stack trace. To print a stack trace use the - form instead. - - - - - - - - Log a message object with the level including - the stack trace of the passed - as a parameter. - - The message object to log. - The exception to log, including its stack trace. - - - See the form for more detailed information. - - - - - - - Log a formatted string with the level. - - Logs a formatted message string with the level. - - A String containing zero or more format items - An Object array containing zero or more objects to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - - Logs a formatted message string with the level. - - A String containing zero or more format items - An Object to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - - Logs a formatted message string with the level. - - A String containing zero or more format items - An Object to format - An Object to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - - Logs a formatted message string with the level. - - A String containing zero or more format items - An Object to format - An Object to format - An Object to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - - Logs a formatted message string with the level. - - An that supplies culture-specific formatting information - A String containing zero or more format items - An Object array containing zero or more objects to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - Log a message object with the level. - - Logs a message object with the level. - - - - This method first checks if this logger is INFO - enabled by comparing the level of this logger with the - level. If this logger is - INFO enabled, then it converts the message object - (passed as parameter) to a string by invoking the appropriate - . It then - proceeds to call all the registered appenders in this logger - and also higher in the hierarchy depending on the value of the - additivity flag. - - WARNING Note that passing an - to this method will print the name of the - but no stack trace. To print a stack trace use the - form instead. - - - The message object to log. - - - - - - Logs a message object with the INFO level including - the stack trace of the passed - as a parameter. - - The message object to log. - The exception to log, including its stack trace. - - - See the form for more detailed information. - - - - - - - Log a formatted message string with the level. - - Logs a formatted message string with the level. - - A String containing zero or more format items - An Object array containing zero or more objects to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - - Logs a formatted message string with the level. - - A String containing zero or more format items - An Object to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - - Logs a formatted message string with the level. - - A String containing zero or more format items - An Object to format - An Object to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - - Logs a formatted message string with the level. - - A String containing zero or more format items - An Object to format - An Object to format - An Object to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - - Logs a formatted message string with the level. - - An that supplies culture-specific formatting information - A String containing zero or more format items - An Object array containing zero or more objects to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - Log a message object with the level. - - Log a message object with the level. - - - - This method first checks if this logger is WARN - enabled by comparing the level of this logger with the - level. If this logger is - WARN enabled, then it converts the message object - (passed as parameter) to a string by invoking the appropriate - . It then - proceeds to call all the registered appenders in this logger - and also higher in the hierarchy depending on the value of the - additivity flag. - - WARNING Note that passing an - to this method will print the name of the - but no stack trace. To print a stack trace use the - form instead. - - - The message object to log. - - - - - - Log a message object with the level including - the stack trace of the passed - as a parameter. - - The message object to log. - The exception to log, including its stack trace. - - - See the form for more detailed information. - - - - - - - Log a formatted message string with the level. - - Logs a formatted message string with the level. - - A String containing zero or more format items - An Object array containing zero or more objects to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - - Logs a formatted message string with the level. - - A String containing zero or more format items - An Object to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - - Logs a formatted message string with the level. - - A String containing zero or more format items - An Object to format - An Object to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - - Logs a formatted message string with the level. - - A String containing zero or more format items - An Object to format - An Object to format - An Object to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - - Logs a formatted message string with the level. - - An that supplies culture-specific formatting information - A String containing zero or more format items - An Object array containing zero or more objects to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - Log a message object with the level. - - Logs a message object with the level. - - The message object to log. - - - This method first checks if this logger is ERROR - enabled by comparing the level of this logger with the - level. If this logger is - ERROR enabled, then it converts the message object - (passed as parameter) to a string by invoking the appropriate - . It then - proceeds to call all the registered appenders in this logger - and also higher in the hierarchy depending on the value of the - additivity flag. - - WARNING Note that passing an - to this method will print the name of the - but no stack trace. To print a stack trace use the - form instead. - - - - - - - - Log a message object with the level including - the stack trace of the passed - as a parameter. - - The message object to log. - The exception to log, including its stack trace. - - - See the form for more detailed information. - - - - - - - Log a formatted message string with the level. - - Logs a formatted message string with the level. - - A String containing zero or more format items - An Object array containing zero or more objects to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - - Logs a formatted message string with the level. - - A String containing zero or more format items - An Object to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - - Logs a formatted message string with the level. - - A String containing zero or more format items - An Object to format - An Object to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - - Logs a formatted message string with the level. - - A String containing zero or more format items - An Object to format - An Object to format - An Object to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - - Logs a formatted message string with the level. - - An that supplies culture-specific formatting information - A String containing zero or more format items - An Object array containing zero or more objects to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - Log a message object with the level. - - Log a message object with the level. - - - - This method first checks if this logger is FATAL - enabled by comparing the level of this logger with the - level. If this logger is - FATAL enabled, then it converts the message object - (passed as parameter) to a string by invoking the appropriate - . It then - proceeds to call all the registered appenders in this logger - and also higher in the hierarchy depending on the value of the - additivity flag. - - WARNING Note that passing an - to this method will print the name of the - but no stack trace. To print a stack trace use the - form instead. - - - The message object to log. - - - - - - Log a message object with the level including - the stack trace of the passed - as a parameter. - - The message object to log. - The exception to log, including its stack trace. - - - See the form for more detailed information. - - - - - - - Log a formatted message string with the level. - - Logs a formatted message string with the level. - - A String containing zero or more format items - An Object array containing zero or more objects to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - - Logs a formatted message string with the level. - - A String containing zero or more format items - An Object to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - - Logs a formatted message string with the level. - - A String containing zero or more format items - An Object to format - An Object to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - - Logs a formatted message string with the level. - - A String containing zero or more format items - An Object to format - An Object to format - An Object to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - - Logs a formatted message string with the level. - - An that supplies culture-specific formatting information - A String containing zero or more format items - An Object array containing zero or more objects to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - - Checks if this logger is enabled for the level. - - - true if this logger is enabled for events, false otherwise. - - - - This function is intended to lessen the computational cost of - disabled log debug statements. - - For some ILog interface log, when you write: - - log.Debug("This is entry number: " + i ); - - - You incur the cost constructing the message, string construction and concatenation in - this case, regardless of whether the message is logged or not. - - - If you are worried about speed (who isn't), then you should write: - - - if (log.IsDebugEnabled) - { - log.Debug("This is entry number: " + i ); - } - - - This way you will not incur the cost of parameter - construction if debugging is disabled for log. On - the other hand, if the log is debug enabled, you - will incur the cost of evaluating whether the logger is debug - enabled twice. Once in and once in - the . This is an insignificant overhead - since evaluating a logger takes about 1% of the time it - takes to actually log. This is the preferred style of logging. - - Alternatively if your logger is available statically then the is debug - enabled state can be stored in a static variable like this: - - - private static readonly bool isDebugEnabled = log.IsDebugEnabled; - - - Then when you come to log you can write: - - - if (isDebugEnabled) - { - log.Debug("This is entry number: " + i ); - } - - - This way the debug enabled state is only queried once - when the class is loaded. Using a private static readonly - variable is the most efficient because it is a run time constant - and can be heavily optimized by the JIT compiler. - - - Of course if you use a static readonly variable to - hold the enabled state of the logger then you cannot - change the enabled state at runtime to vary the logging - that is produced. You have to decide if you need absolute - speed or runtime flexibility. - - - - - - - - Checks if this logger is enabled for the level. - - - true if this logger is enabled for events, false otherwise. - - - For more information see . - - - - - - - - Checks if this logger is enabled for the level. - - - true if this logger is enabled for events, false otherwise. - - - For more information see . - - - - - - - - Checks if this logger is enabled for the level. - - - true if this logger is enabled for events, false otherwise. - - - For more information see . - - - - - - - - Checks if this logger is enabled for the level. - - - true if this logger is enabled for events, false otherwise. - - - For more information see . - - - - - - - - Construct a new wrapper for the specified logger. - - The logger to wrap. - - - Construct a new wrapper for the specified logger. - - - - - - Virtual method called when the configuration of the repository changes - - the repository holding the levels - - - Virtual method called when the configuration of the repository changes - - - - - - Logs a message object with the DEBUG level. - - The message object to log. - - - This method first checks if this logger is DEBUG - enabled by comparing the level of this logger with the - DEBUG level. If this logger is - DEBUG enabled, then it converts the message object - (passed as parameter) to a string by invoking the appropriate - . It then - proceeds to call all the registered appenders in this logger - and also higher in the hierarchy depending on the value of the - additivity flag. - - - WARNING Note that passing an - to this method will print the name of the - but no stack trace. To print a stack trace use the - form instead. - - - - - - Logs a message object with the DEBUG level - - The message object to log. - The exception to log, including its stack trace. - - - Logs a message object with the DEBUG level including - the stack trace of the passed - as a parameter. - - - See the form for more detailed information. - - - - - - - Logs a formatted message string with the DEBUG level. - - A String containing zero or more format items - An Object array containing zero or more objects to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - The string is formatted using the - format provider. To specify a localized provider use the - method. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Logs a formatted message string with the DEBUG level. - - A String containing zero or more format items - An Object to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - The string is formatted using the - format provider. To specify a localized provider use the - method. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Logs a formatted message string with the DEBUG level. - - A String containing zero or more format items - An Object to format - An Object to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - The string is formatted using the - format provider. To specify a localized provider use the - method. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Logs a formatted message string with the DEBUG level. - - A String containing zero or more format items - An Object to format - An Object to format - An Object to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - The string is formatted using the - format provider. To specify a localized provider use the - method. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Logs a formatted message string with the DEBUG level. - - An that supplies culture-specific formatting information - A String containing zero or more format items - An Object array containing zero or more objects to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Logs a message object with the INFO level. - - The message object to log. - - - This method first checks if this logger is INFO - enabled by comparing the level of this logger with the - INFO level. If this logger is - INFO enabled, then it converts the message object - (passed as parameter) to a string by invoking the appropriate - . It then - proceeds to call all the registered appenders in this logger - and also higher in the hierarchy depending on the value of - the additivity flag. - - - WARNING Note that passing an - to this method will print the name of the - but no stack trace. To print a stack trace use the - form instead. - - - - - - Logs a message object with the INFO level. - - The message object to log. - The exception to log, including its stack trace. - - - Logs a message object with the INFO level including - the stack trace of the - passed as a parameter. - - - See the form for more detailed information. - - - - - - - Logs a formatted message string with the INFO level. - - A String containing zero or more format items - An Object array containing zero or more objects to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - The string is formatted using the - format provider. To specify a localized provider use the - method. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Logs a formatted message string with the INFO level. - - A String containing zero or more format items - An Object to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - The string is formatted using the - format provider. To specify a localized provider use the - method. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Logs a formatted message string with the INFO level. - - A String containing zero or more format items - An Object to format - An Object to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - The string is formatted using the - format provider. To specify a localized provider use the - method. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Logs a formatted message string with the INFO level. - - A String containing zero or more format items - An Object to format - An Object to format - An Object to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - The string is formatted using the - format provider. To specify a localized provider use the - method. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Logs a formatted message string with the INFO level. - - An that supplies culture-specific formatting information - A String containing zero or more format items - An Object array containing zero or more objects to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Logs a message object with the WARN level. - - the message object to log - - - This method first checks if this logger is WARN - enabled by comparing the level of this logger with the - WARN level. If this logger is - WARN enabled, then it converts the message object - (passed as parameter) to a string by invoking the appropriate - . It then - proceeds to call all the registered appenders in this logger and - also higher in the hierarchy depending on the value of the - additivity flag. - - - WARNING Note that passing an to this - method will print the name of the but no - stack trace. To print a stack trace use the - form instead. - - - - - - Logs a message object with the WARN level - - The message object to log. - The exception to log, including its stack trace. - - - Logs a message object with the WARN level including - the stack trace of the - passed as a parameter. - - - See the form for more detailed information. - - - - - - - Logs a formatted message string with the WARN level. - - A String containing zero or more format items - An Object array containing zero or more objects to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - The string is formatted using the - format provider. To specify a localized provider use the - method. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Logs a formatted message string with the WARN level. - - A String containing zero or more format items - An Object to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - The string is formatted using the - format provider. To specify a localized provider use the - method. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Logs a formatted message string with the WARN level. - - A String containing zero or more format items - An Object to format - An Object to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - The string is formatted using the - format provider. To specify a localized provider use the - method. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Logs a formatted message string with the WARN level. - - A String containing zero or more format items - An Object to format - An Object to format - An Object to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - The string is formatted using the - format provider. To specify a localized provider use the - method. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Logs a formatted message string with the WARN level. - - An that supplies culture-specific formatting information - A String containing zero or more format items - An Object array containing zero or more objects to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Logs a message object with the ERROR level. - - The message object to log. - - - This method first checks if this logger is ERROR - enabled by comparing the level of this logger with the - ERROR level. If this logger is - ERROR enabled, then it converts the message object - (passed as parameter) to a string by invoking the appropriate - . It then - proceeds to call all the registered appenders in this logger and - also higher in the hierarchy depending on the value of the - additivity flag. - - - WARNING Note that passing an to this - method will print the name of the but no - stack trace. To print a stack trace use the - form instead. - - - - - - Logs a message object with the ERROR level - - The message object to log. - The exception to log, including its stack trace. - - - Logs a message object with the ERROR level including - the stack trace of the - passed as a parameter. - - - See the form for more detailed information. - - - - - - - Logs a formatted message string with the ERROR level. - - A String containing zero or more format items - An Object array containing zero or more objects to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - The string is formatted using the - format provider. To specify a localized provider use the - method. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Logs a formatted message string with the ERROR level. - - A String containing zero or more format items - An Object to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - The string is formatted using the - format provider. To specify a localized provider use the - method. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Logs a formatted message string with the ERROR level. - - A String containing zero or more format items - An Object to format - An Object to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - The string is formatted using the - format provider. To specify a localized provider use the - method. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Logs a formatted message string with the ERROR level. - - A String containing zero or more format items - An Object to format - An Object to format - An Object to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - The string is formatted using the - format provider. To specify a localized provider use the - method. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Logs a formatted message string with the ERROR level. - - An that supplies culture-specific formatting information - A String containing zero or more format items - An Object array containing zero or more objects to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Logs a message object with the FATAL level. - - The message object to log. - - - This method first checks if this logger is FATAL - enabled by comparing the level of this logger with the - FATAL level. If this logger is - FATAL enabled, then it converts the message object - (passed as parameter) to a string by invoking the appropriate - . It then - proceeds to call all the registered appenders in this logger and - also higher in the hierarchy depending on the value of the - additivity flag. - - - WARNING Note that passing an to this - method will print the name of the but no - stack trace. To print a stack trace use the - form instead. - - - - - - Logs a message object with the FATAL level - - The message object to log. - The exception to log, including its stack trace. - - - Logs a message object with the FATAL level including - the stack trace of the - passed as a parameter. - - - See the form for more detailed information. - - - - - - - Logs a formatted message string with the FATAL level. - - A String containing zero or more format items - An Object array containing zero or more objects to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - The string is formatted using the - format provider. To specify a localized provider use the - method. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Logs a formatted message string with the FATAL level. - - A String containing zero or more format items - An Object to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - The string is formatted using the - format provider. To specify a localized provider use the - method. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Logs a formatted message string with the FATAL level. - - A String containing zero or more format items - An Object to format - An Object to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - The string is formatted using the - format provider. To specify a localized provider use the - method. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Logs a formatted message string with the FATAL level. - - A String containing zero or more format items - An Object to format - An Object to format - An Object to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - The string is formatted using the - format provider. To specify a localized provider use the - method. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Logs a formatted message string with the FATAL level. - - An that supplies culture-specific formatting information - A String containing zero or more format items - An Object array containing zero or more objects to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Event handler for the event - - the repository - Empty - - - - The fully qualified name of this declaring type not the type of any subclass. - - - - - Checks if this logger is enabled for the DEBUG - level. - - - true if this logger is enabled for DEBUG events, - false otherwise. - - - - This function is intended to lessen the computational cost of - disabled log debug statements. - - - For some log Logger object, when you write: - - - log.Debug("This is entry number: " + i ); - - - You incur the cost constructing the message, concatenation in - this case, regardless of whether the message is logged or not. - - - If you are worried about speed, then you should write: - - - if (log.IsDebugEnabled()) - { - log.Debug("This is entry number: " + i ); - } - - - This way you will not incur the cost of parameter - construction if debugging is disabled for log. On - the other hand, if the log is debug enabled, you - will incur the cost of evaluating whether the logger is debug - enabled twice. Once in IsDebugEnabled and once in - the Debug. This is an insignificant overhead - since evaluating a logger takes about 1% of the time it - takes to actually log. - - - - - - Checks if this logger is enabled for the INFO level. - - - true if this logger is enabled for INFO events, - false otherwise. - - - - See for more information and examples - of using this method. - - - - - - - Checks if this logger is enabled for the WARN level. - - - true if this logger is enabled for WARN events, - false otherwise. - - - - See for more information and examples - of using this method. - - - - - - - Checks if this logger is enabled for the ERROR level. - - - true if this logger is enabled for ERROR events, - false otherwise. - - - - See for more information and examples of using this method. - - - - - - - Checks if this logger is enabled for the FATAL level. - - - true if this logger is enabled for FATAL events, - false otherwise. - - - - See for more information and examples of using this method. - - - - - - - A SecurityContext used by log4net when interacting with protected resources - - - - A SecurityContext used by log4net when interacting with protected resources - for example with operating system services. This can be used to impersonate - a principal that has been granted privileges on the system resources. - - - Nicko Cadell - - - - Impersonate this SecurityContext - - State supplied by the caller - An instance that will - revoke the impersonation of this SecurityContext, or null - - - Impersonate this security context. Further calls on the current - thread should now be made in the security context provided - by this object. When the result - method is called the security - context of the thread should be reverted to the state it was in - before was called. - - - - - - The providers default instances. - - - - A configured component that interacts with potentially protected system - resources uses a to provide the elevated - privileges required. If the object has - been not been explicitly provided to the component then the component - will request one from this . - - - By default the is - an instance of which returns only - objects. This is a reasonable default - where the privileges required are not know by the system. - - - This default behavior can be overridden by subclassing the - and overriding the method to return - the desired objects. The default provider - can be replaced by programmatically setting the value of the - property. - - - An alternative is to use the log4net.Config.SecurityContextProviderAttribute - This attribute can be applied to an assembly in the same way as the - log4net.Config.XmlConfiguratorAttribute". The attribute takes - the type to use as the as an argument. - - - Nicko Cadell - - - - The default provider - - - - - Protected default constructor to allow subclassing - - - - Protected default constructor to allow subclassing - - - - - - Create a SecurityContext for a consumer - - The consumer requesting the SecurityContext - An impersonation context - - - The default implementation is to return a . - - - Subclasses should override this method to provide their own - behavior. - - - - - - Gets or sets the default SecurityContextProvider - - - The default SecurityContextProvider - - - - The default provider is used by configured components that - require a and have not had one - given to them. - - - By default this is an instance of - that returns objects. - - - The default provider can be set programmatically by setting - the value of this property to a sub class of - that has the desired behavior. - - - - - - Delegate used to handle creation of new wrappers. - - The logger to wrap in a wrapper. - - - Delegate used to handle creation of new wrappers. This delegate - is called from the - method to construct the wrapper for the specified logger. - - - The delegate to use is supplied to the - constructor. - - - - - - Maps between logger objects and wrapper objects. - - - - This class maintains a mapping between objects and - objects. Use the method to - lookup the for the specified . - - - New wrapper instances are created by the - method. The default behavior is for this method to delegate construction - of the wrapper to the delegate supplied - to the constructor. This allows specialization of the behavior without - requiring subclassing of this type. - - - Nicko Cadell - Gert Driesen - - - - Initializes a new instance of the - - The handler to use to create the wrapper objects. - - - Initializes a new instance of the class with - the specified handler to create the wrapper objects. - - - - - - Gets the wrapper object for the specified logger. - - The wrapper object for the specified logger - - - If the logger is null then the corresponding wrapper is null. - - - Looks up the wrapper it it has previously been requested and - returns it. If the wrapper has never been requested before then - the virtual method is - called. - - - - - - Creates the wrapper object for the specified logger. - - The logger to wrap in a wrapper. - The wrapper object for the logger. - - - This implementation uses the - passed to the constructor to create the wrapper. This method - can be overridden in a subclass. - - - - - - Called when a monitored repository shutdown event is received. - - The that is shutting down - - - This method is called when a that this - is holding loggers for has signaled its shutdown - event . The default - behavior of this method is to release the references to the loggers - and their wrappers generated for this repository. - - - - - - Event handler for repository shutdown event. - - The sender of the event. - The event args. - - - - Map of logger repositories to hashtables of ILogger to ILoggerWrapper mappings - - - - - The handler to use to create the extension wrapper objects. - - - - - Internal reference to the delegate used to register for repository shutdown events. - - - - - Gets the map of logger repositories. - - - Map of logger repositories. - - - - Gets the hashtable that is keyed on . The - values are hashtables keyed on with the - value being the corresponding . - - - - - - Formats a as "HH:mm:ss,fff". - - - - Formats a in the format "HH:mm:ss,fff" for example, "15:49:37,459". - - - Nicko Cadell - Gert Driesen - - - - Render a as a string. - - - - Interface to abstract the rendering of a - instance into a string. - - - The method is used to render the - date to a text writer. - - - Nicko Cadell - Gert Driesen - - - - Formats the specified date as a string. - - The date to format. - The writer to write to. - - - Format the as a string and write it - to the provided. - - - - - - String constant used to specify AbsoluteTimeDateFormat in layouts. Current value is ABSOLUTE. - - - - - String constant used to specify DateTimeDateFormat in layouts. Current value is DATE. - - - - - String constant used to specify ISO8601DateFormat in layouts. Current value is ISO8601. - - - - - Renders the date into a string. Format is "HH:mm:ss". - - The date to render into a string. - The string builder to write to. - - - Subclasses should override this method to render the date - into a string using a precision up to the second. This method - will be called at most once per second and the result will be - reused if it is needed again during the same second. - - - - - - Renders the date into a string. Format is "HH:mm:ss,fff". - - The date to render into a string. - The writer to write to. - - - Uses the method to generate the - time string up to the seconds and then appends the current - milliseconds. The results from are - cached and is called at most once - per second. - - - Sub classes should override - rather than . - - - - - - Last stored time with precision up to the second. - - - - - Last stored time with precision up to the second, formatted - as a string. - - - - - Last stored time with precision up to the second, formatted - as a string. - - - - - Formats a as "dd MMM yyyy HH:mm:ss,fff" - - - - Formats a in the format - "dd MMM yyyy HH:mm:ss,fff" for example, - "06 Nov 1994 15:49:37,459". - - - Nicko Cadell - Gert Driesen - Angelika Schnagl - - - - Default constructor. - - - - Initializes a new instance of the class. - - - - - - Formats the date without the milliseconds part - - The date to format. - The string builder to write to. - - - Formats a DateTime in the format "dd MMM yyyy HH:mm:ss" - for example, "06 Nov 1994 15:49:37". - - - The base class will append the ",fff" milliseconds section. - This method will only be called at most once per second. - - - - - - The format info for the invariant culture. - - - - - Formats the as "yyyy-MM-dd HH:mm:ss,fff". - - - - Formats the specified as a string: "yyyy-MM-dd HH:mm:ss,fff". - - - Nicko Cadell - Gert Driesen - - - - Default constructor - - - - Initializes a new instance of the class. - - - - - - Formats the date without the milliseconds part - - The date to format. - The string builder to write to. - - - Formats the date specified as a string: "yyyy-MM-dd HH:mm:ss". - - - The base class will append the ",fff" milliseconds section. - This method will only be called at most once per second. - - - - - - Formats the using the method. - - - - Formats the using the method. - - - Nicko Cadell - Gert Driesen - - - - Constructor - - The format string. - - - Initializes a new instance of the class - with the specified format string. - - - The format string must be compatible with the options - that can be supplied to . - - - - - - Formats the date using . - - The date to convert to a string. - The writer to write to. - - - Uses the date format string supplied to the constructor to call - the method to format the date. - - - - - - The format string used to format the . - - - - The format string must be compatible with the options - that can be supplied to . - - - - - - This filter drops all . - - - - You can add this filter to the end of a filter chain to - switch from the default "accept all unless instructed otherwise" - filtering behavior to a "deny all unless instructed otherwise" - behavior. - - - Nicko Cadell - Gert Driesen - - - - Subclass this type to implement customized logging event filtering - - - - Users should extend this class to implement customized logging - event filtering. Note that and - , the parent class of all standard - appenders, have built-in filtering rules. It is suggested that you - first use and understand the built-in rules before rushing to write - your own custom filters. - - - This abstract class assumes and also imposes that filters be - organized in a linear chain. The - method of each filter is called sequentially, in the order of their - addition to the chain. - - - The method must return one - of the integer constants , - or . - - - If the value is returned, then the log event is dropped - immediately without consulting with the remaining filters. - - - If the value is returned, then the next filter - in the chain is consulted. If there are no more filters in the - chain, then the log event is logged. Thus, in the presence of no - filters, the default behavior is to log all logging events. - - - If the value is returned, then the log - event is logged without consulting the remaining filters. - - - The philosophy of log4net filters is largely inspired from the - Linux ipchains. - - - Nicko Cadell - Gert Driesen - - - - Implement this interface to provide customized logging event filtering - - - - Users should implement this interface to implement customized logging - event filtering. Note that and - , the parent class of all standard - appenders, have built-in filtering rules. It is suggested that you - first use and understand the built-in rules before rushing to write - your own custom filters. - - - This abstract class assumes and also imposes that filters be - organized in a linear chain. The - method of each filter is called sequentially, in the order of their - addition to the chain. - - - The method must return one - of the integer constants , - or . - - - If the value is returned, then the log event is dropped - immediately without consulting with the remaining filters. - - - If the value is returned, then the next filter - in the chain is consulted. If there are no more filters in the - chain, then the log event is logged. Thus, in the presence of no - filters, the default behavior is to log all logging events. - - - If the value is returned, then the log - event is logged without consulting the remaining filters. - - - The philosophy of log4net filters is largely inspired from the - Linux ipchains. - - - Nicko Cadell - Gert Driesen - - - - Decide if the logging event should be logged through an appender. - - The LoggingEvent to decide upon - The decision of the filter - - - If the decision is , then the event will be - dropped. If the decision is , then the next - filter, if any, will be invoked. If the decision is then - the event will be logged without consulting with other filters in - the chain. - - - - - - Property to get and set the next filter - - - The next filter in the chain - - - - Filters are typically composed into chains. This property allows the next filter in - the chain to be accessed. - - - - - - Points to the next filter in the filter chain. - - - - See for more information. - - - - - - Initialize the filter with the options set - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - Typically filter's options become active immediately on set, - however this method must still be called. - - - - - - Decide if the should be logged through an appender. - - The to decide upon - The decision of the filter - - - If the decision is , then the event will be - dropped. If the decision is , then the next - filter, if any, will be invoked. If the decision is then - the event will be logged without consulting with other filters in - the chain. - - - This method is marked abstract and must be implemented - in a subclass. - - - - - - Property to get and set the next filter - - - The next filter in the chain - - - - Filters are typically composed into chains. This property allows the next filter in - the chain to be accessed. - - - - - - Default constructor - - - - - Always returns the integer constant - - the LoggingEvent to filter - Always returns - - - Ignores the event being logged and just returns - . This can be used to change the default filter - chain behavior from to . This filter - should only be used as the last filter in the chain - as any further filters will be ignored! - - - - - - The return result from - - - - The return result from - - - - - - The log event must be dropped immediately without - consulting with the remaining filters, if any, in the chain. - - - - - This filter is neutral with respect to the log event. - The remaining filters, if any, should be consulted for a final decision. - - - - - The log event must be logged immediately without - consulting with the remaining filters, if any, in the chain. - - - - - This is a very simple filter based on matching. - - - - The filter admits two options and - . If there is an exact match between the value - of the option and the of the - , then the method returns in - case the option value is set - to true, if it is false then - is returned. If the does not match then - the result will be . - - - Nicko Cadell - Gert Driesen - - - - flag to indicate if the filter should on a match - - - - - the to match against - - - - - Default constructor - - - - - Tests if the of the logging event matches that of the filter - - the event to filter - see remarks - - - If the of the event matches the level of the - filter then the result of the function depends on the - value of . If it is true then - the function will return , it it is false then it - will return . If the does not match then - the result will be . - - - - - - when matching - - - - The property is a flag that determines - the behavior when a matching is found. If the - flag is set to true then the filter will the - logging event, otherwise it will the event. - - - The default is true i.e. to the event. - - - - - - The that the filter will match - - - - The level that this filter will attempt to match against the - level. If a match is found then - the result depends on the value of . - - - - - - This is a simple filter based on matching. - - - - The filter admits three options and - that determine the range of priorities that are matched, and - . If there is a match between the range - of priorities and the of the , then the - method returns in case the - option value is set to true, if it is false - then is returned. If there is no match, is returned. - - - Nicko Cadell - Gert Driesen - - - - Flag to indicate the behavior when matching a - - - - - the minimum value to match - - - - - the maximum value to match - - - - - Default constructor - - - - - Check if the event should be logged. - - the logging event to check - see remarks - - - If the of the logging event is outside the range - matched by this filter then - is returned. If the is matched then the value of - is checked. If it is true then - is returned, otherwise - is returned. - - - - - - when matching and - - - - The property is a flag that determines - the behavior when a matching is found. If the - flag is set to true then the filter will the - logging event, otherwise it will the event. - - - The default is true i.e. to the event. - - - - - - Set the minimum matched - - - - The minimum level that this filter will attempt to match against the - level. If a match is found then - the result depends on the value of . - - - - - - Sets the maximum matched - - - - The maximum level that this filter will attempt to match against the - level. If a match is found then - the result depends on the value of . - - - - - - Simple filter to match a string in the event's logger name. - - - - The works very similar to the . It admits two - options and . If the - of the starts - with the value of the option, then the - method returns in - case the option value is set to true, - if it is false then is returned. - - - Daniel Cazzulino - - - - Flag to indicate the behavior when we have a match - - - - - The logger name string to substring match against the event - - - - - Default constructor - - - - - Check if this filter should allow the event to be logged - - the event being logged - see remarks - - - The rendered message is matched against the . - If the equals the beginning of - the incoming () - then a match will have occurred. If no match occurs - this function will return - allowing other filters to check the event. If a match occurs then - the value of is checked. If it is - true then is returned otherwise - is returned. - - - - - - when matching - - - - The property is a flag that determines - the behavior when a matching is found. If the - flag is set to true then the filter will the - logging event, otherwise it will the event. - - - The default is true i.e. to the event. - - - - - - The that the filter will match - - - - This filter will attempt to match this value against logger name in - the following way. The match will be done against the beginning of the - logger name (using ). The match is - case sensitive. If a match is found then - the result depends on the value of . - - - - - - Simple filter to match a keyed string in the - - - - Simple filter to match a keyed string in the - - - As the MDC has been replaced with layered properties the - should be used instead. - - - Nicko Cadell - Gert Driesen - - - - Simple filter to match a string an event property - - - - Simple filter to match a string in the value for a - specific event property - - - Nicko Cadell - - - - Simple filter to match a string in the rendered message - - - - Simple filter to match a string in the rendered message - - - Nicko Cadell - Gert Driesen - - - - Flag to indicate the behavior when we have a match - - - - - The string to substring match against the message - - - - - A string regex to match - - - - - A regex object to match (generated from m_stringRegexToMatch) - - - - - Default constructor - - - - - Initialize and precompile the Regex if required - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - - - - Check if this filter should allow the event to be logged - - the event being logged - see remarks - - - The rendered message is matched against the . - If the occurs as a substring within - the message then a match will have occurred. If no match occurs - this function will return - allowing other filters to check the event. If a match occurs then - the value of is checked. If it is - true then is returned otherwise - is returned. - - - - - - when matching or - - - - The property is a flag that determines - the behavior when a matching is found. If the - flag is set to true then the filter will the - logging event, otherwise it will the event. - - - The default is true i.e. to the event. - - - - - - Sets the static string to match - - - - The string that will be substring matched against - the rendered message. If the message contains this - string then the filter will match. If a match is found then - the result depends on the value of . - - - One of or - must be specified. - - - - - - Sets the regular expression to match - - - - The regular expression pattern that will be matched against - the rendered message. If the message matches this - pattern then the filter will match. If a match is found then - the result depends on the value of . - - - One of or - must be specified. - - - - - - The key to use to lookup the string from the event properties - - - - - Default constructor - - - - - Check if this filter should allow the event to be logged - - the event being logged - see remarks - - - The event property for the is matched against - the . - If the occurs as a substring within - the property value then a match will have occurred. If no match occurs - this function will return - allowing other filters to check the event. If a match occurs then - the value of is checked. If it is - true then is returned otherwise - is returned. - - - - - - The key to lookup in the event properties and then match against. - - - - The key name to use to lookup in the properties map of the - . The match will be performed against - the value of this property if it exists. - - - - - - Simple filter to match a string in the - - - - Simple filter to match a string in the - - - As the MDC has been replaced with named stacks stored in the - properties collections the should - be used instead. - - - Nicko Cadell - Gert Driesen - - - - Default constructor - - - - Sets the to "NDC". - - - - - - Write the event appdomain name to the output - - - - Writes the to the output writer. - - - Daniel Cazzulino - Nicko Cadell - - - - Abstract class that provides the formatting functionality that - derived classes need. - - - Conversion specifiers in a conversion patterns are parsed to - individual PatternConverters. Each of which is responsible for - converting a logging event in a converter specific manner. - - Nicko Cadell - - - - Abstract class that provides the formatting functionality that - derived classes need. - - - - Conversion specifiers in a conversion patterns are parsed to - individual PatternConverters. Each of which is responsible for - converting a logging event in a converter specific manner. - - - Nicko Cadell - Gert Driesen - - - - Initial buffer size - - - - - Maximum buffer size before it is recycled - - - - - Protected constructor - - - - Initializes a new instance of the class. - - - - - - Evaluate this pattern converter and write the output to a writer. - - that will receive the formatted result. - The state object on which the pattern converter should be executed. - - - Derived pattern converters must override this method in order to - convert conversion specifiers in the appropriate way. - - - - - - Set the next pattern converter in the chains - - the pattern converter that should follow this converter in the chain - the next converter - - - The PatternConverter can merge with its neighbor during this method (or a sub class). - Therefore the return value may or may not be the value of the argument passed in. - - - - - - Write the pattern converter to the writer with appropriate formatting - - that will receive the formatted result. - The state object on which the pattern converter should be executed. - - - This method calls to allow the subclass to perform - appropriate conversion of the pattern converter. If formatting options have - been specified via the then this method will - apply those formattings before writing the output. - - - - - - Fast space padding method. - - to which the spaces will be appended. - The number of spaces to be padded. - - - Fast space padding method. - - - - - - The option string to the converter - - - - - Write an dictionary to a - - the writer to write to - a to use for object conversion - the value to write to the writer - - - Writes the to a writer in the form: - - - {key1=value1, key2=value2, key3=value3} - - - If the specified - is not null then it is used to render the key and value to text, otherwise - the object's ToString method is called. - - - - - - Write an object to a - - the writer to write to - a to use for object conversion - the value to write to the writer - - - Writes the Object to a writer. If the specified - is not null then it is used to render the object to text, otherwise - the object's ToString method is called. - - - - - - Get the next pattern converter in the chain - - - the next pattern converter in the chain - - - - Get the next pattern converter in the chain - - - - - - Gets or sets the formatting info for this converter - - - The formatting info for this converter - - - - Gets or sets the formatting info for this converter - - - - - - Gets or sets the option value for this converter - - - The option for this converter - - - - Gets or sets the option value for this converter - - - - - - Initializes a new instance of the class. - - - - - Derived pattern converters must override this method in order to - convert conversion specifiers in the correct way. - - that will receive the formatted result. - The on which the pattern converter should be executed. - - - - Derived pattern converters must override this method in order to - convert conversion specifiers in the correct way. - - that will receive the formatted result. - The state object on which the pattern converter should be executed. - - - - Flag indicating if this converter handles exceptions - - - false if this converter handles exceptions - - - - - Flag indicating if this converter handles the logging event exception - - false if this converter handles the logging event exception - - - If this converter handles the exception object contained within - , then this property should be set to - false. Otherwise, if the layout ignores the exception - object, then the property should be set to true. - - - Set this value to override a this default setting. The default - value is true, this converter does not handle the exception. - - - - - - Write the event appdomain name to the output - - that will receive the formatted result. - the event being logged - - - Writes the to the output . - - - - - - Date pattern converter, uses a to format - the date of a . - - - - Render the to the writer as a string. - - - The value of the determines - the formatting of the date. The following values are allowed: - - - Option value - Output - - - ISO8601 - - Uses the formatter. - Formats using the "yyyy-MM-dd HH:mm:ss,fff" pattern. - - - - DATE - - Uses the formatter. - Formats using the "dd MMM yyyy HH:mm:ss,fff" for example, "06 Nov 1994 15:49:37,459". - - - - ABSOLUTE - - Uses the formatter. - Formats using the "HH:mm:ss,yyyy" for example, "15:49:37,459". - - - - other - - Any other pattern string uses the formatter. - This formatter passes the pattern string to the - method. - For details on valid patterns see - DateTimeFormatInfo Class. - - - - - - The is in the local time zone and is rendered in that zone. - To output the time in Universal time see . - - - Nicko Cadell - - - - The used to render the date to a string - - - - The used to render the date to a string - - - - - - Initialize the converter pattern based on the property. - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - - - - Convert the pattern into the rendered message - - that will receive the formatted result. - the event being logged - - - Pass the to the - for it to render it to the writer. - - - The passed is in the local time zone. - - - - - - Write the exception text to the output - - - - If an exception object is stored in the logging event - it will be rendered into the pattern output with a - trailing newline. - - - If there is no exception then nothing will be output - and no trailing newline will be appended. - It is typical to put a newline before the exception - and to have the exception as the last data in the pattern. - - - Nicko Cadell - - - - Default constructor - - - - - Write the exception text to the output - - that will receive the formatted result. - the event being logged - - - If an exception object is stored in the logging event - it will be rendered into the pattern output with a - trailing newline. - - - If there is no exception then nothing will be output - and no trailing newline will be appended. - It is typical to put a newline before the exception - and to have the exception as the last data in the pattern. - - - - - - Writes the caller location file name to the output - - - - Writes the value of the for - the event to the output writer. - - - Nicko Cadell - - - - Write the caller location file name to the output - - that will receive the formatted result. - the event being logged - - - Writes the value of the for - the to the output . - - - - - - Write the caller location info to the output - - - - Writes the to the output writer. - - - Nicko Cadell - - - - Write the caller location info to the output - - that will receive the formatted result. - the event being logged - - - Writes the to the output writer. - - - - - - Writes the event identity to the output - - - - Writes the value of the to - the output writer. - - - Daniel Cazzulino - Nicko Cadell - - - - Writes the event identity to the output - - that will receive the formatted result. - the event being logged - - - Writes the value of the - to - the output . - - - - - - Write the event level to the output - - - - Writes the display name of the event - to the writer. - - - Nicko Cadell - - - - Write the event level to the output - - that will receive the formatted result. - the event being logged - - - Writes the of the - to the . - - - - - - Write the caller location line number to the output - - - - Writes the value of the for - the event to the output writer. - - - Nicko Cadell - - - - Write the caller location line number to the output - - that will receive the formatted result. - the event being logged - - - Writes the value of the for - the to the output . - - - - - - Converter for logger name - - - - Outputs the of the event. - - - Nicko Cadell - - - - Converter to output and truncate '.' separated strings - - - - This abstract class supports truncating a '.' separated string - to show a specified number of elements from the right hand side. - This is used to truncate class names that are fully qualified. - - - Subclasses should override the method to - return the fully qualified string. - - - Nicko Cadell - - - - Initialize the converter - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - - - - Get the fully qualified string data - - the event being logged - the fully qualified name - - - Overridden by subclasses to get the fully qualified name before the - precision is applied to it. - - - Return the fully qualified '.' (dot/period) separated string. - - - - - - Convert the pattern to the rendered message - - that will receive the formatted result. - the event being logged - - Render the to the precision - specified by the property. - - - - - Gets the fully qualified name of the logger - - the event being logged - The fully qualified logger name - - - Returns the of the . - - - - - - Writes the event message to the output - - - - Uses the method - to write out the event message. - - - Nicko Cadell - - - - Writes the event message to the output - - that will receive the formatted result. - the event being logged - - - Uses the method - to write out the event message. - - - - - - Write the method name to the output - - - - Writes the caller location to - the output. - - - Nicko Cadell - - - - Write the method name to the output - - that will receive the formatted result. - the event being logged - - - Writes the caller location to - the output. - - - - - - Converter to include event NDC - - - - Outputs the value of the event property named NDC. - - - The should be used instead. - - - Nicko Cadell - - - - Write the event NDC to the output - - that will receive the formatted result. - the event being logged - - - As the thread context stacks are now stored in named event properties - this converter simply looks up the value of the NDC property. - - - The should be used instead. - - - - - - Property pattern converter - - - - Writes out the value of a named property. The property name - should be set in the - property. - - - If the is set to null - then all the properties are written as key value pairs. - - - Nicko Cadell - - - - Write the property value to the output - - that will receive the formatted result. - the event being logged - - - Writes out the value of a named property. The property name - should be set in the - property. - - - If the is set to null - then all the properties are written as key value pairs. - - - - - - Converter to output the relative time of the event - - - - Converter to output the time of the event relative to the start of the program. - - - Nicko Cadell - - - - Write the relative time to the output - - that will receive the formatted result. - the event being logged - - - Writes out the relative time of the event in milliseconds. - That is the number of milliseconds between the event - and the . - - - - - - Helper method to get the time difference between two DateTime objects - - start time (in the current local time zone) - end time (in the current local time zone) - the time difference in milliseconds - - - - Converter to include event thread name - - - - Writes the to the output. - - - Nicko Cadell - - - - Write the ThreadName to the output - - that will receive the formatted result. - the event being logged - - - Writes the to the . - - - - - - Pattern converter for the class name - - - - Outputs the of the event. - - - Nicko Cadell - - - - Gets the fully qualified name of the class - - the event being logged - The fully qualified type name for the caller location - - - Returns the of the . - - - - - - Converter to include event user name - - Douglas de la Torre - Nicko Cadell - - - - Convert the pattern to the rendered message - - that will receive the formatted result. - the event being logged - - - - Write the TimeStamp to the output - - - - Date pattern converter, uses a to format - the date of a . - - - Uses a to format the - in Universal time. - - - See the for details on the date pattern syntax. - - - - Nicko Cadell - - - - Write the TimeStamp to the output - - that will receive the formatted result. - the event being logged - - - Pass the to the - for it to render it to the writer. - - - The passed is in the local time zone, this is converted - to Universal time before it is rendered. - - - - - - - A Layout that renders only the Exception text from the logging event - - - - A Layout that renders only the Exception text from the logging event. - - - This Layout should only be used with appenders that utilize multiple - layouts (e.g. ). - - - Nicko Cadell - Gert Driesen - - - - Extend this abstract class to create your own log layout format. - - - - This is the base implementation of the - interface. Most layout objects should extend this class. - - - - - - Subclasses must implement the - method. - - - Subclasses should set the in their default - constructor. - - - - Nicko Cadell - Gert Driesen - - - - Interface implemented by layout objects - - - - An object is used to format a - as text. The method is called by an - appender to transform the into a string. - - - The layout can also supply and - text that is appender before any events and after all the events respectively. - - - Nicko Cadell - Gert Driesen - - - - Implement this method to create your own layout format. - - The TextWriter to write the formatted event to - The event to format - - - This method is called by an appender to format - the as text and output to a writer. - - - If the caller does not have a and prefers the - event to be formatted as a then the following - code can be used to format the event into a . - - - StringWriter writer = new StringWriter(); - Layout.Format(writer, loggingEvent); - string formattedEvent = writer.ToString(); - - - - - - The content type output by this layout. - - The content type - - - The content type output by this layout. - - - This is a MIME type e.g. "text/plain". - - - - - - The header for the layout format. - - the layout header - - - The Header text will be appended before any logging events - are formatted and appended. - - - - - - The footer for the layout format. - - the layout footer - - - The Footer text will be appended after all the logging events - have been formatted and appended. - - - - - - Flag indicating if this layout handle exceptions - - false if this layout handles exceptions - - - If this layout handles the exception object contained within - , then the layout should return - false. Otherwise, if the layout ignores the exception - object, then the layout should return true. - - - - - - The header text - - - - See for more information. - - - - - - The footer text - - - - See for more information. - - - - - - Flag indicating if this layout handles exceptions - - - - false if this layout handles exceptions - - - - - - Empty default constructor - - - - Empty default constructor - - - - - - Activate component options - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - This method must be implemented by the subclass. - - - - - - Implement this method to create your own layout format. - - The TextWriter to write the formatted event to - The event to format - - - This method is called by an appender to format - the as text. - - - - - - The content type output by this layout. - - The content type is "text/plain" - - - The content type output by this layout. - - - This base class uses the value "text/plain". - To change this value a subclass must override this - property. - - - - - - The header for the layout format. - - the layout header - - - The Header text will be appended before any logging events - are formatted and appended. - - - - - - The footer for the layout format. - - the layout footer - - - The Footer text will be appended after all the logging events - have been formatted and appended. - - - - - - Flag indicating if this layout handles exceptions - - false if this layout handles exceptions - - - If this layout handles the exception object contained within - , then the layout should return - false. Otherwise, if the layout ignores the exception - object, then the layout should return true. - - - Set this value to override a this default setting. The default - value is true, this layout does not handle the exception. - - - - - - Default constructor - - - - Constructs a ExceptionLayout - - - - - - Activate component options - - - - Part of the component activation - framework. - - - This method does nothing as options become effective immediately. - - - - - - Gets the exception text from the logging event - - The TextWriter to write the formatted event to - the event being logged - - - Write the exception string to the . - The exception string is retrieved from . - - - - - - Interface for raw layout objects - - - - Interface used to format a - to an object. - - - This interface should not be confused with the - interface. This interface is used in - only certain specialized situations where a raw object is - required rather than a formatted string. The - is not generally useful than this interface. - - - Nicko Cadell - Gert Driesen - - - - Implement this method to create your own layout format. - - The event to format - returns the formatted event - - - Implement this method to create your own layout format. - - - - - - Adapts any to a - - - - Where an is required this adapter - allows a to be specified. - - - Nicko Cadell - Gert Driesen - - - - The layout to adapt - - - - - Construct a new adapter - - the layout to adapt - - - Create the adapter for the specified . - - - - - - Format the logging event as an object. - - The event to format - returns the formatted event - - - Format the logging event as an object. - - - Uses the object supplied to - the constructor to perform the formatting. - - - - - - A flexible layout configurable with pattern string. - - - - The goal of this class is to a - as a string. The results - depend on the conversion pattern. - - - The conversion pattern is closely related to the conversion - pattern of the printf function in C. A conversion pattern is - composed of literal text and format control expressions called - conversion specifiers. - - - You are free to insert any literal text within the conversion - pattern. - - - Each conversion specifier starts with a percent sign (%) and is - followed by optional format modifiers and a conversion - pattern name. The conversion pattern name specifies the type of - data, e.g. logger, level, date, thread name. The format - modifiers control such things as field width, padding, left and - right justification. The following is a simple example. - - - Let the conversion pattern be "%-5level [%thread]: %message%newline" and assume - that the log4net environment was set to use a PatternLayout. Then the - statements - - - ILog log = LogManager.GetLogger(typeof(TestApp)); - log.Debug("Message 1"); - log.Warn("Message 2"); - - would yield the output - - DEBUG [main]: Message 1 - WARN [main]: Message 2 - - - Note that there is no explicit separator between text and - conversion specifiers. The pattern parser knows when it has reached - the end of a conversion specifier when it reads a conversion - character. In the example above the conversion specifier - %-5level means the level of the logging event should be left - justified to a width of five characters. - - - The recognized conversion pattern names are: - - - - Conversion Pattern Name - Effect - - - a - Equivalent to appdomain - - - appdomain - - Used to output the friendly name of the AppDomain where the - logging event was generated. - - - - c - Equivalent to logger - - - C - Equivalent to type - - - class - Equivalent to type - - - d - Equivalent to date - - - date - - - Used to output the date of the logging event in the local time zone. - To output the date in universal time use the %utcdate pattern. - The date conversion - specifier may be followed by a date format specifier enclosed - between braces. For example, %date{HH:mm:ss,fff} or - %date{dd MMM yyyy HH:mm:ss,fff}. If no date format specifier is - given then ISO8601 format is - assumed (). - - - The date format specifier admits the same syntax as the - time pattern string of the . - - - For better results it is recommended to use the log4net date - formatters. These can be specified using one of the strings - "ABSOLUTE", "DATE" and "ISO8601" for specifying - , - and respectively - . For example, - %date{ISO8601} or %date{ABSOLUTE}. - - - These dedicated date formatters perform significantly - better than . - - - - - exception - - - Used to output the exception passed in with the log message. - - - If an exception object is stored in the logging event - it will be rendered into the pattern output with a - trailing newline. - If there is no exception then nothing will be output - and no trailing newline will be appended. - It is typical to put a newline before the exception - and to have the exception as the last data in the pattern. - - - - - F - Equivalent to file - - - file - - - Used to output the file name where the logging request was - issued. - - - WARNING Generating caller location information is - extremely slow. Its use should be avoided unless execution speed - is not an issue. - - - See the note below on the availability of caller location information. - - - - - identity - - - Used to output the user name for the currently active user - (Principal.Identity.Name). - - - WARNING Generating caller information is - extremely slow. Its use should be avoided unless execution speed - is not an issue. - - - - - l - Equivalent to location - - - L - Equivalent to line - - - location - - - Used to output location information of the caller which generated - the logging event. - - - The location information depends on the CLI implementation but - usually consists of the fully qualified name of the calling - method followed by the callers source the file name and line - number between parentheses. - - - The location information can be very useful. However, its - generation is extremely slow. Its use should be avoided - unless execution speed is not an issue. - - - See the note below on the availability of caller location information. - - - - - level - - - Used to output the level of the logging event. - - - - - line - - - Used to output the line number from where the logging request - was issued. - - - WARNING Generating caller location information is - extremely slow. Its use should be avoided unless execution speed - is not an issue. - - - See the note below on the availability of caller location information. - - - - - logger - - - Used to output the logger of the logging event. The - logger conversion specifier can be optionally followed by - precision specifier, that is a decimal constant in - brackets. - - - If a precision specifier is given, then only the corresponding - number of right most components of the logger name will be - printed. By default the logger name is printed in full. - - - For example, for the logger name "a.b.c" the pattern - %logger{2} will output "b.c". - - - - - m - Equivalent to message - - - M - Equivalent to method - - - message - - - Used to output the application supplied message associated with - the logging event. - - - - - mdc - - - The MDC (old name for the ThreadContext.Properties) is now part of the - combined event properties. This pattern is supported for compatibility - but is equivalent to property. - - - - - method - - - Used to output the method name where the logging request was - issued. - - - WARNING Generating caller location information is - extremely slow. Its use should be avoided unless execution speed - is not an issue. - - - See the note below on the availability of caller location information. - - - - - n - Equivalent to newline - - - newline - - - Outputs the platform dependent line separator character or - characters. - - - This conversion pattern offers the same performance as using - non-portable line separator strings such as "\n", or "\r\n". - Thus, it is the preferred way of specifying a line separator. - - - - - ndc - - - Used to output the NDC (nested diagnostic context) associated - with the thread that generated the logging event. - - - - - p - Equivalent to level - - - P - Equivalent to property - - - properties - Equivalent to property - - - property - - - Used to output the an event specific property. The key to - lookup must be specified within braces and directly following the - pattern specifier, e.g. %property{user} would include the value - from the property that is keyed by the string 'user'. Each property value - that is to be included in the log must be specified separately. - Properties are added to events by loggers or appenders. By default - the log4net:HostName property is set to the name of machine on - which the event was originally logged. - - - If no key is specified, e.g. %property then all the keys and their - values are printed in a comma separated list. - - - The properties of an event are combined from a number of different - contexts. These are listed below in the order in which they are searched. - - - - the event properties - - The event has that can be set. These - properties are specific to this event only. - - - - the thread properties - - The that are set on the current - thread. These properties are shared by all events logged on this thread. - - - - the global properties - - The that are set globally. These - properties are shared by all the threads in the AppDomain. - - - - - - - - r - Equivalent to timestamp - - - t - Equivalent to thread - - - timestamp - - - Used to output the number of milliseconds elapsed since the start - of the application until the creation of the logging event. - - - - - thread - - - Used to output the name of the thread that generated the - logging event. Uses the thread number if no name is available. - - - - - type - - - Used to output the fully qualified type name of the caller - issuing the logging request. This conversion specifier - can be optionally followed by precision specifier, that - is a decimal constant in brackets. - - - If a precision specifier is given, then only the corresponding - number of right most components of the class name will be - printed. By default the class name is output in fully qualified form. - - - For example, for the class name "log4net.Layout.PatternLayout", the - pattern %type{1} will output "PatternLayout". - - - WARNING Generating the caller class information is - slow. Thus, its use should be avoided unless execution speed is - not an issue. - - - See the note below on the availability of caller location information. - - - - - u - Equivalent to identity - - - username - - - Used to output the WindowsIdentity for the currently - active user. - - - WARNING Generating caller WindowsIdentity information is - extremely slow. Its use should be avoided unless execution speed - is not an issue. - - - - - utcdate - - - Used to output the date of the logging event in universal time. - The date conversion - specifier may be followed by a date format specifier enclosed - between braces. For example, %utcdate{HH:mm:ss,fff} or - %utcdate{dd MMM yyyy HH:mm:ss,fff}. If no date format specifier is - given then ISO8601 format is - assumed (). - - - The date format specifier admits the same syntax as the - time pattern string of the . - - - For better results it is recommended to use the log4net date - formatters. These can be specified using one of the strings - "ABSOLUTE", "DATE" and "ISO8601" for specifying - , - and respectively - . For example, - %utcdate{ISO8601} or %utcdate{ABSOLUTE}. - - - These dedicated date formatters perform significantly - better than . - - - - - w - Equivalent to username - - - x - Equivalent to ndc - - - X - Equivalent to mdc - - - % - - - The sequence %% outputs a single percent sign. - - - - - - The single letter patterns are deprecated in favor of the - longer more descriptive pattern names. - - - By default the relevant information is output as is. However, - with the aid of format modifiers it is possible to change the - minimum field width, the maximum field width and justification. - - - The optional format modifier is placed between the percent sign - and the conversion pattern name. - - - The first optional format modifier is the left justification - flag which is just the minus (-) character. Then comes the - optional minimum field width modifier. This is a decimal - constant that represents the minimum number of characters to - output. If the data item requires fewer characters, it is padded on - either the left or the right until the minimum width is - reached. The default is to pad on the left (right justify) but you - can specify right padding with the left justification flag. The - padding character is space. If the data item is larger than the - minimum field width, the field is expanded to accommodate the - data. The value is never truncated. - - - This behavior can be changed using the maximum field - width modifier which is designated by a period followed by a - decimal constant. If the data item is longer than the maximum - field, then the extra characters are removed from the - beginning of the data item and not from the end. For - example, it the maximum field width is eight and the data item is - ten characters long, then the first two characters of the data item - are dropped. This behavior deviates from the printf function in C - where truncation is done from the end. - - - Below are various format modifier examples for the logger - conversion specifier. - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Format modifierleft justifyminimum widthmaximum widthcomment
%20loggerfalse20none - - Left pad with spaces if the logger name is less than 20 - characters long. - -
%-20loggertrue20none - - Right pad with spaces if the logger - name is less than 20 characters long. - -
%.30loggerNAnone30 - - Truncate from the beginning if the logger - name is longer than 30 characters. - -
%20.30loggerfalse2030 - - Left pad with spaces if the logger name is shorter than 20 - characters. However, if logger name is longer than 30 characters, - then truncate from the beginning. - -
%-20.30loggertrue2030 - - Right pad with spaces if the logger name is shorter than 20 - characters. However, if logger name is longer than 30 characters, - then truncate from the beginning. - -
-
- - Note about caller location information.
- The following patterns %type %file %line %method %location %class %C %F %L %l %M - all generate caller location information. - Location information uses the System.Diagnostics.StackTrace class to generate - a call stack. The caller's information is then extracted from this stack. -
- - - The System.Diagnostics.StackTrace class is not supported on the - .NET Compact Framework 1.0 therefore caller location information is not - available on that framework. - - - - - The System.Diagnostics.StackTrace class has this to say about Release builds: - - - "StackTrace information will be most informative with Debug build configurations. - By default, Debug builds include debug symbols, while Release builds do not. The - debug symbols contain most of the file, method name, line number, and column - information used in constructing StackFrame and StackTrace objects. StackTrace - might not report as many method calls as expected, due to code transformations - that occur during optimization." - - - This means that in a Release build the caller information may be incomplete or may - not exist at all! Therefore caller location information cannot be relied upon in a Release build. - - - - Additional pattern converters may be registered with a specific - instance using the method. - -
- - This is a more detailed pattern. - %timestamp [%thread] %level %logger %ndc - %message%newline - - - A similar pattern except that the relative time is - right padded if less than 6 digits, thread name is right padded if - less than 15 characters and truncated if longer and the logger - name is left padded if shorter than 30 characters and truncated if - longer. - %-6timestamp [%15.15thread] %-5level %30.30logger %ndc - %message%newline - - Nicko Cadell - Gert Driesen - Douglas de la Torre - Daniel Cazzulino -
- - - Default pattern string for log output. - - - - Default pattern string for log output. - Currently set to the string "%message%newline" - which just prints the application supplied message. - - - - - - A detailed conversion pattern - - - - A conversion pattern which includes Time, Thread, Logger, and Nested Context. - Current value is %timestamp [%thread] %level %logger %ndc - %message%newline. - - - - - - Internal map of converter identifiers to converter types. - - - - This static map is overridden by the m_converterRegistry instance map - - - - - - the pattern - - - - - the head of the pattern converter chain - - - - - patterns defined on this PatternLayout only - - - - - Initialize the global registry - - - - Defines the builtin global rules. - - - - - - Constructs a PatternLayout using the DefaultConversionPattern - - - - The default pattern just produces the application supplied message. - - - Note to Inheritors: This constructor calls the virtual method - . If you override this method be - aware that it will be called before your is called constructor. - - - As per the contract the - method must be called after the properties on this object have been - configured. - - - - - - Constructs a PatternLayout using the supplied conversion pattern - - the pattern to use - - - Note to Inheritors: This constructor calls the virtual method - . If you override this method be - aware that it will be called before your is called constructor. - - - When using this constructor the method - need not be called. This may not be the case when using a subclass. - - - - - - Create the pattern parser instance - - the pattern to parse - The that will format the event - - - Creates the used to parse the conversion string. Sets the - global and instance rules on the . - - - - - - Initialize layout options - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - - - - Produces a formatted string as specified by the conversion pattern. - - the event being logged - The TextWriter to write the formatted event to - - - Parse the using the patter format - specified in the property. - - - - - - Add a converter to this PatternLayout - - the converter info - - - This version of the method is used by the configurator. - Programmatic users should use the alternative method. - - - - - - Add a converter to this PatternLayout - - the name of the conversion pattern for this converter - the type of the converter - - - Add a named pattern converter to this instance. This - converter will be used in the formatting of the event. - This method must be called before . - - - The specified must extend the - type. - - - - - - The pattern formatting string - - - - The ConversionPattern option. This is the string which - controls formatting and consists of a mix of literal content and - conversion specifiers. - - - - - - Wrapper class used to map converter names to converter types - - - - Pattern converter info class used during configuration to - pass to the - method. - - - - - - default constructor - - - - - Gets or sets the name of the conversion pattern - - - - The name of the pattern in the format string - - - - - - Gets or sets the type of the converter - - - - The value specified must extend the - type. - - - - - - Type converter for the interface - - - - Used to convert objects to the interface. - Supports converting from the interface to - the interface using the . - - - Nicko Cadell - Gert Driesen - - - - Interface supported by type converters - - - - This interface supports conversion from arbitrary types - to a single target type. See . - - - Nicko Cadell - Gert Driesen - - - - Can the source type be converted to the type supported by this object - - the type to convert - true if the conversion is possible - - - Test if the can be converted to the - type supported by this converter. - - - - - - Convert the source object to the type supported by this object - - the object to convert - the converted object - - - Converts the to the type supported - by this converter. - - - - - - Can the sourceType be converted to an - - the source to be to be converted - true if the source type can be converted to - - - Test if the can be converted to a - . Only is supported - as the . - - - - - - Convert the value to a object - - the value to convert - the object - - - Convert the object to a - object. If the object - is a then the - is used to adapt between the two interfaces, otherwise an - exception is thrown. - - - - - - Extract the value of a property from the - - - - Extract the value of a property from the - - - Nicko Cadell - - - - Constructs a RawPropertyLayout - - - - - Lookup the property for - - The event to format - returns property value - - - Looks up and returns the object value of the property - named . If there is no property defined - with than name then null will be returned. - - - - - - The name of the value to lookup in the LoggingEvent Properties collection. - - - Value to lookup in the LoggingEvent Properties collection - - - - String name of the property to lookup in the . - - - - - - Extract the date from the - - - - Extract the date from the - - - Nicko Cadell - Gert Driesen - - - - Constructs a RawTimeStampLayout - - - - - Gets the as a . - - The event to format - returns the time stamp - - - Gets the as a . - - - The time stamp is in local time. To format the time stamp - in universal time use . - - - - - - Extract the date from the - - - - Extract the date from the - - - Nicko Cadell - Gert Driesen - - - - Constructs a RawUtcTimeStampLayout - - - - - Gets the as a . - - The event to format - returns the time stamp - - - Gets the as a . - - - The time stamp is in universal time. To format the time stamp - in local time use . - - - - - - A very simple layout - - - - SimpleLayout consists of the level of the log statement, - followed by " - " and then the log message itself. For example, - - DEBUG - Hello world - - - - Nicko Cadell - Gert Driesen - - - - Constructs a SimpleLayout - - - - - Initialize layout options - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - - - - Produces a simple formatted output. - - the event being logged - The TextWriter to write the formatted event to - - - Formats the event as the level of the even, - followed by " - " and then the log message itself. The - output is terminated by a newline. - - - - - - Layout that formats the log events as XML elements. - - - - The output of the consists of a series of - log4net:event elements. It does not output a complete well-formed XML - file. The output is designed to be included as an external entity - in a separate file to form a correct XML file. - - - For example, if abc is the name of the file where - the output goes, then a well-formed XML file would - be: - - - <?xml version="1.0" ?> - - <!DOCTYPE log4net:events SYSTEM "log4net-events.dtd" [<!ENTITY data SYSTEM "abc">]> - - <log4net:events version="1.2" xmlns:log4net="http://logging.apache.org/log4net/schemas/log4net-events-1.2> - &data; - </log4net:events> - - - This approach enforces the independence of the - and the appender where it is embedded. - - - The version attribute helps components to correctly - interpret output generated by . The value of - this attribute should be "1.2" for release 1.2 and later. - - - Alternatively the Header and Footer properties can be - configured to output the correct XML header, open tag and close tag. - When setting the Header and Footer properties it is essential - that the underlying data store not be appendable otherwise the data - will become invalid XML. - - - Nicko Cadell - Gert Driesen - - - - Layout that formats the log events as XML elements. - - - - This is an abstract class that must be subclassed by an implementation - to conform to a specific schema. - - - Deriving classes must implement the method. - - - Nicko Cadell - Gert Driesen - - - - Protected constructor to support subclasses - - - - Initializes a new instance of the class - with no location info. - - - - - - Protected constructor to support subclasses - - - - The parameter determines whether - location information will be output by the layout. If - is set to true, then the - file name and line number of the statement at the origin of the log - statement will be output. - - - If you are embedding this layout within an SMTPAppender - then make sure to set the LocationInfo option of that - appender as well. - - - - - - Initialize layout options - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - - - - Produces a formatted string. - - The event being logged. - The TextWriter to write the formatted event to - - - Format the and write it to the . - - - This method creates an that writes to the - . The is passed - to the method. Subclasses should override the - method rather than this method. - - - - - - Does the actual writing of the XML. - - The writer to use to output the event to. - The event to write. - - - Subclasses should override this method to format - the as XML. - - - - - - Flag to indicate if location information should be included in - the XML events. - - - - - Writer adapter that ignores Close - - - - - The string to replace invalid chars with - - - - - Gets a value indicating whether to include location information in - the XML events. - - - true if location information should be included in the XML - events; otherwise, false. - - - - If is set to true, then the file - name and line number of the statement at the origin of the log - statement will be output. - - - If you are embedding this layout within an SMTPAppender - then make sure to set the LocationInfo option of that - appender as well. - - - - - - The string to replace characters that can not be expressed in XML with. - - - Not all characters may be expressed in XML. This property contains the - string to replace those that can not with. This defaults to a ?. Set it - to the empty string to simply remove offending characters. For more - details on the allowed character ranges see http://www.w3.org/TR/REC-xml/#charsets - Character replacement will occur in the log message, the property names - and the property values. - - - - - - - Gets the content type output by this layout. - - - As this is the XML layout, the value is always "text/xml". - - - - As this is the XML layout, the value is always "text/xml". - - - - - - Constructs an XmlLayout - - - - - Constructs an XmlLayout. - - - - The LocationInfo option takes a boolean value. By - default, it is set to false which means there will be no location - information output by this layout. If the the option is set to - true, then the file name and line number of the statement - at the origin of the log statement will be output. - - - If you are embedding this layout within an SmtpAppender - then make sure to set the LocationInfo option of that - appender as well. - - - - - - Initialize layout options - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - Builds a cache of the element names - - - - - - Does the actual writing of the XML. - - The writer to use to output the event to. - The event to write. - - - Override the base class method - to write the to the . - - - - - - The prefix to use for all generated element names - - - - - The prefix to use for all element names - - - - The default prefix is log4net. Set this property - to change the prefix. If the prefix is set to an empty string - then no prefix will be written. - - - - - - Set whether or not to base64 encode the message. - - - - By default the log message will be written as text to the xml - output. This can cause problems when the message contains binary - data. By setting this to true the contents of the message will be - base64 encoded. If this is set then invalid character replacement - (see ) will not be performed - on the log message. - - - - - - Set whether or not to base64 encode the property values. - - - - By default the properties will be written as text to the xml - output. This can cause problems when one or more properties contain - binary data. By setting this to true the values of the properties - will be base64 encoded. If this is set then invalid character replacement - (see ) will not be performed - on the property values. - - - - - - Layout that formats the log events as XML elements compatible with the log4j schema - - - - Formats the log events according to the http://logging.apache.org/log4j schema. - - - Nicko Cadell - - - - The 1st of January 1970 in UTC - - - - - Constructs an XMLLayoutSchemaLog4j - - - - - Constructs an XMLLayoutSchemaLog4j. - - - - The LocationInfo option takes a boolean value. By - default, it is set to false which means there will be no location - information output by this layout. If the the option is set to - true, then the file name and line number of the statement - at the origin of the log statement will be output. - - - If you are embedding this layout within an SMTPAppender - then make sure to set the LocationInfo option of that - appender as well. - - - - - - Actually do the writing of the xml - - the writer to use - the event to write - - - Generate XML that is compatible with the log4j schema. - - - - - - The version of the log4j schema to use. - - - - Only version 1.2 of the log4j schema is supported. - - - - - - The default object Renderer. - - - - The default renderer supports rendering objects and collections to strings. - - - See the method for details of the output. - - - Nicko Cadell - Gert Driesen - - - - Implement this interface in order to render objects as strings - - - - Certain types require special case conversion to - string form. This conversion is done by an object renderer. - Object renderers implement the - interface. - - - Nicko Cadell - Gert Driesen - - - - Render the object to a string - - The map used to lookup renderers - The object to render - The writer to render to - - - Render the object to a - string. - - - The parameter is - provided to lookup and render other objects. This is - very useful where contains - nested objects of unknown type. The - method can be used to render these objects. - - - - - - Default constructor - - - - Default constructor - - - - - - Render the object to a string - - The map used to lookup renderers - The object to render - The writer to render to - - - Render the object to a string. - - - The parameter is - provided to lookup and render other objects. This is - very useful where contains - nested objects of unknown type. The - method can be used to render these objects. - - - The default renderer supports rendering objects to strings as follows: - - - - Value - Rendered String - - - null - - "(null)" - - - - - - - For a one dimensional array this is the - array type name, an open brace, followed by a comma - separated list of the elements (using the appropriate - renderer), followed by a close brace. - - - For example: int[] {1, 2, 3}. - - - If the array is not one dimensional the - Array.ToString() is returned. - - - - - , & - - - Rendered as an open brace, followed by a comma - separated list of the elements (using the appropriate - renderer), followed by a close brace. - - - For example: {a, b, c}. - - - All collection classes that implement its subclasses, - or generic equivalents all implement the interface. - - - - - - - - Rendered as the key, an equals sign ('='), and the value (using the appropriate - renderer). - - - For example: key=value. - - - - - other - - Object.ToString() - - - - - - - - Render the array argument into a string - - The map used to lookup renderers - the array to render - The writer to render to - - - For a one dimensional array this is the - array type name, an open brace, followed by a comma - separated list of the elements (using the appropriate - renderer), followed by a close brace. For example: - int[] {1, 2, 3}. - - - If the array is not one dimensional the - Array.ToString() is returned. - - - - - - Render the enumerator argument into a string - - The map used to lookup renderers - the enumerator to render - The writer to render to - - - Rendered as an open brace, followed by a comma - separated list of the elements (using the appropriate - renderer), followed by a close brace. For example: - {a, b, c}. - - - - - - Render the DictionaryEntry argument into a string - - The map used to lookup renderers - the DictionaryEntry to render - The writer to render to - - - Render the key, an equals sign ('='), and the value (using the appropriate - renderer). For example: key=value. - - - - - - Map class objects to an . - - - - Maintains a mapping between types that require special - rendering and the that - is used to render them. - - - The method is used to render an - object using the appropriate renderers defined in this map. - - - Nicko Cadell - Gert Driesen - - - - Default Constructor - - - - Default constructor. - - - - - - Render using the appropriate renderer. - - the object to render to a string - the object rendered as a string - - - This is a convenience method used to render an object to a string. - The alternative method - should be used when streaming output to a . - - - - - - Render using the appropriate renderer. - - the object to render to a string - The writer to render to - - - Find the appropriate renderer for the type of the - parameter. This is accomplished by calling the - method. Once a renderer is found, it is - applied on the object and the result is returned - as a . - - - - - - Gets the renderer for the specified object type - - the object to lookup the renderer for - the renderer for - - - Gets the renderer for the specified object type. - - - Syntactic sugar method that calls - with the type of the object parameter. - - - - - - Gets the renderer for the specified type - - the type to lookup the renderer for - the renderer for the specified type - - - Returns the renderer for the specified type. - If no specific renderer has been defined the - will be returned. - - - - - - Internal function to recursively search interfaces - - the type to lookup the renderer for - the renderer for the specified type - - - - Clear the map of renderers - - - - Clear the custom renderers defined by using - . The - cannot be removed. - - - - - - Register an for . - - the type that will be rendered by - the renderer for - - - Register an object renderer for a specific source type. - This renderer will be returned from a call to - specifying the same as an argument. - - - - - - Get the default renderer instance - - the default renderer - - - Get the default renderer - - - - - - Interface implemented by logger repository plugins. - - - - Plugins define additional behavior that can be associated - with a . - The held by the - property is used to store the plugins for a repository. - - - The log4net.Config.PluginAttribute can be used to - attach plugins to repositories created using configuration - attributes. - - - Nicko Cadell - Gert Driesen - - - - Attaches the plugin to the specified . - - The that this plugin should be attached to. - - - A plugin may only be attached to a single repository. - - - This method is called when the plugin is attached to the repository. - - - - - - Is called when the plugin is to shutdown. - - - - This method is called to notify the plugin that - it should stop operating and should detach from - the repository. - - - - - - Gets the name of the plugin. - - - The name of the plugin. - - - - Plugins are stored in the - keyed by name. Each plugin instance attached to a - repository must be a unique name. - - - - - - A strongly-typed collection of objects. - - Nicko Cadell - - - - Creates a read-only wrapper for a PluginCollection instance. - - list to create a readonly wrapper arround - - A PluginCollection wrapper that is read-only. - - - - - Initializes a new instance of the PluginCollection class - that is empty and has the default initial capacity. - - - - - Initializes a new instance of the PluginCollection class - that has the specified initial capacity. - - - The number of elements that the new PluginCollection is initially capable of storing. - - - - - Initializes a new instance of the PluginCollection class - that contains elements copied from the specified PluginCollection. - - The PluginCollection whose elements are copied to the new collection. - - - - Initializes a new instance of the PluginCollection class - that contains elements copied from the specified array. - - The array whose elements are copied to the new list. - - - - Initializes a new instance of the PluginCollection class - that contains elements copied from the specified collection. - - The collection whose elements are copied to the new list. - - - - Allow subclasses to avoid our default constructors - - - - - - - Copies the entire PluginCollection to a one-dimensional - array. - - The one-dimensional array to copy to. - - - - Copies the entire PluginCollection to a one-dimensional - array, starting at the specified index of the target array. - - The one-dimensional array to copy to. - The zero-based index in at which copying begins. - - - - Adds a to the end of the PluginCollection. - - The to be added to the end of the PluginCollection. - The index at which the value has been added. - - - - Removes all elements from the PluginCollection. - - - - - Creates a shallow copy of the . - - A new with a shallow copy of the collection data. - - - - Determines whether a given is in the PluginCollection. - - The to check for. - true if is found in the PluginCollection; otherwise, false. - - - - Returns the zero-based index of the first occurrence of a - in the PluginCollection. - - The to locate in the PluginCollection. - - The zero-based index of the first occurrence of - in the entire PluginCollection, if found; otherwise, -1. - - - - - Inserts an element into the PluginCollection at the specified index. - - The zero-based index at which should be inserted. - The to insert. - - is less than zero - -or- - is equal to or greater than . - - - - - Removes the first occurrence of a specific from the PluginCollection. - - The to remove from the PluginCollection. - - The specified was not found in the PluginCollection. - - - - - Removes the element at the specified index of the PluginCollection. - - The zero-based index of the element to remove. - - is less than zero. - -or- - is equal to or greater than . - - - - - Returns an enumerator that can iterate through the PluginCollection. - - An for the entire PluginCollection. - - - - Adds the elements of another PluginCollection to the current PluginCollection. - - The PluginCollection whose elements should be added to the end of the current PluginCollection. - The new of the PluginCollection. - - - - Adds the elements of a array to the current PluginCollection. - - The array whose elements should be added to the end of the PluginCollection. - The new of the PluginCollection. - - - - Adds the elements of a collection to the current PluginCollection. - - The collection whose elements should be added to the end of the PluginCollection. - The new of the PluginCollection. - - - - Sets the capacity to the actual number of elements. - - - - - is less than zero. - -or- - is equal to or greater than . - - - - - is less than zero. - -or- - is equal to or greater than . - - - - - Gets the number of elements actually contained in the PluginCollection. - - - - - Gets a value indicating whether access to the collection is synchronized (thread-safe). - - true if access to the ICollection is synchronized (thread-safe); otherwise, false. - - - - Gets an object that can be used to synchronize access to the collection. - - - An object that can be used to synchronize access to the collection. - - - - - Gets or sets the at the specified index. - - - The at the specified index. - - The zero-based index of the element to get or set. - - is less than zero. - -or- - is equal to or greater than . - - - - - Gets a value indicating whether the collection has a fixed size. - - true if the collection has a fixed size; otherwise, false. The default is false. - - - - Gets a value indicating whether the IList is read-only. - - true if the collection is read-only; otherwise, false. The default is false. - - - - Gets or sets the number of elements the PluginCollection can contain. - - - The number of elements the PluginCollection can contain. - - - - - Supports type-safe iteration over a . - - - - - - Advances the enumerator to the next element in the collection. - - - true if the enumerator was successfully advanced to the next element; - false if the enumerator has passed the end of the collection. - - - The collection was modified after the enumerator was created. - - - - - Sets the enumerator to its initial position, before the first element in the collection. - - - - - Gets the current element in the collection. - - - - - Type visible only to our subclasses - Used to access protected constructor - - - - - - A value - - - - - Supports simple iteration over a . - - - - - - Initializes a new instance of the Enumerator class. - - - - - - Advances the enumerator to the next element in the collection. - - - true if the enumerator was successfully advanced to the next element; - false if the enumerator has passed the end of the collection. - - - The collection was modified after the enumerator was created. - - - - - Sets the enumerator to its initial position, before the first element in the collection. - - - - - Gets the current element in the collection. - - - The current element in the collection. - - - - - - - - Map of repository plugins. - - - - This class is a name keyed map of the plugins that are - attached to a repository. - - - Nicko Cadell - Gert Driesen - - - - Constructor - - The repository that the plugins should be attached to. - - - Initialize a new instance of the class with a - repository that the plugins should be attached to. - - - - - - Adds a to the map. - - The to add to the map. - - - The will be attached to the repository when added. - - - If there already exists a plugin with the same name - attached to the repository then the old plugin will - be and replaced with - the new plugin. - - - - - - Removes a from the map. - - The to remove from the map. - - - Remove a specific plugin from this map. - - - - - - Gets a by name. - - The name of the to lookup. - - The from the map with the name specified, or - null if no plugin is found. - - - - Lookup a plugin by name. If the plugin is not found null - will be returned. - - - - - - Gets all possible plugins as a list of objects. - - All possible plugins as a list of objects. - - - Get a collection of all the plugins defined in this map. - - - - - - Base implementation of - - - - Default abstract implementation of the - interface. This base class can be used by implementors - of the interface. - - - Nicko Cadell - Gert Driesen - - - - Constructor - - the name of the plugin - - Initializes a new Plugin with the specified name. - - - - - Attaches this plugin to a . - - The that this plugin should be attached to. - - - A plugin may only be attached to a single repository. - - - This method is called when the plugin is attached to the repository. - - - - - - Is called when the plugin is to shutdown. - - - - This method is called to notify the plugin that - it should stop operating and should detach from - the repository. - - - - - - The name of this plugin. - - - - - The repository this plugin is attached to. - - - - - Gets or sets the name of the plugin. - - - The name of the plugin. - - - - Plugins are stored in the - keyed by name. Each plugin instance attached to a - repository must be a unique name. - - - The name of the plugin must not change one the - plugin has been attached to a repository. - - - - - - The repository for this plugin - - - The that this plugin is attached to. - - - - Gets or sets the that this plugin is - attached to. - - - - - - Plugin that listens for events from the - - - - This plugin publishes an instance of - on a specified . This listens for logging events delivered from - a remote . - - - When an event is received it is relogged within the attached repository - as if it had been raised locally. - - - Nicko Cadell - Gert Driesen - - - - Default constructor - - - - Initializes a new instance of the class. - - - The property must be set. - - - - - - Construct with sink Uri. - - The name to publish the sink under in the remoting infrastructure. - See for more details. - - - Initializes a new instance of the class - with specified name. - - - - - - Attaches this plugin to a . - - The that this plugin should be attached to. - - - A plugin may only be attached to a single repository. - - - This method is called when the plugin is attached to the repository. - - - - - - Is called when the plugin is to shutdown. - - - - When the plugin is shutdown the remote logging - sink is disconnected. - - - - - - Gets or sets the URI of this sink. - - - The URI of this sink. - - - - This is the name under which the object is marshaled. - - - - - - - Delivers objects to a remote sink. - - - - Internal class used to listen for logging events - and deliver them to the local repository. - - - - - - Constructor - - The repository to log to. - - - Initializes a new instance of the for the - specified . - - - - - - Logs the events to the repository. - - The events to log. - - - The events passed are logged to the - - - - - - Obtains a lifetime service object to control the lifetime - policy for this instance. - - null to indicate that this instance should live forever. - - - Obtains a lifetime service object to control the lifetime - policy for this instance. This object should live forever - therefore this implementation returns null. - - - - - - The underlying that events should - be logged to. - - - - - Default implementation of - - - - This default implementation of the - interface is used to create the default subclass - of the object. - - - Nicko Cadell - Gert Driesen - - - - Interface abstracts creation of instances - - - - This interface is used by the to - create new objects. - - - The method is called - to create a named . - - - Implement this interface to create new subclasses of . - - - Nicko Cadell - Gert Driesen - - - - Create a new instance - - The name of the . - The instance for the specified name. - - - Create a new instance with the - specified name. - - - Called by the to create - new named instances. - - - If the is null then the root logger - must be returned. - - - - - - Default constructor - - - - Initializes a new instance of the class. - - - - - - Create a new instance - - The name of the . - The instance for the specified name. - - - Create a new instance with the - specified name. - - - Called by the to create - new named instances. - - - If the is null then the root logger - must be returned. - - - - - - Default internal subclass of - - - - This subclass has no additional behavior over the - class but does allow instances - to be created. - - - - - - Implementation of used by - - - - Internal class used to provide implementation of - interface. Applications should use to get - logger instances. - - - This is one of the central classes in the log4net implementation. One of the - distinctive features of log4net are hierarchical loggers and their - evaluation. The organizes the - instances into a rooted tree hierarchy. - - - The class is abstract. Only concrete subclasses of - can be created. The - is used to create instances of this type for the . - - - Nicko Cadell - Gert Driesen - Aspi Havewala - Douglas de la Torre - - - - This constructor created a new instance and - sets its name. - - The name of the . - - - This constructor is protected and designed to be used by - a subclass that is not abstract. - - - Loggers are constructed by - objects. See for the default - logger creator. - - - - - - Add to the list of appenders of this - Logger instance. - - An appender to add to this logger - - - Add to the list of appenders of this - Logger instance. - - - If is already in the list of - appenders, then it won't be added again. - - - - - - Look for the appender named as name - - The name of the appender to lookup - The appender with the name specified, or null. - - - Returns the named appender, or null if the appender is not found. - - - - - - Remove all previously added appenders from this Logger instance. - - - - Remove all previously added appenders from this Logger instance. - - - This is useful when re-reading configuration information. - - - - - - Remove the appender passed as parameter form the list of appenders. - - The appender to remove - The appender removed from the list - - - Remove the appender passed as parameter form the list of appenders. - The appender removed is not closed. - If you are discarding the appender you must call - on the appender removed. - - - - - - Remove the appender passed as parameter form the list of appenders. - - The name of the appender to remove - The appender removed from the list - - - Remove the named appender passed as parameter form the list of appenders. - The appender removed is not closed. - If you are discarding the appender you must call - on the appender removed. - - - - - - This generic form is intended to be used by wrappers. - - The declaring type of the method that is - the stack boundary into the logging system for this call. - The level of the message to be logged. - The message object to log. - The exception to log, including its stack trace. - - - Generate a logging event for the specified using - the and . - - - This method must not throw any exception to the caller. - - - - - - This is the most generic printing method that is intended to be used - by wrappers. - - The event being logged. - - - Logs the specified logging event through this logger. - - - This method must not throw any exception to the caller. - - - - - - Checks if this logger is enabled for a given passed as parameter. - - The level to check. - - true if this logger is enabled for level, otherwise false. - - - - Test if this logger is going to log events of the specified . - - - This method must not throw any exception to the caller. - - - - - - Deliver the to the attached appenders. - - The event to log. - - - Call the appenders in the hierarchy starting at - this. If no appenders could be found, emit a - warning. - - - This method calls all the appenders inherited from the - hierarchy circumventing any evaluation of whether to log or not - to log the particular log request. - - - - - - Closes all attached appenders implementing the interface. - - - - Used to ensure that the appenders are correctly shutdown. - - - - - - This is the most generic printing method. This generic form is intended to be used by wrappers - - The level of the message to be logged. - The message object to log. - The exception to log, including its stack trace. - - - Generate a logging event for the specified using - the . - - - - - - Creates a new logging event and logs the event without further checks. - - The declaring type of the method that is - the stack boundary into the logging system for this call. - The level of the message to be logged. - The message object to log. - The exception to log, including its stack trace. - - - Generates a logging event and delivers it to the attached - appenders. - - - - - - Creates a new logging event and logs the event without further checks. - - The event being logged. - - - Delivers the logging event to the attached appenders. - - - - - - The fully qualified type of the Logger class. - - - - - The name of this logger. - - - - - The assigned level of this logger. - - - - The level variable need not be - assigned a value in which case it is inherited - form the hierarchy. - - - - - - The parent of this logger. - - - - The parent of this logger. - All loggers have at least one ancestor which is the root logger. - - - - - - Loggers need to know what Hierarchy they are in. - - - - Loggers need to know what Hierarchy they are in. - The hierarchy that this logger is a member of is stored - here. - - - - - - Helper implementation of the interface - - - - - Flag indicating if child loggers inherit their parents appenders - - - - Additivity is set to true by default, that is children inherit - the appenders of their ancestors by default. If this variable is - set to false then the appenders found in the - ancestors of this logger are not used. However, the children - of this logger will inherit its appenders, unless the children - have their additivity flag set to false too. See - the user manual for more details. - - - - - - Lock to protect AppenderAttachedImpl variable m_appenderAttachedImpl - - - - - Gets or sets the parent logger in the hierarchy. - - - The parent logger in the hierarchy. - - - - Part of the Composite pattern that makes the hierarchy. - The hierarchy is parent linked rather than child linked. - - - - - - Gets or sets a value indicating if child loggers inherit their parent's appenders. - - - true if child loggers inherit their parent's appenders. - - - - Additivity is set to true by default, that is children inherit - the appenders of their ancestors by default. If this variable is - set to false then the appenders found in the - ancestors of this logger are not used. However, the children - of this logger will inherit its appenders, unless the children - have their additivity flag set to false too. See - the user manual for more details. - - - - - - Gets the effective level for this logger. - - The nearest level in the logger hierarchy. - - - Starting from this logger, searches the logger hierarchy for a - non-null level and returns it. Otherwise, returns the level of the - root logger. - - The Logger class is designed so that this method executes as - quickly as possible. - - - - - Gets or sets the where this - Logger instance is attached to. - - The hierarchy that this logger belongs to. - - - This logger must be attached to a single . - - - - - - Gets or sets the assigned , if any, for this Logger. - - - The of this logger. - - - - The assigned can be null. - - - - - - Get the appenders contained in this logger as an - . - - A collection of the appenders in this logger - - - Get the appenders contained in this logger as an - . If no appenders - can be found, then a is returned. - - - - - - Gets the logger name. - - - The name of the logger. - - - - The name of this logger - - - - - - Gets the where this - Logger instance is attached to. - - - The that this logger belongs to. - - - - Gets the where this - Logger instance is attached to. - - - - - - Construct a new Logger - - the name of the logger - - - Initializes a new instance of the class - with the specified name. - - - - - - Delegate used to handle logger creation event notifications. - - The in which the has been created. - The event args that hold the instance that has been created. - - - Delegate used to handle logger creation event notifications. - - - - - - Provides data for the event. - - - - A event is raised every time a - is created. - - - - - - The created - - - - - Constructor - - The that has been created. - - - Initializes a new instance of the event argument - class,with the specified . - - - - - - Gets the that has been created. - - - The that has been created. - - - - The that has been created. - - - - - - Hierarchical organization of loggers - - - - The casual user should not have to deal with this class - directly. - - - This class is specialized in retrieving loggers by name and - also maintaining the logger hierarchy. Implements the - interface. - - - The structure of the logger hierarchy is maintained by the - method. The hierarchy is such that children - link to their parent but parents do not have any references to their - children. Moreover, loggers can be instantiated in any order, in - particular descendant before ancestor. - - - In case a descendant is created before a particular ancestor, - then it creates a provision node for the ancestor and adds itself - to the provision node. Other descendants of the same ancestor add - themselves to the previously created provision node. - - - Nicko Cadell - Gert Driesen - - - - Base implementation of - - - - Default abstract implementation of the interface. - - - Skeleton implementation of the interface. - All types can extend this type. - - - Nicko Cadell - Gert Driesen - - - - Interface implemented by logger repositories. - - - - This interface is implemented by logger repositories. e.g. - . - - - This interface is used by the - to obtain interfaces. - - - Nicko Cadell - Gert Driesen - - - - Check if the named logger exists in the repository. If so return - its reference, otherwise returns null. - - The name of the logger to lookup - The Logger object with the name specified - - - If the names logger exists it is returned, otherwise - null is returned. - - - - - - Returns all the currently defined loggers as an Array. - - All the defined loggers - - - Returns all the currently defined loggers as an Array. - - - - - - Returns a named logger instance - - The name of the logger to retrieve - The logger object with the name specified - - - Returns a named logger instance. - - - If a logger of that name already exists, then it will be - returned. Otherwise, a new logger will be instantiated and - then linked with its existing ancestors as well as children. - - - - - Shutdown the repository - - - Shutting down a repository will safely close and remove - all appenders in all loggers including the root logger. - - - Some appenders need to be closed before the - application exists. Otherwise, pending logging events might be - lost. - - - The method is careful to close nested - appenders before closing regular appenders. This is allows - configurations where a regular appender is attached to a logger - and again to a nested appender. - - - - - - Reset the repositories configuration to a default state - - - - Reset all values contained in this instance to their - default state. - - - Existing loggers are not removed. They are just reset. - - - This method should be used sparingly and with care as it will - block all logging until it is completed. - - - - - - Log the through this repository. - - the event to log - - - This method should not normally be used to log. - The interface should be used - for routine logging. This interface can be obtained - using the method. - - - The logEvent is delivered to the appropriate logger and - that logger is then responsible for logging the event. - - - - - - Returns all the Appenders that are configured as an Array. - - All the Appenders - - - Returns all the Appenders that are configured as an Array. - - - - - - The name of the repository - - - The name of the repository - - - - The name of the repository. - - - - - - RendererMap accesses the object renderer map for this repository. - - - RendererMap accesses the object renderer map for this repository. - - - - RendererMap accesses the object renderer map for this repository. - - - The RendererMap holds a mapping between types and - objects. - - - - - - The plugin map for this repository. - - - The plugin map for this repository. - - - - The plugin map holds the instances - that have been attached to this repository. - - - - - - Get the level map for the Repository. - - - - Get the level map for the Repository. - - - The level map defines the mappings between - level names and objects in - this repository. - - - - - - The threshold for all events in this repository - - - The threshold for all events in this repository - - - - The threshold for all events in this repository. - - - - - - Flag indicates if this repository has been configured. - - - Flag indicates if this repository has been configured. - - - - Flag indicates if this repository has been configured. - - - - - - Event to notify that the repository has been shutdown. - - - Event to notify that the repository has been shutdown. - - - - Event raised when the repository has been shutdown. - - - - - - Event to notify that the repository has had its configuration reset. - - - Event to notify that the repository has had its configuration reset. - - - - Event raised when the repository's configuration has been - reset to default. - - - - - - Event to notify that the repository has had its configuration changed. - - - Event to notify that the repository has had its configuration changed. - - - - Event raised when the repository's configuration has been changed. - - - - - - Repository specific properties - - - Repository specific properties - - - - These properties can be specified on a repository specific basis. - - - - - - Default Constructor - - - - Initializes the repository with default (empty) properties. - - - - - - Construct the repository using specific properties - - the properties to set for this repository - - - Initializes the repository with specified properties. - - - - - - Test if logger exists - - The name of the logger to lookup - The Logger object with the name specified - - - Check if the named logger exists in the repository. If so return - its reference, otherwise returns null. - - - - - - Returns all the currently defined loggers in the repository - - All the defined loggers - - - Returns all the currently defined loggers in the repository as an Array. - - - - - - Return a new logger instance - - The name of the logger to retrieve - The logger object with the name specified - - - Return a new logger instance. - - - If a logger of that name already exists, then it will be - returned. Otherwise, a new logger will be instantiated and - then linked with its existing ancestors as well as children. - - - - - - Shutdown the repository - - - - Shutdown the repository. Can be overridden in a subclass. - This base class implementation notifies the - listeners and all attached plugins of the shutdown event. - - - - - - Reset the repositories configuration to a default state - - - - Reset all values contained in this instance to their - default state. - - - Existing loggers are not removed. They are just reset. - - - This method should be used sparingly and with care as it will - block all logging until it is completed. - - - - - - Log the logEvent through this repository. - - the event to log - - - This method should not normally be used to log. - The interface should be used - for routine logging. This interface can be obtained - using the method. - - - The logEvent is delivered to the appropriate logger and - that logger is then responsible for logging the event. - - - - - - Returns all the Appenders that are configured as an Array. - - All the Appenders - - - Returns all the Appenders that are configured as an Array. - - - - - - Adds an object renderer for a specific class. - - The type that will be rendered by the renderer supplied. - The object renderer used to render the object. - - - Adds an object renderer for a specific class. - - - - - - Notify the registered listeners that the repository is shutting down - - Empty EventArgs - - - Notify any listeners that this repository is shutting down. - - - - - - Notify the registered listeners that the repository has had its configuration reset - - Empty EventArgs - - - Notify any listeners that this repository's configuration has been reset. - - - - - - Notify the registered listeners that the repository has had its configuration changed - - Empty EventArgs - - - Notify any listeners that this repository's configuration has changed. - - - - - - Raise a configuration changed event on this repository - - EventArgs.Empty - - - Applications that programmatically change the configuration of the repository should - raise this event notification to notify listeners. - - - - - - The name of the repository - - - The string name of the repository - - - - The name of this repository. The name is - used to store and lookup the repositories - stored by the . - - - - - - The threshold for all events in this repository - - - The threshold for all events in this repository - - - - The threshold for all events in this repository - - - - - - RendererMap accesses the object renderer map for this repository. - - - RendererMap accesses the object renderer map for this repository. - - - - RendererMap accesses the object renderer map for this repository. - - - The RendererMap holds a mapping between types and - objects. - - - - - - The plugin map for this repository. - - - The plugin map for this repository. - - - - The plugin map holds the instances - that have been attached to this repository. - - - - - - Get the level map for the Repository. - - - - Get the level map for the Repository. - - - The level map defines the mappings between - level names and objects in - this repository. - - - - - - Flag indicates if this repository has been configured. - - - Flag indicates if this repository has been configured. - - - - Flag indicates if this repository has been configured. - - - - - - Event to notify that the repository has been shutdown. - - - Event to notify that the repository has been shutdown. - - - - Event raised when the repository has been shutdown. - - - - - - Event to notify that the repository has had its configuration reset. - - - Event to notify that the repository has had its configuration reset. - - - - Event raised when the repository's configuration has been - reset to default. - - - - - - Event to notify that the repository has had its configuration changed. - - - Event to notify that the repository has had its configuration changed. - - - - Event raised when the repository's configuration has been changed. - - - - - - Repository specific properties - - - Repository specific properties - - - These properties can be specified on a repository specific basis - - - - - Basic Configurator interface for repositories - - - - Interface used by basic configurator to configure a - with a default . - - - A should implement this interface to support - configuration by the . - - - Nicko Cadell - Gert Driesen - - - - Initialize the repository using the specified appender - - the appender to use to log all logging events - - - Configure the repository to route all logging events to the - specified appender. - - - - - - Configure repository using XML - - - - Interface used by Xml configurator to configure a . - - - A should implement this interface to support - configuration by the . - - - Nicko Cadell - Gert Driesen - - - - Initialize the repository using the specified config - - the element containing the root of the config - - - The schema for the XML configuration data is defined by - the implementation. - - - - - - Default constructor - - - - Initializes a new instance of the class. - - - - - - Construct with properties - - The properties to pass to this repository. - - - Initializes a new instance of the class. - - - - - - Construct with a logger factory - - The factory to use to create new logger instances. - - - Initializes a new instance of the class with - the specified . - - - - - - Construct with properties and a logger factory - - The properties to pass to this repository. - The factory to use to create new logger instances. - - - Initializes a new instance of the class with - the specified . - - - - - - Test if a logger exists - - The name of the logger to lookup - The Logger object with the name specified - - - Check if the named logger exists in the hierarchy. If so return - its reference, otherwise returns null. - - - - - - Returns all the currently defined loggers in the hierarchy as an Array - - All the defined loggers - - - Returns all the currently defined loggers in the hierarchy as an Array. - The root logger is not included in the returned - enumeration. - - - - - - Return a new logger instance named as the first parameter using - the default factory. - - - - Return a new logger instance named as the first parameter using - the default factory. - - - If a logger of that name already exists, then it will be - returned. Otherwise, a new logger will be instantiated and - then linked with its existing ancestors as well as children. - - - The name of the logger to retrieve - The logger object with the name specified - - - - Shutting down a hierarchy will safely close and remove - all appenders in all loggers including the root logger. - - - - Shutting down a hierarchy will safely close and remove - all appenders in all loggers including the root logger. - - - Some appenders need to be closed before the - application exists. Otherwise, pending logging events might be - lost. - - - The Shutdown method is careful to close nested - appenders before closing regular appenders. This is allows - configurations where a regular appender is attached to a logger - and again to a nested appender. - - - - - - Reset all values contained in this hierarchy instance to their default. - - - - Reset all values contained in this hierarchy instance to their - default. This removes all appenders from all loggers, sets - the level of all non-root loggers to null, - sets their additivity flag to true and sets the level - of the root logger to . Moreover, - message disabling is set its default "off" value. - - - Existing loggers are not removed. They are just reset. - - - This method should be used sparingly and with care as it will - block all logging until it is completed. - - - - - - Log the logEvent through this hierarchy. - - the event to log - - - This method should not normally be used to log. - The interface should be used - for routine logging. This interface can be obtained - using the method. - - - The logEvent is delivered to the appropriate logger and - that logger is then responsible for logging the event. - - - - - - Returns all the Appenders that are currently configured - - An array containing all the currently configured appenders - - - Returns all the instances that are currently configured. - All the loggers are searched for appenders. The appenders may also be containers - for appenders and these are also searched for additional loggers. - - - The list returned is unordered but does not contain duplicates. - - - - - - Collect the appenders from an . - The appender may also be a container. - - - - - - - Collect the appenders from an container - - - - - - - Initialize the log4net system using the specified appender - - the appender to use to log all logging events - - - - Initialize the log4net system using the specified appender - - the appender to use to log all logging events - - - This method provides the same functionality as the - method implemented - on this object, but it is protected and therefore can be called by subclasses. - - - - - - Initialize the log4net system using the specified config - - the element containing the root of the config - - - - Initialize the log4net system using the specified config - - the element containing the root of the config - - - This method provides the same functionality as the - method implemented - on this object, but it is protected and therefore can be called by subclasses. - - - - - - Test if this hierarchy is disabled for the specified . - - The level to check against. - - true if the repository is disabled for the level argument, false otherwise. - - - - If this hierarchy has not been configured then this method will - always return true. - - - This method will return true if this repository is - disabled for level object passed as parameter and - false otherwise. - - - See also the property. - - - - - - Clear all logger definitions from the internal hashtable - - - - This call will clear all logger definitions from the internal - hashtable. Invoking this method will irrevocably mess up the - logger hierarchy. - - - You should really know what you are doing before - invoking this method. - - - - - - Return a new logger instance named as the first parameter using - . - - The name of the logger to retrieve - The factory that will make the new logger instance - The logger object with the name specified - - - If a logger of that name already exists, then it will be - returned. Otherwise, a new logger will be instantiated by the - parameter and linked with its existing - ancestors as well as children. - - - - - - Sends a logger creation event to all registered listeners - - The newly created logger - - Raises the logger creation event. - - - - - Updates all the parents of the specified logger - - The logger to update the parents for - - - This method loops through all the potential parents of - . There 3 possible cases: - - - - No entry for the potential parent of exists - - We create a ProvisionNode for this potential - parent and insert in that provision node. - - - - The entry is of type Logger for the potential parent. - - The entry is 's nearest existing parent. We - update 's parent field with this entry. We also break from - he loop because updating our parent's parent is our parent's - responsibility. - - - - The entry is of type ProvisionNode for this potential parent. - - We add to the list of children for this - potential parent. - - - - - - - - Replace a with a in the hierarchy. - - - - - - We update the links for all the children that placed themselves - in the provision node 'pn'. The second argument 'log' is a - reference for the newly created Logger, parent of all the - children in 'pn'. - - - We loop on all the children 'c' in 'pn'. - - - If the child 'c' has been already linked to a child of - 'log' then there is no need to update 'c'. - - - Otherwise, we set log's parent field to c's parent and set - c's parent field to log. - - - - - - Define or redefine a Level using the values in the argument - - the level values - - - Define or redefine a Level using the values in the argument - - - Supports setting levels via the configuration file. - - - - - - Set a Property using the values in the argument - - the property value - - - Set a Property using the values in the argument. - - - Supports setting property values via the configuration file. - - - - - - Event used to notify that a logger has been created. - - - - Event raised when a logger is created. - - - - - - Has no appender warning been emitted - - - - Flag to indicate if we have already issued a warning - about not having an appender warning. - - - - - - Get the root of this hierarchy - - - - Get the root of this hierarchy. - - - - - - Gets or sets the default instance. - - The default - - - The logger factory is used to create logger instances. - - - - - - A class to hold the value, name and display name for a level - - - - A class to hold the value, name and display name for a level - - - - - - Override Object.ToString to return sensible debug info - - string info about this object - - - - Value of the level - - - - If the value is not set (defaults to -1) the value will be looked - up for the current level with the same name. - - - - - - Name of the level - - - The name of the level - - - - The name of the level. - - - - - - Display name for the level - - - The display name of the level - - - - The display name of the level. - - - - - - A class to hold the key and data for a property set in the config file - - - - A class to hold the key and data for a property set in the config file - - - - - - Override Object.ToString to return sensible debug info - - string info about this object - - - - Property Key - - - Property Key - - - - Property Key. - - - - - - Property Value - - - Property Value - - - - Property Value. - - - - - - Used internally to accelerate hash table searches. - - - - Internal class used to improve performance of - string keyed hashtables. - - - The hashcode of the string is cached for reuse. - The string is stored as an interned value. - When comparing two objects for equality - the reference equality of the interned strings is compared. - - - Nicko Cadell - Gert Driesen - - - - Construct key with string name - - - - Initializes a new instance of the class - with the specified name. - - - Stores the hashcode of the string and interns - the string key to optimize comparisons. - - - The Compact Framework 1.0 the - method does not work. On the Compact Framework - the string keys are not interned nor are they - compared by reference. - - - The name of the logger. - - - - Returns a hash code for the current instance. - - A hash code for the current instance. - - - Returns the cached hashcode. - - - - - - Determines whether two instances - are equal. - - The to compare with the current . - - true if the specified is equal to the current ; otherwise, false. - - - - Compares the references of the interned strings. - - - - - - Provision nodes are used where no logger instance has been specified - - - - instances are used in the - when there is no specified - for that node. - - - A provision node holds a list of child loggers on behalf of - a logger that does not exist. - - - Nicko Cadell - Gert Driesen - - - - Create a new provision node with child node - - A child logger to add to this node. - - - Initializes a new instance of the class - with the specified child logger. - - - - - - The sits at the root of the logger hierarchy tree. - - - - The is a regular except - that it provides several guarantees. - - - First, it cannot be assigned a null - level. Second, since the root logger cannot have a parent, the - property always returns the value of the - level field without walking the hierarchy. - - - Nicko Cadell - Gert Driesen - - - - Construct a - - The level to assign to the root logger. - - - Initializes a new instance of the class with - the specified logging level. - - - The root logger names itself as "root". However, the root - logger cannot be retrieved by name. - - - - - - Gets the assigned level value without walking the logger hierarchy. - - The assigned level value without walking the logger hierarchy. - - - Because the root logger cannot have a parent and its level - must not be null this property just returns the - value of . - - - - - - Gets or sets the assigned for the root logger. - - - The of the root logger. - - - - Setting the level of the root logger to a null reference - may have catastrophic results. We prevent this here. - - - - - - Initializes the log4net environment using an XML DOM. - - - - Configures a using an XML DOM. - - - Nicko Cadell - Gert Driesen - - - - Construct the configurator for a hierarchy - - The hierarchy to build. - - - Initializes a new instance of the class - with the specified . - - - - - - Configure the hierarchy by parsing a DOM tree of XML elements. - - The root element to parse. - - - Configure the hierarchy by parsing a DOM tree of XML elements. - - - - - - Parse appenders by IDREF. - - The appender ref element. - The instance of the appender that the ref refers to. - - - Parse an XML element that represents an appender and return - the appender. - - - - - - Parses an appender element. - - The appender element. - The appender instance or null when parsing failed. - - - Parse an XML element that represents an appender and return - the appender instance. - - - - - - Parses a logger element. - - The logger element. - - - Parse an XML element that represents a logger. - - - - - - Parses the root logger element. - - The root element. - - - Parse an XML element that represents the root logger. - - - - - - Parses the children of a logger element. - - The category element. - The logger instance. - Flag to indicate if the logger is the root logger. - - - Parse the child elements of a <logger> element. - - - - - - Parses an object renderer. - - The renderer element. - - - Parse an XML element that represents a renderer. - - - - - - Parses a level element. - - The level element. - The logger object to set the level on. - Flag to indicate if the logger is the root logger. - - - Parse an XML element that represents a level. - - - - - - Sets a parameter on an object. - - The parameter element. - The object to set the parameter on. - - The parameter name must correspond to a writable property - on the object. The value of the parameter is a string, - therefore this function will attempt to set a string - property first. If unable to set a string property it - will inspect the property and its argument type. It will - attempt to call a static method called Parse on the - type of the property. This method will take a single - string argument and return a value that can be used to - set the property. - - - - - Test if an element has no attributes or child elements - - the element to inspect - true if the element has any attributes or child elements, false otherwise - - - - Test if a is constructible with Activator.CreateInstance. - - the type to inspect - true if the type is creatable using a default constructor, false otherwise - - - - Look for a method on the that matches the supplied - - the type that has the method - the name of the method - the method info found - - - The method must be a public instance method on the . - The method must be named or "Add" followed by . - The method must take a single parameter. - - - - - - Converts a string value to a target type. - - The type of object to convert the string to. - The string value to use as the value of the object. - - - An object of type with value or - null when the conversion could not be performed. - - - - - - Creates an object as specified in XML. - - The XML element that contains the definition of the object. - The object type to use if not explicitly specified. - The type that the returned object must be or must inherit from. - The object or null - - - Parse an XML element and create an object instance based on the configuration - data. - - - The type of the instance may be specified in the XML. If not - specified then the is used - as the type. However the type is specified it must support the - type. - - - - - - key: appenderName, value: appender. - - - - - The Hierarchy being configured. - - - - - Delegate used to handle logger repository shutdown event notifications - - The that is shutting down. - Empty event args - - - Delegate used to handle logger repository shutdown event notifications. - - - - - - Delegate used to handle logger repository configuration reset event notifications - - The that has had its configuration reset. - Empty event args - - - Delegate used to handle logger repository configuration reset event notifications. - - - - - - Delegate used to handle event notifications for logger repository configuration changes. - - The that has had its configuration changed. - Empty event arguments. - - - Delegate used to handle event notifications for logger repository configuration changes. - - - - - - Write the name of the current AppDomain to the output - - - - Write the name of the current AppDomain to the output writer - - - Nicko Cadell - - - - Write the name of the current AppDomain to the output - - the writer to write to - null, state is not set - - - Writes name of the current AppDomain to the output . - - - - - - Write the current date to the output - - - - Date pattern converter, uses a to format - the current date and time to the writer as a string. - - - The value of the determines - the formatting of the date. The following values are allowed: - - - Option value - Output - - - ISO8601 - - Uses the formatter. - Formats using the "yyyy-MM-dd HH:mm:ss,fff" pattern. - - - - DATE - - Uses the formatter. - Formats using the "dd MMM yyyy HH:mm:ss,fff" for example, "06 Nov 1994 15:49:37,459". - - - - ABSOLUTE - - Uses the formatter. - Formats using the "HH:mm:ss,fff" for example, "15:49:37,459". - - - - other - - Any other pattern string uses the formatter. - This formatter passes the pattern string to the - method. - For details on valid patterns see - DateTimeFormatInfo Class. - - - - - - The date and time is in the local time zone and is rendered in that zone. - To output the time in Universal time see . - - - Nicko Cadell - - - - The used to render the date to a string - - - - The used to render the date to a string - - - - - - Initialize the converter options - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - - - - Write the current date to the output - - that will receive the formatted result. - null, state is not set - - - Pass the current date and time to the - for it to render it to the writer. - - - The date and time passed is in the local time zone. - - - - - - Write an environment variable to the output - - - - Write an environment variable to the output writer. - The value of the determines - the name of the variable to output. - - - Nicko Cadell - - - - Write an environment variable to the output - - the writer to write to - null, state is not set - - - Writes the environment variable to the output . - The name of the environment variable to output must be set - using the - property. - - - - - - Write the current thread identity to the output - - - - Write the current thread identity to the output writer - - - Nicko Cadell - - - - Write the current thread identity to the output - - the writer to write to - null, state is not set - - - Writes the current thread identity to the output . - - - - - - Pattern converter for literal string instances in the pattern - - - - Writes the literal string value specified in the - property to - the output. - - - Nicko Cadell - - - - Set the next converter in the chain - - The next pattern converter in the chain - The next pattern converter - - - Special case the building of the pattern converter chain - for instances. Two adjacent - literals in the pattern can be represented by a single combined - pattern converter. This implementation detects when a - is added to the chain - after this converter and combines its value with this converter's - literal value. - - - - - - Write the literal to the output - - the writer to write to - null, not set - - - Override the formatting behavior to ignore the FormattingInfo - because we have a literal instead. - - - Writes the value of - to the output . - - - - - - Convert this pattern into the rendered message - - that will receive the formatted result. - null, not set - - - This method is not used. - - - - - - Writes a newline to the output - - - - Writes the system dependent line terminator to the output. - This behavior can be overridden by setting the : - - - - Option Value - Output - - - DOS - DOS or Windows line terminator "\r\n" - - - UNIX - UNIX line terminator "\n" - - - - Nicko Cadell - - - - Initialize the converter - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - - - - Write the current process ID to the output - - - - Write the current process ID to the output writer - - - Nicko Cadell - - - - Write the current process ID to the output - - the writer to write to - null, state is not set - - - Write the current process ID to the output . - - - - - - Property pattern converter - - - - This pattern converter reads the thread and global properties. - The thread properties take priority over global properties. - See for details of the - thread properties. See for - details of the global properties. - - - If the is specified then that will be used to - lookup a single property. If no is specified - then all properties will be dumped as a list of key value pairs. - - - Nicko Cadell - - - - Write the property value to the output - - that will receive the formatted result. - null, state is not set - - - Writes out the value of a named property. The property name - should be set in the - property. - - - If the is set to null - then all the properties are written as key value pairs. - - - - - - A Pattern converter that generates a string of random characters - - - - The converter generates a string of random characters. By default - the string is length 4. This can be changed by setting the - to the string value of the length required. - - - The random characters in the string are limited to uppercase letters - and numbers only. - - - The random number generator used by this class is not cryptographically secure. - - - Nicko Cadell - - - - Shared random number generator - - - - - Length of random string to generate. Default length 4. - - - - - Initialize the converter options - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - - - - Write a randoim string to the output - - the writer to write to - null, state is not set - - - Write a randoim string to the output . - - - - - - Write the current threads username to the output - - - - Write the current threads username to the output writer - - - Nicko Cadell - - - - Write the current threads username to the output - - the writer to write to - null, state is not set - - - Write the current threads username to the output . - - - - - - Write the UTC date time to the output - - - - Date pattern converter, uses a to format - the current date and time in Universal time. - - - See the for details on the date pattern syntax. - - - - Nicko Cadell - - - - Write the current date and time to the output - - that will receive the formatted result. - null, state is not set - - - Pass the current date and time to the - for it to render it to the writer. - - - The date is in Universal time when it is rendered. - - - - - - - Type converter for Boolean. - - - - Supports conversion from string to bool type. - - - - - - Nicko Cadell - Gert Driesen - - - - Can the source type be converted to the type supported by this object - - the type to convert - true if the conversion is possible - - - Returns true if the is - the type. - - - - - - Convert the source object to the type supported by this object - - the object to convert - the converted object - - - Uses the method to convert the - argument to a . - - - - The object cannot be converted to the - target type. To check for this condition use the - method. - - - - - Exception base type for conversion errors. - - - - This type extends . It - does not add any new functionality but does differentiate the - type of exception being thrown. - - - Nicko Cadell - Gert Driesen - - - - Constructor - - - - Initializes a new instance of the class. - - - - - - Constructor - - A message to include with the exception. - - - Initializes a new instance of the class - with the specified message. - - - - - - Constructor - - A message to include with the exception. - A nested exception to include. - - - Initializes a new instance of the class - with the specified message and inner exception. - - - - - - Serialization constructor - - The that holds the serialized object data about the exception being thrown. - The that contains contextual information about the source or destination. - - - Initializes a new instance of the class - with serialized data. - - - - - - Creates a new instance of the class. - - The conversion destination type. - The value to convert. - An instance of the . - - - Creates a new instance of the class. - - - - - - Creates a new instance of the class. - - The conversion destination type. - The value to convert. - A nested exception to include. - An instance of the . - - - Creates a new instance of the class. - - - - - - Register of type converters for specific types. - - - - Maintains a registry of type converters used to convert between - types. - - - Use the and - methods to register new converters. - The and methods - lookup appropriate converters to use. - - - - - Nicko Cadell - Gert Driesen - - - - Private constructor - - - Initializes a new instance of the class. - - - - - Static constructor. - - - - This constructor defines the intrinsic type converters. - - - - - - Adds a converter for a specific type. - - The type being converted to. - The type converter to use to convert to the destination type. - - - Adds a converter instance for a specific type. - - - - - - Adds a converter for a specific type. - - The type being converted to. - The type of the type converter to use to convert to the destination type. - - - Adds a converter for a specific type. - - - - - - Gets the type converter to use to convert values to the destination type. - - The type being converted from. - The type being converted to. - - The type converter instance to use for type conversions or null - if no type converter is found. - - - - Gets the type converter to use to convert values to the destination type. - - - - - - Gets the type converter to use to convert values to the destination type. - - The type being converted to. - - The type converter instance to use for type conversions or null - if no type converter is found. - - - - Gets the type converter to use to convert values to the destination type. - - - - - - Lookups the type converter to use as specified by the attributes on the - destination type. - - The type being converted to. - - The type converter instance to use for type conversions or null - if no type converter is found. - - - - - Creates the instance of the type converter. - - The type of the type converter. - - The type converter instance to use for type conversions or null - if no type converter is found. - - - - The type specified for the type converter must implement - the or interfaces - and must have a public default (no argument) constructor. - - - - - - Mapping from to type converter. - - - - - Supports conversion from string to type. - - - - Supports conversion from string to type. - - - - - - Nicko Cadell - Gert Driesen - - - - Can the source type be converted to the type supported by this object - - the type to convert - true if the conversion is possible - - - Returns true if the is - the type. - - - - - - Overrides the ConvertFrom method of IConvertFrom. - - the object to convert to an encoding - the encoding - - - Uses the method to - convert the argument to an . - - - - The object cannot be converted to the - target type. To check for this condition use the - method. - - - - - Interface supported by type converters - - - - This interface supports conversion from a single type to arbitrary types. - See . - - - Nicko Cadell - - - - Returns whether this converter can convert the object to the specified type - - A Type that represents the type you want to convert to - true if the conversion is possible - - - Test if the type supported by this converter can be converted to the - . - - - - - - Converts the given value object to the specified type, using the arguments - - the object to convert - The Type to convert the value parameter to - the converted object - - - Converts the (which must be of the type supported - by this converter) to the specified.. - - - - - - Supports conversion from string to type. - - - - Supports conversion from string to type. - - - - - Nicko Cadell - - - - Can the source type be converted to the type supported by this object - - the type to convert - true if the conversion is possible - - - Returns true if the is - the type. - - - - - - Overrides the ConvertFrom method of IConvertFrom. - - the object to convert to an IPAddress - the IPAddress - - - Uses the method to convert the - argument to an . - If that fails then the string is resolved as a DNS hostname. - - - - The object cannot be converted to the - target type. To check for this condition use the - method. - - - - - Valid characters in an IPv4 or IPv6 address string. (Does not support subnets) - - - - - Supports conversion from string to type. - - - - Supports conversion from string to type. - - - The string is used as the - of the . - - - - - - Nicko Cadell - - - - Can the source type be converted to the type supported by this object - - the type to convert - true if the conversion is possible - - - Returns true if the is - the type. - - - - - - Overrides the ConvertFrom method of IConvertFrom. - - the object to convert to a PatternLayout - the PatternLayout - - - Creates and returns a new using - the as the - . - - - - The object cannot be converted to the - target type. To check for this condition use the - method. - - - - - Convert between string and - - - - Supports conversion from string to type, - and from a type to a string. - - - The string is used as the - of the . - - - - - - Nicko Cadell - - - - Can the target type be converted to the type supported by this object - - A that represents the type you want to convert to - true if the conversion is possible - - - Returns true if the is - assignable from a type. - - - - - - Converts the given value object to the specified type, using the arguments - - the object to convert - The Type to convert the value parameter to - the converted object - - - Uses the method to convert the - argument to a . - - - - The object cannot be converted to the - . To check for this condition use the - method. - - - - - Can the source type be converted to the type supported by this object - - the type to convert - true if the conversion is possible - - - Returns true if the is - the type. - - - - - - Overrides the ConvertFrom method of IConvertFrom. - - the object to convert to a PatternString - the PatternString - - - Creates and returns a new using - the as the - . - - - - The object cannot be converted to the - target type. To check for this condition use the - method. - - - - - Supports conversion from string to type. - - - - Supports conversion from string to type. - - - - - - Nicko Cadell - - - - Can the source type be converted to the type supported by this object - - the type to convert - true if the conversion is possible - - - Returns true if the is - the type. - - - - - - Overrides the ConvertFrom method of IConvertFrom. - - the object to convert to a Type - the Type - - - Uses the method to convert the - argument to a . - Additional effort is made to locate partially specified types - by searching the loaded assemblies. - - - - The object cannot be converted to the - target type. To check for this condition use the - method. - - - - - Attribute used to associate a type converter - - - - Class and Interface level attribute that specifies a type converter - to use with the associated type. - - - To associate a type converter with a target type apply a - TypeConverterAttribute to the target type. Specify the - type of the type converter on the attribute. - - - Nicko Cadell - Gert Driesen - - - - The string type name of the type converter - - - - - Default constructor - - - - Default constructor - - - - - - Create a new type converter attribute for the specified type name - - The string type name of the type converter - - - The type specified must implement the - or the interfaces. - - - - - - Create a new type converter attribute for the specified type - - The type of the type converter - - - The type specified must implement the - or the interfaces. - - - - - - The string type name of the type converter - - - The string type name of the type converter - - - - The type specified must implement the - or the interfaces. - - - - - - A straightforward implementation of the interface. - - - - This is the default implementation of the - interface. Implementors of the interface - should aggregate an instance of this type. - - - Nicko Cadell - Gert Driesen - - - - Constructor - - - - Initializes a new instance of the class. - - - - - - Append on on all attached appenders. - - The event being logged. - The number of appenders called. - - - Calls the method on all - attached appenders. - - - - - - Append on on all attached appenders. - - The array of events being logged. - The number of appenders called. - - - Calls the method on all - attached appenders. - - - - - - Calls the DoAppende method on the with - the objects supplied. - - The appender - The events - - - If the supports the - interface then the will be passed - through using that interface. Otherwise the - objects in the array will be passed one at a time. - - - - - - Attaches an appender. - - The appender to add. - - - If the appender is already in the list it won't be added again. - - - - - - Gets an attached appender with the specified name. - - The name of the appender to get. - - The appender with the name specified, or null if no appender with the - specified name is found. - - - - Lookup an attached appender by name. - - - - - - Removes all attached appenders. - - - - Removes and closes all attached appenders - - - - - - Removes the specified appender from the list of attached appenders. - - The appender to remove. - The appender removed from the list - - - The appender removed is not closed. - If you are discarding the appender you must call - on the appender removed. - - - - - - Removes the appender with the specified name from the list of appenders. - - The name of the appender to remove. - The appender removed from the list - - - The appender removed is not closed. - If you are discarding the appender you must call - on the appender removed. - - - - - - List of appenders - - - - - Array of appenders, used to cache the m_appenderList - - - - - Gets all attached appenders. - - - A collection of attached appenders, or null if there - are no attached appenders. - - - - The read only collection of all currently attached appenders. - - - - - - This class aggregates several PropertiesDictionary collections together. - - - - Provides a dictionary style lookup over an ordered list of - collections. - - - Nicko Cadell - - - - Constructor - - - - Initializes a new instance of the class. - - - - - - Add a Properties Dictionary to this composite collection - - the properties to add - - - Properties dictionaries added first take precedence over dictionaries added - later. - - - - - - Flatten this composite collection into a single properties dictionary - - the flattened dictionary - - - Reduces the collection of ordered dictionaries to a single dictionary - containing the resultant values for the keys. - - - - - - Gets the value of a property - - - The value for the property with the specified key - - - - Looks up the value for the specified. - The collections are searched - in the order in which they were added to this collection. The value - returned is the value held by the first collection that contains - the specified key. - - - If none of the collections contain the specified key then - null is returned. - - - - - - Base class for Context Properties implementations - - - - This class defines a basic property get set accessor - - - Nicko Cadell - - - - Gets or sets the value of a property - - - The value for the property with the specified key - - - - Gets or sets the value of a property - - - - - - Subclass of that maintains a count of - the number of bytes written. - - - - This writer counts the number of bytes written. - - - Nicko Cadell - Gert Driesen - - - - that does not leak exceptions - - - - does not throw exceptions when things go wrong. - Instead, it delegates error handling to its . - - - Nicko Cadell - Gert Driesen - - - - Adapter that extends and forwards all - messages to an instance of . - - - - Adapter that extends and forwards all - messages to an instance of . - - - Nicko Cadell - - - - The writer to forward messages to - - - - - Create an instance of that forwards all - messages to a . - - The to forward to - - - Create an instance of that forwards all - messages to a . - - - - - - Closes the writer and releases any system resources associated with the writer - - - - - - - - - Dispose this writer - - flag indicating if we are being disposed - - - Dispose this writer - - - - - - Flushes any buffered output - - - - Clears all buffers for the writer and causes any buffered data to be written - to the underlying device - - - - - - Writes a character to the wrapped TextWriter - - the value to write to the TextWriter - - - Writes a character to the wrapped TextWriter - - - - - - Writes a character buffer to the wrapped TextWriter - - the data buffer - the start index - the number of characters to write - - - Writes a character buffer to the wrapped TextWriter - - - - - - Writes a string to the wrapped TextWriter - - the value to write to the TextWriter - - - Writes a string to the wrapped TextWriter - - - - - - Gets or sets the underlying . - - - The underlying . - - - - Gets or sets the underlying . - - - - - - The Encoding in which the output is written - - - The - - - - The Encoding in which the output is written - - - - - - Gets an object that controls formatting - - - The format provider - - - - Gets an object that controls formatting - - - - - - Gets or sets the line terminator string used by the TextWriter - - - The line terminator to use - - - - Gets or sets the line terminator string used by the TextWriter - - - - - - Constructor - - the writer to actually write to - the error handler to report error to - - - Create a new QuietTextWriter using a writer and error handler - - - - - - Writes a character to the underlying writer - - the char to write - - - Writes a character to the underlying writer - - - - - - Writes a buffer to the underlying writer - - the buffer to write - the start index to write from - the number of characters to write - - - Writes a buffer to the underlying writer - - - - - - Writes a string to the output. - - The string data to write to the output. - - - Writes a string to the output. - - - - - - Closes the underlying output writer. - - - - Closes the underlying output writer. - - - - - - The error handler instance to pass all errors to - - - - - Flag to indicate if this writer is closed - - - - - Gets or sets the error handler that all errors are passed to. - - - The error handler that all errors are passed to. - - - - Gets or sets the error handler that all errors are passed to. - - - - - - Gets a value indicating whether this writer is closed. - - - true if this writer is closed, otherwise false. - - - - Gets a value indicating whether this writer is closed. - - - - - - Constructor - - The to actually write to. - The to report errors to. - - - Creates a new instance of the class - with the specified and . - - - - - - Writes a character to the underlying writer and counts the number of bytes written. - - the char to write - - - Overrides implementation of . Counts - the number of bytes written. - - - - - - Writes a buffer to the underlying writer and counts the number of bytes written. - - the buffer to write - the start index to write from - the number of characters to write - - - Overrides implementation of . Counts - the number of bytes written. - - - - - - Writes a string to the output and counts the number of bytes written. - - The string data to write to the output. - - - Overrides implementation of . Counts - the number of bytes written. - - - - - - Total number of bytes written. - - - - - Gets or sets the total number of bytes written. - - - The total number of bytes written. - - - - Gets or sets the total number of bytes written. - - - - - - A fixed size rolling buffer of logging events. - - - - An array backed fixed size leaky bucket. - - - Nicko Cadell - Gert Driesen - - - - Constructor - - The maximum number of logging events in the buffer. - - - Initializes a new instance of the class with - the specified maximum number of buffered logging events. - - - The argument is not a positive integer. - - - - Appends a to the buffer. - - The event to append to the buffer. - The event discarded from the buffer, if the buffer is full, otherwise null. - - - Append an event to the buffer. If the buffer still contains free space then - null is returned. If the buffer is full then an event will be dropped - to make space for the new event, the event dropped is returned. - - - - - - Get and remove the oldest event in the buffer. - - The oldest logging event in the buffer - - - Gets the oldest (first) logging event in the buffer and removes it - from the buffer. - - - - - - Pops all the logging events from the buffer into an array. - - An array of all the logging events in the buffer. - - - Get all the events in the buffer and clear the buffer. - - - - - - Clear the buffer - - - - Clear the buffer of all events. The events in the buffer are lost. - - - - - - Gets the th oldest event currently in the buffer. - - The th oldest event currently in the buffer. - - - If is outside the range 0 to the number of events - currently in the buffer, then null is returned. - - - - - - Gets the maximum size of the buffer. - - The maximum size of the buffer. - - - Gets the maximum size of the buffer - - - - - - Gets the number of logging events in the buffer. - - The number of logging events in the buffer. - - - This number is guaranteed to be in the range 0 to - (inclusive). - - - - - - An always empty . - - - - A singleton implementation of the - interface that always represents an empty collection. - - - Nicko Cadell - Gert Driesen - - - - Initializes a new instance of the class. - - - - Uses a private access modifier to enforce the singleton pattern. - - - - - - Copies the elements of the to an - , starting at a particular Array index. - - The one-dimensional - that is the destination of the elements copied from - . The Array must have zero-based - indexing. - The zero-based index in array at which - copying begins. - - - As the collection is empty no values are copied into the array. - - - - - - Returns an enumerator that can iterate through a collection. - - - An that can be used to - iterate through the collection. - - - - As the collection is empty a is returned. - - - - - - The singleton instance of the empty collection. - - - - - Gets the singleton instance of the empty collection. - - The singleton instance of the empty collection. - - - Gets the singleton instance of the empty collection. - - - - - - Gets a value indicating if access to the is synchronized (thread-safe). - - - true if access to the is synchronized (thread-safe); otherwise, false. - - - - For the this property is always true. - - - - - - Gets the number of elements contained in the . - - - The number of elements contained in the . - - - - As the collection is empty the is always 0. - - - - - - Gets an object that can be used to synchronize access to the . - - - An object that can be used to synchronize access to the . - - - - As the collection is empty and thread safe and synchronized this instance is also - the object. - - - - - - An always empty . - - - - A singleton implementation of the - interface that always represents an empty collection. - - - Nicko Cadell - Gert Driesen - - - - Initializes a new instance of the class. - - - - Uses a private access modifier to enforce the singleton pattern. - - - - - - Copies the elements of the to an - , starting at a particular Array index. - - The one-dimensional - that is the destination of the elements copied from - . The Array must have zero-based - indexing. - The zero-based index in array at which - copying begins. - - - As the collection is empty no values are copied into the array. - - - - - - Returns an enumerator that can iterate through a collection. - - - An that can be used to - iterate through the collection. - - - - As the collection is empty a is returned. - - - - - - Adds an element with the provided key and value to the - . - - The to use as the key of the element to add. - The to use as the value of the element to add. - - - As the collection is empty no new values can be added. A - is thrown if this method is called. - - - This dictionary is always empty and cannot be modified. - - - - Removes all elements from the . - - - - As the collection is empty no values can be removed. A - is thrown if this method is called. - - - This dictionary is always empty and cannot be modified. - - - - Determines whether the contains an element - with the specified key. - - The key to locate in the . - false - - - As the collection is empty the method always returns false. - - - - - - Returns an enumerator that can iterate through a collection. - - - An that can be used to - iterate through the collection. - - - - As the collection is empty a is returned. - - - - - - Removes the element with the specified key from the . - - The key of the element to remove. - - - As the collection is empty no values can be removed. A - is thrown if this method is called. - - - This dictionary is always empty and cannot be modified. - - - - The singleton instance of the empty dictionary. - - - - - Gets the singleton instance of the . - - The singleton instance of the . - - - Gets the singleton instance of the . - - - - - - Gets a value indicating if access to the is synchronized (thread-safe). - - - true if access to the is synchronized (thread-safe); otherwise, false. - - - - For the this property is always true. - - - - - - Gets the number of elements contained in the - - - The number of elements contained in the . - - - - As the collection is empty the is always 0. - - - - - - Gets an object that can be used to synchronize access to the . - - - An object that can be used to synchronize access to the . - - - - As the collection is empty and thread safe and synchronized this instance is also - the object. - - - - - - Gets a value indicating whether the has a fixed size. - - true - - - As the collection is empty always returns true. - - - - - - Gets a value indicating whether the is read-only. - - true - - - As the collection is empty always returns true. - - - - - - Gets an containing the keys of the . - - An containing the keys of the . - - - As the collection is empty a is returned. - - - - - - Gets an containing the values of the . - - An containing the values of the . - - - As the collection is empty a is returned. - - - - - - Gets or sets the element with the specified key. - - The key of the element to get or set. - null - - - As the collection is empty no values can be looked up or stored. - If the index getter is called then null is returned. - A is thrown if the setter is called. - - - This dictionary is always empty and cannot be modified. - - - - Contain the information obtained when parsing formatting modifiers - in conversion modifiers. - - - - Holds the formatting information extracted from the format string by - the . This is used by the - objects when rendering the output. - - - Nicko Cadell - Gert Driesen - - - - Defaut Constructor - - - - Initializes a new instance of the class. - - - - - - Constructor - - - - Initializes a new instance of the class - with the specified parameters. - - - - - - Gets or sets the minimum value. - - - The minimum value. - - - - Gets or sets the minimum value. - - - - - - Gets or sets the maximum value. - - - The maximum value. - - - - Gets or sets the maximum value. - - - - - - Gets or sets a flag indicating whether left align is enabled - or not. - - - A flag indicating whether left align is enabled or not. - - - - Gets or sets a flag indicating whether left align is enabled or not. - - - - - - Implementation of Properties collection for the - - - - This class implements a properties collection that is thread safe and supports both - storing properties and capturing a read only copy of the current propertied. - - - This class is optimized to the scenario where the properties are read frequently - and are modified infrequently. - - - Nicko Cadell - - - - The read only copy of the properties. - - - - This variable is declared volatile to prevent the compiler and JIT from - reordering reads and writes of this thread performed on different threads. - - - - - - Lock object used to synchronize updates within this instance - - - - - Constructor - - - - Initializes a new instance of the class. - - - - - - Remove a property from the global context - - the key for the entry to remove - - - Removing an entry from the global context properties is relatively expensive compared - with reading a value. - - - - - - Clear the global context properties - - - - - Get a readonly immutable copy of the properties - - the current global context properties - - - This implementation is fast because the GlobalContextProperties class - stores a readonly copy of the properties. - - - - - - Gets or sets the value of a property - - - The value for the property with the specified key - - - - Reading the value for a key is faster than setting the value. - When the value is written a new read only copy of - the properties is created. - - - - - - Manages a mapping from levels to - - - - Manages an ordered mapping from instances - to subclasses. - - - Nicko Cadell - - - - Default constructor - - - - Initialise a new instance of . - - - - - - Add a to this mapping - - the entry to add - - - If a has previously been added - for the same then that entry will be - overwritten. - - - - - - Lookup the mapping for the specified level - - the level to lookup - the for the level or null if no mapping found - - - Lookup the value for the specified level. Finds the nearest - mapping value for the level that is equal to or less than the - specified. - - - If no mapping could be found then null is returned. - - - - - - Initialize options - - - - Caches the sorted list of in an array - - - - - - Implementation of Properties collection for the - - - - Class implements a collection of properties that is specific to each thread. - The class is not synchronized as each thread has its own . - - - Nicko Cadell - - - - Constructor - - - - Initializes a new instance of the class. - - - - - - Remove a property - - the key for the entry to remove - - - Remove the value for the specified from the context. - - - - - - Clear all the context properties - - - - Clear all the context properties - - - - - - Get the PropertiesDictionary stored in the LocalDataStoreSlot for this thread. - - create the dictionary if it does not exist, otherwise return null if is does not exist - the properties for this thread - - - The collection returned is only to be used on the calling thread. If the - caller needs to share the collection between different threads then the - caller must clone the collection before doings so. - - - - - - Gets or sets the value of a property - - - The value for the property with the specified key - - - - Get or set the property value for the specified. - - - - - - Outputs log statements from within the log4net assembly. - - - - Log4net components cannot make log4net logging calls. However, it is - sometimes useful for the user to learn about what log4net is - doing. - - - All log4net internal debug calls go to the standard output stream - whereas internal error messages are sent to the standard error output - stream. - - - Nicko Cadell - Gert Driesen - - - - Initializes a new instance of the class. - - - - Uses a private access modifier to prevent instantiation of this class. - - - - - - Static constructor that initializes logging by reading - settings from the application configuration file. - - - - The log4net.Internal.Debug application setting - controls internal debugging. This setting should be set - to true to enable debugging. - - - The log4net.Internal.Quiet application setting - suppresses all internal logging including error messages. - This setting should be set to true to enable message - suppression. - - - - - - Writes log4net internal debug messages to the - standard output stream. - - The message to log. - - - All internal debug messages are prepended with - the string "log4net: ". - - - - - - Writes log4net internal debug messages to the - standard output stream. - - The message to log. - An exception to log. - - - All internal debug messages are prepended with - the string "log4net: ". - - - - - - Writes log4net internal warning messages to the - standard error stream. - - The message to log. - - - All internal warning messages are prepended with - the string "log4net:WARN ". - - - - - - Writes log4net internal warning messages to the - standard error stream. - - The message to log. - An exception to log. - - - All internal warning messages are prepended with - the string "log4net:WARN ". - - - - - - Writes log4net internal error messages to the - standard error stream. - - The message to log. - - - All internal error messages are prepended with - the string "log4net:ERROR ". - - - - - - Writes log4net internal error messages to the - standard error stream. - - The message to log. - An exception to log. - - - All internal debug messages are prepended with - the string "log4net:ERROR ". - - - - - - Writes output to the standard output stream. - - The message to log. - - - Writes to both Console.Out and System.Diagnostics.Trace. - Note that the System.Diagnostics.Trace is not supported - on the Compact Framework. - - - If the AppDomain is not configured with a config file then - the call to System.Diagnostics.Trace may fail. This is only - an issue if you are programmatically creating your own AppDomains. - - - - - - Writes output to the standard error stream. - - The message to log. - - - Writes to both Console.Error and System.Diagnostics.Trace. - Note that the System.Diagnostics.Trace is not supported - on the Compact Framework. - - - If the AppDomain is not configured with a config file then - the call to System.Diagnostics.Trace may fail. This is only - an issue if you are programmatically creating your own AppDomains. - - - - - - Default debug level - - - - - In quietMode not even errors generate any output. - - - - - Gets or sets a value indicating whether log4net internal logging - is enabled or disabled. - - - true if log4net internal logging is enabled, otherwise - false. - - - - When set to true, internal debug level logging will be - displayed. - - - This value can be set by setting the application setting - log4net.Internal.Debug in the application configuration - file. - - - The default value is false, i.e. debugging is - disabled. - - - - - The following example enables internal debugging using the - application configuration file : - - - - - - - - - - - - - Gets or sets a value indicating whether log4net should generate no output - from internal logging, not even for errors. - - - true if log4net should generate no output at all from internal - logging, otherwise false. - - - - When set to true will cause internal logging at all levels to be - suppressed. This means that no warning or error reports will be logged. - This option overrides the setting and - disables all debug also. - - This value can be set by setting the application setting - log4net.Internal.Quiet in the application configuration file. - - - The default value is false, i.e. internal logging is not - disabled. - - - - The following example disables internal logging using the - application configuration file : - - - - - - - - - - - - Test if LogLog.Debug is enabled for output. - - - true if Debug is enabled - - - - Test if LogLog.Debug is enabled for output. - - - - - - Test if LogLog.Warn is enabled for output. - - - true if Warn is enabled - - - - Test if LogLog.Warn is enabled for output. - - - - - - Test if LogLog.Error is enabled for output. - - - true if Error is enabled - - - - Test if LogLog.Error is enabled for output. - - - - - - Represents a native error code and message. - - - - Represents a Win32 platform native error. - - - Nicko Cadell - Gert Driesen - - - - Create an instance of the class with the specified - error number and message. - - The number of the native error. - The message of the native error. - - - Create an instance of the class with the specified - error number and message. - - - - - - Create a new instance of the class for the last Windows error. - - - An instance of the class for the last windows error. - - - - The message for the error number is lookup up using the - native Win32 FormatMessage function. - - - - - - Create a new instance of the class. - - the error number for the native error - - An instance of the class for the specified - error number. - - - - The message for the specified error number is lookup up using the - native Win32 FormatMessage function. - - - - - - Retrieves the message corresponding with a Win32 message identifier. - - Message identifier for the requested message. - - The message corresponding with the specified message identifier. - - - - The message will be searched for in system message-table resource(s) - using the native FormatMessage function. - - - - - - Return error information string - - error information string - - - Return error information string - - - - - - Formats a message string. - - Formatting options, and how to interpret the parameter. - Location of the message definition. - Message identifier for the requested message. - Language identifier for the requested message. - If includes FORMAT_MESSAGE_ALLOCATE_BUFFER, the function allocates a buffer using the LocalAlloc function, and places the pointer to the buffer at the address specified in . - If the FORMAT_MESSAGE_ALLOCATE_BUFFER flag is not set, this parameter specifies the maximum number of TCHARs that can be stored in the output buffer. If FORMAT_MESSAGE_ALLOCATE_BUFFER is set, this parameter specifies the minimum number of TCHARs to allocate for an output buffer. - Pointer to an array of values that are used as insert values in the formatted message. - - - The function requires a message definition as input. The message definition can come from a - buffer passed into the function. It can come from a message table resource in an - already-loaded module. Or the caller can ask the function to search the system's message - table resource(s) for the message definition. The function finds the message definition - in a message table resource based on a message identifier and a language identifier. - The function copies the formatted message text to an output buffer, processing any embedded - insert sequences if requested. - - - To prevent the usage of unsafe code, this stub does not support inserting values in the formatted message. - - - - - If the function succeeds, the return value is the number of TCHARs stored in the output - buffer, excluding the terminating null character. - - - If the function fails, the return value is zero. To get extended error information, - call . - - - - - - Gets the number of the native error. - - - The number of the native error. - - - - Gets the number of the native error. - - - - - - Gets the message of the native error. - - - The message of the native error. - - - - - Gets the message of the native error. - - - - - An always empty . - - - - A singleton implementation of the over a collection - that is empty and not modifiable. - - - Nicko Cadell - Gert Driesen - - - - Initializes a new instance of the class. - - - - Uses a private access modifier to enforce the singleton pattern. - - - - - - Test if the enumerator can advance, if so advance. - - false as the cannot advance. - - - As the enumerator is over an empty collection its - value cannot be moved over a valid position, therefore - will always return false. - - - - - - Resets the enumerator back to the start. - - - - As the enumerator is over an empty collection does nothing. - - - - - - The singleton instance of the . - - - - - Gets the singleton instance of the . - - The singleton instance of the . - - - Gets the singleton instance of the . - - - - - - Gets the current object from the enumerator. - - - Throws an because the - never has a current value. - - - - As the enumerator is over an empty collection its - value cannot be moved over a valid position, therefore - will throw an . - - - The collection is empty and - cannot be positioned over a valid location. - - - - Gets the current key from the enumerator. - - - Throws an exception because the - never has a current value. - - - - As the enumerator is over an empty collection its - value cannot be moved over a valid position, therefore - will throw an . - - - The collection is empty and - cannot be positioned over a valid location. - - - - Gets the current value from the enumerator. - - The current value from the enumerator. - - Throws an because the - never has a current value. - - - - As the enumerator is over an empty collection its - value cannot be moved over a valid position, therefore - will throw an . - - - The collection is empty and - cannot be positioned over a valid location. - - - - Gets the current entry from the enumerator. - - - Throws an because the - never has a current entry. - - - - As the enumerator is over an empty collection its - value cannot be moved over a valid position, therefore - will throw an . - - - The collection is empty and - cannot be positioned over a valid location. - - - - An always empty . - - - - A singleton implementation of the over a collection - that is empty and not modifiable. - - - Nicko Cadell - Gert Driesen - - - - Initializes a new instance of the class. - - - - Uses a private access modifier to enforce the singleton pattern. - - - - - - Test if the enumerator can advance, if so advance - - false as the cannot advance. - - - As the enumerator is over an empty collection its - value cannot be moved over a valid position, therefore - will always return false. - - - - - - Resets the enumerator back to the start. - - - - As the enumerator is over an empty collection does nothing. - - - - - - The singleton instance of the . - - - - - Get the singleton instance of the . - - The singleton instance of the . - - - Gets the singleton instance of the . - - - - - - Gets the current object from the enumerator. - - - Throws an because the - never has a current value. - - - - As the enumerator is over an empty collection its - value cannot be moved over a valid position, therefore - will throw an . - - - The collection is empty and - cannot be positioned over a valid location. - - - - A SecurityContext used when a SecurityContext is not required - - - - The is a no-op implementation of the - base class. It is used where a - is required but one has not been provided. - - - Nicko Cadell - - - - Singleton instance of - - - - Singleton instance of - - - - - - Private constructor - - - - Private constructor for singleton pattern. - - - - - - Impersonate this SecurityContext - - State supplied by the caller - null - - - No impersonation is done and null is always returned. - - - - - - Implements log4net's default error handling policy which consists - of emitting a message for the first error in an appender and - ignoring all subsequent errors. - - - - The error message is printed on the standard error output stream. - - - This policy aims at protecting an otherwise working application - from being flooded with error messages when logging fails. - - - Nicko Cadell - Gert Driesen - - - - Default Constructor - - - - Initializes a new instance of the class. - - - - - - Constructor - - The prefix to use for each message. - - - Initializes a new instance of the class - with the specified prefix. - - - - - - Log an Error - - The error message. - The exception. - The internal error code. - - - Prints the message and the stack trace of the exception on the standard - error output stream. - - - - - - Log an Error - - The error message. - The exception. - - - Prints the message and the stack trace of the exception on the standard - error output stream. - - - - - - Log an error - - The error message. - - - Print a the error message passed as parameter on the standard - error output stream. - - - - - - Flag to indicate if it is the first error - - - - - String to prefix each message with - - - - - Is error logging enabled - - - - Is error logging enabled. Logging is only enabled for the - first error delivered to the . - - - - - - A convenience class to convert property values to specific types. - - - - Utility functions for converting types and parsing values. - - - Nicko Cadell - Gert Driesen - - - - Initializes a new instance of the class. - - - - Uses a private access modifier to prevent instantiation of this class. - - - - - - Converts a string to a value. - - String to convert. - The default value. - The value of . - - - If is "true", then true is returned. - If is "false", then false is returned. - Otherwise, is returned. - - - - - - Parses a file size into a number. - - String to parse. - The default value. - The value of . - - - Parses a file size of the form: number[KB|MB|GB] into a - long value. It is scaled with the appropriate multiplier. - - - is returned when - cannot be converted to a value. - - - - - - Converts a string to an object. - - The target type to convert to. - The string to convert to an object. - - The object converted from a string or null when the - conversion failed. - - - - Converts a string to an object. Uses the converter registry to try - to convert the string value into the specified target type. - - - - - - Checks if there is an appropriate type conversion from the source type to the target type. - - The type to convert from. - The type to convert to. - true if there is a conversion from the source type to the target type. - - Checks if there is an appropriate type conversion from the source type to the target type. - - - - - - - Converts an object to the target type. - - The object to convert to the target type. - The type to convert to. - The converted object. - - - Converts an object to the target type. - - - - - - Instantiates an object given a class name. - - The fully qualified class name of the object to instantiate. - The class to which the new object should belong. - The object to return in case of non-fulfillment. - - An instance of the or - if the object could not be instantiated. - - - - Checks that the is a subclass of - . If that test fails or the object could - not be instantiated, then is returned. - - - - - - Performs variable substitution in string from the - values of keys found in . - - The string on which variable substitution is performed. - The dictionary to use to lookup variables. - The result of the substitutions. - - - The variable substitution delimiters are ${ and }. - - - For example, if props contains key=value, then the call - - - - string s = OptionConverter.SubstituteVariables("Value of key is ${key}."); - - - - will set the variable s to "Value of key is value.". - - - If no value could be found for the specified key, then substitution - defaults to an empty string. - - - For example, if system properties contains no value for the key - "nonExistentKey", then the call - - - - string s = OptionConverter.SubstituteVariables("Value of nonExistentKey is [${nonExistentKey}]"); - - - - will set s to "Value of nonExistentKey is []". - - - An Exception is thrown if contains a start - delimiter "${" which is not balanced by a stop delimiter "}". - - - - - - Converts the string representation of the name or numeric value of one or - more enumerated constants to an equivalent enumerated object. - - The type to convert to. - The enum string value. - If true, ignore case; otherwise, regard case. - An object of type whose value is represented by . - - - - Most of the work of the class - is delegated to the PatternParser class. - - - - The PatternParser processes a pattern string and - returns a chain of objects. - - - Nicko Cadell - Gert Driesen - - - - Constructor - - The pattern to parse. - - - Initializes a new instance of the class - with the specified pattern string. - - - - - - Parses the pattern into a chain of pattern converters. - - The head of a chain of pattern converters. - - - Parses the pattern into a chain of pattern converters. - - - - - - Build the unified cache of converters from the static and instance maps - - the list of all the converter names - - - Build the unified cache of converters from the static and instance maps - - - - - - Internal method to parse the specified pattern to find specified matches - - the pattern to parse - the converter names to match in the pattern - - - The matches param must be sorted such that longer strings come before shorter ones. - - - - - - Process a parsed literal - - the literal text - - - - Process a parsed converter pattern - - the name of the converter - the optional option for the converter - the formatting info for the converter - - - - Resets the internal state of the parser and adds the specified pattern converter - to the chain. - - The pattern converter to add. - - - - The first pattern converter in the chain - - - - - the last pattern converter in the chain - - - - - The pattern - - - - - Internal map of converter identifiers to converter types - - - - This map overrides the static s_globalRulesRegistry map. - - - - - - Get the converter registry used by this parser - - - The converter registry used by this parser - - - - Get the converter registry used by this parser - - - - - - Sort strings by length - - - - that orders strings by string length. - The longest strings are placed first - - - - - - This class implements a patterned string. - - - - This string has embedded patterns that are resolved and expanded - when the string is formatted. - - - This class functions similarly to the - in that it accepts a pattern and renders it to a string. Unlike the - however the PatternString - does not render the properties of a specific but - of the process in general. - - - The recognized conversion pattern names are: - - - - Conversion Pattern Name - Effect - - - appdomain - - - Used to output the friendly name of the current AppDomain. - - - - - date - - - Used to output the date of the logging event in the local time zone. - To output the date in universal time use the %utcdate pattern. - The date conversion - specifier may be followed by a date format specifier enclosed - between braces. For example, %date{HH:mm:ss,fff} or - %date{dd MMM yyyy HH:mm:ss,fff}. If no date format specifier is - given then ISO8601 format is - assumed (). - - - The date format specifier admits the same syntax as the - time pattern string of the . - - - For better results it is recommended to use the log4net date - formatters. These can be specified using one of the strings - "ABSOLUTE", "DATE" and "ISO8601" for specifying - , - and respectively - . For example, - %date{ISO8601} or %date{ABSOLUTE}. - - - These dedicated date formatters perform significantly - better than . - - - - - env - - - Used to output the a specific environment variable. The key to - lookup must be specified within braces and directly following the - pattern specifier, e.g. %env{COMPUTERNAME} would include the value - of the COMPUTERNAME environment variable. - - - The env pattern is not supported on the .NET Compact Framework. - - - - - identity - - - Used to output the user name for the currently active user - (Principal.Identity.Name). - - - - - newline - - - Outputs the platform dependent line separator character or - characters. - - - This conversion pattern name offers the same performance as using - non-portable line separator strings such as "\n", or "\r\n". - Thus, it is the preferred way of specifying a line separator. - - - - - processid - - - Used to output the system process ID for the current process. - - - - - property - - - Used to output a specific context property. The key to - lookup must be specified within braces and directly following the - pattern specifier, e.g. %property{user} would include the value - from the property that is keyed by the string 'user'. Each property value - that is to be included in the log must be specified separately. - Properties are stored in logging contexts. By default - the log4net:HostName property is set to the name of machine on - which the event was originally logged. - - - If no key is specified, e.g. %property then all the keys and their - values are printed in a comma separated list. - - - The properties of an event are combined from a number of different - contexts. These are listed below in the order in which they are searched. - - - - the thread properties - - The that are set on the current - thread. These properties are shared by all events logged on this thread. - - - - the global properties - - The that are set globally. These - properties are shared by all the threads in the AppDomain. - - - - - - - random - - - Used to output a random string of characters. The string is made up of - uppercase letters and numbers. By default the string is 4 characters long. - The length of the string can be specified within braces directly following the - pattern specifier, e.g. %random{8} would output an 8 character string. - - - - - username - - - Used to output the WindowsIdentity for the currently - active user. - - - - - utcdate - - - Used to output the date of the logging event in universal time. - The date conversion - specifier may be followed by a date format specifier enclosed - between braces. For example, %utcdate{HH:mm:ss,fff} or - %utcdate{dd MMM yyyy HH:mm:ss,fff}. If no date format specifier is - given then ISO8601 format is - assumed (). - - - The date format specifier admits the same syntax as the - time pattern string of the . - - - For better results it is recommended to use the log4net date - formatters. These can be specified using one of the strings - "ABSOLUTE", "DATE" and "ISO8601" for specifying - , - and respectively - . For example, - %utcdate{ISO8601} or %utcdate{ABSOLUTE}. - - - These dedicated date formatters perform significantly - better than . - - - - - % - - - The sequence %% outputs a single percent sign. - - - - - - Additional pattern converters may be registered with a specific - instance using or - . - - - See the for details on the - format modifiers supported by the patterns. - - - Nicko Cadell - - - - Internal map of converter identifiers to converter types. - - - - - the pattern - - - - - the head of the pattern converter chain - - - - - patterns defined on this PatternString only - - - - - Initialize the global registry - - - - - Default constructor - - - - Initialize a new instance of - - - - - - Constructs a PatternString - - The pattern to use with this PatternString - - - Initialize a new instance of with the pattern specified. - - - - - - Initialize object options - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - - - - Create the used to parse the pattern - - the pattern to parse - The - - - Returns PatternParser used to parse the conversion string. Subclasses - may override this to return a subclass of PatternParser which recognize - custom conversion pattern name. - - - - - - Produces a formatted string as specified by the conversion pattern. - - The TextWriter to write the formatted event to - - - Format the pattern to the . - - - - - - Format the pattern as a string - - the pattern formatted as a string - - - Format the pattern to a string. - - - - - - Add a converter to this PatternString - - the converter info - - - This version of the method is used by the configurator. - Programmatic users should use the alternative method. - - - - - - Add a converter to this PatternString - - the name of the conversion pattern for this converter - the type of the converter - - - Add a converter to this PatternString - - - - - - Gets or sets the pattern formatting string - - - The pattern formatting string - - - - The ConversionPattern option. This is the string which - controls formatting and consists of a mix of literal content and - conversion specifiers. - - - - - - Wrapper class used to map converter names to converter types - - - - Wrapper class used to map converter names to converter types - - - - - - default constructor - - - - - Gets or sets the name of the conversion pattern - - - The name of the conversion pattern - - - - Gets or sets the name of the conversion pattern - - - - - - Gets or sets the type of the converter - - - The type of the converter - - - - Gets or sets the type of the converter - - - - - - String keyed object map. - - - - While this collection is serializable only member - objects that are serializable will - be serialized along with this collection. - - - Nicko Cadell - Gert Driesen - - - - String keyed object map that is read only. - - - - This collection is readonly and cannot be modified. - - - While this collection is serializable only member - objects that are serializable will - be serialized along with this collection. - - - Nicko Cadell - Gert Driesen - - - - The Hashtable used to store the properties data - - - - - Constructor - - - - Initializes a new instance of the class. - - - - - - Copy Constructor - - properties to copy - - - Initializes a new instance of the class. - - - - - - Deserialization constructor - - The that holds the serialized object data. - The that contains contextual information about the source or destination. - - - Initializes a new instance of the class - with serialized data. - - - - - - Gets the key names. - - An array of all the keys. - - - Gets the key names. - - - - - - Test if the dictionary contains a specified key - - the key to look for - true if the dictionary contains the specified key - - - Test if the dictionary contains a specified key - - - - - - Serializes this object into the provided. - - The to populate with data. - The destination for this serialization. - - - Serializes this object into the provided. - - - - - - See - - - - - See - - - - - - See - - - - - - - Remove all properties from the properties collection - - - - - See - - - - - - - See - - - - - - - See - - - - - Gets or sets the value of the property with the specified key. - - - The value of the property with the specified key. - - The key of the property to get or set. - - - The property value will only be serialized if it is serializable. - If it cannot be serialized it will be silently ignored if - a serialization operation is performed. - - - - - - The hashtable used to store the properties - - - The internal collection used to store the properties - - - - The hashtable used to store the properties - - - - - - See - - - - - See - - - - - See - - - - - See - - - - - See - - - - - See - - - - - The number of properties in this collection - - - - - See - - - - - Constructor - - - - Initializes a new instance of the class. - - - - - - Constructor - - properties to copy - - - Initializes a new instance of the class. - - - - - - Initializes a new instance of the class - with serialized data. - - The that holds the serialized object data. - The that contains contextual information about the source or destination. - - - Because this class is sealed the serialization constructor is private. - - - - - - Remove the entry with the specified key from this dictionary - - the key for the entry to remove - - - Remove the entry with the specified key from this dictionary - - - - - - See - - an enumerator - - - Returns a over the contest of this collection. - - - - - - See - - the key to remove - - - Remove the entry with the specified key from this dictionary - - - - - - See - - the key to lookup in the collection - true if the collection contains the specified key - - - Test if this collection contains a specified key. - - - - - - Remove all properties from the properties collection - - - - Remove all properties from the properties collection - - - - - - See - - the key - the value to store for the key - - - Store a value for the specified . - - - Thrown if the is not a string - - - - See - - - - - - - See - - - - - Gets or sets the value of the property with the specified key. - - - The value of the property with the specified key. - - The key of the property to get or set. - - - The property value will only be serialized if it is serializable. - If it cannot be serialized it will be silently ignored if - a serialization operation is performed. - - - - - - See - - - false - - - - This collection is modifiable. This property always - returns false. - - - - - - See - - - The value for the key specified. - - - - Get or set a value for the specified . - - - Thrown if the is not a string - - - - See - - - - - See - - - - - See - - - - - See - - - - - See - - - - - A that ignores the message - - - - This writer is used in special cases where it is necessary - to protect a writer from being closed by a client. - - - Nicko Cadell - - - - Constructor - - the writer to actually write to - - - Create a new ProtectCloseTextWriter using a writer - - - - - - Attach this instance to a different underlying - - the writer to attach to - - - Attach this instance to a different underlying - - - - - - Does not close the underlying output writer. - - - - Does not close the underlying output writer. - This method does nothing. - - - - - - Defines a lock that supports single writers and multiple readers - - - - ReaderWriterLock is used to synchronize access to a resource. - At any given time, it allows either concurrent read access for - multiple threads, or write access for a single thread. In a - situation where a resource is changed infrequently, a - ReaderWriterLock provides better throughput than a simple - one-at-a-time lock, such as . - - - If a platform does not support a System.Threading.ReaderWriterLock - implementation then all readers and writers are serialized. Therefore - the caller must not rely on multiple simultaneous readers. - - - Nicko Cadell - - - - Constructor - - - - Initializes a new instance of the class. - - - - - - Acquires a reader lock - - - - blocks if a different thread has the writer - lock, or if at least one thread is waiting for the writer lock. - - - - - - Decrements the lock count - - - - decrements the lock count. When the count - reaches zero, the lock is released. - - - - - - Acquires the writer lock - - - - This method blocks if another thread has a reader lock or writer lock. - - - - - - Decrements the lock count on the writer lock - - - - ReleaseWriterLock decrements the writer lock count. - When the count reaches zero, the writer lock is released. - - - - - - A that can be and reused - - - - A that can be and reused. - This uses a single buffer for string operations. - - - Nicko Cadell - - - - Create an instance of - - the format provider to use - - - Create an instance of - - - - - - Override Dispose to prevent closing of writer - - flag - - - Override Dispose to prevent closing of writer - - - - - - Reset this string writer so that it can be reused. - - the maximum buffer capacity before it is trimmed - the default size to make the buffer - - - Reset this string writer so that it can be reused. - The internal buffers are cleared and reset. - - - - - - Utility class for system specific information. - - - - Utility class of static methods for system specific information. - - - Nicko Cadell - Gert Driesen - Alexey Solofnenko - - - - Private constructor to prevent instances. - - - - Only static methods are exposed from this type. - - - - - - Initialize default values for private static fields. - - - - Only static methods are exposed from this type. - - - - - - Gets the assembly location path for the specified assembly. - - The assembly to get the location for. - The location of the assembly. - - - This method does not guarantee to return the correct path - to the assembly. If only tries to give an indication as to - where the assembly was loaded from. - - - - - - Gets the fully qualified name of the , including - the name of the assembly from which the was - loaded. - - The to get the fully qualified name for. - The fully qualified name for the . - - - This is equivalent to the Type.AssemblyQualifiedName property, - but this method works on the .NET Compact Framework 1.0 as well as - the full .NET runtime. - - - - - - Gets the short name of the . - - The to get the name for. - The short name of the . - - - The short name of the assembly is the - without the version, culture, or public key. i.e. it is just the - assembly's file name without the extension. - - - Use this rather than Assembly.GetName().Name because that - is not available on the Compact Framework. - - - Because of a FileIOPermission security demand we cannot do - the obvious Assembly.GetName().Name. We are allowed to get - the of the assembly so we - start from there and strip out just the assembly name. - - - - - - Gets the file name portion of the , including the extension. - - The to get the file name for. - The file name of the assembly. - - - Gets the file name portion of the , including the extension. - - - - - - Loads the type specified in the type string. - - A sibling type to use to load the type. - The name of the type to load. - Flag set to true to throw an exception if the type cannot be loaded. - true to ignore the case of the type name; otherwise, false - The type loaded or null if it could not be loaded. - - - If the type name is fully qualified, i.e. if contains an assembly name in - the type name, the type will be loaded from the system using - . - - - If the type name is not fully qualified, it will be loaded from the assembly - containing the specified relative type. If the type is not found in the assembly - then all the loaded assemblies will be searched for the type. - - - - - - Loads the type specified in the type string. - - The name of the type to load. - Flag set to true to throw an exception if the type cannot be loaded. - true to ignore the case of the type name; otherwise, false - The type loaded or null if it could not be loaded. - - - If the type name is fully qualified, i.e. if contains an assembly name in - the type name, the type will be loaded from the system using - . - - - If the type name is not fully qualified it will be loaded from the - assembly that is directly calling this method. If the type is not found - in the assembly then all the loaded assemblies will be searched for the type. - - - - - - Loads the type specified in the type string. - - An assembly to load the type from. - The name of the type to load. - Flag set to true to throw an exception if the type cannot be loaded. - true to ignore the case of the type name; otherwise, false - The type loaded or null if it could not be loaded. - - - If the type name is fully qualified, i.e. if contains an assembly name in - the type name, the type will be loaded from the system using - . - - - If the type name is not fully qualified it will be loaded from the specified - assembly. If the type is not found in the assembly then all the loaded assemblies - will be searched for the type. - - - - - - Generate a new guid - - A new Guid - - - Generate a new guid - - - - - - Create an - - The name of the parameter that caused the exception - The value of the argument that causes this exception - The message that describes the error - the ArgumentOutOfRangeException object - - - Create a new instance of the class - with a specified error message, the parameter name, and the value - of the argument. - - - The Compact Framework does not support the 3 parameter constructor for the - type. This method provides an - implementation that works for all platforms. - - - - - - Parse a string into an value - - the string to parse - out param where the parsed value is placed - true if the string was able to be parsed into an integer - - - Attempts to parse the string into an integer. If the string cannot - be parsed then this method returns false. The method does not throw an exception. - - - - - - Parse a string into an value - - the string to parse - out param where the parsed value is placed - true if the string was able to be parsed into an integer - - - Attempts to parse the string into an integer. If the string cannot - be parsed then this method returns false. The method does not throw an exception. - - - - - - Lookup an application setting - - the application settings key to lookup - the value for the key, or null - - - Configuration APIs are not supported under the Compact Framework - - - - - - Convert a path into a fully qualified local file path. - - The path to convert. - The fully qualified path. - - - Converts the path specified to a fully - qualified path. If the path is relative it is - taken as relative from the application base - directory. - - - The path specified must be a local file path, a URI is not supported. - - - - - - Creates a new case-insensitive instance of the class with the default initial capacity. - - A new case-insensitive instance of the class with the default initial capacity - - - The new Hashtable instance uses the default load factor, the CaseInsensitiveHashCodeProvider, and the CaseInsensitiveComparer. - - - - - - Gets an empty array of types. - - - - The Type.EmptyTypes field is not available on - the .NET Compact Framework 1.0. - - - - - - Cache the host name for the current machine - - - - - Cache the application friendly name - - - - - Text to output when a null is encountered. - - - - - Text to output when an unsupported feature is requested. - - - - - Start time for the current process. - - - - - Gets the system dependent line terminator. - - - The system dependent line terminator. - - - - Gets the system dependent line terminator. - - - - - - Gets the base directory for this . - - The base directory path for the current . - - - Gets the base directory for this . - - - The value returned may be either a local file path or a URI. - - - - - - Gets the path to the configuration file for the current . - - The path to the configuration file for the current . - - - The .NET Compact Framework 1.0 does not have a concept of a configuration - file. For this runtime, we use the entry assembly location as the root for - the configuration file name. - - - The value returned may be either a local file path or a URI. - - - - - - Gets the path to the file that first executed in the current . - - The path to the entry assembly. - - - Gets the path to the file that first executed in the current . - - - - - - Gets the ID of the current thread. - - The ID of the current thread. - - - On the .NET framework, the AppDomain.GetCurrentThreadId method - is used to obtain the thread ID for the current thread. This is the - operating system ID for the thread. - - - On the .NET Compact Framework 1.0 it is not possible to get the - operating system thread ID for the current thread. The native method - GetCurrentThreadId is implemented inline in a header file - and cannot be called. - - - On the .NET Framework 2.0 the Thread.ManagedThreadId is used as this - gives a stable id unrelated to the operating system thread ID which may - change if the runtime is using fibers. - - - - - - Get the host name or machine name for the current machine - - - The hostname or machine name - - - - Get the host name or machine name for the current machine - - - The host name () or - the machine name (Environment.MachineName) for - the current machine, or if neither of these are available - then NOT AVAILABLE is returned. - - - - - - Get this application's friendly name - - - The friendly name of this application as a string - - - - If available the name of the application is retrieved from - the AppDomain using AppDomain.CurrentDomain.FriendlyName. - - - Otherwise the file name of the entry assembly is used. - - - - - - Get the start time for the current process. - - - - This is the time at which the log4net library was loaded into the - AppDomain. Due to reports of a hang in the call to System.Diagnostics.Process.StartTime - this is not the start time for the current process. - - - The log4net library should be loaded by an application early during its - startup, therefore this start time should be a good approximation for - the actual start time. - - - Note that AppDomains may be loaded and unloaded within the - same process without the process terminating, however this start time - will be set per AppDomain. - - - - - - Text to output when a null is encountered. - - - - Use this value to indicate a null has been encountered while - outputting a string representation of an item. - - - The default value is (null). This value can be overridden by specifying - a value for the log4net.NullText appSetting in the application's - .config file. - - - - - - Text to output when an unsupported feature is requested. - - - - Use this value when an unsupported feature is requested. - - - The default value is NOT AVAILABLE. This value can be overridden by specifying - a value for the log4net.NotAvailableText appSetting in the application's - .config file. - - - - - - Utility class that represents a format string. - - - - Utility class that represents a format string. - - - Nicko Cadell - - - - Initialise the - - An that supplies culture-specific formatting information. - A containing zero or more format items. - An array containing zero or more objects to format. - - - - Format the string and arguments - - the formatted string - - - - Replaces the format item in a specified with the text equivalent - of the value of a corresponding instance in a specified array. - A specified parameter supplies culture-specific formatting information. - - An that supplies culture-specific formatting information. - A containing zero or more format items. - An array containing zero or more objects to format. - - A copy of format in which the format items have been replaced by the - equivalent of the corresponding instances of in args. - - - - This method does not throw exceptions. If an exception thrown while formatting the result the - exception and arguments are returned in the result string. - - - - - - Process an error during StringFormat - - - - - Dump the contents of an array into a string builder - - - - - Dump an object to a string - - - - - Implementation of Properties collection for the - - - - Class implements a collection of properties that is specific to each thread. - The class is not synchronized as each thread has its own . - - - Nicko Cadell - - - - The thread local data slot to use to store a PropertiesDictionary. - - - - - Internal constructor - - - - Initializes a new instance of the class. - - - - - - Remove a property - - the key for the entry to remove - - - Remove a property - - - - - - Clear all properties - - - - Clear all properties - - - - - - Get the PropertiesDictionary for this thread. - - create the dictionary if it does not exist, otherwise return null if is does not exist - the properties for this thread - - - The collection returned is only to be used on the calling thread. If the - caller needs to share the collection between different threads then the - caller must clone the collection before doing so. - - - - - - Gets or sets the value of a property - - - The value for the property with the specified key - - - - Gets or sets the value of a property - - - - - - Implementation of Stack for the - - - - Implementation of Stack for the - - - Nicko Cadell - - - - The stack store. - - - - - Internal constructor - - - - Initializes a new instance of the class. - - - - - - Clears all the contextual information held in this stack. - - - - Clears all the contextual information held in this stack. - Only call this if you think that this tread is being reused after - a previous call execution which may not have completed correctly. - You do not need to use this method if you always guarantee to call - the method of the - returned from even in exceptional circumstances, - for example by using the using(log4net.ThreadContext.Stacks["NDC"].Push("Stack_Message")) - syntax. - - - - - - Removes the top context from this stack. - - The message in the context that was removed from the top of this stack. - - - Remove the top context from this stack, and return - it to the caller. If this stack is empty then an - empty string (not ) is returned. - - - - - - Pushes a new context message into this stack. - - The new context message. - - An that can be used to clean up the context stack. - - - - Pushes a new context onto this stack. An - is returned that can be used to clean up this stack. This - can be easily combined with the using keyword to scope the - context. - - - Simple example of using the Push method with the using keyword. - - using(log4net.ThreadContext.Stacks["NDC"].Push("Stack_Message")) - { - log.Warn("This should have an ThreadContext Stack message"); - } - - - - - - Gets the current context information for this stack. - - The current context information. - - - - Gets the current context information for this stack. - - Gets the current context information - - - Gets the current context information for this stack. - - - - - - Get a portable version of this object - - the portable instance of this object - - - Get a cross thread portable version of this object - - - - - - The number of messages in the stack - - - The current number of messages in the stack - - - - The current number of messages in the stack. That is - the number of times has been called - minus the number of times has been called. - - - - - - Gets and sets the internal stack used by this - - The internal storage stack - - - This property is provided only to support backward compatability - of the . Tytpically the internal stack should not - be modified. - - - - - - Inner class used to represent a single context frame in the stack. - - - - Inner class used to represent a single context frame in the stack. - - - - - - Constructor - - The message for this context. - The parent context in the chain. - - - Initializes a new instance of the class - with the specified message and parent context. - - - - - - Get the message. - - The message. - - - Get the message. - - - - - - Gets the full text of the context down to the root level. - - - The full text of the context down to the root level. - - - - Gets the full text of the context down to the root level. - - - - - - Struct returned from the method. - - - - This struct implements the and is designed to be used - with the pattern to remove the stack frame at the end of the scope. - - - - - - The ThreadContextStack internal stack - - - - - The depth to trim the stack to when this instance is disposed - - - - - Constructor - - The internal stack used by the ThreadContextStack. - The depth to return the stack to when this object is disposed. - - - Initializes a new instance of the class with - the specified stack and return depth. - - - - - - Returns the stack to the correct depth. - - - - Returns the stack to the correct depth. - - - - - - Implementation of Stacks collection for the - - - - Implementation of Stacks collection for the - - - Nicko Cadell - - - - Internal constructor - - - - Initializes a new instance of the class. - - - - - - Gets the named thread context stack - - - The named stack - - - - Gets the named thread context stack - - - - - - Utility class for transforming strings. - - - - Utility class for transforming strings. - - - Nicko Cadell - Gert Driesen - - - - Initializes a new instance of the class. - - - - Uses a private access modifier to prevent instantiation of this class. - - - - - - Write a string to an - - the writer to write to - the string to write - The string to replace non XML compliant chars with - - - The test is escaped either using XML escape entities - or using CDATA sections. - - - - - - Replace invalid XML characters in text string - - the XML text input string - the string to use in place of invalid characters - A string that does not contain invalid XML characters. - - - Certain Unicode code points are not allowed in the XML InfoSet, for - details see: http://www.w3.org/TR/REC-xml/#charsets. - - - This method replaces any illegal characters in the input string - with the mask string specified. - - - - - - Count the number of times that the substring occurs in the text - - the text to search - the substring to find - the number of times the substring occurs in the text - - - The substring is assumed to be non repeating within itself. - - - - - - Impersonate a Windows Account - - - - This impersonates a Windows account. - - - How the impersonation is done depends on the value of . - This allows the context to either impersonate a set of user credentials specified - using username, domain name and password or to revert to the process credentials. - - - - - - Default constructor - - - - Default constructor - - - - - - Initialize the SecurityContext based on the options set. - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - The security context will try to Logon the specified user account and - capture a primary token for impersonation. - - - The required , - or properties were not specified. - - - - Impersonate the Windows account specified by the and properties. - - caller provided state - - An instance that will revoke the impersonation of this SecurityContext - - - - Depending on the property either - impersonate a user using credentials supplied or revert - to the process credentials. - - - - - - Create a given the userName, domainName and password. - - the user name - the domain name - the password - the for the account specified - - - Uses the Windows API call LogonUser to get a principal token for the account. This - token is used to initialize the WindowsIdentity. - - - - - - Gets or sets the impersonation mode for this security context - - - The impersonation mode for this security context - - - - Impersonate either a user with user credentials or - revert this thread to the credentials of the process. - The value is one of the - enum. - - - The default value is - - - When the mode is set to - the user's credentials are established using the - , and - values. - - - When the mode is set to - no other properties need to be set. If the calling thread is - impersonating then it will be reverted back to the process credentials. - - - - - - Gets or sets the Windows username for this security context - - - The Windows username for this security context - - - - This property must be set if - is set to (the default setting). - - - - - - Gets or sets the Windows domain name for this security context - - - The Windows domain name for this security context - - - - The default value for is the local machine name - taken from the property. - - - This property must be set if - is set to (the default setting). - - - - - - Sets the password for the Windows account specified by the and properties. - - - The password for the Windows account specified by the and properties. - - - - This property must be set if - is set to (the default setting). - - - - - - The impersonation modes for the - - - - See the property for - details. - - - - - - Impersonate a user using the credentials supplied - - - - - Revert this the thread to the credentials of the process - - - - - Adds to - - - - Helper class to expose the - through the interface. - - - - - - Constructor - - the impersonation context being wrapped - - - Constructor - - - - - - Revert the impersonation - - - - Revert the impersonation - - - - - - The log4net Global Context. - - - - The GlobalContext provides a location for global debugging - information to be stored. - - - The global context has a properties map and these properties can - be included in the output of log messages. The - supports selecting and outputing these properties. - - - By default the log4net:HostName property is set to the name of - the current machine. - - - - - GlobalContext.Properties["hostname"] = Environment.MachineName; - - - - Nicko Cadell - - - - Private Constructor. - - - Uses a private access modifier to prevent instantiation of this class. - - - - - The global context properties instance - - - - - The global properties map. - - - The global properties map. - - - - The global properties map. - - - - - - The log4net Logical Thread Context. - - - - The LogicalThreadContext provides a location for specific debugging - information to be stored. - The LogicalThreadContext properties override any or - properties with the same name. - - - The Logical Thread Context has a properties map and a stack. - The properties and stack can - be included in the output of log messages. The - supports selecting and outputting these properties. - - - The Logical Thread Context provides a diagnostic context for the current call context. - This is an instrument for distinguishing interleaved log - output from different sources. Log output is typically interleaved - when a server handles multiple clients near-simultaneously. - - - The Logical Thread Context is managed on a per basis. - - - Example of using the thread context properties to store a username. - - LogicalThreadContext.Properties["user"] = userName; - log.Info("This log message has a LogicalThreadContext Property called 'user'"); - - - Example of how to push a message into the context stack - - using(LogicalThreadContext.Stacks["LDC"].Push("my context message")) - { - log.Info("This log message has a LogicalThreadContext Stack message that includes 'my context message'"); - - } // at the end of the using block the message is automatically popped - - - - Nicko Cadell - - - - Private Constructor. - - - - Uses a private access modifier to prevent instantiation of this class. - - - - - - The thread context properties instance - - - - - The thread context stacks instance - - - - - The thread properties map - - - The thread properties map - - - - The LogicalThreadContext properties override any - or properties with the same name. - - - - - - The thread stacks - - - stack map - - - - The logical thread stacks. - - - - - - This class is used by client applications to request logger instances. - - - - This class has static methods that are used by a client to request - a logger instance. The method is - used to retrieve a logger. - - - See the interface for more details. - - - Simple example of logging messages - - ILog log = LogManager.GetLogger("application-log"); - - log.Info("Application Start"); - log.Debug("This is a debug message"); - - if (log.IsDebugEnabled) - { - log.Debug("This is another debug message"); - } - - - - - Nicko Cadell - Gert Driesen - - - - Initializes a new instance of the class. - - - Uses a private access modifier to prevent instantiation of this class. - - - - Returns the named logger if it exists. - - Returns the named logger if it exists. - - - - If the named logger exists (in the default repository) then it - returns a reference to the logger, otherwise it returns null. - - - The fully qualified logger name to look for. - The logger found, or null if no logger could be found. - - - - Returns the named logger if it exists. - - - - If the named logger exists (in the specified repository) then it - returns a reference to the logger, otherwise it returns - null. - - - The repository to lookup in. - The fully qualified logger name to look for. - - The logger found, or null if the logger doesn't exist in the specified - repository. - - - - - Returns the named logger if it exists. - - - - If the named logger exists (in the repository for the specified assembly) then it - returns a reference to the logger, otherwise it returns - null. - - - The assembly to use to lookup the repository. - The fully qualified logger name to look for. - - The logger, or null if the logger doesn't exist in the specified - assembly's repository. - - - - Get the currently defined loggers. - - Returns all the currently defined loggers in the default repository. - - - The root logger is not included in the returned array. - - All the defined loggers. - - - - Returns all the currently defined loggers in the specified repository. - - The repository to lookup in. - - The root logger is not included in the returned array. - - All the defined loggers. - - - - Returns all the currently defined loggers in the specified assembly's repository. - - The assembly to use to lookup the repository. - - The root logger is not included in the returned array. - - All the defined loggers. - - - Get or create a logger. - - Retrieves or creates a named logger. - - - - Retrieves a logger named as the - parameter. If the named logger already exists, then the - existing instance will be returned. Otherwise, a new instance is - created. - - By default, loggers do not have a set level but inherit - it from the hierarchy. This is one of the central features of - log4net. - - - The name of the logger to retrieve. - The logger with the name specified. - - - - Retrieves or creates a named logger. - - - - Retrieve a logger named as the - parameter. If the named logger already exists, then the - existing instance will be returned. Otherwise, a new instance is - created. - - - By default, loggers do not have a set level but inherit - it from the hierarchy. This is one of the central features of - log4net. - - - The repository to lookup in. - The name of the logger to retrieve. - The logger with the name specified. - - - - Retrieves or creates a named logger. - - - - Retrieve a logger named as the - parameter. If the named logger already exists, then the - existing instance will be returned. Otherwise, a new instance is - created. - - - By default, loggers do not have a set level but inherit - it from the hierarchy. This is one of the central features of - log4net. - - - The assembly to use to lookup the repository. - The name of the logger to retrieve. - The logger with the name specified. - - - - Shorthand for . - - - Get the logger for the fully qualified name of the type specified. - - The full name of will be used as the name of the logger to retrieve. - The logger with the name specified. - - - - Shorthand for . - - - Gets the logger for the fully qualified name of the type specified. - - The repository to lookup in. - The full name of will be used as the name of the logger to retrieve. - The logger with the name specified. - - - - Shorthand for . - - - Gets the logger for the fully qualified name of the type specified. - - The assembly to use to lookup the repository. - The full name of will be used as the name of the logger to retrieve. - The logger with the name specified. - - - - Shuts down the log4net system. - - - - Calling this method will safely close and remove all - appenders in all the loggers including root contained in all the - default repositories. - - - Some appenders need to be closed before the application exists. - Otherwise, pending logging events might be lost. - - The shutdown method is careful to close nested - appenders before closing regular appenders. This is allows - configurations where a regular appender is attached to a logger - and again to a nested appender. - - - - - Shutdown a logger repository. - - Shuts down the default repository. - - - - Calling this method will safely close and remove all - appenders in all the loggers including root contained in the - default repository. - - Some appenders need to be closed before the application exists. - Otherwise, pending logging events might be lost. - - The shutdown method is careful to close nested - appenders before closing regular appenders. This is allows - configurations where a regular appender is attached to a logger - and again to a nested appender. - - - - - - Shuts down the repository for the repository specified. - - - - Calling this method will safely close and remove all - appenders in all the loggers including root contained in the - specified. - - - Some appenders need to be closed before the application exists. - Otherwise, pending logging events might be lost. - - The shutdown method is careful to close nested - appenders before closing regular appenders. This is allows - configurations where a regular appender is attached to a logger - and again to a nested appender. - - - The repository to shutdown. - - - - Shuts down the repository specified. - - - - Calling this method will safely close and remove all - appenders in all the loggers including root contained in the - repository. The repository is looked up using - the specified. - - - Some appenders need to be closed before the application exists. - Otherwise, pending logging events might be lost. - - - The shutdown method is careful to close nested - appenders before closing regular appenders. This is allows - configurations where a regular appender is attached to a logger - and again to a nested appender. - - - The assembly to use to lookup the repository. - - - Reset the configuration of a repository - - Resets all values contained in this repository instance to their defaults. - - - - Resets all values contained in the repository instance to their - defaults. This removes all appenders from all loggers, sets - the level of all non-root loggers to null, - sets their additivity flag to true and sets the level - of the root logger to . Moreover, - message disabling is set to its default "off" value. - - - - - - Resets all values contained in this repository instance to their defaults. - - - - Reset all values contained in the repository instance to their - defaults. This removes all appenders from all loggers, sets - the level of all non-root loggers to null, - sets their additivity flag to true and sets the level - of the root logger to . Moreover, - message disabling is set to its default "off" value. - - - The repository to reset. - - - - Resets all values contained in this repository instance to their defaults. - - - - Reset all values contained in the repository instance to their - defaults. This removes all appenders from all loggers, sets - the level of all non-root loggers to null, - sets their additivity flag to true and sets the level - of the root logger to . Moreover, - message disabling is set to its default "off" value. - - - The assembly to use to lookup the repository to reset. - - - Get the logger repository. - - Returns the default instance. - - - - Gets the for the repository specified - by the callers assembly (). - - - The instance for the default repository. - - - - Returns the default instance. - - The default instance. - - - Gets the for the repository specified - by the argument. - - - The repository to lookup in. - - - - Returns the default instance. - - The default instance. - - - Gets the for the repository specified - by the argument. - - - The assembly to use to lookup the repository. - - - Get a logger repository. - - Returns the default instance. - - - - Gets the for the repository specified - by the callers assembly (). - - - The instance for the default repository. - - - - Returns the default instance. - - The default instance. - - - Gets the for the repository specified - by the argument. - - - The repository to lookup in. - - - - Returns the default instance. - - The default instance. - - - Gets the for the repository specified - by the argument. - - - The assembly to use to lookup the repository. - - - Create a domain - - Creates a repository with the specified repository type. - - - - CreateDomain is obsolete. Use CreateRepository instead of CreateDomain. - - - The created will be associated with the repository - specified such that a call to will return - the same repository instance. - - - A that implements - and has a no arg constructor. An instance of this type will be created to act - as the for the repository specified. - The created for the repository. - - - Create a logger repository. - - Creates a repository with the specified repository type. - - A that implements - and has a no arg constructor. An instance of this type will be created to act - as the for the repository specified. - The created for the repository. - - - The created will be associated with the repository - specified such that a call to will return - the same repository instance. - - - - - - Creates a repository with the specified name. - - - - CreateDomain is obsolete. Use CreateRepository instead of CreateDomain. - - - Creates the default type of which is a - object. - - - The name must be unique. Repositories cannot be redefined. - An will be thrown if the repository already exists. - - - The name of the repository, this must be unique amongst repositories. - The created for the repository. - The specified repository already exists. - - - - Creates a repository with the specified name. - - - - Creates the default type of which is a - object. - - - The name must be unique. Repositories cannot be redefined. - An will be thrown if the repository already exists. - - - The name of the repository, this must be unique amongst repositories. - The created for the repository. - The specified repository already exists. - - - - Creates a repository with the specified name and repository type. - - - - CreateDomain is obsolete. Use CreateRepository instead of CreateDomain. - - - The name must be unique. Repositories cannot be redefined. - An will be thrown if the repository already exists. - - - The name of the repository, this must be unique to the repository. - A that implements - and has a no arg constructor. An instance of this type will be created to act - as the for the repository specified. - The created for the repository. - The specified repository already exists. - - - - Creates a repository with the specified name and repository type. - - - - The name must be unique. Repositories cannot be redefined. - An will be thrown if the repository already exists. - - - The name of the repository, this must be unique to the repository. - A that implements - and has a no arg constructor. An instance of this type will be created to act - as the for the repository specified. - The created for the repository. - The specified repository already exists. - - - - Creates a repository for the specified assembly and repository type. - - - - CreateDomain is obsolete. Use CreateRepository instead of CreateDomain. - - - The created will be associated with the repository - specified such that a call to with the - same assembly specified will return the same repository instance. - - - The assembly to use to get the name of the repository. - A that implements - and has a no arg constructor. An instance of this type will be created to act - as the for the repository specified. - The created for the repository. - - - - Creates a repository for the specified assembly and repository type. - - - - The created will be associated with the repository - specified such that a call to with the - same assembly specified will return the same repository instance. - - - The assembly to use to get the name of the repository. - A that implements - and has a no arg constructor. An instance of this type will be created to act - as the for the repository specified. - The created for the repository. - - - - Gets the list of currently defined repositories. - - - - Get an array of all the objects that have been created. - - - An array of all the known objects. - - - - Looks up the wrapper object for the logger specified. - - The logger to get the wrapper for. - The wrapper for the logger specified. - - - - Looks up the wrapper objects for the loggers specified. - - The loggers to get the wrappers for. - The wrapper objects for the loggers specified. - - - - Create the objects used by - this manager. - - The logger to wrap. - The wrapper for the logger specified. - - - - The wrapper map to use to hold the objects. - - - - - Implementation of Mapped Diagnostic Contexts. - - - - - The MDC is deprecated and has been replaced by the . - The current MDC implementation forwards to the ThreadContext.Properties. - - - - The MDC class is similar to the class except that it is - based on a map instead of a stack. It provides mapped - diagnostic contexts. A Mapped Diagnostic Context, or - MDC in short, is an instrument for distinguishing interleaved log - output from different sources. Log output is typically interleaved - when a server handles multiple clients near-simultaneously. - - - The MDC is managed on a per thread basis. - - - - Nicko Cadell - Gert Driesen - - - - Initializes a new instance of the class. - - - Uses a private access modifier to prevent instantiation of this class. - - - - - Gets the context value identified by the parameter. - - The key to lookup in the MDC. - The string value held for the key, or a null reference if no corresponding value is found. - - - - The MDC is deprecated and has been replaced by the . - The current MDC implementation forwards to the ThreadContext.Properties. - - - - If the parameter does not look up to a - previously defined context then null will be returned. - - - - - - Add an entry to the MDC - - The key to store the value under. - The value to store. - - - - The MDC is deprecated and has been replaced by the . - The current MDC implementation forwards to the ThreadContext.Properties. - - - - Puts a context value (the parameter) as identified - with the parameter into the current thread's - context map. - - - If a value is already defined for the - specified then the value will be replaced. If the - is specified as null then the key value mapping will be removed. - - - - - - Removes the key value mapping for the key specified. - - The key to remove. - - - - The MDC is deprecated and has been replaced by the . - The current MDC implementation forwards to the ThreadContext.Properties. - - - - Remove the specified entry from this thread's MDC - - - - - - Clear all entries in the MDC - - - - - The MDC is deprecated and has been replaced by the . - The current MDC implementation forwards to the ThreadContext.Properties. - - - - Remove all the entries from this thread's MDC - - - - - - Implementation of Nested Diagnostic Contexts. - - - - - The NDC is deprecated and has been replaced by the . - The current NDC implementation forwards to the ThreadContext.Stacks["NDC"]. - - - - A Nested Diagnostic Context, or NDC in short, is an instrument - to distinguish interleaved log output from different sources. Log - output is typically interleaved when a server handles multiple - clients near-simultaneously. - - - Interleaved log output can still be meaningful if each log entry - from different contexts had a distinctive stamp. This is where NDCs - come into play. - - - Note that NDCs are managed on a per thread basis. The NDC class - is made up of static methods that operate on the context of the - calling thread. - - - How to push a message into the context - - using(NDC.Push("my context message")) - { - ... all log calls will have 'my context message' included ... - - } // at the end of the using block the message is automatically removed - - - - Nicko Cadell - Gert Driesen - - - - Initializes a new instance of the class. - - - Uses a private access modifier to prevent instantiation of this class. - - - - - Clears all the contextual information held on the current thread. - - - - - The NDC is deprecated and has been replaced by the . - The current NDC implementation forwards to the ThreadContext.Stacks["NDC"]. - - - - Clears the stack of NDC data held on the current thread. - - - - - - Creates a clone of the stack of context information. - - A clone of the context info for this thread. - - - - The NDC is deprecated and has been replaced by the . - The current NDC implementation forwards to the ThreadContext.Stacks["NDC"]. - - - - The results of this method can be passed to the - method to allow child threads to inherit the context of their - parent thread. - - - - - - Inherits the contextual information from another thread. - - The context stack to inherit. - - - - The NDC is deprecated and has been replaced by the . - The current NDC implementation forwards to the ThreadContext.Stacks["NDC"]. - - - - This thread will use the context information from the stack - supplied. This can be used to initialize child threads with - the same contextual information as their parent threads. These - contexts will NOT be shared. Any further contexts that - are pushed onto the stack will not be visible to the other. - Call to obtain a stack to pass to - this method. - - - - - - Removes the top context from the stack. - - - The message in the context that was removed from the top - of the stack. - - - - - The NDC is deprecated and has been replaced by the . - The current NDC implementation forwards to the ThreadContext.Stacks["NDC"]. - - - - Remove the top context from the stack, and return - it to the caller. If the stack is empty then an - empty string (not null) is returned. - - - - - - Pushes a new context message. - - The new context message. - - An that can be used to clean up - the context stack. - - - - - The NDC is deprecated and has been replaced by the . - The current NDC implementation forwards to the ThreadContext.Stacks["NDC"]. - - - - Pushes a new context onto the context stack. An - is returned that can be used to clean up the context stack. This - can be easily combined with the using keyword to scope the - context. - - - Simple example of using the Push method with the using keyword. - - using(log4net.NDC.Push("NDC_Message")) - { - log.Warn("This should have an NDC message"); - } - - - - - - Removes the context information for this thread. It is - not required to call this method. - - - - - The NDC is deprecated and has been replaced by the . - The current NDC implementation forwards to the ThreadContext.Stacks["NDC"]. - - - - This method is not implemented. - - - - - - Forces the stack depth to be at most . - - The maximum depth of the stack - - - - The NDC is deprecated and has been replaced by the . - The current NDC implementation forwards to the ThreadContext.Stacks["NDC"]. - - - - Forces the stack depth to be at most . - This may truncate the head of the stack. This only affects the - stack in the current thread. Also it does not prevent it from - growing, it only sets the maximum depth at the time of the - call. This can be used to return to a known context depth. - - - - - - Gets the current context depth. - - The current context depth. - - - - The NDC is deprecated and has been replaced by the . - The current NDC implementation forwards to the ThreadContext.Stacks["NDC"]. - - - - The number of context values pushed onto the context stack. - - - Used to record the current depth of the context. This can then - be restored using the method. - - - - - - - The log4net Thread Context. - - - - The ThreadContext provides a location for thread specific debugging - information to be stored. - The ThreadContext properties override any - properties with the same name. - - - The thread context has a properties map and a stack. - The properties and stack can - be included in the output of log messages. The - supports selecting and outputting these properties. - - - The Thread Context provides a diagnostic context for the current thread. - This is an instrument for distinguishing interleaved log - output from different sources. Log output is typically interleaved - when a server handles multiple clients near-simultaneously. - - - The Thread Context is managed on a per thread basis. - - - Example of using the thread context properties to store a username. - - ThreadContext.Properties["user"] = userName; - log.Info("This log message has a ThreadContext Property called 'user'"); - - - Example of how to push a message into the context stack - - using(ThreadContext.Stacks["NDC"].Push("my context message")) - { - log.Info("This log message has a ThreadContext Stack message that includes 'my context message'"); - - } // at the end of the using block the message is automatically popped - - - - Nicko Cadell - - - - Private Constructor. - - - - Uses a private access modifier to prevent instantiation of this class. - - - - - - The thread context properties instance - - - - - The thread context stacks instance - - - - - The thread properties map - - - The thread properties map - - - - The ThreadContext properties override any - properties with the same name. - - - - - - The thread stacks - - - stack map - - - - The thread local stacks. - - - - - diff --git a/lib/NHibernate12/net/1.1/Castle.DynamicProxy.dll b/lib/NHibernate12/net/1.1/Castle.DynamicProxy.dll deleted file mode 100644 index d95b1474..00000000 Binary files a/lib/NHibernate12/net/1.1/Castle.DynamicProxy.dll and /dev/null differ diff --git a/lib/NHibernate12/net/1.1/Castle.DynamicProxy.xml b/lib/NHibernate12/net/1.1/Castle.DynamicProxy.xml deleted file mode 100644 index 4afaa733..00000000 --- a/lib/NHibernate12/net/1.1/Castle.DynamicProxy.xml +++ /dev/null @@ -1,687 +0,0 @@ - - - - Castle.DynamicProxy - - - - - Summary description for ReferenceExpression. - - - - - Summary description for Expression. - - - - - Summary description for IEmitter. - - - - - Summary description for ArgumentReference. - - - - - Summary description for TypeReference. - - - - - Summary description for Reference. - - - - - Summary description for AssignArrayStatement. - - - - - Summary description for Statement. - - - - - Summary description for AssignStatement. - - - - - Summary description for BinaryExpression. - - - - - Summary description for ConditionExpression. - - - - - Summary description for ConstructorInvocationExpression. - - - - - Summary description for ConvertExpression. - - - - - Summary description for ExpressionStatement. - - - - - Summary description for FieldReference. - - - - - Summary description for FixedReference. - - - - - Summary description for GotoStatement. - - - - - Wraps a reference that is passed ByRef and provides indirect load/store facilities. - - - - - Summary description for LabelReference. - - - - - Summary description for LoadRefArrayElementExpression. - - - - - Summary description for LocalReference. - - - - - Summary description for LockBlockExpression. - - - - - Summary description for MarkBranchStatement. - - - - - Summary description for MethodInvocationExpression. - - - - - Summary description for MethodPointerExpression. - - - - - Summary description for MethodTokenExpression. - - - - - Summary description for NewArrayExpression. - - - - - Summary description for NewInstanceExpression. - - - - - Summary description for NopStatement. - - - - - Summary description for NullExpression. - - - - - Summary description for PopValueFromStackStatement. - - - - - Summary description for ReferenceExpression. - - - - - Summary description for ReferencesToObjectArrayExpression. - - - - - Summary description for ReturnReferenceExpression. - - - - - Summary description for ReturnStatement. - - - - - Summary description for SelfReference. - - - - - Summary description for TypeTokenExpression. - - - - - Summary description for VirtualMethodInvocationExpression. - - - - - Summary description for ArgumentsUtil. - - - - - Provides appropriate Ldc.X opcode for the type of primitive value to be loaded. - - - - - Provides appropriate Ldind.X opcode for - the type of primitive value to be loaded indirectly. - - - - - Provides appropriate Stind.X opcode - for the type of primitive value to be stored indirectly. - - - - - Summary description for OpCodeUtil. - - - - - Emits a load opcode of the appropriate kind for a constant string or - primitive value. - - - - - - - Emits a load opcode of the appropriate kind for the constant default value of a - type, such as 0 for value types and null for reference types. - - - - - Emits a load indirect opcode of the appropriate type for a value or object reference. - Pops a pointer off the evaluation stack, dereferences it and loads - a value of the specified type. - - - - - - - Emits a store indirectopcode of the appropriate type for a value or object reference. - Pops a value of the specified type and a pointer off the evaluation stack, and - stores the value. - - - - - - - Summary description for AbstractCodeBuilder. - - - - - Summary description for AbstractEasyType. - - - - - Summary description for ConstructorCodeBuilder. - - - - - Summary description for ConstructorCollection. - - - - - Summary description for EasyCallable. - - - - - Summary description for EasyNested. - - - - - Summary description for EasyConstructor. - - - - - Summary description for IEasyBuilder. - - - - - Summary description for EasyDefaultConstructor. - - - - - Summary description for EasyEvent. - - - - - Summary description for EasyMethod. - - - - - Summary description for EasyProperty. - - - - - Summary description for EasyRuntimeConstructor. - - - - - Summary description for EasyRuntimeMethod. - - - - - Summary description for EasyType. - - - - - Summary description for EventsCollection. - - - - - Summary description for MethodCodeBuilder. - - - - - Summary description for MethodCollection. - - - - - Summary description for NestedTypeCollection. - - - - - Summary description for PropertiesCollection. - - - - - Summary description for Set. - - - - - Summary description for BaseCodeGenerator. - - - - - Holds instance fields which points to delegates instantiated - - - - - MethodInfo => Callable delegate - - - - - Generates one public constructor receiving - the instance and instantiating a hashtable - - - Should be overrided to provided specific semantics, if necessary - - - - - Common initializatio code for the default constructor - - - - - - - - - - - - - - - Iterates over the interfaces and generate implementation - for each method in it. - - Type class - if true, we inspect the - type for implemented interfaces - - - - Naive implementation, but valid for long namespaces - Works by using only the last piece of the namespace - - - - - Gets the name of a type, taking into consideration nested types. - - - - - Generate property implementation - - - - - - Generates implementation for each method. - - - - - - - Writes the method implementation. This - method generates the IL code for property get/set method and - ordinary methods. - - The method to implement. - being constructed. - - - - - - - - - Summary description for ClassProxyGenerator. - - - - - Generates one public constructor receiving - the instance and instantiating a hashtable - - - - - Summary description for InterfaceProxyGenerator. - - - - - From an interface method (abstract) look up - for a matching method on the target - - - - - - - Generates one public constructor receiving - the instance and instantiating a HybridCollection - - - - - Summary description for ModuleScope. - - - - - Avoid leaks caused by non disposal of generated types. - - - - - Keep track of generated types - - - - - Used to lock the module builder creation - - - - - Summary description for ProxyGenerationException. - - - - - Summary description for DefaultProxyBuilder. - - - - - Summary description for IProxyBuilder. - - - - - Summary description for GeneratorContext. - - - - - Checks if the method has the same signature as a method that was marked as - one that should generate a new vtable slot. - - - - - The implementor of IObjectReference responsible for - the deserialization and reconstruction of the proxy object - - - - - Proceed with, manipulate or find more information about the call that - is being intercepted - - - - - Proceed with the call that was intercepted. - - The arguments that will be passed onto the method. - The argument returned from the method. - - - - Get the dynamic proxy that intercepted this call. - - - - - Get or set target that will be invoked when Process() is called. - - - Changing InvocationTarget only effects this call. Any call made after - this will invoke the original target of the proxy. - - - - - Get the method that is being invoked. - - - - - Get the method on the target object that is being invoked. - - - - - - - - - - Handles the deserialization of proxies. - - - - - Usefull for test cases - - - - - Summary description for AssertUtil. - - - - - - - - - - - - - - - - - - - - - - - - - - - Generates a Java style proxy. This overrides the .Net proxy requirements - that forces one to extend MarshalByRefObject or (for a different purpose) - ContextBoundObject to have a Proxiable class. - - - The should be used to generate a class - implementing the specified interfaces. The dynamic implementation will - only calls the internal instance. - - - Please note that this proxy implementation currently doesn't not supports ref and out arguments - in methods. - Also note that only virtual methods can be proxied in a class. - - - - MyInvocationHandler interceptor = ... - ProxyGenerator generator = new ProxyGenerator(); - IInterfaceExposed proxy = - generator.CreateProxy( new Type[] { typeof(IInterfaceExposed) }, interceptor ); - - - - - - Generates a proxy implementing all the specified interfaces and - redirecting method invocations to the specifed interceptor. - - Interface to be implemented - instance of - The proxy target. - Proxy instance - - - - Generates a proxy implementing all the specified interfaces and - redirecting method invocations to the specifed interceptor. - - Array of interfaces to be implemented - instance of - The proxy target. - Proxy instance - - - - - - - - - The proxy target. - - - - - - - - - - The proxy target. - - - - - Summary description for StandardInterceptor. - - - - - - - - - - - - diff --git a/lib/NHibernate12/net/1.1/HashCodeProvider.dll b/lib/NHibernate12/net/1.1/HashCodeProvider.dll deleted file mode 100644 index 11a3a345..00000000 Binary files a/lib/NHibernate12/net/1.1/HashCodeProvider.dll and /dev/null differ diff --git a/lib/NHibernate12/net/1.1/Iesi.Collections.dll b/lib/NHibernate12/net/1.1/Iesi.Collections.dll deleted file mode 100644 index 9f7ce06b..00000000 Binary files a/lib/NHibernate12/net/1.1/Iesi.Collections.dll and /dev/null differ diff --git a/lib/NHibernate12/net/1.1/Iesi.Collections.xml b/lib/NHibernate12/net/1.1/Iesi.Collections.xml deleted file mode 100644 index 61a36ba8..00000000 --- a/lib/NHibernate12/net/1.1/Iesi.Collections.xml +++ /dev/null @@ -1,927 +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 - 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() - - - - - - - - -

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 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/NHibernate12/net/1.1/NHibernate.dll b/lib/NHibernate12/net/1.1/NHibernate.dll deleted file mode 100644 index 5a7ca201..00000000 Binary files a/lib/NHibernate12/net/1.1/NHibernate.dll and /dev/null differ diff --git a/lib/NHibernate12/net/1.1/NHibernate.xml b/lib/NHibernate12/net/1.1/NHibernate.xml deleted file mode 100644 index e9dea5bc..00000000 --- a/lib/NHibernate12/net/1.1/NHibernate.xml +++ /dev/null @@ -1,29071 +0,0 @@ - - - - NHibernate - - - - - Expected row count. Valid only for batchable expectations. - - - - - 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. - - - - 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 - - - - 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. - - - - - Represents optimized entity property access. - - - - - Represents optimized entity instantiation. - - - - - Perform instantiation of an instance of the underlying class. - - The new instance. - - - - Represents reflection optimization for a particular class. - - - - - A implementation that returns - , disabling reflection optimization. - - - - - An item of cached data, timestamped with the time it was cached, when it was locked, - when it was unlocked - - - - - Summary description for ILockable. - - - - - Lock the item - - - - - Is this item visible to the timestamped transaction? - - - - - - - Don't overwite 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. - - - - - A soft lock which supports concurrent locking, - timestamped with the time it was released - - - This class was named Lock in H2.1 - - - - - Marker interface, denoting a client-visible "soft lock" on a cached item. - - - - - 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 - - - - - A simple -based cache - - - - - 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 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Cache Provider plugin for NHibernate that is configured by using - hibernate.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 . - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 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. - - - - 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 sesion 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. - - - - - 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 - - - - - - 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. - - - - - 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. - - - - - - - - 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 - - - - - - The XML Namespace for the nhibernate-mapping - - - - - The XML Namespace for the nhibernate-configuration - - - - - 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 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. - - - - 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. - - - - 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 droping tables - - - - - - Generate DDL for creating tables - - - - - - 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 - otherwise. - - A configuration object initialized with the file. - - To configure NHibernate explicitly using hibernate.cfg.xml, ignoring - the application configuration file, use this code: - - configuration.Configure("path/to/hibernate.cfg.xml"); - - - - - - Configure NHibernate from an representing the root - <hibernate-configuration> element. - - Configuration node - This Configuration object - - - - 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 overwrite 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 XmlTextReader. - - The that contains the Xml to configure NHibernate. - A Configuration object initialized with the file. - - Calling Configure(XmlTextReader) 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 XmlTextReader that contains the mapping. - This Configuration object. - - - - Adds the Mappings in the after validating it - against the nhibernate-mapping-2.2 schema. - - The XmlTextReader that contains the mapping. - The name of the document to use for error reporting. May be . - This Configuration object. - - - - Allocate on first use as we are expensive in time/space - - - - Allocate on first use as we are expensive in time/space - - - - The class mappings - - - - - The collection mappings - - - - - The table mappings - - - - - The named queries - - - - - 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 - - - - - - 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 - - - - The singleton instance - - - - - Return the unqualified class name - - - - - - - Return the unqualified property name - - - - - - - Return the argument - - - - - - - Return the argument - - - - - - - Return the unqualified property name - - - - - - - - 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, <nhibernate> section in the application configuration file - corresponds to Java system-level properties; <hibernate-configuration> - section is considered to be the session-factory-level configuration. It is possible - to use the applicatoin configuration file (App.config) together with the NHibernate configuration - file (hibernate.cfg.xml) at the same time. - - - - - Used to find the .Net 2.0 named connection string - - - - - Issue warnings to user when any obsolete property names are used. - - - - - - - NHibernate version (informational). - - - - - Gets a copy of the configuration found in <nhibernate> 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. - - - - - Converts a partial class name into a fully qualified one - - - - - - - - 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 Lists, arrays, primitive arrays - > - - - - Called for Maps - - - - - - - - - Called for all collections - - - - - Summary description for ImprovedNamingStrategy. - - - - - The singleton instance - - - - - Return the unqualified class name, mixed case converted to underscores - - - - - - - Return the full property path with underscore seperators, 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 seperators, mixed case converted to underscores - - - - - - - - A collection of mappings from classes and collections to relational database tables. - - Represents a single <hibernate-mapping> element. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Adds an import to allow for the full class name Namespace.Entity - 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 - automattically 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 classes outside this resource - needed by the classes in this resource. - - An of - - - - Settings that affect the behavior of NHibernate at runtime. - - - - - 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. - - - - - 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. - - - - - - 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. - - - - - 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 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. - - - - - 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 - - - - - Called before any elements are read into the collection, - allowing appropriate initializations to occur. - - The for this persistent collection. - - - - 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. - - - - - 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. - - - - - 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. - - - - - Get the snapshot value of the given collection entry - - - - - Called after initializing from cache - - - - - Clear the dirty flag, after flushing changes - to the database. - - - - - Mark the collection as dirty - - - - - 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. - - - - - Is the initialized collection empty? - - - - - Gets a indicating if the underlying collection is directly - accessable 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 the collection dirty? Note that this is only - reliable during the flush cycle, after the - collection elements are dirty checked against - the snapshot. - - - - - Called by any read-only method of the collection interface - - - - - Called by any writer method of the collection interface - - - - - Queue an addition if the peristent collection supports it - - - if the addition was queued up, if the persistent collection - doesn't support Queued Addition. - - - - - Queue additions - - - - - After reading all existing elements from the database, - add the queued elements to the underlying collection. - - The to add. - The that - is currently loading the collection. - - The default implementation is to throw an - because most collections do not support delayed addition. If the collection - does then override this method. - - - - - 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. - - - - - Not called by Hibernate, but used by non-NET serialization, eg. SOAP libraries. - - - - - 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 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 - - - - Read the state of the collection from a disassembled cached value. - - - - - - - - Iterate all collection entries, during update of the database - - - - - - 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. - - - - Get the index of the given collection entry - - - - - - - - Called before any elements are read into the collection, - allowing appropriate initializations to occur. - - - - - - Does the current state exactly match the snapshot? - - - - - - - Return a new snapshot of the current state - - The for this Collection. - - - - - Disassemble the collection, ready for the cache - - - - - - - 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. - - - - - 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? - - - - - - - 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 - - - - - Is the initialized collection empty? - - - - - Is the collection currently connected to an open session? - - - - - Is this collection in a state that would allow us to "queue" additions? - - - - - Gets a indicating if the underlying collection is directly - accessable 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 . - - - - - - - - - - - - - - - - - - - - A persistent wrapper for an array. lazy initialization is NOT supported - - - - - The that NHibernate is wrapping. - - - - - A temporary list that holds the objects while the PersistentArrayHolder is being - populated from the database. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 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. - - - - Returns the user-visible portion of the NHibernate PersistentArrayHolder. - - - The array that contains the data, not the NHibernate wrapper. - - - - - - - - - - - - - - - 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. - - - - - 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 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 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 underlying collection used in an . - - - - - Return a new snapshot of the current state. - - The for this Collection. - - A new that contains Deep Copies of the - Elements stored in this wrapped collection. - - - - - Does the current state of the list exactly match the snapshot? - - The to compare the elements of the Collection. - - if the wrapped list is different than the snapshot - of the list or if one of the elements in the collection is - dirty. - - - - - 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 . - - - - - 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. - - - - - 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. - - - - - Returns a Hashtable where the Key & the Value are both a Copy of the - same object. - - - - - - - This constructor is NOT meant to be called from user code. - - - - - Creates a new PersistentSet initialized to the values in the Map. - This constructor is NOT meant to be called from user code. - - - Only call this constructor if you consider the map initialized. - - - - - 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. - - - - - - - - - - - - - - - - - - - - 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. - - - - - 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. - - - - - Initializes a new instance of the class. - - - - - 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 . - Works only with Web Applications. - - - - - 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 each . Works only with web applications. - - - - - ANSI-SQL substring - Documented in: - ANSI X3.135-1992 - American National Standard for Information Systems - Database Language - SQL - - - Syntax: - ::= - SUBSTRING FROM < start position> - [ FOR ] - ]]> - - - - - 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? - - - - - 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 - - - - - 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). - - - - - Applies the template to passed in arguments. - - args function arguments - generated SQL function call - - - - - 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. - - - - Support for slightly more general templating than StandardSQLFunction, - with an unlimited number of arguments. - - - - - An SQL dialect for DB2 on iSeries OS/400. - - - The DB2400Dialect defaults the following configuration properties: - - - Property - Default Value - - - hibernate.connection.driver_class - - - - - - - - An SQL dialect for DB2. - - - The DB2Dialect defaults the following configuration properties: - - - Property - Default Value - - - hibernate.connection.driver_class - - - - - - - - Represents a dialect of SQL implemented by a particular RDBMS. Sublcasses - 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 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 length of the SqlType - The database type name used by ddl. - - - - - - - - - - - Subclasses register a typename for the given type code and maximum - column length. $1 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. $1 in the - typename will be replaced by the column length (if appropriate). - - The typecode - The database type name - - - - - - - - - - - - - - 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 used to add a primary key constraint to a table - - - - - - 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. - - - - - Generate SQL to get the identifier of an inserted row. - If the returned value is not null, the caller will prepare a statement from it, - set SQL parameters just as it would for insertSQL, and execute it as a query - which is expected to return the identifier of the inserted row. - If the returned value is null, the caller will execute insertSQL as an update - and then execute IdentitySelectString as a query. - The default implementation (in this class) returns . - - a parameterized SQL statement to insert a row into a table. - The column for which the identity generator was specified. - The name of the table the row is being inserted in. - a SQL statement that has the same effect as insertSQL - and also gets the identifier of the inserted row. - Return if this dialect doesn't support this feature. - - - - - The syntax that returns the identity value of the last insert, if native - key generation is supported - - - - - The syntax that fetches the next value of a sequence, if sequences are supported. - - The name of the sequence - - - - - The syntax used to create a sequence, if sequences are supported - - - - - - - The syntax used to drop a sequence, if sequences are supported - - - - - - - - - - - - - - - - - - - - Create an JoinFragment for this dialect - - - - - - Create an CaseFragment for this dialect - - - - - - Add a LIMIT clause to the given SQL SELECT - - A Query in the form of a SqlString. - Offset of the first row is not zero - A new SqlString 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. - - - - Return SQL needed to drop the named table. May (and should) use - some form of "if exists" clause, and cascade constraints. - - - - - - - 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 - - - - - 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. - - - - - 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. -

-
-
- - - 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? - - - - - How we seperate the queries when we use multiply queries. - - - - - Retrieves the FOR UPDATE syntax specific to this dialect - - The appropriate FOR UPDATE clause string. - - - - Retrieves the FOR UPDATE NOWAIT syntax specific to this dialect - - The appropriate FOR UPDATE NOWAIT clause string. - - - - Does this dialect support subselects? - - - - - Does this dialect support the UNIQUE column syntax? - - - - - The syntax used to add a column to a table. Note this is deprecated - - - - - The keyword used to specify a nullable column - - - - - Does this dialect support identity column key generation? - - - - - Does this dialect support sequences? - - - - - The keyword used to specify an identity column, if native key generation is supported - - - - - The keyword used to insert a generated value into an identity column (or null) - - - - - The keyword used to insert a row without specifying any column values - - - - - Retrieve a set of default Hibernate properties for this database. - - - - - Completely optional cascading drop clause - - - - - The name of the SQL function that transforms a string to lowercase - - - - - 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? - - false, unless overridden - - - - The opening quote for a quoted identifier. - - - - - The closing quote for a quoted identifier. - - - - - Whether this dialect has an identity clause added to the data type or a - completely seperate identity data type. - - - - - 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. - - - - - Does the dialect support the syntax 'drop table if exists NAME' - - - - - Does the dialect support the syntax 'drop table NAME if exists' - - - - - 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. - - - - - - - - - - - - - - - - - - - - - Add a LIMIT clause to the given SQL SELECT - - A Query in the form of a SqlString. - Offset of the first row is not zero - A new SqlString that contains the LIMIT clause. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Summary description for FirebirdDialect. - - - The FirebirdDialect defaults the following configuration properties: - - - Property - Default Value - - - hibernate.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. - - - The InformixDialect defaults the following configuration properties: - - - Property - Default Value - - - hibernate.connection.driver_class - - - - - - - - - - - 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 - - - - - Whether this dialect have an Identity clause added to the data type or a - completely seperate identity data type - - - - - An SQL dialect for IngresSQL. - - - The IngresDialect defaults the following configuration properties: - - - Property - Default Value - - - hibernate.use_outer_join - - - - hibernate.connection.driver_class - - - - - - - - An SQL dialect compatible with Microsoft SQL Server 2000. - - - The MsSql2000Dialect defaults the following configuration properties: - - - Property - Default Value - - - hibernate.use_outer_join - - - - hibernate.connection.driver_class - - - - hibernate.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 of. - 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 with the LIMIT clause applied. - - The LIMIT SQL will look like - - - SELECT TOP last (columns) FROM ( - SELECT ROW_NUMBER() OVER(ORDER BY __hibernate_sort_expr_1__ {sort direction 1} [, __hibernate_sort_expr_2__ {sort direction 2}, ...]) as row, (query.columns) FROM ( - {original select query part}, {sort field 1} as __hibernate_sort_expr_1__ [, {sort field 2} as __hibernate_sort_expr_2__, ...] - {remainder of original query minus the order by clause} - ) query - ) page WHERE page.row > offset - - - - Note that we need to add explicitly specify the columns, because we need to be able to use them - in a paged subselect. NH-1155 - - - - - 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 - - - hibernate.use_outer_join - - - - hibernate.connection.driver_class - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 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. - - - - - - - - - - - - - - - - - - - - - - - - - It's a immature version, it just work. - An SQL dialect for Oracle 9 - - - The Oracle9Dialect defaults the following configuration properties: - - - Property - Default Value - - - hibernate.use_outer_join - - - - hibernate.connection.driver_class - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - An SQL dialect for Oracle, compatible with Oracle 8. - - - - - - - - - - - - - - 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 - - - hibernate.use_outer_join - - - - hibernate.connection.driver_class - - - - - - - - - - - - - - Offset of the first row to process in the result set is non-zero - - - - - - - - - - - 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. - - not used - not used - - - - - 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); - - - - - 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. - This dialect uses serial - - - - - The sql syntax to insert a row without specifying any column in PostgreSQL is - INSERT INTO table DEFAULT VALUES; - - - - - 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 -

-
-
- - - - - - - - - - - - - This is a subclass of SybaseDialect for sybase 11 databases (specifically tested against 11.9.2). 11.9.2 does not support ANSI JOINs - therefore we have to provide a special join fragment for left/right joins (*= and =* respectively). - - - - - An SQL dialect compatible with Sybase. - - -

- 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 SybaseDialect defaults the following configuration properties: - - - Property - Default Value - - - hibernate.use_outer_join - - - - hibernate.connection.driver_class - - - - hibernate.prepare_sql - - - -
-
- - - - - - - - - Sybase does not support quoted aliases, this function thus returns - aliasName as is. - - - - - - - - - - - - - - - - - - - - - - - - - - This class is basically a port of the hibernate 3.2 Sybase 11 join fragment. It usees concepts from that join fragment and the Oracle join fragment in NHibernate - - - - - Represents a SQL JOIN - - - - - 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 SybaseAnywhereDialect defaults the following configuration properties: - - - Property - Default Value - - - hibernate.use_outer_join - - - - hibernate.connection.driver_class - - - - hibernate.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 - - - - - 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($1)" ); - Names.Put(DbType, 65534, "LONGVARCHAR($1)" ); - - 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($1)" ); - - would result in - - Names.Get(DbType) // --> "VARCHAR($1)" (will cause trouble) - Names.Get(DbType,100) // --> "VARCHAR(100)" - Names.Get(DbType,1000) // --> "VARCHAR(1000)" - Names.Get(DbType,10000) // --> "VARCHAR(10000)" - - - - - - Constructor. - - String to be replaced by actual size/length in type names - - - - 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 (maximum) type size/length - - 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 9.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 hibernate.connection.driver_class should be - set to the assembly-qualified name of the driver class. - - - key="hibernate.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. - - - - - - Create an instance of according to the configuration - and the capabilities of the driver - - The connection manager for the batcher. - - - - - 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? - - - - - 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. - - - - Create an instance 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 need to override this method and return their own batcher. - - - - - 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. - - - - 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 the class. - - - Thrown when the ASA.Data.AseClient 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. - - - - - 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 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://gborg.postgresql.org/project/npgsql/projdisplay.php. -

-
-
- - - 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. - - - - - Create an instance 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 need to override this method and return their own batcher. - - - - - 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. - - - - Create an instance 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 need to override this method and return their own batcher. - - - - - 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. - - - - - The SybaseClientDriver Driver provides a database driver for Sybase. - - - It has been reported to work with the . - - - - - Initializes a new instance of the class. - - - Thrown when the Sybase.Data.AseClient assembly can not be loaded. - - - - - Sybase.Data.AseClient uses named parameters in the sql. - - - Sybase uses @ in the sql. - - - - - - - Sybase.Data.AseClient use the @ to locate parameters in sql. - - @ is used to locate parameters in sql. - - - - 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. - - - - - 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 - 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 - 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 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 copying from a transient parent entity into the object in the session cache - - - - - Summary description for Cascades. - - - - - Cascade an action to the child or children - - - - - - - - - - - - - - - - - - - - - - Cascade an action from the parent object to all its children. - - - - - - - - - - - Cascade to the collection elements - - - - - - - - - - - - - A session action that may be cascaded from parent entity to its children - - - - - - - - Cascade the action to the child object - - - - - The children to whom we should cascade. - - - - - Do we need to handle orphan delete for this action? - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Should the given action be cascaded? - - - - - - - Save / Delete / Update / Evict / Lock / Replicate + delete orphans - - - - - Save / Delete / Update / Evict / Lock / Replicate - - - - - Save / Update / Lock / Replicate - - - - - Delete - - - - - Delete + delete orphans - - - - - No Cascades - - - - - Do we delete orphans automatically? - - - - - 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. - - - - - 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 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 - - - - - - - - - - The user-visible identifier - - - - - - - - - - - - - - - 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. - - - - 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. - - - - 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. - - - - 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. - - - - 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. - - - - - 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). - - - - - Defines a complete "snapshot" of a particular collection. - - - - - Gets the identifier of the Entity that owns this Collection. - - - - - Gets the role that identifies this Collection. - - - - - Gets the snapshot copy of the Collection's elements. - - - In most cases this is the same collection type as the one being snapshotted. - ie - the snapshot of an IList will return an IList. - - - - - Gets a indicating if the collection was at one time - associated with an Entity and then later dereferenced during a Flush(). - - - - - 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 - - - - - - Create a new databinder. - - - - - - Get the ClassMetadata associated with the given entity class - - - - - - - Get the CollectionMetadata associated with the named collection role - - - - - - - Get all ClassMetadata as a IDictionary from Type - to metadata object - - - - - - 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 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. - - - - - - 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 used. - - - - - Get the SQL Dialect - - - - - Obtain a set of the names of all filters defined on this SessionFactory. - - The set of filter names. - - - - This collections allows external libraries - to add their own configuration to the NHibernate session factory. - This is needed in such cases where the library is tightly coupled to NHibernate, such - as the case of NHibernate Search - - - - - Get the persister for a class - - - - - Get the persister for the named class - - The name of the class that is persisted. - The for the class. - If no can be found. - - - - Get the persister for the named class - - The name of the class that is persisted. - Whether to throw an exception if the class is not found, - or just return - The for the class. - If no can be found - and throwIfNotFound is true. - - - - Get the persister object for a collection role - - - - - - - Get the return types 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 - - - - Obtain an ADO.NET connection - - - - - - Release an ADO.NET connection - - - - - - Get the identifier generator for the hierarchy - - - - - Open a session conforming to the given parameters. For use mainly by - implementations. - - The external ADO.NET connection to use, if any (i.e., optional). - The release mode for managed database connections. - An appropriate session. - - - - - Is outerjoin fetching enabled? - - - - - Are scrollable ResultSets supported? - - - - - Is PreparedStatement.getGeneratedKeys supported (Java-specific?) - - - - - Get the database schema specified in hibernate.default_schema - - - - - - - - - - - - - - - Maximum depth of outer join fetching - - - - - Are we logging SQL to the console? - - - - - Get the default query cache - - - - - Is query caching enabled? - - - - - Gets the IsolationLevel an IDbTransaction should be set to. - - - This is only applicable to manually controlled NHibernate Transactions. - - - - - Gets a boolean indicating if the sql statement should be prepared. The value - is calculated from hibernate.adonet.batch_size if the value exists and greater than 0. - - - - - 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 - - - - - The main runtime interface between a Java application and Hibernate. 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 Find(), 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 deteced 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, - 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 - - - - 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. - - - - - - - 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 - - - - 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 - - - - 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 - - - - 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 - - - - Execute a query - - A query expressed in Hibernate's query language - A distinct list of instances - See for implications of cache usage. - - - - Execute a query, binding a value to a "?" parameter in the query string. - - The query string - A value to be bound to a "?" placeholder - The Hibernate type of the value - A distinct list of instances - See for implications of cache usage. - - - - Execute a query, binding an array of values to a "?" parameters in the query string. - - The query string - An array of values to be bound to the "?" placeholders - An array of Hibernate types of the values - A distinct list of instances - See for implications of cache usage. - - - - Execute a query and return the results in an interator. - - - - If the query has multiple return values, values will be returned in an array of - type object[]. - - - Entities returned as results are initialized on demand. The first SQL query returns - identifiers only. So Enumerator() is usually a less efficient way to retrieve - object than Find(). - - - The query string - An enumerator - - - - Execute a query and return the results in an interator, - binding a value to a "?" parameter in the query string. - - - - If the query has multiple return values, values will be returned in an array of - type object[]. - - - Entities returned as results are initialized on demand. The first SQL query returns - identifiers only. So Enumerator() is usually a less efficient way to retrieve - object than Find(). - - - The query string - A value to be written to a "?" placeholder in the query string - The hibernate type of the value - An enumerator - - - - Execute a query and return the results in an interator, - binding the values to "?"s parameters in the query string. - - - - If the query has multiple return values, values will be returned in an array of - type object[]. - - - Entities returned as results are initialized on demand. The first SQL query returns - identifiers only. So Enumerator() is usually a less efficient way to retrieve - object than Find(). - - - The query string - A list of values to be written to "?" placeholders in the query - A list of hibernate types of the values - An enumerator - - - - Apply a filter to a persistent collection. - - - A filter is a Hibernate query that may refer to this, the collection element. - Filters allow efficient access to very large lazy collections. (Executing the filter - does not initialize the collection.) - - A persistent collection to filter - A filter query string - The resulting collection - - - - Apply a filter to a persistent collection, binding the given parameter to a "?" placeholder - - - A filter is a Hibernate query that may refer to this, the collection element. - Filters allow efficient access to very large lazy collections. (Executing the filter - does not initialize the collection.) - - A persistent collection to filter - A filter query string - A value to be written to a "?" placeholder in the query - The hibernate type of value - A collection - - - - Apply a filter to a persistent collection, binding the given parameters to "?" placeholders. - - - A filter is a Hibernate query that may refer to this, the collection element. - Filters allow efficient access to very large lazy collections. (Executing the filter - does not initialize the collection.) - - A persistent collection to filter - A filter query string - The values to be written to "?" placeholders in the query - The hibernate types of the values - A collection - - - - 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 - - - - 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 hibernate.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 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 instance of Query for the given query string - - A hibernate query string - 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 IQuery for the given SQL string. - - a query expressed in SQL - a table alias that appears inside {} in the SQL string - the returned persistent class - An from the SQL string - - - - Create a new instance of for the given SQL string. - - a query expressed in SQL - an array of table aliases that appear inside {} in the SQL string - the returned persistent classes - An from the SQL string - - - - Create a new instance of for the given SQL query 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 - - - - Enable the named filter for this current session. - - The name of the filter to be enabled. - The Filter instance representing the enabled fiter. - - - - Retrieve a currently enabled filter by name. - - The name of the filter to be retrieved. - The Filter instance representing the enabled fiter. - - - - 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. - - - - - 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 - - - - - 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). - - - - - 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 pre-flush identifier of the collection - - - - - - - Get the snapshot of the pre-flush collection state - - - - - Get the object for an array - - - - - Register a object for an array - - - - - Initialize the collection (if not already initialized) - - - - - - - Is this the "inverse" end of a bidirectional association? - - - - - - - new in h2.1 and no javadoc - - - - - - - - - new in h2.1 and no javadoc - - - - - new in h2.1 and no javadoc - - - - - new in h2.1 and no javadoc - - - - - new in h2.1 and no javadoc - - - - - Gets the NHibernate collection wrapper from the ISession. - - - - - - A NHibernate wrapped collection. - - - - - 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 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. - - - - - - - - Load an instance by a unique key that is not the primary key. - - - - - - - - - After actually deleting a row, record the fact that the instance no longer exists on the - database (needed for identity-column key generation) - - - - - - Execute a Find() query - - - - - - - - Execute an Iterate() query - - - - - - - - Execute a filter - - - - - Collection from a filter - - - - - Get the IEntityPersister for an object - - - - - - - Add an uninitialized instance of an entity class, as a placeholder to ensure object identity. - Must be called before PostHydrate() - - - - - Register the "hydrated" state of an entity instance, after the first step of 2-phase loading - - - - - Perform the second step of 2-phase load (ie. fully initialize the entity instance) - - - - - Get the entity instance associated with the given EntityKey - - - - - Return the existing proxy associated with the given EntityKey, or the second - argument (the entity associated with the key) if no proxy exists. - - The to see if it should be Proxied. - The that identifies the entity. - - Returns a the Proxy for the class or the parameter impl. - - - - Return the existing proxy associated with the given object. (Slower than the form above) - - - - - 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 shold release cache softlocks). May be called multiple times during the transaction - completion process. - - - - - Return the identifier of the persistent object, or null if transient - - - - - Return the identifer of the persistent or transient object, or throw - an exception if the instance is "unsaved" - - - - - Instantiate the entity class, initializing with the given identifier - - - - - Set the lock mode of the entity to the given lock mode - - - - - Get the current version of the entity - - - - - Get the lock mode of the entity - - - - - Execute an SQL Query - - - - - new in 2.1 no javadoc - - - - - - new in 2.1 no javadoc - - - - - - - - new in 2.1 no javadoc - - - - - - - - Retrieve the representation of the given entity. - - The entity for which to locate the EntityEntry. - The EntityEntry for the given entity. - - - - Retreive the currently set value for a filter parameter. - - The filter parameter name in the format - {FILTER_NAME.PARAMETER_NAME}. - The filter parameter value. - - - - Retreive the type for a given filter parrameter. - - The filter parameter name in the format - {FILTER_NAME.PARAMETER_NAME}. - The filter parameter type. - - - - 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 {@link org.hibernate.impl.FilterImpl} - instance. - - The currently enabled filters. - - - - 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 - - - - - 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 - - - - - Get the columns of the associated table which are to - be used in the join - - - - - Container for data that is used during the NHibernate query/load process. - - - - - Initializes an instance of the class. - - An array of objects for the parameters. - An array of objects for the parameters. - - - - Initializes an instance of the class. - - An array of objects for the parameters. - An array of objects for the parameters. - An that is parameter name keyed to a value. - An that is hql alias keyed to a LockMode value. - - - - - - - - - - - - - - - - Ensure the Types and Values are the same length. - - - If the Lengths of and - are not equal. - - - - - - - - Gets or sets an that contains the named - parameter as the key and the as the value. - - An of 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. - - - - - - - - - - - - - - - - - - - - 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. - - - - Gets the value of the version. - - 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. - The value of the version. - - - - Sets the value of the version. - - 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 index of the version property in the fields parameter. - The of the versioned property. - - - - 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? - - - - - Converts the given SQLException into NHibernate's ADOException hierarchy, as well as performing - appropriate logging. - - - The exception to convert. - An optional error message. - The converted ADOException. - - - - 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. - - - - 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. - - - - 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 - - - - - 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 - - - - - Render the SQL Fragment. - - - - - - - - - Render the SQL Fragment to be used in the Group By Clause. - - - - - - - - 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 - - - - - - - - Get the user-visible aliases for this projection (ie. the ones that will be passed to the ResultTransformer) - - - - - Does this projection specify grouping attributes? - - - - - 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 arry 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. - - - - - 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. - - - - - - - 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. - - - - - 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 " - - - - A Count - - - - - 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. - - - - An that Junctions together multiple - s with an or - - - - - Get the Sql operator to put between multiple s. - - The string " or " - - - - An that represents an "equal" constraint. - - - - - 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. - - - - 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 . - - - - - 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. - Use case-insensitive comparison - - - - 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. - - - - Get the Sql operator to use for the . - - The string " = " - - - - An that represents an "equal" constraint - between two properties. - - - - - Superclass for an that represents a - constraint between two properties (with SQL binary operators). - - - - - Initialize a new instance of the class - that compares two mapped properties. - - 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 property expression. - - - - - 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. - - - - - 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. - - - - - The Expression 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 to the named property - - The name of the Property in the class. - The value for the Property. - An . - - - - Apply a "like" constraint to the named property - - The name of the Property in the class. - The value for the Property. - A . - - - - A case-insensitive "like", similar to Postgres "ilike" operator - - The name of the Property in the class. - 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. - A . - - - - Apply a "less than" constraint to the named property - - The name of the Property in the class. - The value for the Property. - A . - - - - Apply a "less than or equal" constraint to the named property - - The name of the Property in the class. - The value for the Property. - A . - - - - Apply a "greater than or equal" constraint to the named property - - The name of the Property in the class. - The value for the Property. - A . - - - - 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 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 named property - - The name of the Property in the class. - An ICollection of values. - An . - - - - Apply an "is null" constraint to the named property - - The name of the Property in the class. - A . - - - - Apply an "equal" constraint to two properties - - The lhs Property Name - The rhs Property Name - A . - - - - Apply an "not equal" constraint to two properties - - The lhs Property Name - The rhs Property Name - A . - - - - Apply a "greater than" 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 Property Name - The rhs Property Name - A . - - - - Apply a "less than" constraint to two properties - - The lhs Property Name - The rhs Property Name - A . - - - - Apply a "less than or equal" constraint to two properties - - The lhs Property Name - The rhs Property Name - A . - - - - Apply an "is not null" 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 . - - - - Apply an "is not empty" constraint to the named property - - The name of the Property in the class. - A . - - - - Return the conjuction 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 . - - - - 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 - - - - - - - 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 - - - - - An that represents an "greater than or equal" constraint. - - - - - 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. - - - - Get the Sql operator to use for the . - - The string " >= " - - - - An that represents an "greater than or equal" constraint - between two properties. - - - - - 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 " < " - - - - An that represents an "greater than" constraint. - - - - - 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. - - - - Get the Sql operator to use for the . - - The string " > " - - - - An that represents an "greater than" constraint - between two properties. - - - - - 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 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... - - - - - - - - - - - - - - - An that represents an "like" constraint - that is not case sensitive. - - - - - 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. - - - - - 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. - - - - Get the Sql operator to use for the . - - The string " <= " - - - - An that represents an "less than or equal" constraint - between two properties. - - - - - 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. - - - - - 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. - - - - Get the Sql operator to use for the . - - The string " like " - - - - An that represents an "less than" constraint. - - - - - 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. - - - - Get the Sql operator to use for the . - - The string " < " - - - - An that represents an "less than" constraint - between two properties. - - - - - 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. - - - - - 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. - - - - - 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. - - - - - Constructor for Order. - - - - - - - Render the SQL fragment - - - - - Ascending 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" - - - - 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(*) - - - - - - A property value count - - - - - - - A distinct property value count - - - - - - - A property maximum value - - - - - - - A property minimum value - - - - - - - A property average value - - - - - - - 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 projected property value - - - - - - - A projected identifier value - - - - - - Assign an alias to a projection, by wrapping it - - - - - - - - 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 - - - - - 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. - - - - - Factory class for AbstractCriterion instances that represent - involving subqueries. - Expression - Projection - AbstractCriterion - - - - - Generates translators which uses the older hand-written parser to perform the translation. - - - - - 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 an HQL filter string. - - The query string to be translated - Currently enabled filters - The session factory - An appropriate translator. - - - - 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 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 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. - - - - - 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 vesrion 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 - - - - - Unmarshall the fields of a persistent instance from a result set, - without resolving associations or collections - - - - - - - - - - - - Advance the cursor to the first required row of the IDataReader - - - - - - - Should we pre-process the SQL string, adding a dialect-specific - LIMIT clause. - - - - - - - - Bind positional parameter values to the IDbCommand - (these are parameters specified by ?). - - - - - - - - - - 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 maximum last row number, - others require the maximum returned row count. - - - - - 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 - - - - 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 . - The to load in. - An IDataReader advanced to the first record in RowSelection. - - - - Bind named parameters to the IDbCommand - - The that contains the parameters. - The named parameters (key) and the values to set. - The this Loader is using. - - - - - 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. - - - - of - - - - 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 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") - - - - - An (optional) persister for a collection to be initialized; only collection loaders - return a non-null value - - - - - 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 SQL table aliases of entities whose - associations are subselect-loadable, returning - null if this loader does not support subselect - loading - - - - - Get the result set descriptor - - - - - 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. - - - - - 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? - - - - 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 - - - - Used for collection filters - - - - - - - Persisters for the return values of a Find 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. - - - - - Provides utility methods for generating HQL / SQL names. - Shared by both the 'classic' and 'new' query translators. - - - - - 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. - - - - Handle Hibernate "implicit" polymorphism, by translating the query string into - several "concrete" queries against mapped classes. - - - - - - - - - An that returns the current identifier - assigned to an instance. - - -

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

-
-
- - - 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 - - - - - - - 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. - - - - - 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. - - - - 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 - - - - hilo - - - - identity - - - - native - - Chooses between , - , and based on the - 's capabilities. - - - - seqhilo - - - - sequence - - - - uuid.hex - - - - uuid.string - - - -
-
- - - 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. -

-
-
- - - 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 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. - - - - - - An that requires creation of database objects - All s that also implement - An have access to a special mapping parameter: schema - - - - - 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 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 name of the schema parameter. - - - - - 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 . - - - - 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. -

-
-
- - - The name of the column parameter. - - - - - The name of the table parameter. - - - - - The name of the schema parameter. - - - - - 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 , , 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 . - - - - 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. - - - - 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 . - - - - 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.Find(); - - - A particulare 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. -

-
-
- - - 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. - - - - 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. - - - - - 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 - - - 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 forceable refresh of - the query cache? - - - - The timeout for the underlying ADO query - - - - - - 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 - - - - - Bind a value to an indexed parameter. - - Postion 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 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 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. - - - - - The query string - - - - - The Hibernate types of the query result set. - - - - - The names of all named parameters of the query - - The parameter names, in no particular order - - - - 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. - - - - - 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 . - - - - - - - Visit a property value. Dispatch to the correct handler - for the property type. - - - - - - - - Walk the tree starting from the given entity. - - - - - - - Visit a collection. Default superclass implementation is a no-op. - - - - - - - - Visit a many-to-one or one-to-one associated entity. Default - superclass implementation is a no-op. - - - - - - - - Manages prepared statements and batching. Class exists to enforce separation of concerns - - - - - 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 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 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 the the Batcher was - created in. - - - The the Batcher was - created in. - - - - - Gets the for this batcher. - - - - - A cached instance of a persistent class - - - - - - - - - - - - - - - - - - - - - - - - - We need an entry to tell us all about the current state - of a collection with respect to its persistent state - - - - - 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. - - - - - 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. - - - - session-start/post-flush persistent state - - - allow the snapshot to be serialized - - - - Initializes a new instance of . - - - The CollectionEntry is for a Collection that is not dirty and - has already been initialized. - - - - - Initializes a new instance of for collections just loaded from the database. - - The that persists this Collection type. - The identifier of the Entity that is the owner of this Collection. - A boolean indicating whether to ignore the collection during current (or next) flush. - - - - Initializes a new instance of for initialized detached collections. - - The from another . - The that created this . - - This takes an from another and - creates an entry for it in this by copying the values from the - cs parameter. - - - - - 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. - - - - - - - - - - - - - - Manages the database connection and transaction for an . - - - This class corresponds to ConnectionManager and JDBCContext in Hibernate, - combined. - - - - - 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(); - - - Hibernate's query language is much more general and should be used for non-simple cases. - - - This is an experimental API. - - - - - - Set a limit upon the number of objects to be retrieved - - - - - - Set the first result to be retrieved - - - - - - Set a timeout for the underlying ADO.NET query - - - - - - - Add an Expression to constrain the results to be retrieved. - - - - - - - An an Order to the result set - - - - - - Get the results - - - - - - Get the results and fill the - - The list to fill with 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 - - - - - 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. - - - - - 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) - - - - Create a new , "rooted" at the associated entity - - - - - - - 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, - using the specified join type. - - A dot-seperated property path - The type of join to use - The created "sub criteria" - - - - Set a strategy for handling the query results. This determines the - "shape" of the query result set. - - - - - - - - - - Set the lock mode of the current entity - - the lock mode - - - - - Set the lock mode of the aliased entity - - an alias - the lock mode - - - - - 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 - - - - - 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. - - - - - - Get the alias of the entity encapsulated by this criteria instance. - - The alias for the encapsulated entity. - - - - 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. - - - - 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 updating the database, update the snapshot information, - and escalate the lock mode. - - - - - 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 reponsible 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. - - - - - - - - - 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 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 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. - - - - - Evict any collections referenced by the object from the ISession cache. - - - This will NOT pick up any collections that were dereferenced, so - they will be deleted (suboptimal but not exactly incorrect). - - - - - - - - - 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. - - - - - An action that can Execute during a - Flush. - - - - - - - - - - Execute the action required to write changes to the database. - - - - - Called after the Transaction has been completed. - - - - Actions should make sure that the Cache is notified about - what just happened. - - - - - Does the executable have an AfterTransactionCompletion process - - - - - The spaces (tables) that are affectd by this Executable action. - - - This is used to determine if the ISession needs to be flushed before - a query is executed so stale data is not returned. - - - - - 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] - - - - When implemented by a class, disassembles the object into a cacheable representation. - The value to disassemble.The sesionThe disassembled, deep cloned state of the object - - - - When implemented by a class, reconstructs the object from its - cached "disassembled" state. - The disassembled state from the cacheThe sessiontThe parent Entity objectThe assembled object. - - - - Combines sevaral queries into a single database call - - - - - Get all the - - - - - Add the specified HQL query to the multi query - - - - - Add the specified HQL query to the multi query - - - - - Add a named query to the multi query - - - - - 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 - - - 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 forceable refresh of - the query cache? - - - - The timeout for the underlying ADO query - - - - - - Bind a value to a named query parameter - - The name of the parameter - The possibly null parameter value - The NHibernate . - - - - 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 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 a named parameter - using an NHibernate . - - The name of the parameter - A non-null instance of a array. - - - - 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 name of the parameter - 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 . - - A non-null instance of a . - The name of the parameter - - - - 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 name of the parameter - A non-null instance of a . - - - - 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 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 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 name of the parameter - 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 name of the parameter - 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 name of the parameter - 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 . - - - - 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. - - - - - Return the query results of all the queries - - - - - 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. - - - - - - When a transient entity is passed to , 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. - - - - - 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 - - - - - When an entity is passed to Update(), all its collections must be - inspected and: - - - - Associate any uninitialized PersistentCollections with this Session. - - - - - Associate any initialized PersistentCollections with this Session, using the - existing snapshot. - - - - - Execute a collection removal (SQL DELETE) for each null collection property - or "new" collection. - - - - - - - - Summary description for OracleDataClientBatchingBatcher. - By Tomer Avissar - - - - - - - an actual entity object, not a proxy! - - - - - Implementation of the interface for collection filters. - - - - - - - - - - - - - The base class for a scheduled action to perform on a Collection during a - flush. - - - - - Initializes a new instance of . - - The that is responsible for the persisting the Collection. - The identifier of the Collection owner. - The that the Action is occuring in. - - - - - - - - - - - - - - - - - - Gets the that is responsible for persisting the Collection. - - - - - Gets the identifier of the Collection owner. - - - - - Gets the the action is executing in. - - - - - - - - A scheduled recreation of the Collection in the database. - - - - - Initializes a new instance of . - - The to recreate. - The that is responsible for the persisting the Collection. - The identifier of the Collection owner. - The that the Action is occuring in. - - - - - - - A scheduled removal of the Collection from the database. - - - This Collection is not represented in the database anymore. - - - - - Initializes a new instance of . - - The that is being removed. - The that is responsible for the persisting the Collection. - The identifier of the Collection owner. - Indicates if the Collection was empty when it was loaded. - The that the Action is occuring in. - - - - - - - A scheduled update of the Collection in the database. - - - Entities in the Collection or the contents of the Collection have been modified - and the database should be updated accordingly. - - - - - Initializes a new instance of . - - The to update. - The that is responsible for the persisting the Collection. - The identifier of the Collection owner. - Indicates if the Collection was empty when it was loaded. - The that the Action is occuring in. - - - - - - - A scheduled deletion of an object. - - - - - The base class for a scheduled action to perform on an entity during a - flush. - - - - - Initializes a new instance of . - - The that the Action is occuring in. - The identifier of the object. - The actual object instance. - The that is responsible for the persisting the object. - - - - - - Not supported for a non-collection entity - - - - Called when the Transaction this action occurred in has completed. - - - - - - Execute the action using the . - - - - - Gets the the action is executing in. - - - - - Gets the identifier of the object. - - - - - Gets the that is responsible for persisting the object. - - - - - Gets the object that is having the scheduled action performed against it. - - - - - - - - - - - - - Initializes a new instance of . - - The identifier of the object. - The version of the object being deleted. - The actual object instance. - The that is responsible for the persisting the object. - The that the Action is occuring in. - - - - - - - - - - Summary description for ScheduledIdentityInsertion. - - - - - - - - - - - - - - - - - - - - - - - - - A scheduled insertion of an object. - - - - - Initializes a new instance of . - - The identifier of the object. - An object array that contains the state of the object being inserted. - The actual object instance. - The version of the object instance. - The that is responsible for the persisting the object. - The that the Action is occuring in. - - - - - - - - - - A scheduled update of an object. - - - - - Initializes a new instance of . - - The identifier of the object. - An array of objects that contains the value of each Property. - An array that contains the indexes of the dirty Properties. - Whether the object contains a dirty collection. - - The current version of the object. - The version the object should be after update. - The actual object instance. - The that is responsible for the persisting the object. - The that the Action is occuring in. - - - - - - - - - - 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. - - - - - - - - - - - - - - - - - - - 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. - - - - - - - - - - - - - - - - - - - - - - - - - - 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. - - - - - - - Added to solve a problem with SessionImpl.Find( CriteriaImpl ), - see the comment there for an explanation. - - - - - - - - - - - - - Closes the session factory, releasing all held resources. - - cleans up used cache regions and "stops" the cache provider. - close the ADO.NET connection - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Gets the ICurrentSessionContext instance attached to this session factory. - - - - - A class that can be used as a Key in a Hashtable for - a Query Cache. - - - - - A class that can be used as a Key in a Hashtable for - a Query Cache. - - - - - 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. - - - TODO: verify that the AppDomain statements are correct. - - - - - - - - - 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. - - - - 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 - - - - - Indicates if the Session has been closed. - - - (by default) if the Session is Open and can be used, - if the Session has had the methods Close() or - Dispose() invoked. - - - - An with the as the key - and an as the value. - - - - - An with the as the key - and an as the value. - - - - - An with the as the key - and an as the value. - - - - - An with the as the key - and an as the value. - - - - - An with the as the key - and an as the value. - - - - - An with the as the key - and an as the value. - - - - - An of objects of the deleted entities. - - - - - 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. - - - - - - - - - Ensure that the locks are downgraded to - and that all of the softlocks in the have - been released. - - - - - Mark the Session as being closed and Clear out the HashTables of - entities and proxies along with the Identity Maps for entries, array - holders, collections, and nullifiables. - - - - - - - - - - - - - - - - - - - Save a transient object. An id is generated, assigned to the object and returned - - - - - - - Save a transient object with a manually assigned ID - - - - - - - If the parameter value is an unitialized proxy then it will be reassociated - with the session. - - A persistable object, proxy, persistent collection or null - - when an uninitialized proxy was passed into this method, otherwise. - - - - - associate a proxy that was instantiated by another session with this session - - - - - - - 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" - - - - - - - - - Delete a persistent object - - - - - - Checks to see if there are any Properties that should not be null - are references to null or to a transient object. - - An object array of values that should be validated. - The that describes which values can be null. - A indicating if this is an Update operation. - - Thrown when a non-nullable property contains a value that would - persist the value of null to the database. - - - - - Reattach a detached (disassociated) initialized or uninitialized collection wrapper - - - - - - - Used only by Replicate - - - - - - - - - - Retrieve a list of persistent objects using a Hibernate query - - - - - - - - - - - - - - - - - - - - - - Obtain an instance of for a named query string defined in the - mapping file. - - The name of a query defined externally. - An fro a named query string. - - The query can be either in hql or sql format. - - - - - Give the interceptor an opportunity to override the default instantiation - - - - - - - - detect in-memory changes, determine if the changes are to tables - named in the query and, if so, complete execution the flush - - - - - - - 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. - - - - - - - - - - Grab the existing proxy for an instance, if one exists. - (otherwise return the instance) - - - - - - - - - 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. - - - - - - - - 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 ADO datareader we are currently processing - - - - - - - - - - Load the data for the object with the specified id into a newly created object. - 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. - - - - - Load the data for the object with the specified id into the supplied - instance. A new key will be assigned to the object. If there is an - existing uninitialized proxy, this will break identity equals as far - as the application is concerned. - - - - - Load the data for the object with the specified id into a newly created - object. A new key will be assigned to the object. If the class supports - lazy initialization, return a proxy instead, leaving the real work for - later. This should return an existing proxy where appropriate. - - The of the object to load. - The identifier of the object in the database. - - A boolean indicating if NHiberate should check if the object has or has not been deleted. - - A boolean indicating if it is allowed to return a Proxy instead of an instance of the . - - An loaded instance of the object or a proxy of the object is proxies are allowed. - - - If the parameter checkDeleted is it is possible to return an object that has - been deleted by the user in this . If the parameter checkDeleted is - and the object has been deleted then an will be - thrown. - - - - - 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 method always hits the db, and does not create proxies. It should return - an existing proxy where appropriate. - - - - - - - - - - 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. - - - - - - - - - Actually do all the hard work of loading up an object - - - - - - - - - 1. see if it is already loaded - 2. see if it is cached - 3. actually go to the database - - - - - 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 - - - - - - - - - This can be called from commit() or at the start of a Find() 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 - - - - - Execute all SQL and second-level cache updates, in a - special order so that foreign-key constraints cannot - be violated: -
    -
  1. Inserts, in the order they were performed
  2. -
  3. Updates
  4. -
  5. Deletion of collection elements
  6. -
  7. Insertion of collection elements
  8. -
  9. Deletes, in the order they were performed
  10. -
-
- - - 1. detect any dirty entities - 2. schedule any entity updates - 3. search out any reachable collections - - - - - Process cascade save/update at the start of a flush to discover - any newly referenced entity that must be passed to - and also apply orphan delete - - - - - 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(). - - - - - - - - - - - - - - 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). - - - - - - - process any unreferenced collections and then inspect all known collections, - scheduling creates/removes/updates - - - - - 1. Recreate the collection key -> collection map - 2. rebuild the collection entries - 3. call Interceptor.postFlush() - - - - - Initialize the flags of the CollectionEntry, including the - dirty check. - - - - - Initialize the role of the collection. - The CollectionEntry.reached stuff is just to detect any silly users who set up - circular or shared references between/to collections. - - - - - - - - record the fact that this collection was dereferenced - - - - - - 1. record the collection role that this collection is referenced by - 2. decide if the collection needs deleting/creating/updating (but - don't actually schedule the action yet) - - - - - - - add a collection we just loaded up (still needs initializing) - - - - - - - - add a collection we just pulled out of the cache (does not need initializing) - - - - - - - - Add a new collection (i.e. a newly created one, just instantiated by - the application, with no database state or snapshot) - - - - - - - Add an (initialized) collection that was created by another session and passed - into update() (i.e. one with a snapshot and existing state on the database) - - - - - - - - - - - - - - associate a holder with an array - called after loading an array - - - - - - called by a collection that wants to initialize itself - - - - - - - - - - A flag to indicate if Dispose() has been called. - - - - - Finalizer that ensures the object is correctly disposed of. - - - - - Just in case the user forgot to Commit() or Close() - - - - - 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. - - - - - 1. determine the collection role of the given collection (this may require a flush, if the collection is recorded as unreferenced) - 2. obtain a compiled filter query - 3. autoflush if necessary - - - - - - - - - - Get the collection entry for a collection passed to filter, - which might be a collection wrapper, an array, or an unwrapped - collection. Return if there is no entry. - - - - - - - remove any hard references to the entity that are held by the infrastructure - (references held by application or other persistant instances are okay) - - - - - - Evict collections from the factory-level cache - - - - - - - - - - - - - - - - - - - - - - - - - - - - Instantiate a collection wrapper (called when loading an object) - - - - - - - - - Try to initialize a Collection from the cache. - - - - - - if the collection was initialized from the cache, otherwise . - - - - - - - - - - - - - - - - - - - - - - - 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. - - - - - 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 - - - - - 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. - - - - - Wrap collections in a NHibernate collection wrapper. - - - - - 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 - - - - - 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 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 aliases of the columns constrained - by this criterion (for use in ORDER BY clause). - - - - - Get the a typed value for the given property value. - - - - - 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 collumns - 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 collumns 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 aliases for the property columns - - - - - The result set column alias for the Oracle row id - - - - - Calculate and cache select-clause suffixes. - - - - - Optional, may return - - - - Substitues JDBC 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. - - @param sqlString The query string. - @return The SQL query with parameter substitution complete. - - - - 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 return defined as part of - a native sql query. - - - - - Returns the class owning the collection. - - - - - Returns 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. - - - - - 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. - - - - - Abstract superclass for entity loaders that use outer joins - - - - - - - - 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 - - - - - 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 collumns 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 - - - - - 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. - - - - - 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. - - - Author: Gavin King - - - - - 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 - - - - - - - - Get or set the metatype - - - - - 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. - - - - - Initializes a new instance of the class. - - The that contains this list mapping. - - - - Gets the appropriate that is - specialized for this list mapping. - - - - - A bag permits duplicates, so it has no primary key - - - - - Initializes a new instance of the class. - - The that contains this bag mapping. - - - - - - Should we create an index on the key columns? - - - - Gets the appropriate that is - specialized for this bag mapping. - - - - - Represents the mapping to a column in a database. - - - - - - - - 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 an Alias for the column name. - - The that contains the rules for Aliasing. - A string to use as the suffix for the Alias. - - A string that can be used as the alias for this Column. - - - - - Initializes a new instance of . - - The NHibernate that reads from and writes to the column. - The index of the column in the . - - - - Gets the of the column based on the . - - - - The of the column based on the . - - - - - 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. - - The value of Name.GetHashCode(). - - - - Gets or sets the length of the datatype in the database. - - The length of the datatype in the database. - - - - Gets or sets the NHibernate of the column. - - - The NHibernate of the column. - - - - - 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 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. - - - - - A Foreign Key constraint in the database. - - - - - Initializes a new instance of the class. - - - - - 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. - - - - - 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. - - - - - Gets or sets the that this Foreign Key is referencing. - - - The that this Foreign Key is referencing. - - - - - 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. - - - - - - - - - - - - - - - - - - - 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. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 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 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 heirarchy must define a unique discriminator-value. The default value - is the class name if no value is supplied. - - - - - Gets a boolean indicating if this PersistentClass has any subclasses. - - if this PeristentClass has any subclasses. - - - - Gets the number of subclasses that inherit either directly or indirectly. - - The number of subclasses that inherit from this PersistentClass. - - - - Gets the Collection of Subclasses for this PersistentClass. - - - It will recursively go through Subclasses so that if a Subclass 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. - - - - - 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. - - - - - Gets an of objects. - - - An of objects. - - - - - 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 the fully qualified name of the type being persisted. - - The fully qualified name of the type being persisted. - - - - 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 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 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 a boolean indicating if the mapped class - has a version property. - - if there is a <version> property. - - - - 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 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 TableClosureCollection and the subclassTables into the ICollection. - - - - 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 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. - - - - - - - - - - - - - - - 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 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. - - - - - 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. - - - - - - - - - - - - - - - Build a collection of properties which are "referenceable". - - - See for a discussion of "referenceable". - - - - - 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. - - - - - - - - - - - - - - Mapping for a property of a .NET class (entity - or component). - - - - - 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. - - - - - - - - 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-sublcass, 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 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 a boolean indicating if this mapped class is inherited from another. - - - because this is the root mapped class. - - - - - 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 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 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. - - - - - Gets or sets the that is used as the version. - - The that is used as the version. - - - - Gets a boolean indicating if the mapped class has a version property. - - if there is a Property for a version. - - - - 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 or sets the cache region name. - - The region name used with the Cache. - - - - Gets or set a boolean indicating if the mapped class has properties that can be changed. - - if the object is mutable. - - - - 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 of the Persister. - - The of the Persister. - - - - Gets the of the class - that is mapped in the class element. - - - The of the class this mapped class. - - - - - 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 Subclass 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. - - - - - - - - - - - - - - - A Set with no nullable element columns will have a primary - key consisting of all table columns (ie - key columns + - element columns). - - - - - Declaration of a System.Type mapped with the <subclass> or - <joined-subclass> 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 Subclass Properties. - - - - - Adds a that is implemented by a subclass. - - The implemented by a subclass. - - This also adds the to the Superclass' collection - of Subclass Properties. - - - - - Adds a that a subclass is stored in. - - The the subclass is stored in. - - This also adds the to the Superclass' collection - of Subclass Tables. - - - - - - - - - - - - - - - - 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 a boolean indicating if this mapped class is inherited from another. - - - because this is a Subclass. - - - - - 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 this class is stored in. - - The this class is stored in. - - This also adds the to the Superclass' collection - of Subclass Tables. - - - - - 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 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 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 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 - Subclass, only the RootClass. - - - - - - - - - - - - - - - Represents a Table in a database that an object gets mapped against. - - - - - Initializes a new instance of . - - - - - 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 Qualifier to use when accessing the table. - A String representing the Qualified name. - If this were used with MSSQL it would return a dbo.table_name. - - - - 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. - - - - - 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. - - - - - - - - - - - - - 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 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. - - - - - - - - - - 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. - - - - 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 - - - - - Create a class instance initialized with the given identifier - - - - - - - Get the type of a particular (named) property - - - - - - - Get the value of a particular (named) property - - - - - - - - Set the value of a particular (named) property - - - - - - - - Return the values of the mapped properties of the object - - - - - - 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) - - - - - - - Get the version number (or timestamp) from the object's version property - (or return null if not versioned) - - - - - - - The persistent class - - - - - 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 - - - - - Does the class implement the ILifecycle interface? - - - - - Does the class implement the IValidatable inteface? - - - - - Does the class support dynamic proxies? - - - - - 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 - - - - - Does the class have an identifier property? - - - - - 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? - - - - - 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 query alias and a property path, return the qualified column name - - - - - - - - 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 table to join to. - - - - - The columns to join on. - - - - - Is this instance actually a ICollectionPersister? - - - - - Is this instance actually a many-to-many association? - - - - -

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 - - - - - Is this collection role cacheable - - - - - 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 an "indexed" collection? (list or map) - - - - - Is this collection lazyily 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 entity class that "owns" this collection - - - - - Get the surrogate key generation strategy (optional operation) - - - - - Get the type of the surrogate key - - - - - 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.) - - - - - Get the "space" that holds the persistent state - - - - - Generate a list of collection index and element columns - - - - - 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 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? - - - - - 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? - - - - - 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. - - - - Gets just the Identifier of the Element for the Collection. - - - - - - - This was created in addition to ReadElement because ADO.NET does not allow - for 2 IDataReaders to be open against a single IDbConnection at one time. - - When a Collection is loaded it was recursively opening IDbDataReaders to resolve - the Element for the Collection while the IDbDataReader was open that contained the - record for the Collection. - - - - - 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 (preferrably immutable) and must provide a constructor of type - (PersistentClass, SessionFactoryImplementor) - - - - - Finish the initialization of this object, once all ClassPersisters have been - instantiated. Called only once, before any other method. - - - - - Create a new proxy instance - - - - - - - - Is this a new transient instance? - - - - - - - Set the given values to the mapped properties of the given object - - - - - - - Return the values of the mapped properties of the object - - - - - - - Set the value of a particular property - - - - - - - - Get the value of a particular property - - - - - - - - Get the value of a particular property - - - - - - - - Get the type of a particular property - - - - - - - Compare two snapshots of the state of an instance to determine if the persistent state - was modified - - - - - - or the indices of the dirty properties - - - - Compare the state of an instance to the current database state - - - - - - return or the indicies of the modified properties - - - - 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. - - - - 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 - - - - - - - Load an insatance 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 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. - - - - - - - - - - - NHibernate-specific feature, not present in H2.1 - - - - Determines whether the specified entity is an instance of the class - managed by this persister. - - The entity. - - if the specified entity is an instance; otherwise, . - - - - - 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. - - - - Returns an object that identifies the space in which identifiers of this class hierarchy - are unique. eg. a table name, etc. - - - - - Returns an array of objects that identifies spaces in which properties of this class - instance are persisted. eg. table names. - - - - - - The persistent class - - - - - The classname of the persistent class (used only for messages) - - - - - Does the class implement the ILifecycle inteface? - - - - - Does the class implement the IValidatable interface? - - - - - Does this class support dynamic proxies? - - - - - Get the proxy interface that instances of this concrete class will be cast to - - - - - Do instances of this class contain collections? - - - - - Does this class declare any cascading save/update/deletes? - - - - - Are instances of this class mutable? - - - - - 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. - - - - - Does the class have a property holding the identifier value? - - - - - Gets if the Type has a Property for the <id> or uses a <composite-id> - to store the id. - - true if there is a Identifier Property or Composite Identifier. - - - - 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) - - - - - 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 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. - - - - - 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 - - - - - 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. - - - - - 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 - - - - - Does this class have a cache? - - - - - Get the cache (optional operation) - - - - - Get the user-visible metadata for the class (optional operation) - - - - - Is batch loading enabled? - - - - - Returns an array of objects that identify spaces in which properties of this class are persisted, - for instances of this class and its subclasses. - - - - - The session factory this instance is associated with. - - - - - Does this entity contain a version property that is defined - to be database generated? - - - - - 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 - - - - - Does the persistent class have subclasses? - - - - - The discriminator type - - - - - Get the names of columns used to persist the identifier - - - - - Get the name of the column used as a discriminator - - - - - Does this entity own any collections which are fetchable by subselect? - - - - - 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) - - - - - - - Generate a list of collection index and element columns - - - - - - - - Get the column names for the given property path - - - - - Get the table name for the given property path - - - - - Extends the generic ILoadable contract to add operations required by HQL - - - - - Get the where clause fragment, give a query alias - - SQL alias to use for column names in the returned query - - - - - - - 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. - - - - - - - - Is this class mapped as a subclass of another class? - - - - - 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 value in the hbm) - - - - - 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). - - - - - - - - All columns to select, when loading. - - - - - Get the type - - - - - Set the given values to the mapped properties of the given object - - - Use the access optimizer if available - - - - - Return the values of the mapped properties of the object - - - Uses the access optimizer, if available. - - - - - Get the value of the numbered property - - - - - - - - Set the value of the numbered property - - - - - - - - Determine if the given field values are dirty. - - - - - - - - - - Determine if the given field values are dirty. - - - - - - - - - - Return a new instance initialized with the given identifier. - - - - - - - Returns the SQL used to get the Identity value from the last insert. - - This is not a NHibernate Command because the SQL contains no parameters. - - - - Must be called by subclasses, at the end of their constructors - - - - - - Retrieve the version number - - - - - - - - Do a version check - - - - - Generate the SQL that selects the version number by id - - - - - - Transform the array of property indexes to an array of booleans - - - - - Get the column names for the numbered property of this class - - - - - Decide which tables need to be updated - - - - - Persist an object, using a natively generated identifier - - - - - 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. - - - - - Load an instance using the appropriate loader (as determined by - - - - - Delete an object. - - - - - Persist an object - - - - - Determines whether the specified entity is an instance of the class - managed by this persister. - - The entity. - - 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 query that insert a row into the root table, letting the database generate an id - - - - - The queries that update rows by id (and version) - - - - - A IEntityPersister implementing the normalized "table-per-subclass" mapping strategy - - - - - Generate the SQL that pessimistic locks a row by id (and version) - - An existing SqlString to copy for then new SqlString. - - A new SqlString - - The parameter sqlString does not get modified. It is Cloned to make a new SqlString. - If the parametersqlString is null a new one will be created. - - - - - Constructs the NormalizedEntityPerister for the PersistentClass. - - The PeristentClass to create the EntityPersister for. - The configured . - The SessionFactory that this EntityPersister will be stored in. - The mapping used to retrieve type information. - - - - Create a new one dimensional array sorted in the Reverse order of the original array. - - The original array. - A new array in the reverse order of the original array. - - - - Create a new two dimensional array sorted in the Reverse order of the original array. The - second dimension is not reversed. - - The original array. - A new array in the reverse order of the original array. - - - - 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 - - - - Constants from interface. - - - - - 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 using FOR UPDATE - - - - - - Generate the SQL that selects a row by id using FOR UPDATE NOWAIT - - - - - - Generates an SqlString that selects a row by id - - SQL containing FOR UPDATE clauses - to append at the end of the query (optional) - - - - - Generate the SQL that updates a row by id, excluding subclasses - - - - - - - Generates the SQL that pessimistically locks a row by id (and version) - - An existing SqlString to copy for then new SqlString. - - A new SqlString - - The parameter sqlString does not get modified. It is Cloned to make a new SqlString. - If the parametersqlString is null a new one will be created. - - - - - - - - - - - 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. - - - - - An for a Property get. - - - - - 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. - - - - - 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. - - - - - 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. - - - - - Accesses mapped property values via a get/set pair, which may be nonpublic. - The default (and recommended strategy). - - - - - 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 . - - - - - 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 set. - - - - - 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. - - - - - 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 - - - - - 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. - - - - 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. - - - - 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. - - - - 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 retreive the value and will use the field - to set the value. This is a good option for <id> Properties because this access method - allow's users of the Class to get the value of the Id but not set the value. - - - - 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 whould have to be from Foo as foo where foo._someProperty - (assuming CamelCase with an underscore field naming strategy is used). - - - - - - A for use with the Castle Dynamic Class Generator. - - - - - Provides the base functionallity 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. - - - - - 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 Class to Proxy. - 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. - - - - - 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. - - - - - 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 . - - - - - - - - - - - - - - - - Initializes a new object. - - The Class to Proxy. - The Id of the Object we are Proxying. - - - The ISession this Proxy is in. - - - - Invoke the actual Property/Method using the Proxy or instantiate the actual - object and use it when the Proxy can't handle the method. - - The from the generated Castle.DynamicProxy. - The parameters for the Method/Property - The result just like the actual object was called. - - - - Called immediately after instantiation - - - - - - - - - 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. - - - - Build a proxy using the Castle.DynamicProxy library. - - The value for the Id. - The Session the proxy is in. - A fully built INHibernateProxy. - - - - 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 seperate DLL than NHibernate. - - - - - - NHibernateProxyHelper provides convenience methods for working with - objects that might be instances of Classes or the Proxied version of - the Class. - - - - - Gets the that is used by the Proxy. - - The Proxy object - - A reference to that contains the details - of the Proxied object. - - - - - Convenience method to figure out the underlying type for the object regardless of it - is a Proxied object or the real object. - - 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 - - - - - Validates whether can be specified as the base class - (or an interface) for a dynamically-generated proxy. - - - A collection of errors, if any, or if none were found. - - The type to validate. - - - - 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. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Represents an SQL case when ... then ... end as ... - - This class looks StringHelper.SqlParameter safe... - - - - Represents an SQL case when ... then ... end as ... - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - An ANSI-style Join. - - - - - - - - Sets the op - - The op to set - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Represents an SQL decode(pkvalue, key1, 1, key2, 2, ..., 0) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Represents an SQL for update of ... nowait statement - - - - - Represents an ... in (...) expression - - - - - Add a value to the value list. Value may be a string, - a , or one of special values - or . - - - - - - - - - - - - - - - - - - - - - - - - - - Builds a SqlString from the internal data. - - A valid SqlString that can be converted into an IDbCommand - - - - - - - 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 wierd if this - was a normal join condition, but is natural - for a filter. - - - - - A placeholder for an ADO.NET parameter in an . - - - - - Used as a placeholder when parsing HQL or SQL queries. - - - - - Generates an array of parameters for the given SqlTypes. - - The number of parameters to generate. - An array of objects - - - - Determines wether 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. - - - - - 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 - - - - - 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 - - - - - - - A class that builds an INSERT sql statement. - - - - - - - - - - - - - - - - - - Adds the Property's columns to the INSERT sql - - An array of the column names for the Property - The IType of the property. - The SqlInsertBuilder. - - - - 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. - - - - - - - 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 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 - - - - - - - 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. - - - - Sets the For Update Fragment to the Select Command - - The fragment to set. - 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 SqlStringBuilder 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 occurence 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 occurence 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 - - - - 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 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 SqlUpdateBuilder. - - - - 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 SqlUpdateBuilder. - - - - Adds columns with a specific value to the INSERT sql - - The names of the Column sto add. - A valid sql string to set as the value of the 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. - - - - 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 WhereFragement - - 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 - - - - Initializes a new instance of the class. - - - - - 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. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 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 and the format parameter to true. - - - - - 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 and format 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. - if the ddl should be nicely formatted instead of one statement per line. - - 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. - if the ddl should be nicely formatted instead of one statement per line. - - This method allows for both the drop and create ddl script to be executed. - - - - - Format an SQL statement using simple rules - - The string containing the sql to format. - A string that contains formatted sql. - - The simple rules to used when formatting are: - - - Insert a newline after each comma - - - Indent three spaces after each inserted newline - - - - If the statement contains single/double quotes return unchanged because - it is too complex and could be broken by simple formatting. - - - - - - - - An abstract factory for ITransaction instances. - - - - - Configure from the given properties - - - - - - Create a new transaction and return it without starting it. - - - - - 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. - - - - - 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. - - - - - Implementors define a strategy for transforming criteria query - results into the actual application-visible query result list. - - - - - - - - - - - - - - - - - - - - - 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]; - - - - - - Each row of results is a map () from alias to values/entities - - - - - Creates a resulttransformer that will inject aliased values into instances - of via property methods or fields. - - - - - 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. - - - Author: Steve Ebersole - - - - - 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. - - - - 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. - - - - 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. - - - - 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, compare two instances of the class mapped by this - IType for persistence "equality" - ie. Equality of persistent state. - The left hand side object.The right hand side object.True if the two objects contain the same values. - - - - Get a hashcode, consistent with persistence "equality" - - - - - 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. - - - - Parse the XML representation of an instance - an instance of the type - - - - When implemented by a class, returns a deep copy of the persistent - state, stopping at entities and at collections. - A Collection element or Entity fieldA deep copy of the object. - - - - When implemented by a class, 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 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. - - - - - - - - Determines whether the specified value is represented as in the database. - - The value, may be . - - if the specified value is represented as in the database; - otherwise, . - - - - - 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 - - - - - - - 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 abbreviated name of the type. - The NHibernate type name. - - - - 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 whether or not this IType contains - s that implement well-behaived Equals() method. - true if a well-behaived Equals() is implemented. - - Strickly, if this method returns true then x.Equals(y) implies - IType.Equals(x, y) and also IType.Equals(x, y) implies that - probably x.Equals(y) - - - In the default implementations s are assumed to have - HaveNiceEquals==true and s are assumed to have - HaveNiceEquals==false. - - - This code doesn't look like it is used anywhere internally because I did a search - on ".HasNiceEquals" and found no results. So it looks like it is used for a description - of the IType only. - - - - - - Disassembles the object into a cacheable representation. - - The value to disassemble. - The is not used by this method. - 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 fieldA 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, compare two instances of the class mapped by this - IType for persistence "equality" - ie. Equality of persistent state. - The left hand side object.The right hand side object.True if the two objects contain the same values. - - - - Determines whether the specified value is represented as in the database. - - The value, may be . - - if the specified value is ; otherwise, . - - - - - - - - - - - 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. - - - - Parse the XML representation of an instance - an instance of the type - - - - 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 whether or not this IType contains - s that implement well-behaived Equals() method. - true if a well-behaived Equals() is implemented. - - Strickly, if this method returns true then x.Equals(y) implies - IType.Equals(x, y) and also IType.Equals(x, y) implies that - probably x.Equals(y) - - - In the default implementations s are assumed to have - HaveNiceEquals==true and s are assumed to have - HaveNiceEquals==false. - - - This code doesn't look like it is used anywhere internally because I did a search - on ".HasNiceEquals" and found no results. So it looks like it is used for a description - of the IType only. - - - - - - 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 - - - - - Maps a Property - to a DbType.AnsiStringFixedLength column. - - - - - Common base class for and . - - - - - Superclass of types. - - - - - Superclass of nullable immutable 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 . - - - - - 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 - - - - - Parse the XML representation of an instance - an instance of the type - - - This implementation forwards the call to if the parameter - value is not empty. - - - 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 . - - - - - - 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 implemenation 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 retreiving 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 implemenation 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 implemenation 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. - - - - - When implemented by a class, returns a deep copy of the persistent state. - - The value to deep copy. - A deep copy of the object. - - Most of the built in NullableTypes will just return the same object - passed into it. - - - - - When implemented by a class, returns a deep copy of the persistent - state, stopping at entities and at collections. - A Collection element or Entity fieldA deep copy of the object. - - - This implemenation 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 . - - - - - - 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 ImmutableType class using a - . - - The underlying . - - - - Returns a deep copy of the persistent state. - - The value to deep copy. - A deep copy of the object. - - A is considered immutable because a boxed version - of the is being stored by NHibernate. So any changes - made to it would require the to be unboxed and - then reboxed. - - - - - 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 . - - - - - Gets whether or not this IType contains - s that implement well-behaived Equals() method. - - - true - it is assumed that a ImmutableType implements a - well-behaived Equals(). - - - There is no concrete rule that s implement - a well-behaived Equals(). If the does - not implement the Equals() then set this to . - - - - - 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 containts a well formed SQL Statement. - - - - Initialize a new instance of the ValueTypeType class using a - . - - The underlying . - - - - Compare two instances of the class mapped by this - IType for persistence "equality" - ie. Equality of persistent state. - - The left hand side object. - The right hand side object. - True if the two objects contain the same values. - - - - 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. - - TODO: figure out if this is used to build Xml strings or will have encoding - done automattically. - - - - - 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. - - - - 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. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 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 "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. - - - - Returns a reference to the elements in the collection. - - The object that holds the ICollection. - An ICollection of the Elements(classes) in the Collection. - - By default the parameter collection is just cast to an ICollection. Collections - such as Maps and Sets should override this so that the Elements are returned - not a - DictionaryEntry. - - - - - Wraps a collection from System.Collections or Iesi.Collections inside one of the - NHibernate collections. - - The for the collection to be a part of. - The unwrapped collection. - - 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 - - - - - Instantiate an empty instance of the "underlying" collection (not a wrapper) - - - - - We always need to dirty check the collection because we sometimes - need to incremement 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. - - - - - Superclass for mutable nullable types. - - - - - 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 . - - - - - Gets whether or not this IType contains - s that implement well-behaived Equals() method. - - - false - it is assumed that a MutableType does not implement a - well-behaved Equals(). - - - There is no concrete rule that s don't implement - a well-behaved Equals(). If the does implement - the Equals() then set this to . - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 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. - - - - - 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. - Returns an instance of the - - - - 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. - - - - - Get a comparator for the version numbers - - - - - Maps a Property - to a column. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Maps a Property - to a DbType.StringFixedLength column. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Use the access optimizer if available - - - - - Use the access optimizer if available - - - - - - - - - - - - - - - - - - - - - - - - - - - This method does not populate the component parent - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Summary description for CompositeCustomType. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Maps a Property - to a column. - - - CultureInfoType stores the culture name (not the Culture ID) of the - in the DB. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - A custom type for mapping user-written classes that implement - . - - - - - - - Adapts IUserType to the generic IType interface. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 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 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Maps the Year, Month, and Day of a Property to a - column - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Maps a Property - to a column. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Maps a Property - to a column. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Handles "dynamic" components, represented as <map>s - - - - - A reference to an entity class - - - - - 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. - - - - - Resolves the identifier to the actual object. - - - - - Resolve an identifier or unique key value - - - - - - - - - - - - - - - - - - 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? - - - - - 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 - - - - - - - - Should we cascade at this cascade point? - - - - - A foreign key from child to parent - - - - - A foreign key from parent to child - - - - - Maps a Property - to a column. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 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 . - - - - - - - - Maps a Property - to a column. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Maps a Property - to a column. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Maps a Property - to a column. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 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 . - - - - - - - - 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 occuring in. - The object that this Entity will be a part of. - - An instantiated object that used as the identifier of the type. - - - - - 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 . - - - - - - - - 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. - - - - - 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 - - The role the persistent collection is in. - - - - - PersistentEnumType - - - - - - - - - - - Determines what the NHibernate SqlType should be based on the - values contain in the Enum - - The Enumeration class to get the values from. - The SqlType for this EnumClass - - - - 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. - 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. - - - - 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 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 an DateTime column that only stores the - Hours, Minutes, and Seconds of the DateTime as significant. - - - - 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 diffently 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. - - - - - - - - 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. - - - - - 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. - - An 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. - - A 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. - - 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. - - 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. - - 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. - - 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. - - 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. - - 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. - - A for the specified role. - - - - - Deep copy values in the first array into the second - - - - - Determine if any of the given field values are dirty, - returning an array containing indexes of - the dirty fields or null if no fields are dirty. - - - - - Determine if any of the given field values are modified, - returning an array containing indexes of - the dirty fields or null if no fields are 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. - - - - - - - - - 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 inteface to be implemented by user-defined types. - - - - The inteface abstracts user code from future changes to the inteface, - simplifies the implementation of custom types and hides certain "internal interfaces from - user code. - - - Implemenators 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 intefaces 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 - - - - - A custom type with certain not- values represented as - in the database. - - Implementing this interface is useful if a property of the type - is used in a class with dynamic-update or dynamic-insert - set to . - - - - - Determines whether the specified value is represented as in the database. - - The value, may be . - - if the specified value is represented as in the database; - otherwise, . - - - - - 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. - - - - - 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) - - - - - 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. - - - - - 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 - . - - - - - - - - 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. - - - - - Compares two objects for Equality using "==" instead of Object.Equals - - - Only for use in IdentityMap. - - - - - Performs a null safe comparison using "==" instead of Object.Equals() - - First object to compare. - Second object to compare. - - 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. - - - Unlike the standard IComparer interface this will not return a 1 or -1 - to indicate which is Greater Than or Less Than. It always returns -1 to - indicate the two are not Equal. - - - - - Combines multiple objects implementing into one. - - - - - Creates an IEnumerable object from multiple IEnumerables. - - The IEnumerables to join together. - - - - - - - - - - - - - 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 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. - - - - - - - - Summary description for ObjectUtils. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Extracts a set of param child nodes from the specified node - <param name="theName" value="theValue"/> - - Parent element. - null if no parameters are found - - - - 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. - - - - Returns a reference to the Type. - - The name of the class or a fully qualified name. - The Type for the Class. - - - - 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. - - - - 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 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 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 seperators in the tokens. - - - This is more powerful than Split because you have the option of including or - not including the seperators in the tokens. - - - - - - - - - - - - - - - - - - - - Takes a fully qualified type name and returns the full name of the - Class - includes namespaces. - - - - - - - Takes a fully qualifed 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 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Count of elements in the collection. Unreliable! - - - - - 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. - - - - - 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. - - - - - - - - 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. - - - - - Contains static declarations from Criteria interface in Hibernate. - - - - - The alias that refers to the "root" entity of the criteria query. - - - - - Each row of results is an IDictionary 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 - - - - - 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. - - 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 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 - - - - - 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 - - A mapped type - The identifier of the new instance - An instance of the class, or to choose default behaviour - - - - 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 a session-scoped (and only session scoped) interceptor is attached - to a session - - - - - 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") - - - - - 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. - - - - - 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 hibernate.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 - - - - 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 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 - - - - - Attempty 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(). - - - - - 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. - - - - - 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 decimal type - - - - - NHibernate double type - - - - - 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 Timestamp type - - - - - NHibernate TrueFalse type - - - - - NHibernate YesNo type - - - - - NHibernate class type - - - - - NHibernate serializable type - - - - - NHibernate System.Object type - - - - - Cannot be instantiated. - - - - - 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 NHibernate 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. - - - - - 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 of the object attempted to be loaded. - - - - 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. - - - - - 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 - - - - - - - - - - Overwrite existing rows when a row already exists - - - - - - - - - - When a row already exists, choose the latest version - - - - - - - - - - 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 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 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. - - - - - 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 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 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/NHibernate12/net/1.1/log4net.dll b/lib/NHibernate12/net/1.1/log4net.dll deleted file mode 100644 index 995816f2..00000000 Binary files a/lib/NHibernate12/net/1.1/log4net.dll and /dev/null differ diff --git a/lib/NHibernate12/net/1.1/log4net.xml b/lib/NHibernate12/net/1.1/log4net.xml deleted file mode 100644 index f20322f3..00000000 --- a/lib/NHibernate12/net/1.1/log4net.xml +++ /dev/null @@ -1,28655 +0,0 @@ - - - - log4net - - - - - Appender that logs to a database. - - - - appends logging events to a table within a - database. The appender can be configured to specify the connection - string by setting the property. - The connection type (provider) can be specified by setting the - property. For more information on database connection strings for - your specific database see http://www.connectionstrings.com/. - - - Records are written into the database either using a prepared - statement or a stored procedure. The property - is set to (System.Data.CommandType.Text) to specify a prepared statement - or to (System.Data.CommandType.StoredProcedure) to specify a stored - procedure. - - - The prepared statement text or the name of the stored procedure - must be set in the property. - - - The prepared statement or stored procedure can take a number - of parameters. Parameters are added using the - method. This adds a single to the - ordered list of parameters. The - type may be subclassed if required to provide database specific - functionality. The specifies - the parameter name, database type, size, and how the value should - be generated using a . - - - - An example of a SQL Server table that could be logged to: - - CREATE TABLE [dbo].[Log] ( - [ID] [int] IDENTITY (1, 1) NOT NULL , - [Date] [datetime] NOT NULL , - [Thread] [varchar] (255) NOT NULL , - [Level] [varchar] (20) NOT NULL , - [Logger] [varchar] (255) NOT NULL , - [Message] [varchar] (4000) NOT NULL - ) ON [PRIMARY] - - - - An example configuration to log to the above table: - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Julian Biddle - Nicko Cadell - Gert Driesen - Lance Nehring - - - - Abstract base class implementation of that - buffers events in a fixed size buffer. - - - - This base class should be used by appenders that need to buffer a - number of events before logging them. For example the - buffers events and then submits the entire contents of the buffer to - the underlying database in one go. - - - Subclasses should override the - method to deliver the buffered events. - - The BufferingAppenderSkeleton maintains a fixed size cyclic - buffer of events. The size of the buffer is set using - the property. - - A is used to inspect - each event as it arrives in the appender. If the - triggers, then the current buffer is sent immediately - (see ). Otherwise the event - is stored in the buffer. For example, an evaluator can be used to - deliver the events immediately when an ERROR event arrives. - - - The buffering appender can be configured in a mode. - By default the appender is NOT lossy. When the buffer is full all - the buffered events are sent with . - If the property is set to true then the - buffer will not be sent when it is full, and new events arriving - in the appender will overwrite the oldest event in the buffer. - In lossy mode the buffer will only be sent when the - triggers. This can be useful behavior when you need to know about - ERROR events but not about events with a lower level, configure an - evaluator that will trigger when an ERROR event arrives, the whole - buffer will be sent which gives a history of events leading up to - the ERROR event. - - - Nicko Cadell - Gert Driesen - - - - Abstract base class implementation of . - - - - This class provides the code for common functionality, such - as support for threshold filtering and support for general filters. - - - Appenders can also implement the interface. Therefore - they would require that the method - be called after the appenders properties have been configured. - - - Nicko Cadell - Gert Driesen - - - - Implement this interface for your own strategies for printing log statements. - - - - Implementors should consider extending the - class which provides a default implementation of this interface. - - - Appenders can also implement the interface. Therefore - they would require that the method - be called after the appenders properties have been configured. - - - Nicko Cadell - Gert Driesen - - - - Closes the appender and releases resources. - - - - Releases any resources allocated within the appender such as file handles, - network connections, etc. - - - It is a programming error to append to a closed appender. - - - - - - Log the logging event in Appender specific way. - - The event to log - - - This method is called to log a message into this appender. - - - - - - Gets or sets the name of this appender. - - The name of the appender. - - The name uniquely identifies the appender. - - - - - Interface for appenders that support bulk logging. - - - - This interface extends the interface to - support bulk logging of objects. Appenders - should only implement this interface if they can bulk log efficiently. - - - Nicko Cadell - - - - Log the array of logging events in Appender specific way. - - The events to log - - - This method is called to log an array of events into this appender. - - - - - - Interface used to delay activate a configured object. - - - - This allows an object to defer activation of its options until all - options have been set. This is required for components which have - related options that remain ambiguous until all are set. - - - If a component implements this interface then the method - must be called by the container after its all the configured properties have been set - and before the component can be used. - - - Nicko Cadell - - - - Activate the options that were previously set with calls to properties. - - - - This allows an object to defer activation of its options until all - options have been set. This is required for components which have - related options that remain ambiguous until all are set. - - - If a component implements this interface then this method must be called - after its properties have been set before the component can be used. - - - - - - Initial buffer size - - - - - Maximum buffer size before it is recycled - - - - - Default constructor - - - Empty default constructor - - - - - Finalizes this appender by calling the implementation's - method. - - - - If this appender has not been closed then the Finalize method - will call . - - - - - - Initialize the appender based on the options set - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - - - - Closes the appender and release resources. - - - - Release any resources allocated within the appender such as file handles, - network connections, etc. - - - It is a programming error to append to a closed appender. - - - This method cannot be overridden by subclasses. This method - delegates the closing of the appender to the - method which must be overridden in the subclass. - - - - - - Performs threshold checks and invokes filters before - delegating actual logging to the subclasses specific - method. - - The event to log. - - - This method cannot be overridden by derived classes. A - derived class should override the method - which is called by this method. - - - The implementation of this method is as follows: - - - - - - Checks that the severity of the - is greater than or equal to the of this - appender. - - - - Checks that the chain accepts the - . - - - - - Calls and checks that - it returns true. - - - - - If all of the above steps succeed then the - will be passed to the abstract method. - - - - - - Performs threshold checks and invokes filters before - delegating actual logging to the subclasses specific - method. - - The array of events to log. - - - This method cannot be overridden by derived classes. A - derived class should override the method - which is called by this method. - - - The implementation of this method is as follows: - - - - - - Checks that the severity of the - is greater than or equal to the of this - appender. - - - - Checks that the chain accepts the - . - - - - - Calls and checks that - it returns true. - - - - - If all of the above steps succeed then the - will be passed to the method. - - - - - - Test if the logging event should we output by this appender - - the event to test - true if the event should be output, false if the event should be ignored - - - This method checks the logging event against the threshold level set - on this appender and also against the filters specified on this - appender. - - - The implementation of this method is as follows: - - - - - - Checks that the severity of the - is greater than or equal to the of this - appender. - - - - Checks that the chain accepts the - . - - - - - - - - - Adds a filter to the end of the filter chain. - - the filter to add to this appender - - - The Filters are organized in a linked list. - - - Setting this property causes the new filter to be pushed onto the - back of the filter chain. - - - - - - Clears the filter list for this appender. - - - - Clears the filter list for this appender. - - - - - - Checks if the message level is below this appender's threshold. - - to test against. - - - If there is no threshold set, then the return value is always true. - - - - true if the meets the - requirements of this appender. - - - - - Is called when the appender is closed. Derived classes should override - this method if resources need to be released. - - - - Releases any resources allocated within the appender such as file handles, - network connections, etc. - - - It is a programming error to append to a closed appender. - - - - - - Subclasses of should implement this method - to perform actual logging. - - The event to append. - - - A subclass must implement this method to perform - logging of the . - - This method will be called by - if all the conditions listed for that method are met. - - - To restrict the logging of events in the appender - override the method. - - - - - - Append a bulk array of logging events. - - the array of logging events - - - This base class implementation calls the - method for each element in the bulk array. - - - A sub class that can better process a bulk array of events should - override this method in addition to . - - - - - - Called before as a precondition. - - - - This method is called by - before the call to the abstract method. - - - This method can be overridden in a subclass to extend the checks - made before the event is passed to the method. - - - A subclass should ensure that they delegate this call to - this base class if it is overridden. - - - true if the call to should proceed. - - - - Renders the to a string. - - The event to render. - The event rendered as a string. - - - Helper method to render a to - a string. This appender must have a - set to render the to - a string. - - If there is exception data in the logging event and - the layout does not process the exception, this method - will append the exception text to the rendered string. - - - Where possible use the alternative version of this method - . - That method streams the rendering onto an existing Writer - which can give better performance if the caller already has - a open and ready for writing. - - - - - - Renders the to a string. - - The event to render. - The TextWriter to write the formatted event to - - - Helper method to render a to - a string. This appender must have a - set to render the to - a string. - - If there is exception data in the logging event and - the layout does not process the exception, this method - will append the exception text to the rendered string. - - - Use this method in preference to - where possible. If, however, the caller needs to render the event - to a string then does - provide an efficient mechanism for doing so. - - - - - - The layout of this appender. - - - See for more information. - - - - - The name of this appender. - - - See for more information. - - - - - The level threshold of this appender. - - - - There is no level threshold filtering by default. - - - See for more information. - - - - - - It is assumed and enforced that errorHandler is never null. - - - - It is assumed and enforced that errorHandler is never null. - - - See for more information. - - - - - - The first filter in the filter chain. - - - - Set to null initially. - - - See for more information. - - - - - - The last filter in the filter chain. - - - See for more information. - - - - - Flag indicating if this appender is closed. - - - See for more information. - - - - - The guard prevents an appender from repeatedly calling its own DoAppend method - - - - - StringWriter used to render events - - - - - Gets or sets the threshold of this appender. - - - The threshold of the appender. - - - - All log events with lower level than the threshold level are ignored - by the appender. - - - In configuration files this option is specified by setting the - value of the option to a level - string, such as "DEBUG", "INFO" and so on. - - - - - - Gets or sets the for this appender. - - The of the appender - - - The provides a default - implementation for the property. - - - - - - The filter chain. - - The head of the filter chain filter chain. - - - Returns the head Filter. The Filters are organized in a linked list - and so all Filters on this Appender are available through the result. - - - - - - Gets or sets the for this appender. - - The layout of the appender. - - - See for more information. - - - - - - - Gets or sets the name of this appender. - - The name of the appender. - - - The name uniquely identifies the appender. - - - - - - Tests if this appender requires a to be set. - - - - In the rather exceptional case, where the appender - implementation admits a layout but can also work without it, - then the appender should return true. - - - This default implementation always returns true. - - - - true if the appender requires a layout object, otherwise false. - - - - - The default buffer size. - - - The default size of the cyclic buffer used to store events. - This is set to 512 by default. - - - - - Initializes a new instance of the class. - - - - Protected default constructor to allow subclassing. - - - - - - Initializes a new instance of the class. - - the events passed through this appender must be - fixed by the time that they arrive in the derived class' SendBuffer method. - - - Protected constructor to allow subclassing. - - - The should be set if the subclass - expects the events delivered to be fixed even if the - is set to zero, i.e. when no buffering occurs. - - - - - - Flush the currently buffered events - - - - Flushes any events that have been buffered. - - - If the appender is buffering in mode then the contents - of the buffer will NOT be flushed to the appender. - - - - - - Flush the currently buffered events - - set to true to flush the buffer of lossy events - - - Flushes events that have been buffered. If is - false then events will only be flushed if this buffer is non-lossy mode. - - - If the appender is buffering in mode then the contents - of the buffer will only be flushed if is true. - In this case the contents of the buffer will be tested against the - and if triggering will be output. All other buffered - events will be discarded. - - - If is true then the buffer will always - be emptied by calling this method. - - - - - - Initialize the appender based on the options set - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - - - - Close this appender instance. - - - - Close this appender instance. If this appender is marked - as not then the remaining events in - the buffer must be sent when the appender is closed. - - - - - - This method is called by the method. - - the event to log - - - Stores the in the cyclic buffer. - - - The buffer will be sent (i.e. passed to the - method) if one of the following conditions is met: - - - - The cyclic buffer is full and this appender is - marked as not lossy (see ) - - - An is set and - it is triggered for the - specified. - - - - Before the event is stored in the buffer it is fixed - (see ) to ensure that - any data referenced by the event will be valid when the buffer - is processed. - - - - - - Sends the contents of the buffer. - - The first logging event. - The buffer containing the events that need to be send. - - - The subclass must override . - - - - - - Sends the events. - - The events that need to be send. - - - The subclass must override this method to process the buffered events. - - - - - - The size of the cyclic buffer used to hold the logging events. - - - Set to by default. - - - - - The cyclic buffer used to store the logging events. - - - - - The triggering event evaluator that causes the buffer to be sent immediately. - - - The object that is used to determine if an event causes the entire - buffer to be sent immediately. This field can be null, which - indicates that event triggering is not to be done. The evaluator - can be set using the property. If this appender - has the ( property) set to - true then an must be set. - - - - - Indicates if the appender should overwrite events in the cyclic buffer - when it becomes full, or if the buffer should be flushed when the - buffer is full. - - - If this field is set to true then an must - be set. - - - - - The triggering event evaluator filters discarded events. - - - The object that is used to determine if an event that is discarded should - really be discarded or if it should be sent to the appenders. - This field can be null, which indicates that all discarded events will - be discarded. - - - - - Value indicating which fields in the event should be fixed - - - By default all fields are fixed - - - - - The events delivered to the subclass must be fixed. - - - - - Gets or sets a value that indicates whether the appender is lossy. - - - true if the appender is lossy, otherwise false. The default is false. - - - - This appender uses a buffer to store logging events before - delivering them. A triggering event causes the whole buffer - to be send to the remote sink. If the buffer overruns before - a triggering event then logging events could be lost. Set - to false to prevent logging events - from being lost. - - If is set to true then an - must be specified. - - - - - Gets or sets the size of the cyclic buffer used to hold the - logging events. - - - The size of the cyclic buffer used to hold the logging events. - - - - The option takes a positive integer - representing the maximum number of logging events to collect in - a cyclic buffer. When the is reached, - oldest events are deleted as new events are added to the - buffer. By default the size of the cyclic buffer is 512 events. - - - If the is set to a value less than - or equal to 1 then no buffering will occur. The logging event - will be delivered synchronously (depending on the - and properties). Otherwise the event will - be buffered. - - - - - - Gets or sets the that causes the - buffer to be sent immediately. - - - The that causes the buffer to be - sent immediately. - - - - The evaluator will be called for each event that is appended to this - appender. If the evaluator triggers then the current buffer will - immediately be sent (see ). - - If is set to true then an - must be specified. - - - - - Gets or sets the value of the to use. - - - The value of the to use. - - - - The evaluator will be called for each event that is discarded from this - appender. If the evaluator triggers then the current buffer will immediately - be sent (see ). - - - - - - Gets or sets a value indicating if only part of the logging event data - should be fixed. - - - true if the appender should only fix part of the logging event - data, otherwise false. The default is false. - - - - Setting this property to true will cause only part of the - event data to be fixed and serialized. This will improve performance. - - - See for more information. - - - - - - Gets or sets a the fields that will be fixed in the event - - - The event fields that will be fixed before the event is buffered - - - - The logging event needs to have certain thread specific values - captured before it can be buffered. See - for details. - - - - - - - Initializes a new instance of the class. - - - Public default constructor to initialize a new instance of this class. - - - - - Initialize the appender based on the options set - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - - - - Override the parent method to close the database - - - - Closes the database command and database connection. - - - - - - Inserts the events into the database. - - The events to insert into the database. - - - Insert all the events specified in the - array into the database. - - - - - - Adds a parameter to the command. - - The parameter to add to the command. - - - Adds a parameter to the ordered list of command parameters. - - - - - - Writes the events to the database using the transaction specified. - - The transaction that the events will be executed under. - The array of events to insert into the database. - - - The transaction argument can be null if the appender has been - configured not to use transactions. See - property for more information. - - - - - - Formats the log message into database statement text. - - The event being logged. - - This method can be overridden by subclasses to provide - more control over the format of the database statement. - - - Text that can be passed to a . - - - - - Connects to the database. - - - - - Retrieves the class type of the ADO.NET provider. - - - - Gets the Type of the ADO.NET provider to use to connect to the - database. This method resolves the type specified in the - property. - - - Subclasses can override this method to return a different type - if necessary. - - - The of the ADO.NET provider - - - - Prepares the database command and initialize the parameters. - - - - - Flag to indicate if we are using a command object - - - - Set to true when the appender is to use a prepared - statement or stored procedure to insert into the database. - - - - - - The list of objects. - - - - The list of objects. - - - - - - The security context to use for privileged calls - - - - - The that will be used - to insert logging events into a database. - - - - - The database command. - - - - - Database connection string. - - - - - String type name of the type name. - - - - - The text of the command. - - - - - The command type. - - - - - Indicates whether to use transactions when writing to the database. - - - - - Indicates whether to use transactions when writing to the database. - - - - - Gets or sets the database connection string that is used to connect to - the database. - - - The database connection string used to connect to the database. - - - - The connections string is specific to the connection type. - See for more information. - - - Connection string for MS Access via ODBC: - "DSN=MS Access Database;UID=admin;PWD=;SystemDB=C:\data\System.mdw;SafeTransactions = 0;FIL=MS Access;DriverID = 25;DBQ=C:\data\train33.mdb" - - Another connection string for MS Access via ODBC: - "Driver={Microsoft Access Driver (*.mdb)};DBQ=C:\Work\cvs_root\log4net-1.2\access.mdb;UID=;PWD=;" - - Connection string for MS Access via OLE DB: - "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Work\cvs_root\log4net-1.2\access.mdb;User Id=;Password=;" - - - - - Gets or sets the type name of the connection - that should be created. - - - The type name of the connection. - - - - The type name of the ADO.NET provider to use. - - - The default is to use the OLE DB provider. - - - Use the OLE DB Provider. This is the default value. - System.Data.OleDb.OleDbConnection, System.Data, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - Use the MS SQL Server Provider. - System.Data.SqlClient.SqlConnection, System.Data, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - Use the ODBC Provider. - Microsoft.Data.Odbc.OdbcConnection,Microsoft.Data.Odbc,version=1.0.3300.0,publicKeyToken=b77a5c561934e089,culture=neutral - This is an optional package that you can download from - http://msdn.microsoft.com/downloads - search for ODBC .NET Data Provider. - - Use the Oracle Provider. - System.Data.OracleClient.OracleConnection, System.Data.OracleClient, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - This is an optional package that you can download from - http://msdn.microsoft.com/downloads - search for .NET Managed Provider for Oracle. - - - - - Gets or sets the command text that is used to insert logging events - into the database. - - - The command text used to insert logging events into the database. - - - - Either the text of the prepared statement or the - name of the stored procedure to execute to write into - the database. - - - The property determines if - this text is a prepared statement or a stored procedure. - - - - - - Gets or sets the command type to execute. - - - The command type to execute. - - - - This value may be either (System.Data.CommandType.Text) to specify - that the is a prepared statement to execute, - or (System.Data.CommandType.StoredProcedure) to specify that the - property is the name of a stored procedure - to execute. - - - The default value is (System.Data.CommandType.Text). - - - - - - Should transactions be used to insert logging events in the database. - - - true if transactions should be used to insert logging events in - the database, otherwise false. The default value is true. - - - - Gets or sets a value that indicates whether transactions should be used - to insert logging events in the database. - - - When set a single transaction will be used to insert the buffered events - into the database. Otherwise each event will be inserted without using - an explicit transaction. - - - - - - Gets or sets the used to call the NetSend method. - - - The used to call the NetSend method. - - - - Unless a specified here for this appender - the is queried for the - security context to use. The default behavior is to use the security context - of the current thread. - - - - - - Should this appender try to reconnect to the database on error. - - - true if the appender should try to reconnect to the database after an - error has occurred, otherwise false. The default value is false, - i.e. not to try to reconnect. - - - - The default behaviour is for the appender not to try to reconnect to the - database if an error occurs. Subsequent logging events are discarded. - - - To force the appender to attempt to reconnect to the database set this - property to true. - - - When the appender attempts to connect to the database there may be a - delay of up to the connection timeout specified in the connection string. - This delay will block the calling application's thread. - Until the connection can be reestablished this potential delay may occur multiple times. - - - - - - Gets or sets the underlying . - - - The underlying . - - - creates a to insert - logging events into a database. Classes deriving from - can use this property to get or set this . Use the - underlying returned from if - you require access beyond that which provides. - - - - - Parameter type used by the . - - - - This class provides the basic database parameter properties - as defined by the interface. - - This type can be subclassed to provide database specific - functionality. The two methods that are called externally are - and . - - - - - - Initializes a new instance of the class. - - - Default constructor for the AdoNetAppenderParameter class. - - - - - Prepare the specified database command object. - - The command to prepare. - - - Prepares the database command object by adding - this parameter to its collection of parameters. - - - - - - Renders the logging event and set the parameter value in the command. - - The command containing the parameter. - The event to be rendered. - - - Renders the logging event using this parameters layout - object. Sets the value of the parameter on the command object. - - - - - - The name of this parameter. - - - - - The database type for this parameter. - - - - - Flag to infer type rather than use the DbType - - - - - The precision for this parameter. - - - - - The scale for this parameter. - - - - - The size for this parameter. - - - - - The to use to render the - logging event into an object for this parameter. - - - - - Gets or sets the name of this parameter. - - - The name of this parameter. - - - - The name of this parameter. The parameter name - must match up to a named parameter to the SQL stored procedure - or prepared statement. - - - - - - Gets or sets the database type for this parameter. - - - The database type for this parameter. - - - - The database type for this parameter. This property should - be set to the database type from the - enumeration. See . - - - This property is optional. If not specified the ADO.NET provider - will attempt to infer the type from the value. - - - - - - - Gets or sets the precision for this parameter. - - - The precision for this parameter. - - - - The maximum number of digits used to represent the Value. - - - This property is optional. If not specified the ADO.NET provider - will attempt to infer the precision from the value. - - - - - - - Gets or sets the scale for this parameter. - - - The scale for this parameter. - - - - The number of decimal places to which Value is resolved. - - - This property is optional. If not specified the ADO.NET provider - will attempt to infer the scale from the value. - - - - - - - Gets or sets the size for this parameter. - - - The size for this parameter. - - - - The maximum size, in bytes, of the data within the column. - - - This property is optional. If not specified the ADO.NET provider - will attempt to infer the size from the value. - - - - - - - Gets or sets the to use to - render the logging event into an object for this - parameter. - - - The used to render the - logging event into an object for this parameter. - - - - The that renders the value for this - parameter. - - - The can be used to adapt - any into a - for use in the property. - - - - - - Appends logging events to the terminal using ANSI color escape sequences. - - - - AnsiColorTerminalAppender appends log events to the standard output stream - or the error output stream using a layout specified by the - user. It also allows the color of a specific level of message to be set. - - - This appender expects the terminal to understand the VT100 control set - in order to interpret the color codes. If the terminal or console does not - understand the control codes the behavior is not defined. - - - By default, all output is written to the console's standard output stream. - The property can be set to direct the output to the - error stream. - - - NOTE: This appender writes each message to the System.Console.Out or - System.Console.Error that is set at the time the event is appended. - Therefore it is possible to programmatically redirect the output of this appender - (for example NUnit does this to capture program output). While this is the desired - behavior of this appender it may have security implications in your application. - - - When configuring the ANSI colored terminal appender, a mapping should be - specified to map a logging level to a color. For example: - - - - - - - - - - - - - - - The Level is the standard log4net logging level and ForeColor and BackColor can be any - of the following values: - - Blue - Green - Red - White - Yellow - Purple - Cyan - - These color values cannot be combined together to make new colors. - - - The attributes can be any combination of the following: - - Brightforeground is brighter - Dimforeground is dimmer - Underscoremessage is underlined - Blinkforeground is blinking (does not work on all terminals) - Reverseforeground and background are reversed - Hiddenoutput is hidden - Strikethroughmessage has a line through it - - While any of these attributes may be combined together not all combinations - work well together, for example setting both Bright and Dim attributes makes - no sense. - - - Patrick Wagstrom - Nicko Cadell - - - - The to use when writing to the Console - standard output stream. - - - - The to use when writing to the Console - standard output stream. - - - - - - The to use when writing to the Console - standard error output stream. - - - - The to use when writing to the Console - standard error output stream. - - - - - - Ansi code to reset terminal - - - - - Initializes a new instance of the class. - - - The instance of the class is set up to write - to the standard output stream. - - - - - Add a mapping of level to color - - The mapping to add - - - Add a mapping to this appender. - Each mapping defines the foreground and background colours - for a level. - - - - - - This method is called by the method. - - The event to log. - - - Writes the event to the console. - - - The format of the output will depend on the appender's layout. - - - - - - Initialize the options for this appender - - - - Initialize the level to color mappings set on this appender. - - - - - - Flag to write output to the error stream rather than the standard output stream - - - - - Mapping from level object to color value - - - - - Target is the value of the console output stream. - - - Target is the value of the console output stream. - This is either "Console.Out" or "Console.Error". - - - - Target is the value of the console output stream. - This is either "Console.Out" or "Console.Error". - - - - - - This appender requires a to be set. - - true - - - This appender requires a to be set. - - - - - - The enum of possible display attributes - - - - The following flags can be combined together to - form the ANSI color attributes. - - - - - - - text is bright - - - - - text is dim - - - - - text is underlined - - - - - text is blinking - - - Not all terminals support this attribute - - - - - text and background colors are reversed - - - - - text is hidden - - - - - text is displayed with a strikethrough - - - - - The enum of possible foreground or background color values for - use with the color mapping method - - - - The output can be in one for the following ANSI colors. - - - - - - - color is black - - - - - color is red - - - - - color is green - - - - - color is yellow - - - - - color is blue - - - - - color is magenta - - - - - color is cyan - - - - - color is white - - - - - A class to act as a mapping between the level that a logging call is made at and - the color it should be displayed as. - - - - Defines the mapping between a level and the color it should be displayed in. - - - - - - An entry in the - - - - This is an abstract base class for types that are stored in the - object. - - - Nicko Cadell - - - - Default protected constructor - - - - Default protected constructor - - - - - - Initialize any options defined on this entry - - - - Should be overridden by any classes that need to initialise based on their options - - - - - - The level that is the key for this mapping - - - The that is the key for this mapping - - - - Get or set the that is the key for this - mapping subclass. - - - - - - Initialize the options for the object - - - - Combine the and together - and append the attributes. - - - - - - The mapped foreground color for the specified level - - - - Required property. - The mapped foreground color for the specified level - - - - - - The mapped background color for the specified level - - - - Required property. - The mapped background color for the specified level - - - - - - The color attributes for the specified level - - - - Required property. - The color attributes for the specified level - - - - - - The combined , and - suitable for setting the ansi terminal color. - - - - - A strongly-typed collection of objects. - - Nicko Cadell - - - - Creates a read-only wrapper for a AppenderCollection instance. - - list to create a readonly wrapper arround - - An AppenderCollection wrapper that is read-only. - - - - - An empty readonly static AppenderCollection - - - - - Initializes a new instance of the AppenderCollection class - that is empty and has the default initial capacity. - - - - - Initializes a new instance of the AppenderCollection class - that has the specified initial capacity. - - - The number of elements that the new AppenderCollection is initially capable of storing. - - - - - Initializes a new instance of the AppenderCollection class - that contains elements copied from the specified AppenderCollection. - - The AppenderCollection whose elements are copied to the new collection. - - - - Initializes a new instance of the AppenderCollection class - that contains elements copied from the specified array. - - The array whose elements are copied to the new list. - - - - Initializes a new instance of the AppenderCollection class - that contains elements copied from the specified collection. - - The collection whose elements are copied to the new list. - - - - Allow subclasses to avoid our default constructors - - - - - - - Copies the entire AppenderCollection to a one-dimensional - array. - - The one-dimensional array to copy to. - - - - Copies the entire AppenderCollection to a one-dimensional - array, starting at the specified index of the target array. - - The one-dimensional array to copy to. - The zero-based index in at which copying begins. - - - - Adds a to the end of the AppenderCollection. - - The to be added to the end of the AppenderCollection. - The index at which the value has been added. - - - - Removes all elements from the AppenderCollection. - - - - - Creates a shallow copy of the . - - A new with a shallow copy of the collection data. - - - - Determines whether a given is in the AppenderCollection. - - The to check for. - true if is found in the AppenderCollection; otherwise, false. - - - - Returns the zero-based index of the first occurrence of a - in the AppenderCollection. - - The to locate in the AppenderCollection. - - The zero-based index of the first occurrence of - in the entire AppenderCollection, if found; otherwise, -1. - - - - - Inserts an element into the AppenderCollection at the specified index. - - The zero-based index at which should be inserted. - The to insert. - - is less than zero - -or- - is equal to or greater than . - - - - - Removes the first occurrence of a specific from the AppenderCollection. - - The to remove from the AppenderCollection. - - The specified was not found in the AppenderCollection. - - - - - Removes the element at the specified index of the AppenderCollection. - - The zero-based index of the element to remove. - - is less than zero - -or- - is equal to or greater than . - - - - - Returns an enumerator that can iterate through the AppenderCollection. - - An for the entire AppenderCollection. - - - - Adds the elements of another AppenderCollection to the current AppenderCollection. - - The AppenderCollection whose elements should be added to the end of the current AppenderCollection. - The new of the AppenderCollection. - - - - Adds the elements of a array to the current AppenderCollection. - - The array whose elements should be added to the end of the AppenderCollection. - The new of the AppenderCollection. - - - - Adds the elements of a collection to the current AppenderCollection. - - The collection whose elements should be added to the end of the AppenderCollection. - The new of the AppenderCollection. - - - - Sets the capacity to the actual number of elements. - - - - - Return the collection elements as an array - - the array - - - - is less than zero - -or- - is equal to or greater than . - - - - - is less than zero - -or- - is equal to or greater than . - - - - - Gets the number of elements actually contained in the AppenderCollection. - - - - - Gets a value indicating whether access to the collection is synchronized (thread-safe). - - true if access to the ICollection is synchronized (thread-safe); otherwise, false. - - - - Gets an object that can be used to synchronize access to the collection. - - - - - Gets or sets the at the specified index. - - The zero-based index of the element to get or set. - - is less than zero - -or- - is equal to or greater than . - - - - - Gets a value indicating whether the collection has a fixed size. - - true if the collection has a fixed size; otherwise, false. The default is false - - - - Gets a value indicating whether the IList is read-only. - - true if the collection is read-only; otherwise, false. The default is false - - - - Gets or sets the number of elements the AppenderCollection can contain. - - - - - Supports type-safe iteration over a . - - - - - - Advances the enumerator to the next element in the collection. - - - true if the enumerator was successfully advanced to the next element; - false if the enumerator has passed the end of the collection. - - - The collection was modified after the enumerator was created. - - - - - Sets the enumerator to its initial position, before the first element in the collection. - - - - - Gets the current element in the collection. - - - - - Type visible only to our subclasses - Used to access protected constructor - - - - - - A value - - - - - Supports simple iteration over a . - - - - - - Initializes a new instance of the Enumerator class. - - - - - - Advances the enumerator to the next element in the collection. - - - true if the enumerator was successfully advanced to the next element; - false if the enumerator has passed the end of the collection. - - - The collection was modified after the enumerator was created. - - - - - Sets the enumerator to its initial position, before the first element in the collection. - - - - - Gets the current element in the collection. - - - - - - - - - Appends log events to the ASP.NET system. - - - - - Diagnostic information and tracing messages that you specify are appended to the output - of the page that is sent to the requesting browser. Optionally, you can view this information - from a separate trace viewer (Trace.axd) that displays trace information for every page in a - given application. - - - Trace statements are processed and displayed only when tracing is enabled. You can control - whether tracing is displayed to a page, to the trace viewer, or both. - - - The logging event is passed to the or - method depending on the level of the logging event. - - - Nicko Cadell - Gert Driesen - - - - Initializes a new instance of the class. - - - - Default constructor. - - - - - - Write the logging event to the ASP.NET trace - - the event to log - - - Write the logging event to the ASP.NET trace - HttpContext.Current.Trace - (). - - - - - - This appender requires a to be set. - - true - - - This appender requires a to be set. - - - - - - Buffers events and then forwards them to attached appenders. - - - - The events are buffered in this appender until conditions are - met to allow the appender to deliver the events to the attached - appenders. See for the - conditions that cause the buffer to be sent. - - The forwarding appender can be used to specify different - thresholds and filters for the same appender at different locations - within the hierarchy. - - - Nicko Cadell - Gert Driesen - - - - Interface for attaching appenders to objects. - - - - Interface for attaching, removing and retrieving appenders. - - - Nicko Cadell - Gert Driesen - - - - Attaches an appender. - - The appender to add. - - - Add the specified appender. The implementation may - choose to allow or deny duplicate appenders. - - - - - - Gets an attached appender with the specified name. - - The name of the appender to get. - - The appender with the name specified, or null if no appender with the - specified name is found. - - - - Returns an attached appender with the specified. - If no appender with the specified name is found null will be - returned. - - - - - - Removes all attached appenders. - - - - Removes and closes all attached appenders - - - - - - Removes the specified appender from the list of attached appenders. - - The appender to remove. - The appender removed from the list - - - The appender removed is not closed. - If you are discarding the appender you must call - on the appender removed. - - - - - - Removes the appender with the specified name from the list of appenders. - - The name of the appender to remove. - The appender removed from the list - - - The appender removed is not closed. - If you are discarding the appender you must call - on the appender removed. - - - - - - Gets all attached appenders. - - - A collection of attached appenders. - - - - Gets a collection of attached appenders. - If there are no attached appenders the - implementation should return an empty - collection rather than null. - - - - - - Initializes a new instance of the class. - - - - Default constructor. - - - - - - Closes the appender and releases resources. - - - - Releases any resources allocated within the appender such as file handles, - network connections, etc. - - - It is a programming error to append to a closed appender. - - - - - - Send the events. - - The events that need to be send. - - - Forwards the events to the attached appenders. - - - - - - Adds an to the list of appenders of this - instance. - - The to add to this appender. - - - If the specified is already in the list of - appenders, then it won't be added again. - - - - - - Looks for the appender with the specified name. - - The name of the appender to lookup. - - The appender with the specified name, or null. - - - - Get the named appender attached to this buffering appender. - - - - - - Removes all previously added appenders from this appender. - - - - This is useful when re-reading configuration information. - - - - - - Removes the specified appender from the list of appenders. - - The appender to remove. - The appender removed from the list - - The appender removed is not closed. - If you are discarding the appender you must call - on the appender removed. - - - - - Removes the appender with the specified name from the list of appenders. - - The name of the appender to remove. - The appender removed from the list - - The appender removed is not closed. - If you are discarding the appender you must call - on the appender removed. - - - - - Implementation of the interface - - - - - Gets the appenders contained in this appender as an - . - - - If no appenders can be found, then an - is returned. - - - A collection of the appenders in this appender. - - - - - Appends logging events to the console. - - - - ColoredConsoleAppender appends log events to the standard output stream - or the error output stream using a layout specified by the - user. It also allows the color of a specific type of message to be set. - - - By default, all output is written to the console's standard output stream. - The property can be set to direct the output to the - error stream. - - - NOTE: This appender writes directly to the application's attached console - not to the System.Console.Out or System.Console.Error TextWriter. - The System.Console.Out and System.Console.Error streams can be - programmatically redirected (for example NUnit does this to capture program output). - This appender will ignore these redirections because it needs to use Win32 - API calls to colorize the output. To respect these redirections the - must be used. - - - When configuring the colored console appender, mapping should be - specified to map a logging level to a color. For example: - - - - - - - - - - - - - - The Level is the standard log4net logging level and ForeColor and BackColor can be any - combination of the following values: - - Blue - Green - Red - White - Yellow - Purple - Cyan - HighIntensity - - - - Rick Hobbs - Nicko Cadell - - - - The to use when writing to the Console - standard output stream. - - - - The to use when writing to the Console - standard output stream. - - - - - - The to use when writing to the Console - standard error output stream. - - - - The to use when writing to the Console - standard error output stream. - - - - - - Initializes a new instance of the class. - - - The instance of the class is set up to write - to the standard output stream. - - - - - Initializes a new instance of the class - with the specified layout. - - the layout to use for this appender - - The instance of the class is set up to write - to the standard output stream. - - - - - Initializes a new instance of the class - with the specified layout. - - the layout to use for this appender - flag set to true to write to the console error stream - - When is set to true, output is written to - the standard error output stream. Otherwise, output is written to the standard - output stream. - - - - - Add a mapping of level to color - done by the config file - - The mapping to add - - - Add a mapping to this appender. - Each mapping defines the foreground and background colors - for a level. - - - - - - This method is called by the method. - - The event to log. - - - Writes the event to the console. - - - The format of the output will depend on the appender's layout. - - - - - - Initialize the options for this appender - - - - Initialize the level to color mappings set on this appender. - - - - - - Flag to write output to the error stream rather than the standard output stream - - - - - Mapping from level object to color value - - - - - The console output stream writer to write to - - - - This writer is not thread safe. - - - - - - Target is the value of the console output stream. - This is either "Console.Out" or "Console.Error". - - - Target is the value of the console output stream. - This is either "Console.Out" or "Console.Error". - - - - Target is the value of the console output stream. - This is either "Console.Out" or "Console.Error". - - - - - - This appender requires a to be set. - - true - - - This appender requires a to be set. - - - - - - The enum of possible color values for use with the color mapping method - - - - The following flags can be combined together to - form the colors. - - - - - - - color is blue - - - - - color is green - - - - - color is red - - - - - color is white - - - - - color is yellow - - - - - color is purple - - - - - color is cyan - - - - - color is intensified - - - - - A class to act as a mapping between the level that a logging call is made at and - the color it should be displayed as. - - - - Defines the mapping between a level and the color it should be displayed in. - - - - - - Initialize the options for the object - - - - Combine the and together. - - - - - - The mapped foreground color for the specified level - - - - Required property. - The mapped foreground color for the specified level. - - - - - - The mapped background color for the specified level - - - - Required property. - The mapped background color for the specified level. - - - - - - The combined and suitable for - setting the console color. - - - - - Appends logging events to the console. - - - - ConsoleAppender appends log events to the standard output stream - or the error output stream using a layout specified by the - user. - - - By default, all output is written to the console's standard output stream. - The property can be set to direct the output to the - error stream. - - - NOTE: This appender writes each message to the System.Console.Out or - System.Console.Error that is set at the time the event is appended. - Therefore it is possible to programmatically redirect the output of this appender - (for example NUnit does this to capture program output). While this is the desired - behavior of this appender it may have security implications in your application. - - - Nicko Cadell - Gert Driesen - - - - The to use when writing to the Console - standard output stream. - - - - The to use when writing to the Console - standard output stream. - - - - - - The to use when writing to the Console - standard error output stream. - - - - The to use when writing to the Console - standard error output stream. - - - - - - Initializes a new instance of the class. - - - The instance of the class is set up to write - to the standard output stream. - - - - - Initializes a new instance of the class - with the specified layout. - - the layout to use for this appender - - The instance of the class is set up to write - to the standard output stream. - - - - - Initializes a new instance of the class - with the specified layout. - - the layout to use for this appender - flag set to true to write to the console error stream - - When is set to true, output is written to - the standard error output stream. Otherwise, output is written to the standard - output stream. - - - - - This method is called by the method. - - The event to log. - - - Writes the event to the console. - - - The format of the output will depend on the appender's layout. - - - - - - Target is the value of the console output stream. - This is either "Console.Out" or "Console.Error". - - - Target is the value of the console output stream. - This is either "Console.Out" or "Console.Error". - - - - Target is the value of the console output stream. - This is either "Console.Out" or "Console.Error". - - - - - - This appender requires a to be set. - - true - - - This appender requires a to be set. - - - - - - Appends log events to the system. - - - - The application configuration file can be used to control what listeners - are actually used. See the MSDN documentation for the - class for details on configuring the - debug system. - - - Events are written using the - method. The event's logger name is passed as the value for the category name to the Write method. - - - Nicko Cadell - - - - Initializes a new instance of the . - - - - Default constructor. - - - - - - Initializes a new instance of the - with a specified layout. - - The layout to use with this appender. - - - Obsolete constructor. - - - - - - Writes the logging event to the system. - - The event to log. - - - Writes the logging event to the system. - If is true then the - is called. - - - - - - Immediate flush means that the underlying writer or output stream - will be flushed at the end of each append operation. - - - - Immediate flush is slower but ensures that each append request is - actually written. If is set to - false, then there is a good chance that the last few - logs events are not actually written to persistent media if and - when the application crashes. - - - The default value is true. - - - - - Gets or sets a value that indicates whether the appender will - flush at the end of each write. - - - The default behavior is to flush at the end of each - write. If the option is set tofalse, then the underlying - stream can defer writing to physical medium to a later time. - - - Avoiding the flush operation at the end of each append results - in a performance gain of 10 to 20 percent. However, there is safety - trade-off involved in skipping flushing. Indeed, when flushing is - skipped, then it is likely that the last few log events will not - be recorded on disk when the application exits. This is a high - price to pay even for a 20% performance gain. - - - - - - This appender requires a to be set. - - true - - - This appender requires a to be set. - - - - - - Writes events to the system event log. - - - - The EventID of the event log entry can be - set using the EventLogEventID property () - on the . - - - There is a limit of 32K characters for an event log message - - - When configuring the EventLogAppender a mapping can be - specified to map a logging level to an event log entry type. For example: - - - <mapping> - <level value="ERROR" /> - <eventLogEntryType value="Error" /> - </mapping> - <mapping> - <level value="DEBUG" /> - <eventLogEntryType value="Information" /> - </mapping> - - - The Level is the standard log4net logging level and eventLogEntryType can be any value - from the enum, i.e.: - - Erroran error event - Warninga warning event - Informationan informational event - - - - Aspi Havewala - Douglas de la Torre - Nicko Cadell - Gert Driesen - Thomas Voss - - - - Initializes a new instance of the class. - - - - Default constructor. - - - - - - Initializes a new instance of the class - with the specified . - - The to use with this appender. - - - Obsolete constructor. - - - - - - Add a mapping of level to - done by the config file - - The mapping to add - - - Add a mapping to this appender. - Each mapping defines the event log entry type for a level. - - - - - - Initialize the appender based on the options set - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - - - - Create an event log source - - - Uses different API calls under NET_2_0 - - - - - This method is called by the - method. - - the event to log - - Writes the event to the system event log using the - . - - If the event has an EventID property (see ) - set then this integer will be used as the event log event id. - - - There is a limit of 32K characters for an event log message - - - - - - Get the equivalent for a - - the Level to convert to an EventLogEntryType - The equivalent for a - - Because there are fewer applicable - values to use in logging levels than there are in the - this is a one way mapping. There is - a loss of information during the conversion. - - - - - The log name is the section in the event logs where the messages - are stored. - - - - - Name of the application to use when logging. This appears in the - application column of the event log named by . - - - - - The name of the machine which holds the event log. This is - currently only allowed to be '.' i.e. the current machine. - - - - - Mapping from level object to EventLogEntryType - - - - - The security context to use for privileged calls - - - - - The name of the log where messages will be stored. - - - The string name of the log where messages will be stored. - - - This is the name of the log as it appears in the Event Viewer - tree. The default value is to log into the Application - log, this is where most applications write their events. However - if you need a separate log for your application (or applications) - then you should set the appropriately. - This should not be used to distinguish your event log messages - from those of other applications, the - property should be used to distinguish events. This property should be - used to group together events into a single log. - - - - - - Property used to set the Application name. This appears in the - event logs when logging. - - - The string used to distinguish events from different sources. - - - Sets the event log source property. - - - - - This property is used to return the name of the computer to use - when accessing the event logs. Currently, this is the current - computer, denoted by a dot "." - - - The string name of the machine holding the event log that - will be logged into. - - - This property cannot be changed. It is currently set to '.' - i.e. the local machine. This may be changed in future. - - - - - Gets or sets the used to write to the EventLog. - - - The used to write to the EventLog. - - - - The system security context used to write to the EventLog. - - - Unless a specified here for this appender - the is queried for the - security context to use. The default behavior is to use the security context - of the current thread. - - - - - - This appender requires a to be set. - - true - - - This appender requires a to be set. - - - - - - A class to act as a mapping between the level that a logging call is made at and - the color it should be displayed as. - - - - Defines the mapping between a level and its event log entry type. - - - - - - The for this entry - - - - Required property. - The for this entry - - - - - - Appends logging events to a file. - - - - Logging events are sent to the file specified by - the property. - - - The file can be opened in either append or overwrite mode - by specifying the property. - If the file path is relative it is taken as relative from - the application base directory. The file encoding can be - specified by setting the property. - - - The layout's and - values will be written each time the file is opened and closed - respectively. If the property is - then the file may contain multiple copies of the header and footer. - - - This appender will first try to open the file for writing when - is called. This will typically be during configuration. - If the file cannot be opened for writing the appender will attempt - to open the file again each time a message is logged to the appender. - If the file cannot be opened for writing when a message is logged then - the message will be discarded by this appender. - - - The supports pluggable file locking models via - the property. - The default behavior, implemented by - is to obtain an exclusive write lock on the file until this appender is closed. - The alternative model, , only holds a - write lock while the appender is writing a logging event. - - - Nicko Cadell - Gert Driesen - Rodrigo B. de Oliveira - Douglas de la Torre - Niall Daley - - - - Sends logging events to a . - - - - An Appender that writes to a . - - - This appender may be used stand alone if initialized with an appropriate - writer, however it is typically used as a base class for an appender that - can open a to write to. - - - Nicko Cadell - Gert Driesen - Douglas de la Torre - - - - Initializes a new instance of the class. - - - - Default constructor. - - - - - - Initializes a new instance of the class and - sets the output destination to a new initialized - with the specified . - - The layout to use with this appender. - The to output to. - - - Obsolete constructor. - - - - - - Initializes a new instance of the class and sets - the output destination to the specified . - - The layout to use with this appender - The to output to - - The must have been previously opened. - - - - Obsolete constructor. - - - - - - This method determines if there is a sense in attempting to append. - - - - This method checked if an output target has been set and if a - layout has been set. - - - false if any of the preconditions fail. - - - - This method is called by the - method. - - The event to log. - - - Writes a log statement to the output stream if the output stream exists - and is writable. - - - The format of the output will depend on the appender's layout. - - - - - - This method is called by the - method. - - The array of events to log. - - - This method writes all the bulk logged events to the output writer - before flushing the stream. - - - - - - Close this appender instance. The underlying stream or writer is also closed. - - - Closed appenders cannot be reused. - - - - - Writes the footer and closes the underlying . - - - - Writes the footer and closes the underlying . - - - - - - Closes the underlying . - - - - Closes the underlying . - - - - - - Clears internal references to the underlying - and other variables. - - - - Subclasses can override this method for an alternate closing behavior. - - - - - - Writes a footer as produced by the embedded layout's property. - - - - Writes a footer as produced by the embedded layout's property. - - - - - - Writes a header produced by the embedded layout's property. - - - - Writes a header produced by the embedded layout's property. - - - - - - Called to allow a subclass to lazily initialize the writer - - - - This method is called when an event is logged and the or - have not been set. This allows a subclass to - attempt to initialize the writer multiple times. - - - - - - This is the where logging events - will be written to. - - - - - Immediate flush means that the underlying - or output stream will be flushed at the end of each append operation. - - - - Immediate flush is slower but ensures that each append request is - actually written. If is set to - false, then there is a good chance that the last few - logging events are not actually persisted if and when the application - crashes. - - - The default value is true. - - - - - - Gets or set whether the appender will flush at the end - of each append operation. - - - - The default behavior is to flush at the end of each - append operation. - - - If this option is set to false, then the underlying - stream can defer persisting the logging event to a later - time. - - - - Avoiding the flush operation at the end of each append results in - a performance gain of 10 to 20 percent. However, there is safety - trade-off involved in skipping flushing. Indeed, when flushing is - skipped, then it is likely that the last few log events will not - be recorded on disk when the application exits. This is a high - price to pay even for a 20% performance gain. - - - - - Sets the where the log output will go. - - - - The specified must be open and writable. - - - The will be closed when the appender - instance is closed. - - - Note: Logging to an unopened will fail. - - - - - - Gets or set the and the underlying - , if any, for this appender. - - - The for this appender. - - - - - This appender requires a to be set. - - true - - - This appender requires a to be set. - - - - - - Gets or sets the where logging events - will be written to. - - - The where logging events are written. - - - - This is the where logging events - will be written to. - - - - - - Default constructor - - - - Default constructor - - - - - - Construct a new appender using the layout, file and append mode. - - the layout to use with this appender - the full path to the file to write to - flag to indicate if the file should be appended to - - - Obsolete constructor. - - - - - - Construct a new appender using the layout and file specified. - The file will be appended to. - - the layout to use with this appender - the full path to the file to write to - - - Obsolete constructor. - - - - - - Activate the options on the file appender. - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - This will cause the file to be opened. - - - - - - Closes any previously opened file and calls the parent's . - - - - Resets the filename and the file stream. - - - - - - Called to initialize the file writer - - - - Will be called for each logged message until the file is - successfully opened. - - - - - - This method is called by the - method. - - The event to log. - - - Writes a log statement to the output stream if the output stream exists - and is writable. - - - The format of the output will depend on the appender's layout. - - - - - - This method is called by the - method. - - The array of events to log. - - - Acquires the output file locks once before writing all the events to - the stream. - - - - - - Writes a footer as produced by the embedded layout's property. - - - - Writes a footer as produced by the embedded layout's property. - - - - - - Writes a header produced by the embedded layout's property. - - - - Writes a header produced by the embedded layout's property. - - - - - - Closes the underlying . - - - - Closes the underlying . - - - - - - Closes the previously opened file. - - - - Writes the to the file and then - closes the file. - - - - - - Sets and opens the file where the log output will go. The specified file must be writable. - - The path to the log file. Must be a fully qualified path. - If true will append to fileName. Otherwise will truncate fileName - - - Calls but guarantees not to throw an exception. - Errors are passed to the . - - - - - - Sets and opens the file where the log output will go. The specified file must be writable. - - The path to the log file. Must be a fully qualified path. - If true will append to fileName. Otherwise will truncate fileName - - - If there was already an opened file, then the previous file - is closed first. - - - This method will ensure that the directory structure - for the specified exists. - - - - - - Sets the quiet writer used for file output - - the file stream that has been opened for writing - - - This implementation of creates a - over the and passes it to the - method. - - - This method can be overridden by sub classes that want to wrap the - in some way, for example to encrypt the output - data using a System.Security.Cryptography.CryptoStream. - - - - - - Sets the quiet writer being used. - - the writer over the file stream that has been opened for writing - - - This method can be overridden by sub classes that want to - wrap the in some way. - - - - - - Convert a path into a fully qualified path. - - The path to convert. - The fully qualified path. - - - Converts the path specified to a fully - qualified path. If the path is relative it is - taken as relative from the application base - directory. - - - - - - Flag to indicate if we should append to the file - or overwrite the file. The default is to append. - - - - - The name of the log file. - - - - - The encoding to use for the file stream. - - - - - The security context to use for privileged calls - - - - - The stream to log to. Has added locking semantics - - - - - The locking model to use - - - - - Gets or sets the path to the file that logging will be written to. - - - The path to the file that logging will be written to. - - - - If the path is relative it is taken as relative from - the application base directory. - - - - - - Gets or sets a flag that indicates whether the file should be - appended to or overwritten. - - - Indicates whether the file should be appended to or overwritten. - - - - If the value is set to false then the file will be overwritten, if - it is set to true then the file will be appended to. - - The default value is true. - - - - - Gets or sets used to write to the file. - - - The used to write to the file. - - - - The default encoding set is - which is the encoding for the system's current ANSI code page. - - - - - - Gets or sets the used to write to the file. - - - The used to write to the file. - - - - Unless a specified here for this appender - the is queried for the - security context to use. The default behavior is to use the security context - of the current thread. - - - - - - Gets or sets the used to handle locking of the file. - - - The used to lock the file. - - - - Gets or sets the used to handle locking of the file. - - - There are two built in locking models, and . - The former locks the file from the start of logging to the end and the - later lock only for the minimal amount of time when logging each message. - - - The default locking model is the . - - - - - - Write only that uses the - to manage access to an underlying resource. - - - - - True asynchronous writes are not supported, the implementation forces a synchronous write. - - - - - Exception base type for log4net. - - - - This type extends . It - does not add any new functionality but does differentiate the - type of exception being thrown. - - - Nicko Cadell - Gert Driesen - - - - Constructor - - - - Initializes a new instance of the class. - - - - - - Constructor - - A message to include with the exception. - - - Initializes a new instance of the class with - the specified message. - - - - - - Constructor - - A message to include with the exception. - A nested exception to include. - - - Initializes a new instance of the class - with the specified message and inner exception. - - - - - - Serialization constructor - - The that holds the serialized object data about the exception being thrown. - The that contains contextual information about the source or destination. - - - Initializes a new instance of the class - with serialized data. - - - - - - Locking model base class - - - - Base class for the locking models available to the derived loggers. - - - - - - Open the output file - - The filename to use - Whether to append to the file, or overwrite - The encoding to use - - - Open the file specified and prepare for logging. - No writes will be made until is called. - Must be called before any calls to , - and . - - - - - - Close the file - - - - Close the file. No further writes will be made. - - - - - - Acquire the lock on the file - - A stream that is ready to be written to. - - - Acquire the lock on the file in preparation for writing to it. - Return a stream pointing to the file. - must be called to release the lock on the output file. - - - - - - Release the lock on the file - - - - Release the lock on the file. No further writes will be made to the - stream until is called again. - - - - - - Gets or sets the for this LockingModel - - - The for this LockingModel - - - - The file appender this locking model is attached to and working on - behalf of. - - - The file appender is used to locate the security context and the error handler to use. - - - The value of this property will be set before is - called. - - - - - - Hold an exclusive lock on the output file - - - - Open the file once for writing and hold it open until is called. - Maintains an exclusive lock on the file during this time. - - - - - - Open the file specified and prepare for logging. - - The filename to use - Whether to append to the file, or overwrite - The encoding to use - - - Open the file specified and prepare for logging. - No writes will be made until is called. - Must be called before any calls to , - and . - - - - - - Close the file - - - - Close the file. No further writes will be made. - - - - - - Acquire the lock on the file - - A stream that is ready to be written to. - - - Does nothing. The lock is already taken - - - - - - Release the lock on the file - - - - Does nothing. The lock will be released when the file is closed. - - - - - - Acquires the file lock for each write - - - - Opens the file once for each / cycle, - thus holding the lock for the minimal amount of time. This method of locking - is considerably slower than but allows - other processes to move/delete the log file whilst logging continues. - - - - - - Prepares to open the file when the first message is logged. - - The filename to use - Whether to append to the file, or overwrite - The encoding to use - - - Open the file specified and prepare for logging. - No writes will be made until is called. - Must be called before any calls to , - and . - - - - - - Close the file - - - - Close the file. No further writes will be made. - - - - - - Acquire the lock on the file - - A stream that is ready to be written to. - - - Acquire the lock on the file in preparation for writing to it. - Return a stream pointing to the file. - must be called to release the lock on the output file. - - - - - - Release the lock on the file - - - - Release the lock on the file. No further writes will be made to the - stream until is called again. - - - - - - This appender forwards logging events to attached appenders. - - - - The forwarding appender can be used to specify different thresholds - and filters for the same appender at different locations within the hierarchy. - - - Nicko Cadell - Gert Driesen - - - - Initializes a new instance of the class. - - - - Default constructor. - - - - - - Closes the appender and releases resources. - - - - Releases any resources allocated within the appender such as file handles, - network connections, etc. - - - It is a programming error to append to a closed appender. - - - - - - Forward the logging event to the attached appenders - - The event to log. - - - Delivers the logging event to all the attached appenders. - - - - - - Forward the logging events to the attached appenders - - The array of events to log. - - - Delivers the logging events to all the attached appenders. - - - - - - Adds an to the list of appenders of this - instance. - - The to add to this appender. - - - If the specified is already in the list of - appenders, then it won't be added again. - - - - - - Looks for the appender with the specified name. - - The name of the appender to lookup. - - The appender with the specified name, or null. - - - - Get the named appender attached to this appender. - - - - - - Removes all previously added appenders from this appender. - - - - This is useful when re-reading configuration information. - - - - - - Removes the specified appender from the list of appenders. - - The appender to remove. - The appender removed from the list - - The appender removed is not closed. - If you are discarding the appender you must call - on the appender removed. - - - - - Removes the appender with the specified name from the list of appenders. - - The name of the appender to remove. - The appender removed from the list - - The appender removed is not closed. - If you are discarding the appender you must call - on the appender removed. - - - - - Implementation of the interface - - - - - Gets the appenders contained in this appender as an - . - - - If no appenders can be found, then an - is returned. - - - A collection of the appenders in this appender. - - - - - Logs events to a local syslog service. - - - - This appender uses the POSIX libc library functions openlog, syslog, and closelog. - If these functions are not available on the local system then this appender will not work! - - - The functions openlog, syslog, and closelog are specified in SUSv2 and - POSIX 1003.1-2001 standards. These are used to log messages to the local syslog service. - - - This appender talks to a local syslog service. If you need to log to a remote syslog - daemon and you cannot configure your local syslog service to do this you may be - able to use the to log via UDP. - - - Syslog messages must have a facility and and a severity. The severity - is derived from the Level of the logging event. - The facility must be chosen from the set of defined syslog - values. The facilities list is predefined - and cannot be extended. - - - An identifier is specified with each log message. This can be specified - by setting the property. The identity (also know - as the tag) must not contain white space. The default value for the - identity is the application name (from ). - - - Rob Lyon - Nicko Cadell - - - - Initializes a new instance of the class. - - - This instance of the class is set up to write - to a local syslog service. - - - - - Add a mapping of level to severity - - The mapping to add - - - Adds a to this appender. - - - - - - Initialize the appender based on the options set. - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - - - - This method is called by the method. - - The event to log. - - - Writes the event to a remote syslog daemon. - - - The format of the output will depend on the appender's layout. - - - - - - Close the syslog when the appender is closed - - - - Close the syslog when the appender is closed - - - - - - Translates a log4net level to a syslog severity. - - A log4net level. - A syslog severity. - - - Translates a log4net level to a syslog severity. - - - - - - Generate a syslog priority. - - The syslog facility. - The syslog severity. - A syslog priority. - - - - The facility. The default facility is . - - - - - The message identity - - - - - Marshaled handle to the identity string. We have to hold on to the - string as the openlog and syslog APIs just hold the - pointer to the ident and dereference it for each log message. - - - - - Mapping from level object to syslog severity - - - - - Open connection to system logger. - - - - - Generate a log message. - - - - The libc syslog method takes a format string and a variable argument list similar - to the classic printf function. As this type of vararg list is not supported - by C# we need to specify the arguments explicitly. Here we have specified the - format string with a single message argument. The caller must set the format - string to "%s". - - - - - - Close descriptor used to write to system logger. - - - - - Message identity - - - - An identifier is specified with each log message. This can be specified - by setting the property. The identity (also know - as the tag) must not contain white space. The default value for the - identity is the application name (from ). - - - - - - Syslog facility - - - Set to one of the values. The list of - facilities is predefined and cannot be extended. The default value - is . - - - - - This appender requires a to be set. - - true - - - This appender requires a to be set. - - - - - - syslog severities - - - - The log4net Level maps to a syslog severity using the - method and the - class. The severity is set on . - - - - - - system is unusable - - - - - action must be taken immediately - - - - - critical conditions - - - - - error conditions - - - - - warning conditions - - - - - normal but significant condition - - - - - informational - - - - - debug-level messages - - - - - syslog facilities - - - - The syslog facility defines which subsystem the logging comes from. - This is set on the property. - - - - - - kernel messages - - - - - random user-level messages - - - - - mail system - - - - - system daemons - - - - - security/authorization messages - - - - - messages generated internally by syslogd - - - - - line printer subsystem - - - - - network news subsystem - - - - - UUCP subsystem - - - - - clock (cron/at) daemon - - - - - security/authorization messages (private) - - - - - ftp daemon - - - - - NTP subsystem - - - - - log audit - - - - - log alert - - - - - clock daemon - - - - - reserved for local use - - - - - reserved for local use - - - - - reserved for local use - - - - - reserved for local use - - - - - reserved for local use - - - - - reserved for local use - - - - - reserved for local use - - - - - reserved for local use - - - - - A class to act as a mapping between the level that a logging call is made at and - the syslog severity that is should be logged at. - - - - A class to act as a mapping between the level that a logging call is made at and - the syslog severity that is should be logged at. - - - - - - The mapped syslog severity for the specified level - - - - Required property. - The mapped syslog severity for the specified level - - - - - - Stores logging events in an array. - - - - The memory appender stores all the logging events - that are appended in an in-memory array. - - - Use the method to get - the current list of events that have been appended. - - - Use the method to clear the - current list of events. - - - Julian Biddle - Nicko Cadell - Gert Driesen - - - - Initializes a new instance of the class. - - - - Default constructor. - - - - - - Gets the events that have been logged. - - The events that have been logged - - - Gets the events that have been logged. - - - - - - This method is called by the method. - - the event to log - - Stores the in the events list. - - - - - Clear the list of events - - - Clear the list of events - - - - - The list of events that have been appended. - - - - - Value indicating which fields in the event should be fixed - - - By default all fields are fixed - - - - - Gets or sets a value indicating whether only part of the logging event - data should be fixed. - - - true if the appender should only fix part of the logging event - data, otherwise false. The default is false. - - - - Setting this property to true will cause only part of the event - data to be fixed and stored in the appender, hereby improving performance. - - - See for more information. - - - - - - Gets or sets the fields that will be fixed in the event - - - - The logging event needs to have certain thread specific values - captured before it can be buffered. See - for details. - - - - - - Logs entries by sending network messages using the - native function. - - - - You can send messages only to names that are active - on the network. If you send the message to a user name, - that user must be logged on and running the Messenger - service to receive the message. - - - The receiver will get a top most window displaying the - messages one at a time, therefore this appender should - not be used to deliver a high volume of messages. - - - The following table lists some possible uses for this appender : - - - - - Action - Property Value(s) - - - Send a message to a user account on the local machine - - - = <name of the local machine> - - - = <user name> - - - - - Send a message to a user account on a remote machine - - - = <name of the remote machine> - - - = <user name> - - - - - Send a message to a domain user account - - - = <name of a domain controller | uninitialized> - - - = <user name> - - - - - Send a message to all the names in a workgroup or domain - - - = <workgroup name | domain name>* - - - - - Send a message from the local machine to a remote machine - - - = <name of the local machine | uninitialized> - - - = <name of the remote machine> - - - - - - - Note : security restrictions apply for sending - network messages, see - for more information. - - - - - An example configuration section to log information - using this appender from the local machine, named - LOCAL_PC, to machine OPERATOR_PC : - - - - - - - - - - Nicko Cadell - Gert Driesen - - - - The DNS or NetBIOS name of the server on which the function is to execute. - - - - - The sender of the network message. - - - - - The message alias to which the message should be sent. - - - - - The security context to use for privileged calls - - - - - Initializes the appender. - - - The default constructor initializes all fields to their default values. - - - - - Initialize the appender based on the options set. - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - The appender will be ignored if no was specified. - - - The required property was not specified. - - - - This method is called by the method. - - The event to log. - - - Sends the event using a network message. - - - - - - Sends a buffer of information to a registered message alias. - - The DNS or NetBIOS name of the server on which the function is to execute. - The message alias to which the message buffer should be sent - The originator of the message. - The message text. - The length, in bytes, of the message text. - - - The following restrictions apply for sending network messages: - - - - - Platform - Requirements - - - Windows NT - - - No special group membership is required to send a network message. - - - Admin, Accounts, Print, or Server Operator group membership is required to - successfully send a network message on a remote server. - - - - - Windows 2000 or later - - - If you send a message on a domain controller that is running Active Directory, - access is allowed or denied based on the access control list (ACL) for the securable - object. The default ACL permits only Domain Admins and Account Operators to send a network message. - - - On a member server or workstation, only Administrators and Server Operators can send a network message. - - - - - - - For more information see Security Requirements for the Network Management Functions. - - - - - If the function succeeds, the return value is zero. - - - - - - Gets or sets the sender of the message. - - - The sender of the message. - - - If this property is not specified, the message is sent from the local computer. - - - - - Gets or sets the message alias to which the message should be sent. - - - The recipient of the message. - - - This property should always be specified in order to send a message. - - - - - Gets or sets the DNS or NetBIOS name of the remote server on which the function is to execute. - - - DNS or NetBIOS name of the remote server on which the function is to execute. - - - - For Windows NT 4.0 and earlier, the string should begin with \\. - - - If this property is not specified, the local computer is used. - - - - - - Gets or sets the used to call the NetSend method. - - - The used to call the NetSend method. - - - - Unless a specified here for this appender - the is queried for the - security context to use. The default behavior is to use the security context - of the current thread. - - - - - - This appender requires a to be set. - - true - - - This appender requires a to be set. - - - - - - Appends log events to the OutputDebugString system. - - - - OutputDebugStringAppender appends log events to the - OutputDebugString system. - - - The string is passed to the native OutputDebugString - function. - - - Nicko Cadell - Gert Driesen - - - - Initializes a new instance of the class. - - - - Default constructor. - - - - - - Write the logging event to the output debug string API - - the event to log - - - Write the logging event to the output debug string API - - - - - - Stub for OutputDebugString native method - - the string to output - - - Stub for OutputDebugString native method - - - - - - This appender requires a to be set. - - true - - - This appender requires a to be set. - - - - - - Logs events to a remote syslog daemon. - - - - The BSD syslog protocol is used to remotely log to - a syslog daemon. The syslogd listens for for messages - on UDP port 514. - - - The syslog UDP protocol is not authenticated. Most syslog daemons - do not accept remote log messages because of the security implications. - You may be able to use the LocalSyslogAppender to talk to a local - syslog service. - - - There is an RFC 3164 that claims to document the BSD Syslog Protocol. - This RFC can be seen here: http://www.faqs.org/rfcs/rfc3164.html. - This appender generates what the RFC calls an "Original Device Message", - i.e. does not include the TIMESTAMP or HOSTNAME fields. By observation - this format of message will be accepted by all current syslog daemon - implementations. The daemon will attach the current time and the source - hostname or IP address to any messages received. - - - Syslog messages must have a facility and and a severity. The severity - is derived from the Level of the logging event. - The facility must be chosen from the set of defined syslog - values. The facilities list is predefined - and cannot be extended. - - - An identifier is specified with each log message. This can be specified - by setting the property. The identity (also know - as the tag) must not contain white space. The default value for the - identity is the application name (from ). - - - Rob Lyon - Nicko Cadell - - - - Sends logging events as connectionless UDP datagrams to a remote host or a - multicast group using an . - - - - UDP guarantees neither that messages arrive, nor that they arrive in the correct order. - - - To view the logging results, a custom application can be developed that listens for logging - events. - - - When decoding events send via this appender remember to use the same encoding - to decode the events as was used to send the events. See the - property to specify the encoding to use. - - - - This example shows how to log receive logging events that are sent - on IP address 244.0.0.1 and port 8080 to the console. The event is - encoded in the packet as a unicode string and it is decoded as such. - - IPEndPoint remoteEndPoint = new IPEndPoint(IPAddress.Any, 0); - UdpClient udpClient; - byte[] buffer; - string loggingEvent; - - try - { - udpClient = new UdpClient(8080); - - while(true) - { - buffer = udpClient.Receive(ref remoteEndPoint); - loggingEvent = System.Text.Encoding.Unicode.GetString(buffer); - Console.WriteLine(loggingEvent); - } - } - catch(Exception e) - { - Console.WriteLine(e.ToString()); - } - - - Dim remoteEndPoint as IPEndPoint - Dim udpClient as UdpClient - Dim buffer as Byte() - Dim loggingEvent as String - - Try - remoteEndPoint = new IPEndPoint(IPAddress.Any, 0) - udpClient = new UdpClient(8080) - - While True - buffer = udpClient.Receive(ByRef remoteEndPoint) - loggingEvent = System.Text.Encoding.Unicode.GetString(buffer) - Console.WriteLine(loggingEvent) - Wend - Catch e As Exception - Console.WriteLine(e.ToString()) - End Try - - - An example configuration section to log information using this appender to the - IP 224.0.0.1 on port 8080: - - - - - - - - - - Gert Driesen - Nicko Cadell - - - - Initializes a new instance of the class. - - - The default constructor initializes all fields to their default values. - - - - - Initialize the appender based on the options set. - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - The appender will be ignored if no was specified or - an invalid remote or local TCP port number was specified. - - - The required property was not specified. - The TCP port number assigned to or is less than or greater than . - - - - This method is called by the method. - - The event to log. - - - Sends the event using an UDP datagram. - - - Exceptions are passed to the . - - - - - - Closes the UDP connection and releases all resources associated with - this instance. - - - - Disables the underlying and releases all managed - and unmanaged resources associated with the . - - - - - - Initializes the underlying connection. - - - - The underlying is initialized and binds to the - port number from which you intend to communicate. - - - Exceptions are passed to the . - - - - - - The IP address of the remote host or multicast group to which - the logging event will be sent. - - - - - The TCP port number of the remote host or multicast group to - which the logging event will be sent. - - - - - The cached remote endpoint to which the logging events will be sent. - - - - - The TCP port number from which the will communicate. - - - - - The instance that will be used for sending the - logging events. - - - - - The encoding to use for the packet. - - - - - Gets or sets the IP address of the remote host or multicast group to which - the underlying should sent the logging event. - - - The IP address of the remote host or multicast group to which the logging event - will be sent. - - - - Multicast addresses are identified by IP class D addresses (in the range 224.0.0.0 to - 239.255.255.255). Multicast packets can pass across different networks through routers, so - it is possible to use multicasts in an Internet scenario as long as your network provider - supports multicasting. - - - Hosts that want to receive particular multicast messages must register their interest by joining - the multicast group. Multicast messages are not sent to networks where no host has joined - the multicast group. Class D IP addresses are used for multicast groups, to differentiate - them from normal host addresses, allowing nodes to easily detect if a message is of interest. - - - Static multicast addresses that are needed globally are assigned by IANA. A few examples are listed in the table below: - - - - - IP Address - Description - - - 224.0.0.1 - - - Sends a message to all system on the subnet. - - - - - 224.0.0.2 - - - Sends a message to all routers on the subnet. - - - - - 224.0.0.12 - - - The DHCP server answers messages on the IP address 224.0.0.12, but only on a subnet. - - - - - - - A complete list of actually reserved multicast addresses and their owners in the ranges - defined by RFC 3171 can be found at the IANA web site. - - - The address range 239.0.0.0 to 239.255.255.255 is reserved for administrative scope-relative - addresses. These addresses can be reused with other local groups. Routers are typically - configured with filters to prevent multicast traffic in this range from flowing outside - of the local network. - - - - - - Gets or sets the TCP port number of the remote host or multicast group to which - the underlying should sent the logging event. - - - An integer value in the range to - indicating the TCP port number of the remote host or multicast group to which the logging event - will be sent. - - - The underlying will send messages to this TCP port number - on the remote host or multicast group. - - The value specified is less than or greater than . - - - - Gets or sets the TCP port number from which the underlying will communicate. - - - An integer value in the range to - indicating the TCP port number from which the underlying will communicate. - - - - The underlying will bind to this port for sending messages. - - - Setting the value to 0 (the default) will cause the udp client not to bind to - a local port. - - - The value specified is less than or greater than . - - - - Gets or sets used to write the packets. - - - The used to write the packets. - - - - The used to write the packets. - - - - - - Gets or sets the underlying . - - - The underlying . - - - creates a to send logging events - over a network. Classes deriving from can use this - property to get or set this . Use the underlying - returned from if you require access beyond that which - provides. - - - - - Gets or sets the cached remote endpoint to which the logging events should be sent. - - - The cached remote endpoint to which the logging events will be sent. - - - The method will initialize the remote endpoint - with the values of the and - properties. - - - - - This appender requires a to be set. - - true - - - This appender requires a to be set. - - - - - - Syslog port 514 - - - - - Initializes a new instance of the class. - - - This instance of the class is set up to write - to a remote syslog daemon. - - - - - Add a mapping of level to severity - - The mapping to add - - - Add a mapping to this appender. - - - - - - This method is called by the method. - - The event to log. - - - Writes the event to a remote syslog daemon. - - - The format of the output will depend on the appender's layout. - - - - - - Initialize the options for this appender - - - - Initialize the level to syslog severity mappings set on this appender. - - - - - - Translates a log4net level to a syslog severity. - - A log4net level. - A syslog severity. - - - Translates a log4net level to a syslog severity. - - - - - - Generate a syslog priority. - - The syslog facility. - The syslog severity. - A syslog priority. - - - Generate a syslog priority. - - - - - - The facility. The default facility is . - - - - - The message identity - - - - - Mapping from level object to syslog severity - - - - - Message identity - - - - An identifier is specified with each log message. This can be specified - by setting the property. The identity (also know - as the tag) must not contain white space. The default value for the - identity is the application name (from ). - - - - - - Syslog facility - - - Set to one of the values. The list of - facilities is predefined and cannot be extended. The default value - is . - - - - - syslog severities - - - - The syslog severities. - - - - - - system is unusable - - - - - action must be taken immediately - - - - - critical conditions - - - - - error conditions - - - - - warning conditions - - - - - normal but significant condition - - - - - informational - - - - - debug-level messages - - - - - syslog facilities - - - - The syslog facilities - - - - - - kernel messages - - - - - random user-level messages - - - - - mail system - - - - - system daemons - - - - - security/authorization messages - - - - - messages generated internally by syslogd - - - - - line printer subsystem - - - - - network news subsystem - - - - - UUCP subsystem - - - - - clock (cron/at) daemon - - - - - security/authorization messages (private) - - - - - ftp daemon - - - - - NTP subsystem - - - - - log audit - - - - - log alert - - - - - clock daemon - - - - - reserved for local use - - - - - reserved for local use - - - - - reserved for local use - - - - - reserved for local use - - - - - reserved for local use - - - - - reserved for local use - - - - - reserved for local use - - - - - reserved for local use - - - - - A class to act as a mapping between the level that a logging call is made at and - the syslog severity that is should be logged at. - - - - A class to act as a mapping between the level that a logging call is made at and - the syslog severity that is should be logged at. - - - - - - The mapped syslog severity for the specified level - - - - Required property. - The mapped syslog severity for the specified level - - - - - - Delivers logging events to a remote logging sink. - - - - This Appender is designed to deliver events to a remote sink. - That is any object that implements the - interface. It delivers the events using .NET remoting. The - object to deliver events to is specified by setting the - appenders property. - - The RemotingAppender buffers events before sending them. This allows it to - make more efficient use of the remoting infrastructure. - - Once the buffer is full the events are still not sent immediately. - They are scheduled to be sent using a pool thread. The effect is that - the send occurs asynchronously. This is very important for a - number of non obvious reasons. The remoting infrastructure will - flow thread local variables (stored in the ), - if they are marked as , across the - remoting boundary. If the server is not contactable then - the remoting infrastructure will clear the - objects from the . To prevent a logging failure from - having side effects on the calling application the remoting call must be made - from a separate thread to the one used by the application. A - thread is used for this. If no thread is available then - the events will block in the thread pool manager until a thread is available. - - Because the events are sent asynchronously using pool threads it is possible to close - this appender before all the queued events have been sent. - When closing the appender attempts to wait until all the queued events have been sent, but - this will timeout after 30 seconds regardless. - - If this appender is being closed because the - event has fired it may not be possible to send all the queued events. During process - exit the runtime limits the time that a - event handler is allowed to run for. If the runtime terminates the threads before - the queued events have been sent then they will be lost. To ensure that all events - are sent the appender must be closed before the application exits. See - for details on how to shutdown - log4net programmatically. - - - Nicko Cadell - Gert Driesen - Daniel Cazzulino - - - - Initializes a new instance of the class. - - - - Default constructor. - - - - - - Initialize the appender based on the options set - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - - - - Send the contents of the buffer to the remote sink. - - - The events are not sent immediately. They are scheduled to be sent - using a pool thread. The effect is that the send occurs asynchronously. - This is very important for a number of non obvious reasons. The remoting - infrastructure will flow thread local variables (stored in the ), - if they are marked as , across the - remoting boundary. If the server is not contactable then - the remoting infrastructure will clear the - objects from the . To prevent a logging failure from - having side effects on the calling application the remoting call must be made - from a separate thread to the one used by the application. A - thread is used for this. If no thread is available then - the events will block in the thread pool manager until a thread is available. - - The events to send. - - - - Override base class close. - - - - This method waits while there are queued work items. The events are - sent asynchronously using work items. These items - will be sent once a thread pool thread is available to send them, therefore - it is possible to close the appender before all the queued events have been - sent. - - This method attempts to wait until all the queued events have been sent, but this - method will timeout after 30 seconds regardless. - - If the appender is being closed because the - event has fired it may not be possible to send all the queued events. During process - exit the runtime limits the time that a - event handler is allowed to run for. - - - - - A work item is being queued into the thread pool - - - - - A work item from the thread pool has completed - - - - - Send the contents of the buffer to the remote sink. - - - This method is designed to be used with the . - This method expects to be passed an array of - objects in the state param. - - the logging events to send - - - - The URL of the remote sink. - - - - - The local proxy (.NET remoting) for the remote logging sink. - - - - - The number of queued callbacks currently waiting or executing - - - - - Event used to signal when there are no queued work items - - - This event is set when there are no queued work items. In this - state it is safe to close the appender. - - - - - Gets or sets the URL of the well-known object that will accept - the logging events. - - - The well-known URL of the remote sink. - - - - The URL of the remoting sink that will accept logging events. - The sink must implement the - interface. - - - - - - Interface used to deliver objects to a remote sink. - - - This interface must be implemented by a remoting sink - if the is to be used - to deliver logging events to the sink. - - - - - Delivers logging events to the remote sink - - Array of events to log. - - - Delivers logging events to the remote sink - - - - - - Appender that rolls log files based on size or date or both. - - - - RollingFileAppender can roll log files based on size or date or both - depending on the setting of the property. - When set to the log file will be rolled - once its size exceeds the . - When set to the log file will be rolled - once the date boundary specified in the property - is crossed. - When set to the log file will be - rolled once the date boundary specified in the property - is crossed, but within a date boundary the file will also be rolled - once its size exceeds the . - When set to the log file will be rolled when - the appender is configured. This effectively means that the log file can be - rolled once per program execution. - - - A of few additional optional features have been added: - - Attach date pattern for current log file - Backup number increments for newer files - Infinite number of backups by file size - - - - - - For large or infinite numbers of backup files a - greater than zero is highly recommended, otherwise all the backup files need - to be renamed each time a new backup is created. - - - When Date/Time based rolling is used setting - to will reduce the number of file renamings to few or none. - - - - - - Changing or without clearing - the log file directory of backup files will cause unexpected and unwanted side effects. - - - - - If Date/Time based rolling is enabled this appender will attempt to roll existing files - in the directory without a Date/Time tag based on the last write date of the base log file. - The appender only rolls the log file when a message is logged. If Date/Time based rolling - is enabled then the appender will not roll the log file at the Date/Time boundary but - at the point when the next message is logged after the boundary has been crossed. - - - - The extends the and - has the same behavior when opening the log file. - The appender will first try to open the file for writing when - is called. This will typically be during configuration. - If the file cannot be opened for writing the appender will attempt - to open the file again each time a message is logged to the appender. - If the file cannot be opened for writing when a message is logged then - the message will be discarded by this appender. - - - When rolling a backup file necessitates deleting an older backup file the - file to be deleted is moved to a temporary name before being deleted. - - - - - A maximum number of backup files when rolling on date/time boundaries is not supported. - - - - Nicko Cadell - Gert Driesen - Aspi Havewala - Douglas de la Torre - Edward Smit - - - - Initializes a new instance of the class. - - - - Default constructor. - - - - - - Sets the quiet writer being used. - - - This method can be overridden by sub classes. - - the writer to set - - - - Write out a logging event. - - the event to write to file. - - - Handles append time behavior for RollingFileAppender. This checks - if a roll over either by date (checked first) or time (checked second) - is need and then appends to the file last. - - - - - - Write out an array of logging events. - - the events to write to file. - - - Handles append time behavior for RollingFileAppender. This checks - if a roll over either by date (checked first) or time (checked second) - is need and then appends to the file last. - - - - - - Performs any required rolling before outputting the next event - - - - Handles append time behavior for RollingFileAppender. This checks - if a roll over either by date (checked first) or time (checked second) - is need and then appends to the file last. - - - - - - Creates and opens the file for logging. If - is false then the fully qualified name is determined and used. - - the name of the file to open - true to append to existing file - - This method will ensure that the directory structure - for the specified exists. - - - - - Get the current output file name - - the base file name - the output file name - - The output file name is based on the base fileName specified. - If is set then the output - file name is the same as the base file passed in. Otherwise - the output file depends on the date pattern, on the count - direction or both. - - - - - Determines curSizeRollBackups (only within the current roll point) - - - - - Generates a wildcard pattern that can be used to find all files - that are similar to the base file name. - - - - - - - Builds a list of filenames for all files matching the base filename plus a file - pattern. - - - - - - - Initiates a roll over if needed for crossing a date boundary since the last run. - - - - - Initializes based on existing conditions at time of . - - - - Initializes based on existing conditions at time of . - The following is done - - determine curSizeRollBackups (only within the current roll point) - initiates a roll over if needed for crossing a date boundary since the last run. - - - - - - - Does the work of bumping the 'current' file counter higher - to the highest count when an incremental file name is seen. - The highest count is either the first file (when count direction - is greater than 0) or the last file (when count direction less than 0). - In either case, we want to know the highest count that is present. - - - - - - - Takes a list of files and a base file name, and looks for - 'incremented' versions of the base file. Bumps the max - count up to the highest count seen. - - - - - - - Calculates the RollPoint for the datePattern supplied. - - the date pattern to calculate the check period for - The RollPoint that is most accurate for the date pattern supplied - - Essentially the date pattern is examined to determine what the - most suitable roll point is. The roll point chosen is the roll point - with the smallest period that can be detected using the date pattern - supplied. i.e. if the date pattern only outputs the year, month, day - and hour then the smallest roll point that can be detected would be - and hourly roll point as minutes could not be detected. - - - - - Initialize the appender based on the options set - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - Sets initial conditions including date/time roll over information, first check, - scheduledFilename, and calls to initialize - the current number of backups. - - - - - - Rollover the file(s) to date/time tagged file(s). - - set to true if the file to be rolled is currently open - - - Rollover the file(s) to date/time tagged file(s). - Resets curSizeRollBackups. - If fileIsOpen is set then the new file is opened (through SafeOpenFile). - - - - - - Renames file to file . - - Name of existing file to roll. - New name for file. - - - Renames file to file . It - also checks for existence of target file and deletes if it does. - - - - - - Test if a file exists at a specified path - - the path to the file - true if the file exists - - - Test if a file exists at a specified path - - - - - - Deletes the specified file if it exists. - - The file to delete. - - - Delete a file if is exists. - The file is first moved to a new filename then deleted. - This allows the file to be removed even when it cannot - be deleted, but it still can be moved. - - - - - - Implements file roll base on file size. - - - - If the maximum number of size based backups is reached - (curSizeRollBackups == maxSizeRollBackups) then the oldest - file is deleted -- its index determined by the sign of countDirection. - If countDirection < 0, then files - {File.1, ..., File.curSizeRollBackups -1} - are renamed to {File.2, ..., - File.curSizeRollBackups}. Moreover, File is - renamed File.1 and closed. - - - A new file is created to receive further log output. - - - If maxSizeRollBackups is equal to zero, then the - File is truncated with no backup files created. - - - If maxSizeRollBackups < 0, then File is - renamed if needed and no files are deleted. - - - - - - Implements file roll. - - the base name to rename - - - If the maximum number of size based backups is reached - (curSizeRollBackups == maxSizeRollBackups) then the oldest - file is deleted -- its index determined by the sign of countDirection. - If countDirection < 0, then files - {File.1, ..., File.curSizeRollBackups -1} - are renamed to {File.2, ..., - File.curSizeRollBackups}. - - - If maxSizeRollBackups is equal to zero, then the - File is truncated with no backup files created. - - - If maxSizeRollBackups < 0, then File is - renamed if needed and no files are deleted. - - - This is called by to rename the files. - - - - - - Get the start time of the next window for the current rollpoint - - the current date - the type of roll point we are working with - the start time for the next roll point an interval after the currentDateTime date - - - Returns the date of the next roll point after the currentDateTime date passed to the method. - - - The basic strategy is to subtract the time parts that are less significant - than the rollpoint from the current time. This should roll the time back to - the start of the time window for the current rollpoint. Then we add 1 window - worth of time and get the start time of the next window for the rollpoint. - - - - - - This object supplies the current date/time. Allows test code to plug in - a method to control this class when testing date/time based rolling. - - - - - The date pattern. By default, the pattern is set to ".yyyy-MM-dd" - meaning daily rollover. - - - - - The actual formatted filename that is currently being written to - or will be the file transferred to on roll over - (based on staticLogFileName). - - - - - The timestamp when we shall next recompute the filename. - - - - - Holds date of last roll over - - - - - The type of rolling done - - - - - The default maximum file size is 10MB - - - - - There is zero backup files by default - - - - - How many sized based backups have been made so far - - - - - The rolling file count direction. - - - - - The rolling mode used in this appender. - - - - - Cache flag set if we are rolling by date. - - - - - Cache flag set if we are rolling by size. - - - - - Value indicating whether to always log to the same file. - - - - - FileName provided in configuration. Used for rolling properly - - - - - The 1st of January 1970 in UTC - - - - - Gets or sets the date pattern to be used for generating file names - when rolling over on date. - - - The date pattern to be used for generating file names when rolling - over on date. - - - - Takes a string in the same format as expected by - . - - - This property determines the rollover schedule when rolling over - on date. - - - - - - Gets or sets the maximum number of backup files that are kept before - the oldest is erased. - - - The maximum number of backup files that are kept before the oldest is - erased. - - - - If set to zero, then there will be no backup files and the log file - will be truncated when it reaches . - - - If a negative number is supplied then no deletions will be made. Note - that this could result in very slow performance as a large number of - files are rolled over unless is used. - - - The maximum applies to each time based group of files and - not the total. - - - - - - Gets or sets the maximum size that the output file is allowed to reach - before being rolled over to backup files. - - - The maximum size in bytes that the output file is allowed to reach before being - rolled over to backup files. - - - - This property is equivalent to except - that it is required for differentiating the setter taking a - argument from the setter taking a - argument. - - - The default maximum file size is 10MB (10*1024*1024). - - - - - - Gets or sets the maximum size that the output file is allowed to reach - before being rolled over to backup files. - - - The maximum size that the output file is allowed to reach before being - rolled over to backup files. - - - - This property allows you to specify the maximum size with the - suffixes "KB", "MB" or "GB" so that the size is interpreted being - expressed respectively in kilobytes, megabytes or gigabytes. - - - For example, the value "10KB" will be interpreted as 10240 bytes. - - - The default maximum file size is 10MB. - - - If you have the option to set the maximum file size programmatically - consider using the property instead as this - allows you to set the size in bytes as a . - - - - - - Gets or sets the rolling file count direction. - - - The rolling file count direction. - - - - Indicates if the current file is the lowest numbered file or the - highest numbered file. - - - By default newer files have lower numbers ( < 0), - i.e. log.1 is most recent, log.5 is the 5th backup, etc... - - - >= 0 does the opposite i.e. - log.1 is the first backup made, log.5 is the 5th backup made, etc. - For infinite backups use >= 0 to reduce - rollover costs. - - The default file count direction is -1. - - - - - Gets or sets the rolling style. - - The rolling style. - - - The default rolling style is . - - - When set to this appender's - property is set to false, otherwise - the appender would append to a single file rather than rolling - the file each time it is opened. - - - - - - Gets or sets a value indicating whether to always log to - the same file. - - - true if always should be logged to the same file, otherwise false. - - - - By default file.log is always the current file. Optionally - file.log.yyyy-mm-dd for current formatted datePattern can by the currently - logging file (or file.log.curSizeRollBackup or even - file.log.yyyy-mm-dd.curSizeRollBackup). - - - This will make time based rollovers with a large number of backups - much faster as the appender it won't have to rename all the backups! - - - - - - Style of rolling to use - - - - Style of rolling to use - - - - - - Roll files once per program execution - - - - Roll files once per program execution. - Well really once each time this appender is - configured. - - - Setting this option also sets AppendToFile to - false on the RollingFileAppender, otherwise - this appender would just be a normal file appender. - - - - - - Roll files based only on the size of the file - - - - - Roll files based only on the date - - - - - Roll files based on both the size and date of the file - - - - - The code assumes that the following 'time' constants are in a increasing sequence. - - - - The code assumes that the following 'time' constants are in a increasing sequence. - - - - - - Roll the log not based on the date - - - - - Roll the log for each minute - - - - - Roll the log for each hour - - - - - Roll the log twice a day (midday and midnight) - - - - - Roll the log each day (midnight) - - - - - Roll the log each week - - - - - Roll the log each month - - - - - This interface is used to supply Date/Time information to the . - - - This interface is used to supply Date/Time information to the . - Used primarily to allow test classes to plug themselves in so they can - supply test date/times. - - - - - Gets the current time. - - The current time. - - - Gets the current time. - - - - - - Default implementation of that returns the current time. - - - - - Gets the current time. - - The current time. - - - Gets the current time. - - - - - - Send an e-mail when a specific logging event occurs, typically on errors - or fatal errors. - - - - The number of logging events delivered in this e-mail depend on - the value of option. The - keeps only the last - logging events in its - cyclic buffer. This keeps memory requirements at a reasonable level while - still delivering useful application context. - - - Authentication and setting the server Port are only available on the MS .NET 1.1 runtime. - For these features to be enabled you need to ensure that you are using a version of - the log4net assembly that is built against the MS .NET 1.1 framework and that you are - running the your application on the MS .NET 1.1 runtime. On all other platforms only sending - unauthenticated messages to a server listening on port 25 (the default) is supported. - - - Authentication is supported by setting the property to - either or . - If using authentication then the - and properties must also be set. - - - To set the SMTP server port use the property. The default port is 25. - - - Nicko Cadell - Gert Driesen - - - - Default constructor - - - - Default constructor - - - - - - Sends the contents of the cyclic buffer as an e-mail message. - - The logging events to send. - - - - Send the email message - - the body text to include in the mail - - - - Gets or sets a semicolon-delimited list of recipient e-mail addresses. - - - A semicolon-delimited list of e-mail addresses. - - - - A semicolon-delimited list of recipient e-mail addresses. - - - - - - Gets or sets the e-mail address of the sender. - - - The e-mail address of the sender. - - - - The e-mail address of the sender. - - - - - - Gets or sets the subject line of the e-mail message. - - - The subject line of the e-mail message. - - - - The subject line of the e-mail message. - - - - - - Gets or sets the name of the SMTP relay mail server to use to send - the e-mail messages. - - - The name of the e-mail relay server. If SmtpServer is not set, the - name of the local SMTP server is used. - - - - The name of the e-mail relay server. If SmtpServer is not set, the - name of the local SMTP server is used. - - - - - - Obsolete - - - Use the BufferingAppenderSkeleton Fix methods instead - - - - Obsolete property. - - - - - - The mode to use to authentication with the SMTP server - - - Authentication is only available on the MS .NET 1.1 runtime. - - Valid Authentication mode values are: , - , and . - The default value is . When using - you must specify the - and to use to authenticate. - When using the Windows credentials for the current - thread, if impersonating, or the process will be used to authenticate. - - - - - - The username to use to authenticate with the SMTP server - - - Authentication is only available on the MS .NET 1.1 runtime. - - A and must be specified when - is set to , - otherwise the username will be ignored. - - - - - - The password to use to authenticate with the SMTP server - - - Authentication is only available on the MS .NET 1.1 runtime. - - A and must be specified when - is set to , - otherwise the password will be ignored. - - - - - - The port on which the SMTP server is listening - - - Server Port is only available on the MS .NET 1.1 runtime. - - The port on which the SMTP server is listening. The default - port is 25. The Port can only be changed when running on - the MS .NET 1.1 runtime. - - - - - - Gets or sets the priority of the e-mail message - - - One of the values. - - - - Sets the priority of the e-mails generated by this - appender. The default priority is . - - - If you are using this appender to report errors then - you may want to set the priority to . - - - - - - This appender requires a to be set. - - true - - - This appender requires a to be set. - - - - - - Values for the property. - - - - SMTP authentication modes. - - - - - - No authentication - - - - - Basic authentication. - - - Requires a username and password to be supplied - - - - - Integrated authentication - - - Uses the Windows credentials from the current thread or process to authenticate. - - - - - Send an email when a specific logging event occurs, typically on errors - or fatal errors. Rather than sending via smtp it writes a file into the - directory specified by . This allows services such - as the IIS SMTP agent to manage sending the messages. - - - - The configuration for this appender is identical to that of the SMTPAppender, - except that instead of specifying the SMTPAppender.SMTPHost you specify - . - - - The number of logging events delivered in this e-mail depend on - the value of option. The - keeps only the last - logging events in its - cyclic buffer. This keeps memory requirements at a reasonable level while - still delivering useful application context. - - - Niall Daley - Nicko Cadell - - - - Default constructor - - - - Default constructor - - - - - - Sends the contents of the cyclic buffer as an e-mail message. - - The logging events to send. - - - Sends the contents of the cyclic buffer as an e-mail message. - - - - - - Activate the options on this appender. - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - - - - Convert a path into a fully qualified path. - - The path to convert. - The fully qualified path. - - - Converts the path specified to a fully - qualified path. If the path is relative it is - taken as relative from the application base - directory. - - - - - - The security context to use for privileged calls - - - - - Gets or sets a semicolon-delimited list of recipient e-mail addresses. - - - A semicolon-delimited list of e-mail addresses. - - - - A semicolon-delimited list of e-mail addresses. - - - - - - Gets or sets the e-mail address of the sender. - - - The e-mail address of the sender. - - - - The e-mail address of the sender. - - - - - - Gets or sets the subject line of the e-mail message. - - - The subject line of the e-mail message. - - - - The subject line of the e-mail message. - - - - - - Gets or sets the path to write the messages to. - - - - Gets or sets the path to write the messages to. This should be the same - as that used by the agent sending the messages. - - - - - - Gets or sets the used to write to the pickup directory. - - - The used to write to the pickup directory. - - - - Unless a specified here for this appender - the is queried for the - security context to use. The default behavior is to use the security context - of the current thread. - - - - - - This appender requires a to be set. - - true - - - This appender requires a to be set. - - - - - - Appender that allows clients to connect via Telnet to receive log messages - - - - The TelnetAppender accepts socket connections and streams logging messages - back to the client. - The output is provided in a telnet-friendly way so that a log can be monitored - over a TCP/IP socket. - This allows simple remote monitoring of application logging. - - - The default is 23 (the telnet port). - - - Keith Long - Nicko Cadell - - - - Default constructor - - - - Default constructor - - - - - - Overrides the parent method to close the socket handler - - - - Closes all the outstanding connections. - - - - - - Initialize the appender based on the options set. - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - Create the socket handler and wait for connections - - - - - - Writes the logging event to each connected client. - - The event to log. - - - Writes the logging event to each connected client. - - - - - - Gets or sets the TCP port number on which this will listen for connections. - - - An integer value in the range to - indicating the TCP port number on which this will listen for connections. - - - - The default value is 23 (the telnet port). - - - The value specified is less than - or greater than . - - - - This appender requires a to be set. - - true - - - This appender requires a to be set. - - - - - - Helper class to manage connected clients - - - - The SocketHandler class is used to accept connections from - clients. It is threaded so that clients can connect/disconnect - asynchronously. - - - - - - Opens a new server port on - - the local port to listen on for connections - - - Creates a socket handler on the specified local server port. - - - - - - Sends a string message to each of the connected clients - - the text to send - - - Sends a string message to each of the connected clients - - - - - - Add a client to the internal clients list - - client to add - - - - Remove a client from the internal clients list - - client to remove - - - - Callback used to accept a connection on the server socket - - The result of the asynchronous operation - - - On connection adds to the list of connections - if there are two many open connections you will be disconnected - - - - - - Close all network connections - - - - Make sure we close all network connections - - - - - - Test if this handler has active connections - - - true if this handler has active connections - - - - This property will be true while this handler has - active connections, that is at least one connection that - the handler will attempt to send a message to. - - - - - - Class that represents a client connected to this handler - - - - Class that represents a client connected to this handler - - - - - - Create this for the specified - - the client's socket - - - Opens a stream writer on the socket. - - - - - - Write a string to the client - - string to send - - - Write a string to the client - - - - - - Cleanup the clients connection - - - - Close the socket connection. - - - - - - Appends log events to the system. - - - - The application configuration file can be used to control what listeners - are actually used. See the MSDN documentation for the - class for details on configuring the - trace system. - - - Events are written using the System.Diagnostics.Trace.Write(string,string) - method. The event's logger name is passed as the value for the category name to the Write method. - - - Compact Framework
- The Compact Framework does not support the - class for any operation except Assert. When using the Compact Framework this - appender will write to the system rather than - the Trace system. This appender will therefore behave like the . -
-
- Douglas de la Torre - Nicko Cadell - Gert Driesen -
- - - Initializes a new instance of the . - - - - Default constructor. - - - - - - Initializes a new instance of the - with a specified layout. - - The layout to use with this appender. - - - Obsolete constructor. - - - - - - Writes the logging event to the system. - - The event to log. - - - Writes the logging event to the system. - - - - - - Immediate flush means that the underlying writer or output stream - will be flushed at the end of each append operation. - - - - Immediate flush is slower but ensures that each append request is - actually written. If is set to - false, then there is a good chance that the last few - logs events are not actually written to persistent media if and - when the application crashes. - - - The default value is true. - - - - - Gets or sets a value that indicates whether the appender will - flush at the end of each write. - - - The default behavior is to flush at the end of each - write. If the option is set tofalse, then the underlying - stream can defer writing to physical medium to a later time. - - - Avoiding the flush operation at the end of each append results - in a performance gain of 10 to 20 percent. However, there is safety - trade-off involved in skipping flushing. Indeed, when flushing is - skipped, then it is likely that the last few log events will not - be recorded on disk when the application exits. This is a high - price to pay even for a 20% performance gain. - - - - - - This appender requires a to be set. - - true - - - This appender requires a to be set. - - - - - - Assembly level attribute that specifies a domain to alias to this assembly's repository. - - - - AliasDomainAttribute is obsolete. Use AliasRepositoryAttribute instead of AliasDomainAttribute. - - - An assembly's logger repository is defined by its , - however this can be overridden by an assembly loaded before the target assembly. - - - An assembly can alias another assembly's domain to its repository by - specifying this attribute with the name of the target domain. - - - This attribute can only be specified on the assembly and may be used - as many times as necessary to alias all the required domains. - - - Nicko Cadell - Gert Driesen - - - - Assembly level attribute that specifies a repository to alias to this assembly's repository. - - - - An assembly's logger repository is defined by its , - however this can be overridden by an assembly loaded before the target assembly. - - - An assembly can alias another assembly's repository to its repository by - specifying this attribute with the name of the target repository. - - - This attribute can only be specified on the assembly and may be used - as many times as necessary to alias all the required repositories. - - - Nicko Cadell - Gert Driesen - - - - Initializes a new instance of the class with - the specified repository to alias to this assembly's repository. - - The repository to alias to this assemby's repository. - - - Initializes a new instance of the class with - the specified repository to alias to this assembly's repository. - - - - - - Gets or sets the repository to alias to this assemby's repository. - - - The repository to alias to this assemby's repository. - - - - The name of the repository to alias to this assemby's repository. - - - - - - Initializes a new instance of the class with - the specified domain to alias to this assembly's repository. - - The domain to alias to this assemby's repository. - - - Obsolete. Use instead of . - - - - - - Use this class to quickly configure a . - - - - Allows very simple programmatic configuration of log4net. - - - Only one appender can be configured using this configurator. - The appender is set at the root of the hierarchy and all logging - events will be delivered to that appender. - - - Appenders can also implement the interface. Therefore - they would require that the method - be called after the appenders properties have been configured. - - - Nicko Cadell - Gert Driesen - - - - Initializes a new instance of the class. - - - - Uses a private access modifier to prevent instantiation of this class. - - - - - - Initializes the log4net system with a default configuration. - - - - Initializes the log4net logging system using a - that will write to Console.Out. The log messages are - formatted using the layout object - with the - layout style. - - - - - - Initializes the log4net system using the specified appender. - - The appender to use to log all logging events. - - - Initializes the log4net system using the specified appender. - - - - - - Initializes the with a default configuration. - - The repository to configure. - - - Initializes the specified repository using a - that will write to Console.Out. The log messages are - formatted using the layout object - with the - layout style. - - - - - - Initializes the using the specified appender. - - The repository to configure. - The appender to use to log all logging events. - - - Initializes the using the specified appender. - - - - - - Base class for all log4net configuration attributes. - - - This is an abstract class that must be extended by - specific configurators. This attribute allows the - configurator to be parameterized by an assembly level - attribute. - - Nicko Cadell - Gert Driesen - - - - Constructor used by subclasses. - - the ordering priority for this configurator - - - The is used to order the configurator - attributes before they are invoked. Higher priority configurators are executed - before lower priority ones. - - - - - - Configures the for the specified assembly. - - The assembly that this attribute was defined on. - The repository to configure. - - - Abstract method implemented by a subclass. When this method is called - the subclass should configure the . - - - - - - Compare this instance to another ConfiguratorAttribute - - the object to compare to - see - - - Compares the priorities of the two instances. - Sorts by priority in descending order. Objects with the same priority are - randomly ordered. - - - - - - Assembly level attribute that specifies the logging domain for the assembly. - - - - DomainAttribute is obsolete. Use RepositoryAttribute instead of DomainAttribute. - - - Assemblies are mapped to logging domains. Each domain has its own - logging repository. This attribute specified on the assembly controls - the configuration of the domain. The property specifies the name - of the domain that this assembly is a part of. The - specifies the type of the repository objects to create for the domain. If - this attribute is not specified and a is not specified - then the assembly will be part of the default shared logging domain. - - - This attribute can only be specified on the assembly and may only be used - once per assembly. - - - Nicko Cadell - Gert Driesen - - - - Assembly level attribute that specifies the logging repository for the assembly. - - - - Assemblies are mapped to logging repository. This attribute specified - on the assembly controls - the configuration of the repository. The property specifies the name - of the repository that this assembly is a part of. The - specifies the type of the object - to create for the assembly. If this attribute is not specified or a - is not specified then the assembly will be part of the default shared logging repository. - - - This attribute can only be specified on the assembly and may only be used - once per assembly. - - - Nicko Cadell - Gert Driesen - - - - Initializes a new instance of the class. - - - - Default constructor. - - - - - - Initialize a new instance of the class - with the name of the repository. - - The name of the repository. - - - Initialize the attribute with the name for the assembly's repository. - - - - - - Gets or sets the name of the logging repository. - - - The string name to use as the name of the repository associated with this - assembly. - - - - This value does not have to be unique. Several assemblies can share the - same repository. They will share the logging configuration of the repository. - - - - - - Gets or sets the type of repository to create for this assembly. - - - The type of repository to create for this assembly. - - - - The type of the repository to create for the assembly. - The type must implement the - interface. - - - This will be the type of repository created when - the repository is created. If multiple assemblies reference the - same repository then the repository is only created once using the - of the first assembly to call into the - repository. - - - - - - Initializes a new instance of the class. - - - - Obsolete. Use RepositoryAttribute instead of DomainAttribute. - - - - - - Initialize a new instance of the class - with the name of the domain. - - The name of the domain. - - - Obsolete. Use RepositoryAttribute instead of DomainAttribute. - - - - - - Use this class to initialize the log4net environment using an Xml tree. - - - - DOMConfigurator is obsolete. Use XmlConfigurator instead of DOMConfigurator. - - - Configures a using an Xml tree. - - - Nicko Cadell - Gert Driesen - - - - Private constructor - - - - - Automatically configures the log4net system based on the - application's configuration settings. - - - - DOMConfigurator is obsolete. Use XmlConfigurator instead of DOMConfigurator. - - Each application has a configuration file. This has the - same name as the application with '.config' appended. - This file is XML and calling this function prompts the - configurator to look in that file for a section called - log4net that contains the configuration data. - - - - - Automatically configures the using settings - stored in the application's configuration file. - - - - DOMConfigurator is obsolete. Use XmlConfigurator instead of DOMConfigurator. - - Each application has a configuration file. This has the - same name as the application with '.config' appended. - This file is XML and calling this function prompts the - configurator to look in that file for a section called - log4net that contains the configuration data. - - The repository to configure. - - - - Configures log4net using a log4net element - - - - DOMConfigurator is obsolete. Use XmlConfigurator instead of DOMConfigurator. - - Loads the log4net configuration from the XML element - supplied as . - - The element to parse. - - - - Configures the using the specified XML - element. - - - - DOMConfigurator is obsolete. Use XmlConfigurator instead of DOMConfigurator. - - Loads the log4net configuration from the XML element - supplied as . - - The repository to configure. - The element to parse. - - - - Configures log4net using the specified configuration file. - - The XML file to load the configuration from. - - - DOMConfigurator is obsolete. Use XmlConfigurator instead of DOMConfigurator. - - - The configuration file must be valid XML. It must contain - at least one element called log4net that holds - the log4net configuration data. - - - The log4net configuration file can possible be specified in the application's - configuration file (either MyAppName.exe.config for a - normal application on Web.config for an ASP.NET application). - - - The following example configures log4net using a configuration file, of which the - location is stored in the application's configuration file : - - - using log4net.Config; - using System.IO; - using System.Configuration; - - ... - - DOMConfigurator.Configure(new FileInfo(ConfigurationSettings.AppSettings["log4net-config-file"])); - - - In the .config file, the path to the log4net can be specified like this : - - - - - - - - - - - - - Configures log4net using the specified configuration file. - - A stream to load the XML configuration from. - - - DOMConfigurator is obsolete. Use XmlConfigurator instead of DOMConfigurator. - - - The configuration data must be valid XML. It must contain - at least one element called log4net that holds - the log4net configuration data. - - - Note that this method will NOT close the stream parameter. - - - - - - Configures the using the specified configuration - file. - - The repository to configure. - The XML file to load the configuration from. - - - DOMConfigurator is obsolete. Use XmlConfigurator instead of DOMConfigurator. - - - The configuration file must be valid XML. It must contain - at least one element called log4net that holds - the configuration data. - - - The log4net configuration file can possible be specified in the application's - configuration file (either MyAppName.exe.config for a - normal application on Web.config for an ASP.NET application). - - - The following example configures log4net using a configuration file, of which the - location is stored in the application's configuration file : - - - using log4net.Config; - using System.IO; - using System.Configuration; - - ... - - DOMConfigurator.Configure(new FileInfo(ConfigurationSettings.AppSettings["log4net-config-file"])); - - - In the .config file, the path to the log4net can be specified like this : - - - - - - - - - - - - - Configures the using the specified configuration - file. - - The repository to configure. - The stream to load the XML configuration from. - - - DOMConfigurator is obsolete. Use XmlConfigurator instead of DOMConfigurator. - - - The configuration data must be valid XML. It must contain - at least one element called log4net that holds - the configuration data. - - - Note that this method will NOT close the stream parameter. - - - - - - Configures log4net using the file specified, monitors the file for changes - and reloads the configuration if a change is detected. - - The XML file to load the configuration from. - - - DOMConfigurator is obsolete. Use XmlConfigurator instead of DOMConfigurator. - - - The configuration file must be valid XML. It must contain - at least one element called log4net that holds - the configuration data. - - - The configuration file will be monitored using a - and depends on the behavior of that class. - - - For more information on how to configure log4net using - a separate configuration file, see . - - - - - - - Configures the using the file specified, - monitors the file for changes and reloads the configuration if a change - is detected. - - The repository to configure. - The XML file to load the configuration from. - - - DOMConfigurator is obsolete. Use XmlConfigurator instead of DOMConfigurator. - - - The configuration file must be valid XML. It must contain - at least one element called log4net that holds - the configuration data. - - - The configuration file will be monitored using a - and depends on the behavior of that class. - - - For more information on how to configure log4net using - a separate configuration file, see . - - - - - - - Assembly level attribute to configure the . - - - - AliasDomainAttribute is obsolete. Use AliasRepositoryAttribute instead of AliasDomainAttribute. - - - This attribute may only be used at the assembly scope and can only - be used once per assembly. - - - Use this attribute to configure the - without calling one of the - methods. - - - Nicko Cadell - Gert Driesen - - - - Assembly level attribute to configure the . - - - - This attribute may only be used at the assembly scope and can only - be used once per assembly. - - - Use this attribute to configure the - without calling one of the - methods. - - - If neither of the or - properties are set the configuration is loaded from the application's .config file. - If set the property takes priority over the - property. The property - specifies a path to a file to load the config from. The path is relative to the - application's base directory; . - The property is used as a postfix to the assembly file name. - The config file must be located in the application's base directory; . - For example in a console application setting the to - config has the same effect as not specifying the or - properties. - - - The property can be set to cause the - to watch the configuration file for changes. - - - - Log4net will only look for assembly level configuration attributes once. - When using the log4net assembly level attributes to control the configuration - of log4net you must ensure that the first call to any of the - methods is made from the assembly with the configuration - attributes. - - - If you cannot guarantee the order in which log4net calls will be made from - different assemblies you must use programmatic configuration instead, i.e. - call the method directly. - - - - Nicko Cadell - Gert Driesen - - - - Default constructor - - - - Default constructor - - - - - - Configures the for the specified assembly. - - The assembly that this attribute was defined on. - The repository to configure. - - - Configure the repository using the . - The specified must extend the - class otherwise the will not be able to - configure it. - - - The does not extend . - - - - Attempt to load configuration from the local file system - - The assembly that this attribute was defined on. - The repository to configure. - - - - Configure the specified repository using a - - The repository to configure. - the FileInfo pointing to the config file - - - - Attempt to load configuration from a URI - - The assembly that this attribute was defined on. - The repository to configure. - - - - Gets or sets the filename of the configuration file. - - - The filename of the configuration file. - - - - If specified, this is the name of the configuration file to use with - the . This file path is relative to the - application base directory (). - - - The takes priority over the . - - - - - - Gets or sets the extension of the configuration file. - - - The extension of the configuration file. - - - - If specified this is the extension for the configuration file. - The path to the config file is built by using the application - base directory (), - the assembly file name and the config file extension. - - - If the is set to MyExt then - possible config file names would be: MyConsoleApp.exe.MyExt or - MyClassLibrary.dll.MyExt. - - - The takes priority over the . - - - - - - Gets or sets a value indicating whether to watch the configuration file. - - - true if the configuration should be watched, false otherwise. - - - - If this flag is specified and set to true then the framework - will watch the configuration file and will reload the config each time - the file is modified. - - - The config file can only be watched if it is loaded from local disk. - In a No-Touch (Smart Client) deployment where the application is downloaded - from a web server the config file may not reside on the local disk - and therefore it may not be able to watch it. - - - Watching configuration is not supported on the SSCLI. - - - - - - Class to register for the log4net section of the configuration file - - - The log4net section of the configuration file needs to have a section - handler registered. This is the section handler used. It simply returns - the XML element that is the root of the section. - - - Example of registering the log4net section handler : - - - -
- - - log4net configuration XML goes here - - - - - Nicko Cadell - Gert Driesen - - - - Initializes a new instance of the class. - - - - Default constructor. - - - - - - Parses the configuration section. - - The configuration settings in a corresponding parent configuration section. - The configuration context when called from the ASP.NET configuration system. Otherwise, this parameter is reserved and is a null reference. - The for the log4net section. - The for the log4net section. - - - Returns the containing the configuration data, - - - - - - Assembly level attribute that specifies a plugin to attach to - the repository. - - - - Specifies the type of a plugin to create and attach to the - assembly's repository. The plugin type must implement the - interface. - - - Nicko Cadell - Gert Driesen - - - - Interface used to create plugins. - - - - Interface used to create a plugin. - - - Nicko Cadell - Gert Driesen - - - - Creates the plugin object. - - the new plugin instance - - - Create and return a new plugin instance. - - - - - - Initializes a new instance of the class - with the specified type. - - The type name of plugin to create. - - - Create the attribute with the plugin type specified. - - - Where possible use the constructor that takes a . - - - - - - Initializes a new instance of the class - with the specified type. - - The type of plugin to create. - - - Create the attribute with the plugin type specified. - - - - - - Creates the plugin object defined by this attribute. - - - - Creates the instance of the object as - specified by this attribute. - - - The plugin object. - - - - Returns a representation of the properties of this object. - - - - Overrides base class method to - return a representation of the properties of this object. - - - A representation of the properties of this object - - - - Gets or sets the type for the plugin. - - - The type for the plugin. - - - - The type for the plugin. - - - - - - Gets or sets the type name for the plugin. - - - The type name for the plugin. - - - - The type name for the plugin. - - - Where possible use the property instead. - - - - - - Assembly level attribute to configure the . - - - - This attribute may only be used at the assembly scope and can only - be used once per assembly. - - - Use this attribute to configure the - without calling one of the - methods. - - - Nicko Cadell - - - - Construct provider attribute with type specified - - the type of the provider to use - - - The provider specified must subclass the - class. - - - - - - Configures the SecurityContextProvider - - The assembly that this attribute was defined on. - The repository to configure. - - - Creates a provider instance from the specified. - Sets this as the default security context provider . - - - - - - Gets or sets the type of the provider to use. - - - the type of the provider to use. - - - - The provider specified must subclass the - class. - - - - - - Use this class to initialize the log4net environment using an Xml tree. - - - - Configures a using an Xml tree. - - - Nicko Cadell - Gert Driesen - - - - Private constructor - - - - - Automatically configures the log4net system based on the - application's configuration settings. - - - - Each application has a configuration file. This has the - same name as the application with '.config' appended. - This file is XML and calling this function prompts the - configurator to look in that file for a section called - log4net that contains the configuration data. - - - To use this method to configure log4net you must specify - the section - handler for the log4net configuration section. See the - for an example. - - - - - - - Automatically configures the using settings - stored in the application's configuration file. - - - - Each application has a configuration file. This has the - same name as the application with '.config' appended. - This file is XML and calling this function prompts the - configurator to look in that file for a section called - log4net that contains the configuration data. - - - To use this method to configure log4net you must specify - the section - handler for the log4net configuration section. See the - for an example. - - - The repository to configure. - - - - Configures log4net using a log4net element - - - - Loads the log4net configuration from the XML element - supplied as . - - - The element to parse. - - - - Configures the using the specified XML - element. - - - Loads the log4net configuration from the XML element - supplied as . - - The repository to configure. - The element to parse. - - - - Configures log4net using the specified configuration file. - - The XML file to load the configuration from. - - - The configuration file must be valid XML. It must contain - at least one element called log4net that holds - the log4net configuration data. - - - The log4net configuration file can possible be specified in the application's - configuration file (either MyAppName.exe.config for a - normal application on Web.config for an ASP.NET application). - - - The first element matching <configuration> will be read as the - configuration. If this file is also a .NET .config file then you must specify - a configuration section for the log4net element otherwise .NET will - complain. Set the type for the section handler to , for example: - - -
- - - - - The following example configures log4net using a configuration file, of which the - location is stored in the application's configuration file : - - - using log4net.Config; - using System.IO; - using System.Configuration; - - ... - - XmlConfigurator.Configure(new FileInfo(ConfigurationSettings.AppSettings["log4net-config-file"])); - - - In the .config file, the path to the log4net can be specified like this : - - - - - - - - - - - - - Configures log4net using the specified configuration URI. - - A URI to load the XML configuration from. - - - The configuration data must be valid XML. It must contain - at least one element called log4net that holds - the log4net configuration data. - - - The must support the URI scheme specified. - - - - - - Configures log4net using the specified configuration data stream. - - A stream to load the XML configuration from. - - - The configuration data must be valid XML. It must contain - at least one element called log4net that holds - the log4net configuration data. - - - Note that this method will NOT close the stream parameter. - - - - - - Configures the using the specified configuration - file. - - The repository to configure. - The XML file to load the configuration from. - - - The configuration file must be valid XML. It must contain - at least one element called log4net that holds - the configuration data. - - - The log4net configuration file can possible be specified in the application's - configuration file (either MyAppName.exe.config for a - normal application on Web.config for an ASP.NET application). - - - The first element matching <configuration> will be read as the - configuration. If this file is also a .NET .config file then you must specify - a configuration section for the log4net element otherwise .NET will - complain. Set the type for the section handler to , for example: - - -
- - - - - The following example configures log4net using a configuration file, of which the - location is stored in the application's configuration file : - - - using log4net.Config; - using System.IO; - using System.Configuration; - - ... - - XmlConfigurator.Configure(new FileInfo(ConfigurationSettings.AppSettings["log4net-config-file"])); - - - In the .config file, the path to the log4net can be specified like this : - - - - - - - - - - - - - Configures the using the specified configuration - URI. - - The repository to configure. - A URI to load the XML configuration from. - - - The configuration data must be valid XML. It must contain - at least one element called log4net that holds - the configuration data. - - - The must support the URI scheme specified. - - - - - - Configures the using the specified configuration - file. - - The repository to configure. - The stream to load the XML configuration from. - - - The configuration data must be valid XML. It must contain - at least one element called log4net that holds - the configuration data. - - - Note that this method will NOT close the stream parameter. - - - - - - Configures log4net using the file specified, monitors the file for changes - and reloads the configuration if a change is detected. - - The XML file to load the configuration from. - - - The configuration file must be valid XML. It must contain - at least one element called log4net that holds - the configuration data. - - - The configuration file will be monitored using a - and depends on the behavior of that class. - - - For more information on how to configure log4net using - a separate configuration file, see . - - - - - - - Configures the using the file specified, - monitors the file for changes and reloads the configuration if a change - is detected. - - The repository to configure. - The XML file to load the configuration from. - - - The configuration file must be valid XML. It must contain - at least one element called log4net that holds - the configuration data. - - - The configuration file will be monitored using a - and depends on the behavior of that class. - - - For more information on how to configure log4net using - a separate configuration file, see . - - - - - - - Configures the specified repository using a log4net element. - - The hierarchy to configure. - The element to parse. - - - Loads the log4net configuration from the XML element - supplied as . - - - This method is ultimately called by one of the Configure methods - to load the configuration from an . - - - - - - Class used to watch config files. - - - - Uses the to monitor - changes to a specified file. Because multiple change notifications - may be raised when the file is modified, a timer is used to - compress the notifications into a single event. The timer - waits for time before delivering - the event notification. If any further - change notifications arrive while the timer is waiting it - is reset and waits again for to - elapse. - - - - - - The default amount of time to wait after receiving notification - before reloading the config file. - - - - - Watch a specified config file used to configure a repository - - The repository to configure. - The configuration file to watch. - - - Watch a specified config file used to configure a repository - - - - - - Holds the FileInfo used to configure the XmlConfigurator - - - - - Holds the repository being configured. - - - - - The timer used to compress the notification events. - - - - - Initializes a new instance of the class. - - The repository to configure. - The configuration file to watch. - - - Initializes a new instance of the class. - - - - - - Event handler used by . - - The firing the event. - The argument indicates the file that caused the event to be fired. - - - This handler reloads the configuration from the file when the event is fired. - - - - - - Event handler used by . - - The firing the event. - The argument indicates the file that caused the event to be fired. - - - This handler reloads the configuration from the file when the event is fired. - - - - - - Called by the timer when the configuration has been updated. - - null - - - - The implementation of the interface suitable - for use with the compact framework - - - - This implementation is a simple - mapping between repository name and - object. - - - The .NET Compact Framework 1.0 does not support retrieving assembly - level attributes therefore unlike the DefaultRepositorySelector - this selector does not examine the calling assembly for attributes. - - - Nicko Cadell - - - - Interface used by the to select the . - - - - The uses a - to specify the policy for selecting the correct - to return to the caller. - - - Nicko Cadell - Gert Driesen - - - - Gets the for the specified assembly. - - The assembly to use to lookup to the - The for the assembly. - - - Gets the for the specified assembly. - - - How the association between and - is made is not defined. The implementation may choose any method for - this association. The results of this method must be repeatable, i.e. - when called again with the same arguments the result must be the - save value. - - - - - - Gets the named . - - The name to use to lookup to the . - The named - - Lookup a named . This is the repository created by - calling . - - - - - Creates a new repository for the assembly specified. - - The assembly to use to create the domain to associate with the . - The type of repository to create, must implement . - The repository created. - - - The created will be associated with the domain - specified such that a call to with the - same assembly specified will return the same repository instance. - - - How the association between and - is made is not defined. The implementation may choose any method for - this association. - - - - - - Creates a new repository with the name specified. - - The name to associate with the . - The type of repository to create, must implement . - The repository created. - - - The created will be associated with the name - specified such that a call to with the - same name will return the same repository instance. - - - - - - Test if a named repository exists - - the named repository to check - true if the repository exists - - - Test if a named repository exists. Use - to create a new repository and to retrieve - a repository. - - - - - - Gets an array of all currently defined repositories. - - - An array of the instances created by - this . - - - Gets an array of all of the repositories created by this selector. - - - - - - Event to notify that a logger repository has been created. - - - Event to notify that a logger repository has been created. - - - - Event raised when a new repository is created. - The event source will be this selector. The event args will - be a which - holds the newly created . - - - - - - Create a new repository selector - - the type of the repositories to create, must implement - - - Create an new compact repository selector. - The default type for repositories must be specified, - an appropriate value would be . - - - throw if is null - throw if does not implement - - - - Get the for the specified assembly - - not used - The default - - - The argument is not used. This selector does not create a - separate repository for each assembly. - - - As a named repository is not specified the default repository is - returned. The default repository is named log4net-default-repository. - - - - - - Get the named - - the name of the repository to lookup - The named - - - Get the named . The default - repository is log4net-default-repository. Other repositories - must be created using the . - If the named repository does not exist an exception is thrown. - - - throw if is null - throw if the does not exist - - - - Create a new repository for the assembly specified - - not used - the type of repository to create, must implement - the repository created - - - The argument is not used. This selector does not create a - separate repository for each assembly. - - - If the is null then the - default repository type specified to the constructor is used. - - - As a named repository is not specified the default repository is - returned. The default repository is named log4net-default-repository. - - - - - - Create a new repository for the repository specified - - the repository to associate with the - the type of repository to create, must implement . - If this param is null then the default repository type is used. - the repository created - - - The created will be associated with the repository - specified such that a call to with the - same repository specified will return the same repository instance. - - - If the named repository already exists an exception will be thrown. - - - If is null then the default - repository type specified to the constructor is used. - - - throw if is null - throw if the already exists - - - - Test if a named repository exists - - the named repository to check - true if the repository exists - - - Test if a named repository exists. Use - to create a new repository and to retrieve - a repository. - - - - - - Gets a list of objects - - an array of all known objects - - - Gets an array of all of the repositories created by this selector. - - - - - - Notify the registered listeners that the repository has been created - - The repository that has been created - - - Raises the LoggerRepositoryCreatedEvent - event. - - - - - - Event to notify that a logger repository has been created. - - - Event to notify that a logger repository has been created. - - - - Event raised when a new repository is created. - The event source will be this selector. The event args will - be a which - holds the newly created . - - - - - - The default implementation of the interface. - - - - Uses attributes defined on the calling assembly to determine how to - configure the hierarchy for the repository. - - - Nicko Cadell - Gert Driesen - - - - Creates a new repository selector. - - The type of the repositories to create, must implement - - - Create an new repository selector. - The default type for repositories must be specified, - an appropriate value would be . - - - is . - does not implement . - - - - Gets the for the specified assembly. - - The assembly use to lookup the . - - - The type of the created and the repository - to create can be overridden by specifying the - attribute on the . - - - The default values are to use the - implementation of the interface and to use the - as the name of the repository. - - - The created will be automatically configured using - any attributes defined on - the . - - - The for the assembly - is . - - - - Gets the for the specified repository. - - The repository to use to lookup the . - The for the specified repository. - - - Returns the named repository. If is null - a is thrown. If the repository - does not exist a is thrown. - - - Use to create a repository. - - - is . - does not exist. - - - - Create a new repository for the assembly specified - - the assembly to use to create the repository to associate with the . - The type of repository to create, must implement . - The repository created. - - - The created will be associated with the repository - specified such that a call to with the - same assembly specified will return the same repository instance. - - - The type of the created and - the repository to create can be overridden by specifying the - attribute on the - . The default values are to use the - implementation of the - interface and to use the - as the name of the repository. - - - The created will be automatically - configured using any - attributes defined on the . - - - If a repository for the already exists - that repository will be returned. An error will not be raised and that - repository may be of a different type to that specified in . - Also the attribute on the - assembly may be used to override the repository type specified in - . - - - is . - - - - Creates a new repository for the assembly specified. - - the assembly to use to create the repository to associate with the . - The type of repository to create, must implement . - The name to assign to the created repository - Set to true to read and apply the assembly attributes - The repository created. - - - The created will be associated with the repository - specified such that a call to with the - same assembly specified will return the same repository instance. - - - The type of the created and - the repository to create can be overridden by specifying the - attribute on the - . The default values are to use the - implementation of the - interface and to use the - as the name of the repository. - - - The created will be automatically - configured using any - attributes defined on the . - - - If a repository for the already exists - that repository will be returned. An error will not be raised and that - repository may be of a different type to that specified in . - Also the attribute on the - assembly may be used to override the repository type specified in - . - - - is . - - - - Creates a new repository for the specified repository. - - The repository to associate with the . - The type of repository to create, must implement . - If this param is then the default repository type is used. - The new repository. - - - The created will be associated with the repository - specified such that a call to with the - same repository specified will return the same repository instance. - - - is . - already exists. - - - - Test if a named repository exists - - the named repository to check - true if the repository exists - - - Test if a named repository exists. Use - to create a new repository and to retrieve - a repository. - - - - - - Gets a list of objects - - an array of all known objects - - - Gets an array of all of the repositories created by this selector. - - - - - - Aliases a repository to an existing repository. - - The repository to alias. - The repository that the repository is aliased to. - - - The repository specified will be aliased to the repository when created. - The repository must not already exist. - - - When the repository is created it must utilize the same repository type as - the repository it is aliased to, otherwise the aliasing will fail. - - - - is . - -or- - is . - - - - - Notifies the registered listeners that the repository has been created. - - The repository that has been created. - - - Raises the event. - - - - - - Gets the repository name and repository type for the specified assembly. - - The assembly that has a . - in/out param to hold the repository name to use for the assembly, caller should set this to the default value before calling. - in/out param to hold the type of the repository to create for the assembly, caller should set this to the default value before calling. - is . - - - - Configures the repository using information from the assembly. - - The assembly containing - attributes which define the configuration for the repository. - The repository to configure. - - is . - -or- - is . - - - - - Loads the attribute defined plugins on the assembly. - - The assembly that contains the attributes. - The repository to add the plugins to. - - is . - -or- - is . - - - - - Loads the attribute defined aliases on the assembly. - - The assembly that contains the attributes. - The repository to alias to. - - is . - -or- - is . - - - - - Event to notify that a logger repository has been created. - - - Event to notify that a logger repository has been created. - - - - Event raised when a new repository is created. - The event source will be this selector. The event args will - be a which - holds the newly created . - - - - - - Defined error codes that can be passed to the method. - - - - Values passed to the method. - - - Nicko Cadell - - - - A general error - - - - - Error while writing output - - - - - Failed to flush file - - - - - Failed to close file - - - - - Unable to open output file - - - - - No layout specified - - - - - Failed to parse address - - - - - Appenders may delegate their error handling to an . - - - - Error handling is a particularly tedious to get right because by - definition errors are hard to predict and to reproduce. - - - Nicko Cadell - Gert Driesen - - - - Handles the error and information about the error condition is passed as - a parameter. - - The message associated with the error. - The that was thrown when the error occurred. - The error code associated with the error. - - - Handles the error and information about the error condition is passed as - a parameter. - - - - - - Prints the error message passed as a parameter. - - The message associated with the error. - The that was thrown when the error occurred. - - - See . - - - - - - Prints the error message passed as a parameter. - - The message associated with the error. - - - See . - - - - - - Interface for objects that require fixing. - - - - Interface that indicates that the object requires fixing before it - can be taken outside the context of the appender's - method. - - - When objects that implement this interface are stored - in the context properties maps - and - are fixed - (see ) the - method will be called. - - - Nicko Cadell - - - - Get a portable version of this object - - the portable instance of this object - - - Get a portable instance object that represents the current - state of this object. The portable object can be stored - and logged from any thread with identical results. - - - - - - Interface that all loggers implement - - - - This interface supports logging events and testing if a level - is enabled for logging. - - - These methods will not throw exceptions. Note to implementor, ensure - that the implementation of these methods cannot allow an exception - to be thrown to the caller. - - - Nicko Cadell - Gert Driesen - - - - This generic form is intended to be used by wrappers. - - The declaring type of the method that is - the stack boundary into the logging system for this call. - The level of the message to be logged. - The message object to log. - the exception to log, including its stack trace. Pass null to not log an exception. - - - Generates a logging event for the specified using - the and . - - - - - - This is the most generic printing method that is intended to be used - by wrappers. - - The event being logged. - - - Logs the specified logging event through this logger. - - - - - - Checks if this logger is enabled for a given passed as parameter. - - The level to check. - - true if this logger is enabled for level, otherwise false. - - - - Test if this logger is going to log events of the specified . - - - - - - Gets the name of the logger. - - - The name of the logger. - - - - The name of this logger - - - - - - Gets the where this - Logger instance is attached to. - - - The that this logger belongs to. - - - - Gets the where this - Logger instance is attached to. - - - - - - Base interface for all wrappers - - - - Base interface for all wrappers. - - - All wrappers must implement this interface. - - - Nicko Cadell - - - - Get the implementation behind this wrapper object. - - - The object that in implementing this object. - - - - The object that in implementing this - object. The Logger object may not - be the same object as this object because of logger decorators. - This gets the actual underlying objects that is used to process - the log events. - - - - - - Delegate used to handle logger repository creation event notifications - - The which created the repository. - The event args - that holds the instance that has been created. - - - Delegate used to handle logger repository creation event notifications. - - - - - - Provides data for the event. - - - - A - event is raised every time a is created. - - - - - - The created - - - - - Construct instance using specified - - the that has been created - - - Construct instance using specified - - - - - - The that has been created - - - The that has been created - - - - The that has been created - - - - - - Test if an triggers an action - - - - Implementations of this interface allow certain appenders to decide - when to perform an appender specific action. - - - The action or behavior triggered is defined by the implementation. - - - Nicko Cadell - - - - Test if this event triggers the action - - The event to check - true if this event triggers the action, otherwise false - - - Return true if this event triggers the action - - - - - - Defines the default set of levels recognized by the system. - - - - Each has an associated . - - - Levels have a numeric that defines the relative - ordering between levels. Two Levels with the same - are deemed to be equivalent. - - - The levels that are recognized by log4net are set for each - and each repository can have different levels defined. The levels are stored - in the on the repository. Levels are - looked up by name from the . - - - When logging at level INFO the actual level used is not but - the value of LoggerRepository.LevelMap["INFO"]. The default value for this is - , but this can be changed by reconfiguring the level map. - - - Each level has a in addition to its . The - is the string that is written into the output log. By default - the display name is the same as the level name, but this can be used to alias levels - or to localize the log output. - - - Some of the predefined levels recognized by the system are: - - - - . - - - . - - - . - - - . - - - . - - - . - - - . - - - - Nicko Cadell - Gert Driesen - - - - Constructor - - Integer value for this level, higher values represent more severe levels. - The string name of this level. - The display name for this level. This may be localized or otherwise different from the name - - - Initializes a new instance of the class with - the specified level name and value. - - - - - - Constructor - - Integer value for this level, higher values represent more severe levels. - The string name of this level. - - - Initializes a new instance of the class with - the specified level name and value. - - - - - - Returns the representation of the current - . - - - A representation of the current . - - - - Returns the level . - - - - - - Compares levels. - - The object to compare against. - true if the objects are equal. - - - Compares the levels of instances, and - defers to base class if the target object is not a - instance. - - - - - - Returns a hash code - - A hash code for the current . - - - Returns a hash code suitable for use in hashing algorithms and data - structures like a hash table. - - - Returns the hash code of the level . - - - - - - Compares this instance to a specified object and returns an - indication of their relative values. - - A instance or to compare with this instance. - - A 32-bit signed integer that indicates the relative order of the - values compared. The return value has these meanings: - - - Value - Meaning - - - Less than zero - This instance is less than . - - - Zero - This instance is equal to . - - - Greater than zero - - This instance is greater than . - -or- - is . - - - - - - - must be an instance of - or ; otherwise, an exception is thrown. - - - is not a . - - - - Returns a value indicating whether a specified - is greater than another specified . - - A - A - - true if is greater than - ; otherwise, false. - - - - Compares two levels. - - - - - - Returns a value indicating whether a specified - is less than another specified . - - A - A - - true if is less than - ; otherwise, false. - - - - Compares two levels. - - - - - - Returns a value indicating whether a specified - is greater than or equal to another specified . - - A - A - - true if is greater than or equal to - ; otherwise, false. - - - - Compares two levels. - - - - - - Returns a value indicating whether a specified - is less than or equal to another specified . - - A - A - - true if is less than or equal to - ; otherwise, false. - - - - Compares two levels. - - - - - - Returns a value indicating whether two specified - objects have the same value. - - A or . - A or . - - true if the value of is the same as the - value of ; otherwise, false. - - - - Compares two levels. - - - - - - Returns a value indicating whether two specified - objects have different values. - - A or . - A or . - - true if the value of is different from - the value of ; otherwise, false. - - - - Compares two levels. - - - - - - Compares two specified instances. - - The first to compare. - The second to compare. - - A 32-bit signed integer that indicates the relative order of the - two values compared. The return value has these meanings: - - - Value - Meaning - - - Less than zero - is less than . - - - Zero - is equal to . - - - Greater than zero - is greater than . - - - - - - Compares two levels. - - - - - - The level designates a higher level than all the rest. - - - - - The level designates very severe error events. - System unusable, emergencies. - - - - - The level designates very severe error events - that will presumably lead the application to abort. - - - - - The level designates very severe error events. - Take immediate action, alerts. - - - - - The level designates very severe error events. - Critical condition, critical. - - - - - The level designates very severe error events. - - - - - The level designates error events that might - still allow the application to continue running. - - - - - The level designates potentially harmful - situations. - - - - - The level designates informational messages - that highlight the progress of the application at the highest level. - - - - - The level designates informational messages that - highlight the progress of the application at coarse-grained level. - - - - - The level designates fine-grained informational - events that are most useful to debug an application. - - - - - The level designates fine-grained informational - events that are most useful to debug an application. - - - - - The level designates fine-grained informational - events that are most useful to debug an application. - - - - - The level designates fine-grained informational - events that are most useful to debug an application. - - - - - The level designates fine-grained informational - events that are most useful to debug an application. - - - - - The level designates fine-grained informational - events that are most useful to debug an application. - - - - - The level designates the lowest level possible. - - - - - Gets the name of this level. - - - The name of this level. - - - - Gets the name of this level. - - - - - - Gets the value of this level. - - - The value of this level. - - - - Gets the value of this level. - - - - - - Gets the display name of this level. - - - The display name of this level. - - - - Gets the display name of this level. - - - - - - A strongly-typed collection of objects. - - Nicko Cadell - - - - Creates a read-only wrapper for a LevelCollection instance. - - list to create a readonly wrapper arround - - A LevelCollection wrapper that is read-only. - - - - - Initializes a new instance of the LevelCollection class - that is empty and has the default initial capacity. - - - - - Initializes a new instance of the LevelCollection class - that has the specified initial capacity. - - - The number of elements that the new LevelCollection is initially capable of storing. - - - - - Initializes a new instance of the LevelCollection class - that contains elements copied from the specified LevelCollection. - - The LevelCollection whose elements are copied to the new collection. - - - - Initializes a new instance of the LevelCollection class - that contains elements copied from the specified array. - - The array whose elements are copied to the new list. - - - - Initializes a new instance of the LevelCollection class - that contains elements copied from the specified collection. - - The collection whose elements are copied to the new list. - - - - Allow subclasses to avoid our default constructors - - - - - - Copies the entire LevelCollection to a one-dimensional - array. - - The one-dimensional array to copy to. - - - - Copies the entire LevelCollection to a one-dimensional - array, starting at the specified index of the target array. - - The one-dimensional array to copy to. - The zero-based index in at which copying begins. - - - - Adds a to the end of the LevelCollection. - - The to be added to the end of the LevelCollection. - The index at which the value has been added. - - - - Removes all elements from the LevelCollection. - - - - - Creates a shallow copy of the . - - A new with a shallow copy of the collection data. - - - - Determines whether a given is in the LevelCollection. - - The to check for. - true if is found in the LevelCollection; otherwise, false. - - - - Returns the zero-based index of the first occurrence of a - in the LevelCollection. - - The to locate in the LevelCollection. - - The zero-based index of the first occurrence of - in the entire LevelCollection, if found; otherwise, -1. - - - - - Inserts an element into the LevelCollection at the specified index. - - The zero-based index at which should be inserted. - The to insert. - - is less than zero - -or- - is equal to or greater than . - - - - - Removes the first occurrence of a specific from the LevelCollection. - - The to remove from the LevelCollection. - - The specified was not found in the LevelCollection. - - - - - Removes the element at the specified index of the LevelCollection. - - The zero-based index of the element to remove. - - is less than zero - -or- - is equal to or greater than . - - - - - Returns an enumerator that can iterate through the LevelCollection. - - An for the entire LevelCollection. - - - - Adds the elements of another LevelCollection to the current LevelCollection. - - The LevelCollection whose elements should be added to the end of the current LevelCollection. - The new of the LevelCollection. - - - - Adds the elements of a array to the current LevelCollection. - - The array whose elements should be added to the end of the LevelCollection. - The new of the LevelCollection. - - - - Adds the elements of a collection to the current LevelCollection. - - The collection whose elements should be added to the end of the LevelCollection. - The new of the LevelCollection. - - - - Sets the capacity to the actual number of elements. - - - - - is less than zero - -or- - is equal to or greater than . - - - - - is less than zero - -or- - is equal to or greater than . - - - - - Gets the number of elements actually contained in the LevelCollection. - - - - - Gets a value indicating whether access to the collection is synchronized (thread-safe). - - true if access to the ICollection is synchronized (thread-safe); otherwise, false. - - - - Gets an object that can be used to synchronize access to the collection. - - - - - Gets or sets the at the specified index. - - The zero-based index of the element to get or set. - - is less than zero - -or- - is equal to or greater than . - - - - - Gets a value indicating whether the collection has a fixed size. - - true if the collection has a fixed size; otherwise, false. The default is false - - - - Gets a value indicating whether the IList is read-only. - - true if the collection is read-only; otherwise, false. The default is false - - - - Gets or sets the number of elements the LevelCollection can contain. - - - - - Supports type-safe iteration over a . - - - - - Advances the enumerator to the next element in the collection. - - - true if the enumerator was successfully advanced to the next element; - false if the enumerator has passed the end of the collection. - - - The collection was modified after the enumerator was created. - - - - - Sets the enumerator to its initial position, before the first element in the collection. - - - - - Gets the current element in the collection. - - - - - Type visible only to our subclasses - Used to access protected constructor - - - - - A value - - - - - Supports simple iteration over a . - - - - - Initializes a new instance of the Enumerator class. - - - - - - Advances the enumerator to the next element in the collection. - - - true if the enumerator was successfully advanced to the next element; - false if the enumerator has passed the end of the collection. - - - The collection was modified after the enumerator was created. - - - - - Sets the enumerator to its initial position, before the first element in the collection. - - - - - Gets the current element in the collection. - - - - - An evaluator that triggers at a threshold level - - - - This evaluator will trigger if the level of the event - passed to - is equal to or greater than the - level. - - - Nicko Cadell - - - - The threshold for triggering - - - - - Create a new evaluator using the threshold. - - - - Create a new evaluator using the threshold. - - - This evaluator will trigger if the level of the event - passed to - is equal to or greater than the - level. - - - - - - Create a new evaluator using the specified threshold. - - the threshold to trigger at - - - Create a new evaluator using the specified threshold. - - - This evaluator will trigger if the level of the event - passed to - is equal to or greater than the - level. - - - - - - Is this the triggering event? - - The event to check - This method returns true, if the event level - is equal or higher than the . - Otherwise it returns false - - - This evaluator will trigger if the level of the event - passed to - is equal to or greater than the - level. - - - - - - the threshold to trigger at - - - The that will cause this evaluator to trigger - - - - This evaluator will trigger if the level of the event - passed to - is equal to or greater than the - level. - - - - - - Mapping between string name and Level object - - - - Mapping between string name and object. - This mapping is held separately for each . - The level name is case insensitive. - - - Nicko Cadell - - - - Mapping from level name to Level object. The - level name is case insensitive - - - - - Construct the level map - - - - Construct the level map. - - - - - - Clear the internal maps of all levels - - - - Clear the internal maps of all levels - - - - - - Create a new Level and add it to the map - - the string to display for the Level - the level value to give to the Level - - - Create a new Level and add it to the map - - - - - - - Create a new Level and add it to the map - - the string to display for the Level - the level value to give to the Level - the display name to give to the Level - - - Create a new Level and add it to the map - - - - - - Add a Level to the map - - the Level to add - - - Add a Level to the map - - - - - - Lookup a named level from the map - - the name of the level to lookup is taken from this level. - If the level is not set on the map then this level is added - the level in the map with the name specified - - - Lookup a named level from the map. The name of the level to lookup is taken - from the property of the - argument. - - - If no level with the specified name is found then the - argument is added to the level map - and returned. - - - - - - Lookup a by name - - The name of the Level to lookup - a Level from the map with the name specified - - - Returns the from the - map with the name specified. If the no level is - found then null is returned. - - - - - - Return all possible levels as a list of Level objects. - - all possible levels as a list of Level objects - - - Return all possible levels as a list of Level objects. - - - - - - The internal representation of caller location information. - - - - This class uses the System.Diagnostics.StackTrace class to generate - a call stack. The caller's information is then extracted from this stack. - - - The System.Diagnostics.StackTrace class is not supported on the - .NET Compact Framework 1.0 therefore caller location information is not - available on that framework. - - - The System.Diagnostics.StackTrace class has this to say about Release builds: - - - "StackTrace information will be most informative with Debug build configurations. - By default, Debug builds include debug symbols, while Release builds do not. The - debug symbols contain most of the file, method name, line number, and column - information used in constructing StackFrame and StackTrace objects. StackTrace - might not report as many method calls as expected, due to code transformations - that occur during optimization." - - - This means that in a Release build the caller information may be incomplete or may - not exist at all! Therefore caller location information cannot be relied upon in a Release build. - - - Nicko Cadell - Gert Driesen - - - - When location information is not available the constant - NA is returned. Current value of this string - constant is ?. - - - - - Constructor - - The declaring type of the method that is - the stack boundary into the logging system for this call. - - - Initializes a new instance of the - class based on the current thread. - - - - - - Constructor - - The fully qualified class name. - The method name. - The file name. - The line number of the method within the file. - - - Initializes a new instance of the - class with the specified data. - - - - - - Gets the fully qualified class name of the caller making the logging - request. - - - The fully qualified class name of the caller making the logging - request. - - - - Gets the fully qualified class name of the caller making the logging - request. - - - - - - Gets the file name of the caller. - - - The file name of the caller. - - - - Gets the file name of the caller. - - - - - - Gets the line number of the caller. - - - The line number of the caller. - - - - Gets the line number of the caller. - - - - - - Gets the method name of the caller. - - - The method name of the caller. - - - - Gets the method name of the caller. - - - - - - Gets all available caller information - - - All available caller information, in the format - fully.qualified.classname.of.caller.methodName(Filename:line) - - - - Gets all available caller information, in the format - fully.qualified.classname.of.caller.methodName(Filename:line) - - - - - - Static manager that controls the creation of repositories - - - - Static manager that controls the creation of repositories - - - This class is used by the wrapper managers (e.g. ) - to provide access to the objects. - - - This manager also holds the that is used to - lookup and create repositories. The selector can be set either programmatically using - the property, or by setting the log4net.RepositorySelector - AppSetting in the applications config file to the fully qualified type name of the - selector to use. - - - Nicko Cadell - Gert Driesen - - - - Private constructor to prevent instances. Only static methods should be used. - - - - Private constructor to prevent instances. Only static methods should be used. - - - - - - Hook the shutdown event - - - - On the full .NET runtime, the static constructor hooks up the - AppDomain.ProcessExit and AppDomain.DomainUnload> events. - These are used to shutdown the log4net system as the application exits. - - - - - - Register for ProcessExit and DomainUnload events on the AppDomain - - - - This needs to be in a separate method because the events make - a LinkDemand for the ControlAppDomain SecurityPermission. Because - this is a LinkDemand it is demanded at JIT time. Therefore we cannot - catch the exception in the method itself, we have to catch it in the - caller. - - - - - - Return the default instance. - - the repository to lookup in - Return the default instance - - - Gets the for the repository specified - by the argument. - - - - - - Returns the default instance. - - The assembly to use to lookup the repository. - The default instance. - - - - Return the default instance. - - the repository to lookup in - Return the default instance - - - Gets the for the repository specified - by the argument. - - - - - - Returns the default instance. - - The assembly to use to lookup the repository. - The default instance. - - - Returns the default instance. - - - - - - Returns the named logger if it exists. - - The repository to lookup in. - The fully qualified logger name to look for. - - The logger found, or null if the named logger does not exist in the - specified repository. - - - - If the named logger exists (in the specified repository) then it - returns a reference to the logger, otherwise it returns - null. - - - - - - Returns the named logger if it exists. - - The assembly to use to lookup the repository. - The fully qualified logger name to look for. - - The logger found, or null if the named logger does not exist in the - specified assembly's repository. - - - - If the named logger exists (in the specified assembly's repository) then it - returns a reference to the logger, otherwise it returns - null. - - - - - - Returns all the currently defined loggers in the specified repository. - - The repository to lookup in. - All the defined loggers. - - - The root logger is not included in the returned array. - - - - - - Returns all the currently defined loggers in the specified assembly's repository. - - The assembly to use to lookup the repository. - All the defined loggers. - - - The root logger is not included in the returned array. - - - - - - Retrieves or creates a named logger. - - The repository to lookup in. - The name of the logger to retrieve. - The logger with the name specified. - - - Retrieves a logger named as the - parameter. If the named logger already exists, then the - existing instance will be returned. Otherwise, a new instance is - created. - - - By default, loggers do not have a set level but inherit - it from the hierarchy. This is one of the central features of - log4net. - - - - - - Retrieves or creates a named logger. - - The assembly to use to lookup the repository. - The name of the logger to retrieve. - The logger with the name specified. - - - Retrieves a logger named as the - parameter. If the named logger already exists, then the - existing instance will be returned. Otherwise, a new instance is - created. - - - By default, loggers do not have a set level but inherit - it from the hierarchy. This is one of the central features of - log4net. - - - - - - Shorthand for . - - The repository to lookup in. - The of which the fullname will be used as the name of the logger to retrieve. - The logger with the name specified. - - - Gets the logger for the fully qualified name of the type specified. - - - - - - Shorthand for . - - the assembly to use to lookup the repository - The of which the fullname will be used as the name of the logger to retrieve. - The logger with the name specified. - - - Gets the logger for the fully qualified name of the type specified. - - - - - - Shuts down the log4net system. - - - - Calling this method will safely close and remove all - appenders in all the loggers including root contained in all the - default repositories. - - - Some appenders need to be closed before the application exists. - Otherwise, pending logging events might be lost. - - - The shutdown method is careful to close nested - appenders before closing regular appenders. This is allows - configurations where a regular appender is attached to a logger - and again to a nested appender. - - - - - - Shuts down the repository for the repository specified. - - The repository to shutdown. - - - Calling this method will safely close and remove all - appenders in all the loggers including root contained in the - repository for the specified. - - - Some appenders need to be closed before the application exists. - Otherwise, pending logging events might be lost. - - - The shutdown method is careful to close nested - appenders before closing regular appenders. This is allows - configurations where a regular appender is attached to a logger - and again to a nested appender. - - - - - - Shuts down the repository for the repository specified. - - The assembly to use to lookup the repository. - - - Calling this method will safely close and remove all - appenders in all the loggers including root contained in the - repository for the repository. The repository is looked up using - the specified. - - - Some appenders need to be closed before the application exists. - Otherwise, pending logging events might be lost. - - - The shutdown method is careful to close nested - appenders before closing regular appenders. This is allows - configurations where a regular appender is attached to a logger - and again to a nested appender. - - - - - - Resets all values contained in this repository instance to their defaults. - - The repository to reset. - - - Resets all values contained in the repository instance to their - defaults. This removes all appenders from all loggers, sets - the level of all non-root loggers to null, - sets their additivity flag to true and sets the level - of the root logger to . Moreover, - message disabling is set its default "off" value. - - - - - - Resets all values contained in this repository instance to their defaults. - - The assembly to use to lookup the repository to reset. - - - Resets all values contained in the repository instance to their - defaults. This removes all appenders from all loggers, sets - the level of all non-root loggers to null, - sets their additivity flag to true and sets the level - of the root logger to . Moreover, - message disabling is set its default "off" value. - - - - - - Creates a repository with the specified name. - - The name of the repository, this must be unique amongst repositories. - The created for the repository. - - - CreateDomain is obsolete. Use CreateRepository instead of CreateDomain. - - - Creates the default type of which is a - object. - - - The name must be unique. Repositories cannot be redefined. - An will be thrown if the repository already exists. - - - The specified repository already exists. - - - - Creates a repository with the specified name. - - The name of the repository, this must be unique amongst repositories. - The created for the repository. - - - Creates the default type of which is a - object. - - - The name must be unique. Repositories cannot be redefined. - An will be thrown if the repository already exists. - - - The specified repository already exists. - - - - Creates a repository with the specified name and repository type. - - The name of the repository, this must be unique to the repository. - A that implements - and has a no arg constructor. An instance of this type will be created to act - as the for the repository specified. - The created for the repository. - - - CreateDomain is obsolete. Use CreateRepository instead of CreateDomain. - - - The name must be unique. Repositories cannot be redefined. - An Exception will be thrown if the repository already exists. - - - The specified repository already exists. - - - - Creates a repository with the specified name and repository type. - - The name of the repository, this must be unique to the repository. - A that implements - and has a no arg constructor. An instance of this type will be created to act - as the for the repository specified. - The created for the repository. - - - The name must be unique. Repositories cannot be redefined. - An Exception will be thrown if the repository already exists. - - - The specified repository already exists. - - - - Creates a repository for the specified assembly and repository type. - - The assembly to use to get the name of the repository. - A that implements - and has a no arg constructor. An instance of this type will be created to act - as the for the repository specified. - The created for the repository. - - - CreateDomain is obsolete. Use CreateRepository instead of CreateDomain. - - - The created will be associated with the repository - specified such that a call to with the - same assembly specified will return the same repository instance. - - - - - - Creates a repository for the specified assembly and repository type. - - The assembly to use to get the name of the repository. - A that implements - and has a no arg constructor. An instance of this type will be created to act - as the for the repository specified. - The created for the repository. - - - The created will be associated with the repository - specified such that a call to with the - same assembly specified will return the same repository instance. - - - - - - Gets an array of all currently defined repositories. - - An array of all the known objects. - - - Gets an array of all currently defined repositories. - - - - - - Internal method to get pertinent version info. - - A string of version info. - - - - Called when the event fires - - the that is exiting - null - - - Called when the event fires. - - - When the event is triggered the log4net system is . - - - - - - Called when the event fires - - the that is exiting - null - - - Called when the event fires. - - - When the event is triggered the log4net system is . - - - - - - Initialize the default repository selector - - - - - Gets or sets the repository selector used by the . - - - The repository selector used by the . - - - - The repository selector () is used by - the to create and select repositories - (). - - - The caller to supplies either a string name - or an assembly (if not supplied the assembly is inferred using - ). - - - This context is used by the selector to lookup a specific repository. - - - For the full .NET Framework, the default repository is DefaultRepositorySelector; - for the .NET Compact Framework CompactRepositorySelector is the default - repository. - - - - - - Implementation of the interface. - - - - This class should be used as the base for all wrapper implementations. - - - Nicko Cadell - Gert Driesen - - - - Constructs a new wrapper for the specified logger. - - The logger to wrap. - - - Constructs a new wrapper for the specified logger. - - - - - - The logger that this object is wrapping - - - - - Gets the implementation behind this wrapper object. - - - The object that this object is implementing. - - - - The Logger object may not be the same object as this object - because of logger decorators. - - - This gets the actual underlying objects that is used to process - the log events. - - - - - - Portable data structure used by - - - - Portable data structure used by - - - Nicko Cadell - - - - The logger name. - - - - The logger name. - - - - - - Level of logging event. - - - - Level of logging event. Level cannot be Serializable - because it is a flyweight. Due to its special serialization it - cannot be declared final either. - - - - - - The application supplied message. - - - - The application supplied message of logging event. - - - - - - The name of thread - - - - The name of thread in which this logging event was generated - - - - - - The time the event was logged - - - - The TimeStamp is stored in the local time zone for this computer. - - - - - - Location information for the caller. - - - - Location information for the caller. - - - - - - String representation of the user - - - - String representation of the user's windows name, - like DOMAIN\username - - - - - - String representation of the identity. - - - - String representation of the current thread's principal identity. - - - - - - The string representation of the exception - - - - The string representation of the exception - - - - - - String representation of the AppDomain. - - - - String representation of the AppDomain. - - - - - - Additional event specific properties - - - - A logger or an appender may attach additional - properties to specific events. These properties - have a string key and an object value. - - - - - - Flags passed to the property - - - - Flags passed to the property - - - Nicko Cadell - - - - Fix the MDC - - - - - Fix the NDC - - - - - Fix the rendered message - - - - - Fix the thread name - - - - - Fix the callers location information - - - CAUTION: Very slow to generate - - - - - Fix the callers windows user name - - - CAUTION: Slow to generate - - - - - Fix the domain friendly name - - - - - Fix the callers principal name - - - CAUTION: May be slow to generate - - - - - Fix the exception text - - - - - Fix the event properties - - - - - No fields fixed - - - - - All fields fixed - - - - - Partial fields fixed - - - - This set of partial fields gives good performance. The following fields are fixed: - - - - - - - - - - - - - The internal representation of logging events. - - - - When an affirmative decision is made to log then a - instance is created. This instance - is passed around to the different log4net components. - - - This class is of concern to those wishing to extend log4net. - - - Some of the values in instances of - are considered volatile, that is the values are correct at the - time the event is delivered to appenders, but will not be consistent - at any time afterwards. If an event is to be stored and then processed - at a later time these volatile values must be fixed by calling - . There is a performance penalty - for incurred by calling but it - is essential to maintaining data consistency. - - - Nicko Cadell - Gert Driesen - Douglas de la Torre - Daniel Cazzulino - - - - The key into the Properties map for the host name value. - - - - - The key into the Properties map for the thread identity value. - - - - - The key into the Properties map for the user name value. - - - - - Initializes a new instance of the class - from the supplied parameters. - - The declaring type of the method that is - the stack boundary into the logging system for this call. - The repository this event is logged in. - The name of the logger of this event. - The level of this event. - The message of this event. - The exception for this event. - - - Except , and , - all fields of LoggingEvent are filled when actually needed. Call - to cache all data locally - to prevent inconsistencies. - - This method is called by the log4net framework - to create a logging event. - - - - - - Initializes a new instance of the class - using specific data. - - The declaring type of the method that is - the stack boundary into the logging system for this call. - The repository this event is logged in. - Data used to initialize the logging event. - The fields in the struct that have already been fixed. - - - This constructor is provided to allow a - to be created independently of the log4net framework. This can - be useful if you require a custom serialization scheme. - - - Use the method to obtain an - instance of the class. - - - The parameter should be used to specify which fields in the - struct have been preset. Fields not specified in the - will be captured from the environment if requested or fixed. - - - - - - Initializes a new instance of the class - using specific data. - - The declaring type of the method that is - the stack boundary into the logging system for this call. - The repository this event is logged in. - Data used to initialize the logging event. - - - This constructor is provided to allow a - to be created independently of the log4net framework. This can - be useful if you require a custom serialization scheme. - - - Use the method to obtain an - instance of the class. - - - This constructor sets this objects flags to , - this assumes that all the data relating to this event is passed in via the - parameter and no other data should be captured from the environment. - - - - - - Initializes a new instance of the class - using specific data. - - Data used to initialize the logging event. - - - This constructor is provided to allow a - to be created independently of the log4net framework. This can - be useful if you require a custom serialization scheme. - - - Use the method to obtain an - instance of the class. - - - This constructor sets this objects flags to , - this assumes that all the data relating to this event is passed in via the - parameter and no other data should be captured from the environment. - - - - - - Serialization constructor - - The that holds the serialized object data. - The that contains contextual information about the source or destination. - - - Initializes a new instance of the class - with serialized data. - - - - - - Ensure that the repository is set. - - the value for the repository - - - - Write the rendered message to a TextWriter - - the writer to write the message to - - - Unlike the property this method - does store the message data in the internal cache. Therefore - if called only once this method should be faster than the - property, however if the message is - to be accessed multiple times then the property will be more efficient. - - - - - - Serializes this object into the provided. - - The to populate with data. - The destination for this serialization. - - - The data in this event must be fixed before it can be serialized. - - - The method must be called during the - method call if this event - is to be used outside that method. - - - - - - Gets the portable data for this . - - The for this event. - - - A new can be constructed using a - instance. - - - Does a fix of the data - in the logging event before returning the event data. - - - - - - Gets the portable data for this . - - The set of data to ensure is fixed in the LoggingEventData - The for this event. - - - A new can be constructed using a - instance. - - - - - - Returns this event's exception's rendered using the - . - - - This event's exception's rendered using the . - - - - Obsolete. Use instead. - - - - - - Returns this event's exception's rendered using the - . - - - This event's exception's rendered using the . - - - - Returns this event's exception's rendered using the - . - - - - - - Fix instance fields that hold volatile data. - - - - Some of the values in instances of - are considered volatile, that is the values are correct at the - time the event is delivered to appenders, but will not be consistent - at any time afterwards. If an event is to be stored and then processed - at a later time these volatile values must be fixed by calling - . There is a performance penalty - incurred by calling but it - is essential to maintaining data consistency. - - - Calling is equivalent to - calling passing the parameter - false. - - - See for more - information. - - - - - - Fixes instance fields that hold volatile data. - - Set to true to not fix data that takes a long time to fix. - - - Some of the values in instances of - are considered volatile, that is the values are correct at the - time the event is delivered to appenders, but will not be consistent - at any time afterwards. If an event is to be stored and then processed - at a later time these volatile values must be fixed by calling - . There is a performance penalty - for incurred by calling but it - is essential to maintaining data consistency. - - - The param controls the data that - is fixed. Some of the data that can be fixed takes a long time to - generate, therefore if you do not require those settings to be fixed - they can be ignored by setting the param - to true. This setting will ignore the - and settings. - - - Set to false to ensure that all - settings are fixed. - - - - - - Fix the fields specified by the parameter - - the fields to fix - - - Only fields specified in the will be fixed. - Fields will not be fixed if they have previously been fixed. - It is not possible to 'unfix' a field. - - - - - - Lookup a composite property in this event - - the key for the property to lookup - the value for the property - - - This event has composite properties that combine together properties from - several different contexts in the following order: - - - this events properties - - This event has that can be set. These - properties are specific to this event only. - - - - the thread properties - - The that are set on the current - thread. These properties are shared by all events logged on this thread. - - - - the global properties - - The that are set globally. These - properties are shared by all the threads in the AppDomain. - - - - - - - - - Get all the composite properties in this event - - the containing all the properties - - - See for details of the composite properties - stored by the event. - - - This method returns a single containing all the - properties defined for this event. - - - - - - The internal logging event data. - - - - - The internal logging event data. - - - - - The internal logging event data. - - - - - The fully qualified Type of the calling - logger class in the stack frame (i.e. the declaring type of the method). - - - - - The application supplied message of logging event. - - - - - The exception that was thrown. - - - This is not serialized. The string representation - is serialized instead. - - - - - The repository that generated the logging event - - - This is not serialized. - - - - - The fix state for this event - - - These flags indicate which fields have been fixed. - Not serialized. - - - - - Indicated that the internal cache is updateable (ie not fixed) - - - This is a seperate flag to m_fixFlags as it allows incrementel fixing and simpler - changes in the caching strategy. - - - - - Gets the time when the current process started. - - - This is the time when this process started. - - - - The TimeStamp is stored in the local time zone for this computer. - - - Tries to get the start time for the current process. - Failing that it returns the time of the first call to - this property. - - - Note that AppDomains may be loaded and unloaded within the - same process without the process terminating and therefore - without the process start time being reset. - - - - - - Gets the of the logging event. - - - The of the logging event. - - - - Gets the of the logging event. - - - - - - Gets the time of the logging event. - - - The time of the logging event. - - - - The TimeStamp is stored in the local time zone for this computer. - - - - - - Gets the name of the logger that logged the event. - - - The name of the logger that logged the event. - - - - Gets the name of the logger that logged the event. - - - - - - Gets the location information for this logging event. - - - The location information for this logging event. - - - - The collected information is cached for future use. - - - See the class for more information on - supported frameworks and the different behavior in Debug and - Release builds. - - - - - - Gets the message object used to initialize this event. - - - The message object used to initialize this event. - - - - Gets the message object used to initialize this event. - Note that this event may not have a valid message object. - If the event is serialized the message object will not - be transferred. To get the text of the message the - property must be used - not this property. - - - If there is no defined message object for this event then - null will be returned. - - - - - - Gets the exception object used to initialize this event. - - - The exception object used to initialize this event. - - - - Gets the exception object used to initialize this event. - Note that this event may not have a valid exception object. - If the event is serialized the exception object will not - be transferred. To get the text of the exception the - method must be used - not this property. - - - If there is no defined exception object for this event then - null will be returned. - - - - - - The that this event was created in. - - - - The that this event was created in. - - - - - - Gets the message, rendered through the . - - - The message rendered through the . - - - - The collected information is cached for future use. - - - - - - Gets the name of the current thread. - - - The name of the current thread, or the thread ID when - the name is not available. - - - - The collected information is cached for future use. - - - - - - Gets the name of the current user. - - - The name of the current user, or NOT AVAILABLE when the - underlying runtime has no support for retrieving the name of the - current user. - - - - Calls WindowsIdentity.GetCurrent().Name to get the name of - the current windows user. - - - To improve performance, we could cache the string representation of - the name, and reuse that as long as the identity stayed constant. - Once the identity changed, we would need to re-assign and re-render - the string. - - - However, the WindowsIdentity.GetCurrent() call seems to - return different objects every time, so the current implementation - doesn't do this type of caching. - - - Timing for these operations: - - - - Method - Results - - - WindowsIdentity.GetCurrent() - 10000 loops, 00:00:00.2031250 seconds - - - WindowsIdentity.GetCurrent().Name - 10000 loops, 00:00:08.0468750 seconds - - - - This means we could speed things up almost 40 times by caching the - value of the WindowsIdentity.GetCurrent().Name property, since - this takes (8.04-0.20) = 7.84375 seconds. - - - - - - Gets the identity of the current thread principal. - - - The string name of the identity of the current thread principal. - - - - Calls System.Threading.Thread.CurrentPrincipal.Identity.Name to get - the name of the current thread principal. - - - - - - Gets the AppDomain friendly name. - - - The AppDomain friendly name. - - - - Gets the AppDomain friendly name. - - - - - - Additional event specific properties. - - - Additional event specific properties. - - - - A logger or an appender may attach additional - properties to specific events. These properties - have a string key and an object value. - - - This property is for events that have been added directly to - this event. The aggregate properties (which include these - event properties) can be retrieved using - and . - - - Once the properties have been fixed this property - returns the combined cached properties. This ensures that updates to - this property are always reflected in the underlying storage. When - returning the combined properties there may be more keys in the - Dictionary than expected. - - - - - - The fixed fields in this event - - - The set of fields that are fixed in this event - - - - Fields will not be fixed if they have previously been fixed. - It is not possible to 'unfix' a field. - - - - - - Implementation of wrapper interface. - - - - This implementation of the interface - forwards to the held by the base class. - - - This logger has methods to allow the caller to log at the following - levels: - - - - DEBUG - - The and methods log messages - at the DEBUG level. That is the level with that name defined in the - repositories . The default value - for this level is . The - property tests if this level is enabled for logging. - - - - INFO - - The and methods log messages - at the INFO level. That is the level with that name defined in the - repositories . The default value - for this level is . The - property tests if this level is enabled for logging. - - - - WARN - - The and methods log messages - at the WARN level. That is the level with that name defined in the - repositories . The default value - for this level is . The - property tests if this level is enabled for logging. - - - - ERROR - - The and methods log messages - at the ERROR level. That is the level with that name defined in the - repositories . The default value - for this level is . The - property tests if this level is enabled for logging. - - - - FATAL - - The and methods log messages - at the FATAL level. That is the level with that name defined in the - repositories . The default value - for this level is . The - property tests if this level is enabled for logging. - - - - - The values for these levels and their semantic meanings can be changed by - configuring the for the repository. - - - Nicko Cadell - Gert Driesen - - - - The ILog interface is use by application to log messages into - the log4net framework. - - - - Use the to obtain logger instances - that implement this interface. The - static method is used to get logger instances. - - - This class contains methods for logging at different levels and also - has properties for determining if those logging levels are - enabled in the current configuration. - - - This interface can be implemented in different ways. This documentation - specifies reasonable behavior that a caller can expect from the actual - implementation, however different implementations reserve the right to - do things differently. - - - Simple example of logging messages - - ILog log = LogManager.GetLogger("application-log"); - - log.Info("Application Start"); - log.Debug("This is a debug message"); - - if (log.IsDebugEnabled) - { - log.Debug("This is another debug message"); - } - - - - - Nicko Cadell - Gert Driesen - - - Log a message object with the level. - - Log a message object with the level. - - The message object to log. - - - This method first checks if this logger is DEBUG - enabled by comparing the level of this logger with the - level. If this logger is - DEBUG enabled, then it converts the message object - (passed as parameter) to a string by invoking the appropriate - . It then - proceeds to call all the registered appenders in this logger - and also higher in the hierarchy depending on the value of - the additivity flag. - - WARNING Note that passing an - to this method will print the name of the - but no stack trace. To print a stack trace use the - form instead. - - - - - - - - Log a message object with the level including - the stack trace of the passed - as a parameter. - - The message object to log. - The exception to log, including its stack trace. - - - See the form for more detailed information. - - - - - - - Log a formatted string with the level. - - Logs a formatted message string with the level. - - A String containing zero or more format items - An Object array containing zero or more objects to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - - Logs a formatted message string with the level. - - A String containing zero or more format items - An Object to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - - Logs a formatted message string with the level. - - A String containing zero or more format items - An Object to format - An Object to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - - Logs a formatted message string with the level. - - A String containing zero or more format items - An Object to format - An Object to format - An Object to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - - Logs a formatted message string with the level. - - An that supplies culture-specific formatting information - A String containing zero or more format items - An Object array containing zero or more objects to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - Log a message object with the level. - - Logs a message object with the level. - - - - This method first checks if this logger is INFO - enabled by comparing the level of this logger with the - level. If this logger is - INFO enabled, then it converts the message object - (passed as parameter) to a string by invoking the appropriate - . It then - proceeds to call all the registered appenders in this logger - and also higher in the hierarchy depending on the value of the - additivity flag. - - WARNING Note that passing an - to this method will print the name of the - but no stack trace. To print a stack trace use the - form instead. - - - The message object to log. - - - - - - Logs a message object with the INFO level including - the stack trace of the passed - as a parameter. - - The message object to log. - The exception to log, including its stack trace. - - - See the form for more detailed information. - - - - - - - Log a formatted message string with the level. - - Logs a formatted message string with the level. - - A String containing zero or more format items - An Object array containing zero or more objects to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - - Logs a formatted message string with the level. - - A String containing zero or more format items - An Object to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - - Logs a formatted message string with the level. - - A String containing zero or more format items - An Object to format - An Object to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - - Logs a formatted message string with the level. - - A String containing zero or more format items - An Object to format - An Object to format - An Object to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - - Logs a formatted message string with the level. - - An that supplies culture-specific formatting information - A String containing zero or more format items - An Object array containing zero or more objects to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - Log a message object with the level. - - Log a message object with the level. - - - - This method first checks if this logger is WARN - enabled by comparing the level of this logger with the - level. If this logger is - WARN enabled, then it converts the message object - (passed as parameter) to a string by invoking the appropriate - . It then - proceeds to call all the registered appenders in this logger - and also higher in the hierarchy depending on the value of the - additivity flag. - - WARNING Note that passing an - to this method will print the name of the - but no stack trace. To print a stack trace use the - form instead. - - - The message object to log. - - - - - - Log a message object with the level including - the stack trace of the passed - as a parameter. - - The message object to log. - The exception to log, including its stack trace. - - - See the form for more detailed information. - - - - - - - Log a formatted message string with the level. - - Logs a formatted message string with the level. - - A String containing zero or more format items - An Object array containing zero or more objects to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - - Logs a formatted message string with the level. - - A String containing zero or more format items - An Object to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - - Logs a formatted message string with the level. - - A String containing zero or more format items - An Object to format - An Object to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - - Logs a formatted message string with the level. - - A String containing zero or more format items - An Object to format - An Object to format - An Object to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - - Logs a formatted message string with the level. - - An that supplies culture-specific formatting information - A String containing zero or more format items - An Object array containing zero or more objects to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - Log a message object with the level. - - Logs a message object with the level. - - The message object to log. - - - This method first checks if this logger is ERROR - enabled by comparing the level of this logger with the - level. If this logger is - ERROR enabled, then it converts the message object - (passed as parameter) to a string by invoking the appropriate - . It then - proceeds to call all the registered appenders in this logger - and also higher in the hierarchy depending on the value of the - additivity flag. - - WARNING Note that passing an - to this method will print the name of the - but no stack trace. To print a stack trace use the - form instead. - - - - - - - - Log a message object with the level including - the stack trace of the passed - as a parameter. - - The message object to log. - The exception to log, including its stack trace. - - - See the form for more detailed information. - - - - - - - Log a formatted message string with the level. - - Logs a formatted message string with the level. - - A String containing zero or more format items - An Object array containing zero or more objects to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - - Logs a formatted message string with the level. - - A String containing zero or more format items - An Object to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - - Logs a formatted message string with the level. - - A String containing zero or more format items - An Object to format - An Object to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - - Logs a formatted message string with the level. - - A String containing zero or more format items - An Object to format - An Object to format - An Object to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - - Logs a formatted message string with the level. - - An that supplies culture-specific formatting information - A String containing zero or more format items - An Object array containing zero or more objects to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - Log a message object with the level. - - Log a message object with the level. - - - - This method first checks if this logger is FATAL - enabled by comparing the level of this logger with the - level. If this logger is - FATAL enabled, then it converts the message object - (passed as parameter) to a string by invoking the appropriate - . It then - proceeds to call all the registered appenders in this logger - and also higher in the hierarchy depending on the value of the - additivity flag. - - WARNING Note that passing an - to this method will print the name of the - but no stack trace. To print a stack trace use the - form instead. - - - The message object to log. - - - - - - Log a message object with the level including - the stack trace of the passed - as a parameter. - - The message object to log. - The exception to log, including its stack trace. - - - See the form for more detailed information. - - - - - - - Log a formatted message string with the level. - - Logs a formatted message string with the level. - - A String containing zero or more format items - An Object array containing zero or more objects to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - - Logs a formatted message string with the level. - - A String containing zero or more format items - An Object to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - - Logs a formatted message string with the level. - - A String containing zero or more format items - An Object to format - An Object to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - - Logs a formatted message string with the level. - - A String containing zero or more format items - An Object to format - An Object to format - An Object to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - - Logs a formatted message string with the level. - - An that supplies culture-specific formatting information - A String containing zero or more format items - An Object array containing zero or more objects to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - - Checks if this logger is enabled for the level. - - - true if this logger is enabled for events, false otherwise. - - - - This function is intended to lessen the computational cost of - disabled log debug statements. - - For some ILog interface log, when you write: - - log.Debug("This is entry number: " + i ); - - - You incur the cost constructing the message, string construction and concatenation in - this case, regardless of whether the message is logged or not. - - - If you are worried about speed (who isn't), then you should write: - - - if (log.IsDebugEnabled) - { - log.Debug("This is entry number: " + i ); - } - - - This way you will not incur the cost of parameter - construction if debugging is disabled for log. On - the other hand, if the log is debug enabled, you - will incur the cost of evaluating whether the logger is debug - enabled twice. Once in and once in - the . This is an insignificant overhead - since evaluating a logger takes about 1% of the time it - takes to actually log. This is the preferred style of logging. - - Alternatively if your logger is available statically then the is debug - enabled state can be stored in a static variable like this: - - - private static readonly bool isDebugEnabled = log.IsDebugEnabled; - - - Then when you come to log you can write: - - - if (isDebugEnabled) - { - log.Debug("This is entry number: " + i ); - } - - - This way the debug enabled state is only queried once - when the class is loaded. Using a private static readonly - variable is the most efficient because it is a run time constant - and can be heavily optimized by the JIT compiler. - - - Of course if you use a static readonly variable to - hold the enabled state of the logger then you cannot - change the enabled state at runtime to vary the logging - that is produced. You have to decide if you need absolute - speed or runtime flexibility. - - - - - - - - Checks if this logger is enabled for the level. - - - true if this logger is enabled for events, false otherwise. - - - For more information see . - - - - - - - - Checks if this logger is enabled for the level. - - - true if this logger is enabled for events, false otherwise. - - - For more information see . - - - - - - - - Checks if this logger is enabled for the level. - - - true if this logger is enabled for events, false otherwise. - - - For more information see . - - - - - - - - Checks if this logger is enabled for the level. - - - true if this logger is enabled for events, false otherwise. - - - For more information see . - - - - - - - - Construct a new wrapper for the specified logger. - - The logger to wrap. - - - Construct a new wrapper for the specified logger. - - - - - - Virtual method called when the configuration of the repository changes - - the repository holding the levels - - - Virtual method called when the configuration of the repository changes - - - - - - Logs a message object with the DEBUG level. - - The message object to log. - - - This method first checks if this logger is DEBUG - enabled by comparing the level of this logger with the - DEBUG level. If this logger is - DEBUG enabled, then it converts the message object - (passed as parameter) to a string by invoking the appropriate - . It then - proceeds to call all the registered appenders in this logger - and also higher in the hierarchy depending on the value of the - additivity flag. - - - WARNING Note that passing an - to this method will print the name of the - but no stack trace. To print a stack trace use the - form instead. - - - - - - Logs a message object with the DEBUG level - - The message object to log. - The exception to log, including its stack trace. - - - Logs a message object with the DEBUG level including - the stack trace of the passed - as a parameter. - - - See the form for more detailed information. - - - - - - - Logs a formatted message string with the DEBUG level. - - A String containing zero or more format items - An Object array containing zero or more objects to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - The string is formatted using the - format provider. To specify a localized provider use the - method. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Logs a formatted message string with the DEBUG level. - - A String containing zero or more format items - An Object to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - The string is formatted using the - format provider. To specify a localized provider use the - method. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Logs a formatted message string with the DEBUG level. - - A String containing zero or more format items - An Object to format - An Object to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - The string is formatted using the - format provider. To specify a localized provider use the - method. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Logs a formatted message string with the DEBUG level. - - A String containing zero or more format items - An Object to format - An Object to format - An Object to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - The string is formatted using the - format provider. To specify a localized provider use the - method. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Logs a formatted message string with the DEBUG level. - - An that supplies culture-specific formatting information - A String containing zero or more format items - An Object array containing zero or more objects to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Logs a message object with the INFO level. - - The message object to log. - - - This method first checks if this logger is INFO - enabled by comparing the level of this logger with the - INFO level. If this logger is - INFO enabled, then it converts the message object - (passed as parameter) to a string by invoking the appropriate - . It then - proceeds to call all the registered appenders in this logger - and also higher in the hierarchy depending on the value of - the additivity flag. - - - WARNING Note that passing an - to this method will print the name of the - but no stack trace. To print a stack trace use the - form instead. - - - - - - Logs a message object with the INFO level. - - The message object to log. - The exception to log, including its stack trace. - - - Logs a message object with the INFO level including - the stack trace of the - passed as a parameter. - - - See the form for more detailed information. - - - - - - - Logs a formatted message string with the INFO level. - - A String containing zero or more format items - An Object array containing zero or more objects to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - The string is formatted using the - format provider. To specify a localized provider use the - method. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Logs a formatted message string with the INFO level. - - A String containing zero or more format items - An Object to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - The string is formatted using the - format provider. To specify a localized provider use the - method. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Logs a formatted message string with the INFO level. - - A String containing zero or more format items - An Object to format - An Object to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - The string is formatted using the - format provider. To specify a localized provider use the - method. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Logs a formatted message string with the INFO level. - - A String containing zero or more format items - An Object to format - An Object to format - An Object to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - The string is formatted using the - format provider. To specify a localized provider use the - method. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Logs a formatted message string with the INFO level. - - An that supplies culture-specific formatting information - A String containing zero or more format items - An Object array containing zero or more objects to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Logs a message object with the WARN level. - - the message object to log - - - This method first checks if this logger is WARN - enabled by comparing the level of this logger with the - WARN level. If this logger is - WARN enabled, then it converts the message object - (passed as parameter) to a string by invoking the appropriate - . It then - proceeds to call all the registered appenders in this logger and - also higher in the hierarchy depending on the value of the - additivity flag. - - - WARNING Note that passing an to this - method will print the name of the but no - stack trace. To print a stack trace use the - form instead. - - - - - - Logs a message object with the WARN level - - The message object to log. - The exception to log, including its stack trace. - - - Logs a message object with the WARN level including - the stack trace of the - passed as a parameter. - - - See the form for more detailed information. - - - - - - - Logs a formatted message string with the WARN level. - - A String containing zero or more format items - An Object array containing zero or more objects to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - The string is formatted using the - format provider. To specify a localized provider use the - method. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Logs a formatted message string with the WARN level. - - A String containing zero or more format items - An Object to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - The string is formatted using the - format provider. To specify a localized provider use the - method. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Logs a formatted message string with the WARN level. - - A String containing zero or more format items - An Object to format - An Object to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - The string is formatted using the - format provider. To specify a localized provider use the - method. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Logs a formatted message string with the WARN level. - - A String containing zero or more format items - An Object to format - An Object to format - An Object to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - The string is formatted using the - format provider. To specify a localized provider use the - method. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Logs a formatted message string with the WARN level. - - An that supplies culture-specific formatting information - A String containing zero or more format items - An Object array containing zero or more objects to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Logs a message object with the ERROR level. - - The message object to log. - - - This method first checks if this logger is ERROR - enabled by comparing the level of this logger with the - ERROR level. If this logger is - ERROR enabled, then it converts the message object - (passed as parameter) to a string by invoking the appropriate - . It then - proceeds to call all the registered appenders in this logger and - also higher in the hierarchy depending on the value of the - additivity flag. - - - WARNING Note that passing an to this - method will print the name of the but no - stack trace. To print a stack trace use the - form instead. - - - - - - Logs a message object with the ERROR level - - The message object to log. - The exception to log, including its stack trace. - - - Logs a message object with the ERROR level including - the stack trace of the - passed as a parameter. - - - See the form for more detailed information. - - - - - - - Logs a formatted message string with the ERROR level. - - A String containing zero or more format items - An Object array containing zero or more objects to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - The string is formatted using the - format provider. To specify a localized provider use the - method. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Logs a formatted message string with the ERROR level. - - A String containing zero or more format items - An Object to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - The string is formatted using the - format provider. To specify a localized provider use the - method. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Logs a formatted message string with the ERROR level. - - A String containing zero or more format items - An Object to format - An Object to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - The string is formatted using the - format provider. To specify a localized provider use the - method. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Logs a formatted message string with the ERROR level. - - A String containing zero or more format items - An Object to format - An Object to format - An Object to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - The string is formatted using the - format provider. To specify a localized provider use the - method. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Logs a formatted message string with the ERROR level. - - An that supplies culture-specific formatting information - A String containing zero or more format items - An Object array containing zero or more objects to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Logs a message object with the FATAL level. - - The message object to log. - - - This method first checks if this logger is FATAL - enabled by comparing the level of this logger with the - FATAL level. If this logger is - FATAL enabled, then it converts the message object - (passed as parameter) to a string by invoking the appropriate - . It then - proceeds to call all the registered appenders in this logger and - also higher in the hierarchy depending on the value of the - additivity flag. - - - WARNING Note that passing an to this - method will print the name of the but no - stack trace. To print a stack trace use the - form instead. - - - - - - Logs a message object with the FATAL level - - The message object to log. - The exception to log, including its stack trace. - - - Logs a message object with the FATAL level including - the stack trace of the - passed as a parameter. - - - See the form for more detailed information. - - - - - - - Logs a formatted message string with the FATAL level. - - A String containing zero or more format items - An Object array containing zero or more objects to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - The string is formatted using the - format provider. To specify a localized provider use the - method. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Logs a formatted message string with the FATAL level. - - A String containing zero or more format items - An Object to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - The string is formatted using the - format provider. To specify a localized provider use the - method. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Logs a formatted message string with the FATAL level. - - A String containing zero or more format items - An Object to format - An Object to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - The string is formatted using the - format provider. To specify a localized provider use the - method. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Logs a formatted message string with the FATAL level. - - A String containing zero or more format items - An Object to format - An Object to format - An Object to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - The string is formatted using the - format provider. To specify a localized provider use the - method. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Logs a formatted message string with the FATAL level. - - An that supplies culture-specific formatting information - A String containing zero or more format items - An Object array containing zero or more objects to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Event handler for the event - - the repository - Empty - - - - The fully qualified name of this declaring type not the type of any subclass. - - - - - Checks if this logger is enabled for the DEBUG - level. - - - true if this logger is enabled for DEBUG events, - false otherwise. - - - - This function is intended to lessen the computational cost of - disabled log debug statements. - - - For some log Logger object, when you write: - - - log.Debug("This is entry number: " + i ); - - - You incur the cost constructing the message, concatenation in - this case, regardless of whether the message is logged or not. - - - If you are worried about speed, then you should write: - - - if (log.IsDebugEnabled()) - { - log.Debug("This is entry number: " + i ); - } - - - This way you will not incur the cost of parameter - construction if debugging is disabled for log. On - the other hand, if the log is debug enabled, you - will incur the cost of evaluating whether the logger is debug - enabled twice. Once in IsDebugEnabled and once in - the Debug. This is an insignificant overhead - since evaluating a logger takes about 1% of the time it - takes to actually log. - - - - - - Checks if this logger is enabled for the INFO level. - - - true if this logger is enabled for INFO events, - false otherwise. - - - - See for more information and examples - of using this method. - - - - - - - Checks if this logger is enabled for the WARN level. - - - true if this logger is enabled for WARN events, - false otherwise. - - - - See for more information and examples - of using this method. - - - - - - - Checks if this logger is enabled for the ERROR level. - - - true if this logger is enabled for ERROR events, - false otherwise. - - - - See for more information and examples of using this method. - - - - - - - Checks if this logger is enabled for the FATAL level. - - - true if this logger is enabled for FATAL events, - false otherwise. - - - - See for more information and examples of using this method. - - - - - - - A SecurityContext used by log4net when interacting with protected resources - - - - A SecurityContext used by log4net when interacting with protected resources - for example with operating system services. This can be used to impersonate - a principal that has been granted privileges on the system resources. - - - Nicko Cadell - - - - Impersonate this SecurityContext - - State supplied by the caller - An instance that will - revoke the impersonation of this SecurityContext, or null - - - Impersonate this security context. Further calls on the current - thread should now be made in the security context provided - by this object. When the result - method is called the security - context of the thread should be reverted to the state it was in - before was called. - - - - - - The providers default instances. - - - - A configured component that interacts with potentially protected system - resources uses a to provide the elevated - privileges required. If the object has - been not been explicitly provided to the component then the component - will request one from this . - - - By default the is - an instance of which returns only - objects. This is a reasonable default - where the privileges required are not know by the system. - - - This default behavior can be overridden by subclassing the - and overriding the method to return - the desired objects. The default provider - can be replaced by programmatically setting the value of the - property. - - - An alternative is to use the log4net.Config.SecurityContextProviderAttribute - This attribute can be applied to an assembly in the same way as the - log4net.Config.XmlConfiguratorAttribute". The attribute takes - the type to use as the as an argument. - - - Nicko Cadell - - - - The default provider - - - - - Protected default constructor to allow subclassing - - - - Protected default constructor to allow subclassing - - - - - - Create a SecurityContext for a consumer - - The consumer requesting the SecurityContext - An impersonation context - - - The default implementation is to return a . - - - Subclasses should override this method to provide their own - behavior. - - - - - - Gets or sets the default SecurityContextProvider - - - The default SecurityContextProvider - - - - The default provider is used by configured components that - require a and have not had one - given to them. - - - By default this is an instance of - that returns objects. - - - The default provider can be set programmatically by setting - the value of this property to a sub class of - that has the desired behavior. - - - - - - Delegate used to handle creation of new wrappers. - - The logger to wrap in a wrapper. - - - Delegate used to handle creation of new wrappers. This delegate - is called from the - method to construct the wrapper for the specified logger. - - - The delegate to use is supplied to the - constructor. - - - - - - Maps between logger objects and wrapper objects. - - - - This class maintains a mapping between objects and - objects. Use the method to - lookup the for the specified . - - - New wrapper instances are created by the - method. The default behavior is for this method to delegate construction - of the wrapper to the delegate supplied - to the constructor. This allows specialization of the behavior without - requiring subclassing of this type. - - - Nicko Cadell - Gert Driesen - - - - Initializes a new instance of the - - The handler to use to create the wrapper objects. - - - Initializes a new instance of the class with - the specified handler to create the wrapper objects. - - - - - - Gets the wrapper object for the specified logger. - - The wrapper object for the specified logger - - - If the logger is null then the corresponding wrapper is null. - - - Looks up the wrapper it it has previously been requested and - returns it. If the wrapper has never been requested before then - the virtual method is - called. - - - - - - Creates the wrapper object for the specified logger. - - The logger to wrap in a wrapper. - The wrapper object for the logger. - - - This implementation uses the - passed to the constructor to create the wrapper. This method - can be overridden in a subclass. - - - - - - Called when a monitored repository shutdown event is received. - - The that is shutting down - - - This method is called when a that this - is holding loggers for has signaled its shutdown - event . The default - behavior of this method is to release the references to the loggers - and their wrappers generated for this repository. - - - - - - Event handler for repository shutdown event. - - The sender of the event. - The event args. - - - - Map of logger repositories to hashtables of ILogger to ILoggerWrapper mappings - - - - - The handler to use to create the extension wrapper objects. - - - - - Internal reference to the delegate used to register for repository shutdown events. - - - - - Gets the map of logger repositories. - - - Map of logger repositories. - - - - Gets the hashtable that is keyed on . The - values are hashtables keyed on with the - value being the corresponding . - - - - - - Formats a as "HH:mm:ss,fff". - - - - Formats a in the format "HH:mm:ss,fff" for example, "15:49:37,459". - - - Nicko Cadell - Gert Driesen - - - - Render a as a string. - - - - Interface to abstract the rendering of a - instance into a string. - - - The method is used to render the - date to a text writer. - - - Nicko Cadell - Gert Driesen - - - - Formats the specified date as a string. - - The date to format. - The writer to write to. - - - Format the as a string and write it - to the provided. - - - - - - String constant used to specify AbsoluteTimeDateFormat in layouts. Current value is ABSOLUTE. - - - - - String constant used to specify DateTimeDateFormat in layouts. Current value is DATE. - - - - - String constant used to specify ISO8601DateFormat in layouts. Current value is ISO8601. - - - - - Renders the date into a string. Format is "HH:mm:ss". - - The date to render into a string. - The string builder to write to. - - - Subclasses should override this method to render the date - into a string using a precision up to the second. This method - will be called at most once per second and the result will be - reused if it is needed again during the same second. - - - - - - Renders the date into a string. Format is "HH:mm:ss,fff". - - The date to render into a string. - The writer to write to. - - - Uses the method to generate the - time string up to the seconds and then appends the current - milliseconds. The results from are - cached and is called at most once - per second. - - - Sub classes should override - rather than . - - - - - - Last stored time with precision up to the second. - - - - - Last stored time with precision up to the second, formatted - as a string. - - - - - Last stored time with precision up to the second, formatted - as a string. - - - - - Formats a as "dd MMM yyyy HH:mm:ss,fff" - - - - Formats a in the format - "dd MMM yyyy HH:mm:ss,fff" for example, - "06 Nov 1994 15:49:37,459". - - - Nicko Cadell - Gert Driesen - Angelika Schnagl - - - - Default constructor. - - - - Initializes a new instance of the class. - - - - - - Formats the date without the milliseconds part - - The date to format. - The string builder to write to. - - - Formats a DateTime in the format "dd MMM yyyy HH:mm:ss" - for example, "06 Nov 1994 15:49:37". - - - The base class will append the ",fff" milliseconds section. - This method will only be called at most once per second. - - - - - - The format info for the invariant culture. - - - - - Formats the as "yyyy-MM-dd HH:mm:ss,fff". - - - - Formats the specified as a string: "yyyy-MM-dd HH:mm:ss,fff". - - - Nicko Cadell - Gert Driesen - - - - Default constructor - - - - Initializes a new instance of the class. - - - - - - Formats the date without the milliseconds part - - The date to format. - The string builder to write to. - - - Formats the date specified as a string: "yyyy-MM-dd HH:mm:ss". - - - The base class will append the ",fff" milliseconds section. - This method will only be called at most once per second. - - - - - - Formats the using the method. - - - - Formats the using the method. - - - Nicko Cadell - Gert Driesen - - - - Constructor - - The format string. - - - Initializes a new instance of the class - with the specified format string. - - - The format string must be compatible with the options - that can be supplied to . - - - - - - Formats the date using . - - The date to convert to a string. - The writer to write to. - - - Uses the date format string supplied to the constructor to call - the method to format the date. - - - - - - The format string used to format the . - - - - The format string must be compatible with the options - that can be supplied to . - - - - - - This filter drops all . - - - - You can add this filter to the end of a filter chain to - switch from the default "accept all unless instructed otherwise" - filtering behavior to a "deny all unless instructed otherwise" - behavior. - - - Nicko Cadell - Gert Driesen - - - - Subclass this type to implement customized logging event filtering - - - - Users should extend this class to implement customized logging - event filtering. Note that and - , the parent class of all standard - appenders, have built-in filtering rules. It is suggested that you - first use and understand the built-in rules before rushing to write - your own custom filters. - - - This abstract class assumes and also imposes that filters be - organized in a linear chain. The - method of each filter is called sequentially, in the order of their - addition to the chain. - - - The method must return one - of the integer constants , - or . - - - If the value is returned, then the log event is dropped - immediately without consulting with the remaining filters. - - - If the value is returned, then the next filter - in the chain is consulted. If there are no more filters in the - chain, then the log event is logged. Thus, in the presence of no - filters, the default behavior is to log all logging events. - - - If the value is returned, then the log - event is logged without consulting the remaining filters. - - - The philosophy of log4net filters is largely inspired from the - Linux ipchains. - - - Nicko Cadell - Gert Driesen - - - - Implement this interface to provide customized logging event filtering - - - - Users should implement this interface to implement customized logging - event filtering. Note that and - , the parent class of all standard - appenders, have built-in filtering rules. It is suggested that you - first use and understand the built-in rules before rushing to write - your own custom filters. - - - This abstract class assumes and also imposes that filters be - organized in a linear chain. The - method of each filter is called sequentially, in the order of their - addition to the chain. - - - The method must return one - of the integer constants , - or . - - - If the value is returned, then the log event is dropped - immediately without consulting with the remaining filters. - - - If the value is returned, then the next filter - in the chain is consulted. If there are no more filters in the - chain, then the log event is logged. Thus, in the presence of no - filters, the default behavior is to log all logging events. - - - If the value is returned, then the log - event is logged without consulting the remaining filters. - - - The philosophy of log4net filters is largely inspired from the - Linux ipchains. - - - Nicko Cadell - Gert Driesen - - - - Decide if the logging event should be logged through an appender. - - The LoggingEvent to decide upon - The decision of the filter - - - If the decision is , then the event will be - dropped. If the decision is , then the next - filter, if any, will be invoked. If the decision is then - the event will be logged without consulting with other filters in - the chain. - - - - - - Property to get and set the next filter - - - The next filter in the chain - - - - Filters are typically composed into chains. This property allows the next filter in - the chain to be accessed. - - - - - - Points to the next filter in the filter chain. - - - - See for more information. - - - - - - Initialize the filter with the options set - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - Typically filter's options become active immediately on set, - however this method must still be called. - - - - - - Decide if the should be logged through an appender. - - The to decide upon - The decision of the filter - - - If the decision is , then the event will be - dropped. If the decision is , then the next - filter, if any, will be invoked. If the decision is then - the event will be logged without consulting with other filters in - the chain. - - - This method is marked abstract and must be implemented - in a subclass. - - - - - - Property to get and set the next filter - - - The next filter in the chain - - - - Filters are typically composed into chains. This property allows the next filter in - the chain to be accessed. - - - - - - Default constructor - - - - - Always returns the integer constant - - the LoggingEvent to filter - Always returns - - - Ignores the event being logged and just returns - . This can be used to change the default filter - chain behavior from to . This filter - should only be used as the last filter in the chain - as any further filters will be ignored! - - - - - - The return result from - - - - The return result from - - - - - - The log event must be dropped immediately without - consulting with the remaining filters, if any, in the chain. - - - - - This filter is neutral with respect to the log event. - The remaining filters, if any, should be consulted for a final decision. - - - - - The log event must be logged immediately without - consulting with the remaining filters, if any, in the chain. - - - - - This is a very simple filter based on matching. - - - - The filter admits two options and - . If there is an exact match between the value - of the option and the of the - , then the method returns in - case the option value is set - to true, if it is false then - is returned. If the does not match then - the result will be . - - - Nicko Cadell - Gert Driesen - - - - flag to indicate if the filter should on a match - - - - - the to match against - - - - - Default constructor - - - - - Tests if the of the logging event matches that of the filter - - the event to filter - see remarks - - - If the of the event matches the level of the - filter then the result of the function depends on the - value of . If it is true then - the function will return , it it is false then it - will return . If the does not match then - the result will be . - - - - - - when matching - - - - The property is a flag that determines - the behavior when a matching is found. If the - flag is set to true then the filter will the - logging event, otherwise it will the event. - - - The default is true i.e. to the event. - - - - - - The that the filter will match - - - - The level that this filter will attempt to match against the - level. If a match is found then - the result depends on the value of . - - - - - - This is a simple filter based on matching. - - - - The filter admits three options and - that determine the range of priorities that are matched, and - . If there is a match between the range - of priorities and the of the , then the - method returns in case the - option value is set to true, if it is false - then is returned. If there is no match, is returned. - - - Nicko Cadell - Gert Driesen - - - - Flag to indicate the behavior when matching a - - - - - the minimum value to match - - - - - the maximum value to match - - - - - Default constructor - - - - - Check if the event should be logged. - - the logging event to check - see remarks - - - If the of the logging event is outside the range - matched by this filter then - is returned. If the is matched then the value of - is checked. If it is true then - is returned, otherwise - is returned. - - - - - - when matching and - - - - The property is a flag that determines - the behavior when a matching is found. If the - flag is set to true then the filter will the - logging event, otherwise it will the event. - - - The default is true i.e. to the event. - - - - - - Set the minimum matched - - - - The minimum level that this filter will attempt to match against the - level. If a match is found then - the result depends on the value of . - - - - - - Sets the maximum matched - - - - The maximum level that this filter will attempt to match against the - level. If a match is found then - the result depends on the value of . - - - - - - Simple filter to match a string in the event's logger name. - - - - The works very similar to the . It admits two - options and . If the - of the starts - with the value of the option, then the - method returns in - case the option value is set to true, - if it is false then is returned. - - - Daniel Cazzulino - - - - Flag to indicate the behavior when we have a match - - - - - The logger name string to substring match against the event - - - - - Default constructor - - - - - Check if this filter should allow the event to be logged - - the event being logged - see remarks - - - The rendered message is matched against the . - If the equals the beginning of - the incoming () - then a match will have occurred. If no match occurs - this function will return - allowing other filters to check the event. If a match occurs then - the value of is checked. If it is - true then is returned otherwise - is returned. - - - - - - when matching - - - - The property is a flag that determines - the behavior when a matching is found. If the - flag is set to true then the filter will the - logging event, otherwise it will the event. - - - The default is true i.e. to the event. - - - - - - The that the filter will match - - - - This filter will attempt to match this value against logger name in - the following way. The match will be done against the beginning of the - logger name (using ). The match is - case sensitive. If a match is found then - the result depends on the value of . - - - - - - Simple filter to match a keyed string in the - - - - Simple filter to match a keyed string in the - - - As the MDC has been replaced with layered properties the - should be used instead. - - - Nicko Cadell - Gert Driesen - - - - Simple filter to match a string an event property - - - - Simple filter to match a string in the value for a - specific event property - - - Nicko Cadell - - - - Simple filter to match a string in the rendered message - - - - Simple filter to match a string in the rendered message - - - Nicko Cadell - Gert Driesen - - - - Flag to indicate the behavior when we have a match - - - - - The string to substring match against the message - - - - - A string regex to match - - - - - A regex object to match (generated from m_stringRegexToMatch) - - - - - Default constructor - - - - - Initialize and precompile the Regex if required - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - - - - Check if this filter should allow the event to be logged - - the event being logged - see remarks - - - The rendered message is matched against the . - If the occurs as a substring within - the message then a match will have occurred. If no match occurs - this function will return - allowing other filters to check the event. If a match occurs then - the value of is checked. If it is - true then is returned otherwise - is returned. - - - - - - when matching or - - - - The property is a flag that determines - the behavior when a matching is found. If the - flag is set to true then the filter will the - logging event, otherwise it will the event. - - - The default is true i.e. to the event. - - - - - - Sets the static string to match - - - - The string that will be substring matched against - the rendered message. If the message contains this - string then the filter will match. If a match is found then - the result depends on the value of . - - - One of or - must be specified. - - - - - - Sets the regular expression to match - - - - The regular expression pattern that will be matched against - the rendered message. If the message matches this - pattern then the filter will match. If a match is found then - the result depends on the value of . - - - One of or - must be specified. - - - - - - The key to use to lookup the string from the event properties - - - - - Default constructor - - - - - Check if this filter should allow the event to be logged - - the event being logged - see remarks - - - The event property for the is matched against - the . - If the occurs as a substring within - the property value then a match will have occurred. If no match occurs - this function will return - allowing other filters to check the event. If a match occurs then - the value of is checked. If it is - true then is returned otherwise - is returned. - - - - - - The key to lookup in the event properties and then match against. - - - - The key name to use to lookup in the properties map of the - . The match will be performed against - the value of this property if it exists. - - - - - - Simple filter to match a string in the - - - - Simple filter to match a string in the - - - As the MDC has been replaced with named stacks stored in the - properties collections the should - be used instead. - - - Nicko Cadell - Gert Driesen - - - - Default constructor - - - - Sets the to "NDC". - - - - - - Write the event appdomain name to the output - - - - Writes the to the output writer. - - - Daniel Cazzulino - Nicko Cadell - - - - Abstract class that provides the formatting functionality that - derived classes need. - - - Conversion specifiers in a conversion patterns are parsed to - individual PatternConverters. Each of which is responsible for - converting a logging event in a converter specific manner. - - Nicko Cadell - - - - Abstract class that provides the formatting functionality that - derived classes need. - - - - Conversion specifiers in a conversion patterns are parsed to - individual PatternConverters. Each of which is responsible for - converting a logging event in a converter specific manner. - - - Nicko Cadell - Gert Driesen - - - - Initial buffer size - - - - - Maximum buffer size before it is recycled - - - - - Protected constructor - - - - Initializes a new instance of the class. - - - - - - Evaluate this pattern converter and write the output to a writer. - - that will receive the formatted result. - The state object on which the pattern converter should be executed. - - - Derived pattern converters must override this method in order to - convert conversion specifiers in the appropriate way. - - - - - - Set the next pattern converter in the chains - - the pattern converter that should follow this converter in the chain - the next converter - - - The PatternConverter can merge with its neighbor during this method (or a sub class). - Therefore the return value may or may not be the value of the argument passed in. - - - - - - Write the pattern converter to the writer with appropriate formatting - - that will receive the formatted result. - The state object on which the pattern converter should be executed. - - - This method calls to allow the subclass to perform - appropriate conversion of the pattern converter. If formatting options have - been specified via the then this method will - apply those formattings before writing the output. - - - - - - Fast space padding method. - - to which the spaces will be appended. - The number of spaces to be padded. - - - Fast space padding method. - - - - - - The option string to the converter - - - - - Write an dictionary to a - - the writer to write to - a to use for object conversion - the value to write to the writer - - - Writes the to a writer in the form: - - - {key1=value1, key2=value2, key3=value3} - - - If the specified - is not null then it is used to render the key and value to text, otherwise - the object's ToString method is called. - - - - - - Write an object to a - - the writer to write to - a to use for object conversion - the value to write to the writer - - - Writes the Object to a writer. If the specified - is not null then it is used to render the object to text, otherwise - the object's ToString method is called. - - - - - - Get the next pattern converter in the chain - - - the next pattern converter in the chain - - - - Get the next pattern converter in the chain - - - - - - Gets or sets the formatting info for this converter - - - The formatting info for this converter - - - - Gets or sets the formatting info for this converter - - - - - - Gets or sets the option value for this converter - - - The option for this converter - - - - Gets or sets the option value for this converter - - - - - - Initializes a new instance of the class. - - - - - Derived pattern converters must override this method in order to - convert conversion specifiers in the correct way. - - that will receive the formatted result. - The on which the pattern converter should be executed. - - - - Derived pattern converters must override this method in order to - convert conversion specifiers in the correct way. - - that will receive the formatted result. - The state object on which the pattern converter should be executed. - - - - Flag indicating if this converter handles exceptions - - - false if this converter handles exceptions - - - - - Flag indicating if this converter handles the logging event exception - - false if this converter handles the logging event exception - - - If this converter handles the exception object contained within - , then this property should be set to - false. Otherwise, if the layout ignores the exception - object, then the property should be set to true. - - - Set this value to override a this default setting. The default - value is true, this converter does not handle the exception. - - - - - - Write the event appdomain name to the output - - that will receive the formatted result. - the event being logged - - - Writes the to the output . - - - - - - Date pattern converter, uses a to format - the date of a . - - - - Render the to the writer as a string. - - - The value of the determines - the formatting of the date. The following values are allowed: - - - Option value - Output - - - ISO8601 - - Uses the formatter. - Formats using the "yyyy-MM-dd HH:mm:ss,fff" pattern. - - - - DATE - - Uses the formatter. - Formats using the "dd MMM yyyy HH:mm:ss,fff" for example, "06 Nov 1994 15:49:37,459". - - - - ABSOLUTE - - Uses the formatter. - Formats using the "HH:mm:ss,yyyy" for example, "15:49:37,459". - - - - other - - Any other pattern string uses the formatter. - This formatter passes the pattern string to the - method. - For details on valid patterns see - DateTimeFormatInfo Class. - - - - - - The is in the local time zone and is rendered in that zone. - To output the time in Universal time see . - - - Nicko Cadell - - - - The used to render the date to a string - - - - The used to render the date to a string - - - - - - Initialize the converter pattern based on the property. - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - - - - Convert the pattern into the rendered message - - that will receive the formatted result. - the event being logged - - - Pass the to the - for it to render it to the writer. - - - The passed is in the local time zone. - - - - - - Write the exception text to the output - - - - If an exception object is stored in the logging event - it will be rendered into the pattern output with a - trailing newline. - - - If there is no exception then nothing will be output - and no trailing newline will be appended. - It is typical to put a newline before the exception - and to have the exception as the last data in the pattern. - - - Nicko Cadell - - - - Default constructor - - - - - Write the exception text to the output - - that will receive the formatted result. - the event being logged - - - If an exception object is stored in the logging event - it will be rendered into the pattern output with a - trailing newline. - - - If there is no exception then nothing will be output - and no trailing newline will be appended. - It is typical to put a newline before the exception - and to have the exception as the last data in the pattern. - - - - - - Writes the caller location file name to the output - - - - Writes the value of the for - the event to the output writer. - - - Nicko Cadell - - - - Write the caller location file name to the output - - that will receive the formatted result. - the event being logged - - - Writes the value of the for - the to the output . - - - - - - Write the caller location info to the output - - - - Writes the to the output writer. - - - Nicko Cadell - - - - Write the caller location info to the output - - that will receive the formatted result. - the event being logged - - - Writes the to the output writer. - - - - - - Writes the event identity to the output - - - - Writes the value of the to - the output writer. - - - Daniel Cazzulino - Nicko Cadell - - - - Writes the event identity to the output - - that will receive the formatted result. - the event being logged - - - Writes the value of the - to - the output . - - - - - - Write the event level to the output - - - - Writes the display name of the event - to the writer. - - - Nicko Cadell - - - - Write the event level to the output - - that will receive the formatted result. - the event being logged - - - Writes the of the - to the . - - - - - - Write the caller location line number to the output - - - - Writes the value of the for - the event to the output writer. - - - Nicko Cadell - - - - Write the caller location line number to the output - - that will receive the formatted result. - the event being logged - - - Writes the value of the for - the to the output . - - - - - - Converter for logger name - - - - Outputs the of the event. - - - Nicko Cadell - - - - Converter to output and truncate '.' separated strings - - - - This abstract class supports truncating a '.' separated string - to show a specified number of elements from the right hand side. - This is used to truncate class names that are fully qualified. - - - Subclasses should override the method to - return the fully qualified string. - - - Nicko Cadell - - - - Initialize the converter - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - - - - Get the fully qualified string data - - the event being logged - the fully qualified name - - - Overridden by subclasses to get the fully qualified name before the - precision is applied to it. - - - Return the fully qualified '.' (dot/period) separated string. - - - - - - Convert the pattern to the rendered message - - that will receive the formatted result. - the event being logged - - Render the to the precision - specified by the property. - - - - - Gets the fully qualified name of the logger - - the event being logged - The fully qualified logger name - - - Returns the of the . - - - - - - Writes the event message to the output - - - - Uses the method - to write out the event message. - - - Nicko Cadell - - - - Writes the event message to the output - - that will receive the formatted result. - the event being logged - - - Uses the method - to write out the event message. - - - - - - Write the method name to the output - - - - Writes the caller location to - the output. - - - Nicko Cadell - - - - Write the method name to the output - - that will receive the formatted result. - the event being logged - - - Writes the caller location to - the output. - - - - - - Converter to include event NDC - - - - Outputs the value of the event property named NDC. - - - The should be used instead. - - - Nicko Cadell - - - - Write the event NDC to the output - - that will receive the formatted result. - the event being logged - - - As the thread context stacks are now stored in named event properties - this converter simply looks up the value of the NDC property. - - - The should be used instead. - - - - - - Property pattern converter - - - - Writes out the value of a named property. The property name - should be set in the - property. - - - If the is set to null - then all the properties are written as key value pairs. - - - Nicko Cadell - - - - Write the property value to the output - - that will receive the formatted result. - the event being logged - - - Writes out the value of a named property. The property name - should be set in the - property. - - - If the is set to null - then all the properties are written as key value pairs. - - - - - - Converter to output the relative time of the event - - - - Converter to output the time of the event relative to the start of the program. - - - Nicko Cadell - - - - Write the relative time to the output - - that will receive the formatted result. - the event being logged - - - Writes out the relative time of the event in milliseconds. - That is the number of milliseconds between the event - and the . - - - - - - Helper method to get the time difference between two DateTime objects - - start time (in the current local time zone) - end time (in the current local time zone) - the time difference in milliseconds - - - - Converter to include event thread name - - - - Writes the to the output. - - - Nicko Cadell - - - - Write the ThreadName to the output - - that will receive the formatted result. - the event being logged - - - Writes the to the . - - - - - - Pattern converter for the class name - - - - Outputs the of the event. - - - Nicko Cadell - - - - Gets the fully qualified name of the class - - the event being logged - The fully qualified type name for the caller location - - - Returns the of the . - - - - - - Converter to include event user name - - Douglas de la Torre - Nicko Cadell - - - - Convert the pattern to the rendered message - - that will receive the formatted result. - the event being logged - - - - Write the TimeStamp to the output - - - - Date pattern converter, uses a to format - the date of a . - - - Uses a to format the - in Universal time. - - - See the for details on the date pattern syntax. - - - - Nicko Cadell - - - - Write the TimeStamp to the output - - that will receive the formatted result. - the event being logged - - - Pass the to the - for it to render it to the writer. - - - The passed is in the local time zone, this is converted - to Universal time before it is rendered. - - - - - - - A Layout that renders only the Exception text from the logging event - - - - A Layout that renders only the Exception text from the logging event. - - - This Layout should only be used with appenders that utilize multiple - layouts (e.g. ). - - - Nicko Cadell - Gert Driesen - - - - Extend this abstract class to create your own log layout format. - - - - This is the base implementation of the - interface. Most layout objects should extend this class. - - - - - - Subclasses must implement the - method. - - - Subclasses should set the in their default - constructor. - - - - Nicko Cadell - Gert Driesen - - - - Interface implemented by layout objects - - - - An object is used to format a - as text. The method is called by an - appender to transform the into a string. - - - The layout can also supply and - text that is appender before any events and after all the events respectively. - - - Nicko Cadell - Gert Driesen - - - - Implement this method to create your own layout format. - - The TextWriter to write the formatted event to - The event to format - - - This method is called by an appender to format - the as text and output to a writer. - - - If the caller does not have a and prefers the - event to be formatted as a then the following - code can be used to format the event into a . - - - StringWriter writer = new StringWriter(); - Layout.Format(writer, loggingEvent); - string formattedEvent = writer.ToString(); - - - - - - The content type output by this layout. - - The content type - - - The content type output by this layout. - - - This is a MIME type e.g. "text/plain". - - - - - - The header for the layout format. - - the layout header - - - The Header text will be appended before any logging events - are formatted and appended. - - - - - - The footer for the layout format. - - the layout footer - - - The Footer text will be appended after all the logging events - have been formatted and appended. - - - - - - Flag indicating if this layout handle exceptions - - false if this layout handles exceptions - - - If this layout handles the exception object contained within - , then the layout should return - false. Otherwise, if the layout ignores the exception - object, then the layout should return true. - - - - - - The header text - - - - See for more information. - - - - - - The footer text - - - - See for more information. - - - - - - Flag indicating if this layout handles exceptions - - - - false if this layout handles exceptions - - - - - - Empty default constructor - - - - Empty default constructor - - - - - - Activate component options - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - This method must be implemented by the subclass. - - - - - - Implement this method to create your own layout format. - - The TextWriter to write the formatted event to - The event to format - - - This method is called by an appender to format - the as text. - - - - - - The content type output by this layout. - - The content type is "text/plain" - - - The content type output by this layout. - - - This base class uses the value "text/plain". - To change this value a subclass must override this - property. - - - - - - The header for the layout format. - - the layout header - - - The Header text will be appended before any logging events - are formatted and appended. - - - - - - The footer for the layout format. - - the layout footer - - - The Footer text will be appended after all the logging events - have been formatted and appended. - - - - - - Flag indicating if this layout handles exceptions - - false if this layout handles exceptions - - - If this layout handles the exception object contained within - , then the layout should return - false. Otherwise, if the layout ignores the exception - object, then the layout should return true. - - - Set this value to override a this default setting. The default - value is true, this layout does not handle the exception. - - - - - - Default constructor - - - - Constructs a ExceptionLayout - - - - - - Activate component options - - - - Part of the component activation - framework. - - - This method does nothing as options become effective immediately. - - - - - - Gets the exception text from the logging event - - The TextWriter to write the formatted event to - the event being logged - - - Write the exception string to the . - The exception string is retrieved from . - - - - - - Interface for raw layout objects - - - - Interface used to format a - to an object. - - - This interface should not be confused with the - interface. This interface is used in - only certain specialized situations where a raw object is - required rather than a formatted string. The - is not generally useful than this interface. - - - Nicko Cadell - Gert Driesen - - - - Implement this method to create your own layout format. - - The event to format - returns the formatted event - - - Implement this method to create your own layout format. - - - - - - Adapts any to a - - - - Where an is required this adapter - allows a to be specified. - - - Nicko Cadell - Gert Driesen - - - - The layout to adapt - - - - - Construct a new adapter - - the layout to adapt - - - Create the adapter for the specified . - - - - - - Format the logging event as an object. - - The event to format - returns the formatted event - - - Format the logging event as an object. - - - Uses the object supplied to - the constructor to perform the formatting. - - - - - - A flexible layout configurable with pattern string. - - - - The goal of this class is to a - as a string. The results - depend on the conversion pattern. - - - The conversion pattern is closely related to the conversion - pattern of the printf function in C. A conversion pattern is - composed of literal text and format control expressions called - conversion specifiers. - - - You are free to insert any literal text within the conversion - pattern. - - - Each conversion specifier starts with a percent sign (%) and is - followed by optional format modifiers and a conversion - pattern name. The conversion pattern name specifies the type of - data, e.g. logger, level, date, thread name. The format - modifiers control such things as field width, padding, left and - right justification. The following is a simple example. - - - Let the conversion pattern be "%-5level [%thread]: %message%newline" and assume - that the log4net environment was set to use a PatternLayout. Then the - statements - - - ILog log = LogManager.GetLogger(typeof(TestApp)); - log.Debug("Message 1"); - log.Warn("Message 2"); - - would yield the output - - DEBUG [main]: Message 1 - WARN [main]: Message 2 - - - Note that there is no explicit separator between text and - conversion specifiers. The pattern parser knows when it has reached - the end of a conversion specifier when it reads a conversion - character. In the example above the conversion specifier - %-5level means the level of the logging event should be left - justified to a width of five characters. - - - The recognized conversion pattern names are: - - - - Conversion Pattern Name - Effect - - - a - Equivalent to appdomain - - - appdomain - - Used to output the friendly name of the AppDomain where the - logging event was generated. - - - - c - Equivalent to logger - - - C - Equivalent to type - - - class - Equivalent to type - - - d - Equivalent to date - - - date - - - Used to output the date of the logging event in the local time zone. - To output the date in universal time use the %utcdate pattern. - The date conversion - specifier may be followed by a date format specifier enclosed - between braces. For example, %date{HH:mm:ss,fff} or - %date{dd MMM yyyy HH:mm:ss,fff}. If no date format specifier is - given then ISO8601 format is - assumed (). - - - The date format specifier admits the same syntax as the - time pattern string of the . - - - For better results it is recommended to use the log4net date - formatters. These can be specified using one of the strings - "ABSOLUTE", "DATE" and "ISO8601" for specifying - , - and respectively - . For example, - %date{ISO8601} or %date{ABSOLUTE}. - - - These dedicated date formatters perform significantly - better than . - - - - - exception - - - Used to output the exception passed in with the log message. - - - If an exception object is stored in the logging event - it will be rendered into the pattern output with a - trailing newline. - If there is no exception then nothing will be output - and no trailing newline will be appended. - It is typical to put a newline before the exception - and to have the exception as the last data in the pattern. - - - - - F - Equivalent to file - - - file - - - Used to output the file name where the logging request was - issued. - - - WARNING Generating caller location information is - extremely slow. Its use should be avoided unless execution speed - is not an issue. - - - See the note below on the availability of caller location information. - - - - - identity - - - Used to output the user name for the currently active user - (Principal.Identity.Name). - - - WARNING Generating caller information is - extremely slow. Its use should be avoided unless execution speed - is not an issue. - - - - - l - Equivalent to location - - - L - Equivalent to line - - - location - - - Used to output location information of the caller which generated - the logging event. - - - The location information depends on the CLI implementation but - usually consists of the fully qualified name of the calling - method followed by the callers source the file name and line - number between parentheses. - - - The location information can be very useful. However, its - generation is extremely slow. Its use should be avoided - unless execution speed is not an issue. - - - See the note below on the availability of caller location information. - - - - - level - - - Used to output the level of the logging event. - - - - - line - - - Used to output the line number from where the logging request - was issued. - - - WARNING Generating caller location information is - extremely slow. Its use should be avoided unless execution speed - is not an issue. - - - See the note below on the availability of caller location information. - - - - - logger - - - Used to output the logger of the logging event. The - logger conversion specifier can be optionally followed by - precision specifier, that is a decimal constant in - brackets. - - - If a precision specifier is given, then only the corresponding - number of right most components of the logger name will be - printed. By default the logger name is printed in full. - - - For example, for the logger name "a.b.c" the pattern - %logger{2} will output "b.c". - - - - - m - Equivalent to message - - - M - Equivalent to method - - - message - - - Used to output the application supplied message associated with - the logging event. - - - - - mdc - - - The MDC (old name for the ThreadContext.Properties) is now part of the - combined event properties. This pattern is supported for compatibility - but is equivalent to property. - - - - - method - - - Used to output the method name where the logging request was - issued. - - - WARNING Generating caller location information is - extremely slow. Its use should be avoided unless execution speed - is not an issue. - - - See the note below on the availability of caller location information. - - - - - n - Equivalent to newline - - - newline - - - Outputs the platform dependent line separator character or - characters. - - - This conversion pattern offers the same performance as using - non-portable line separator strings such as "\n", or "\r\n". - Thus, it is the preferred way of specifying a line separator. - - - - - ndc - - - Used to output the NDC (nested diagnostic context) associated - with the thread that generated the logging event. - - - - - p - Equivalent to level - - - P - Equivalent to property - - - properties - Equivalent to property - - - property - - - Used to output the an event specific property. The key to - lookup must be specified within braces and directly following the - pattern specifier, e.g. %property{user} would include the value - from the property that is keyed by the string 'user'. Each property value - that is to be included in the log must be specified separately. - Properties are added to events by loggers or appenders. By default - the log4net:HostName property is set to the name of machine on - which the event was originally logged. - - - If no key is specified, e.g. %property then all the keys and their - values are printed in a comma separated list. - - - The properties of an event are combined from a number of different - contexts. These are listed below in the order in which they are searched. - - - - the event properties - - The event has that can be set. These - properties are specific to this event only. - - - - the thread properties - - The that are set on the current - thread. These properties are shared by all events logged on this thread. - - - - the global properties - - The that are set globally. These - properties are shared by all the threads in the AppDomain. - - - - - - - - r - Equivalent to timestamp - - - t - Equivalent to thread - - - timestamp - - - Used to output the number of milliseconds elapsed since the start - of the application until the creation of the logging event. - - - - - thread - - - Used to output the name of the thread that generated the - logging event. Uses the thread number if no name is available. - - - - - type - - - Used to output the fully qualified type name of the caller - issuing the logging request. This conversion specifier - can be optionally followed by precision specifier, that - is a decimal constant in brackets. - - - If a precision specifier is given, then only the corresponding - number of right most components of the class name will be - printed. By default the class name is output in fully qualified form. - - - For example, for the class name "log4net.Layout.PatternLayout", the - pattern %type{1} will output "PatternLayout". - - - WARNING Generating the caller class information is - slow. Thus, its use should be avoided unless execution speed is - not an issue. - - - See the note below on the availability of caller location information. - - - - - u - Equivalent to identity - - - username - - - Used to output the WindowsIdentity for the currently - active user. - - - WARNING Generating caller WindowsIdentity information is - extremely slow. Its use should be avoided unless execution speed - is not an issue. - - - - - utcdate - - - Used to output the date of the logging event in universal time. - The date conversion - specifier may be followed by a date format specifier enclosed - between braces. For example, %utcdate{HH:mm:ss,fff} or - %utcdate{dd MMM yyyy HH:mm:ss,fff}. If no date format specifier is - given then ISO8601 format is - assumed (). - - - The date format specifier admits the same syntax as the - time pattern string of the . - - - For better results it is recommended to use the log4net date - formatters. These can be specified using one of the strings - "ABSOLUTE", "DATE" and "ISO8601" for specifying - , - and respectively - . For example, - %utcdate{ISO8601} or %utcdate{ABSOLUTE}. - - - These dedicated date formatters perform significantly - better than . - - - - - w - Equivalent to username - - - x - Equivalent to ndc - - - X - Equivalent to mdc - - - % - - - The sequence %% outputs a single percent sign. - - - - - - The single letter patterns are deprecated in favor of the - longer more descriptive pattern names. - - - By default the relevant information is output as is. However, - with the aid of format modifiers it is possible to change the - minimum field width, the maximum field width and justification. - - - The optional format modifier is placed between the percent sign - and the conversion pattern name. - - - The first optional format modifier is the left justification - flag which is just the minus (-) character. Then comes the - optional minimum field width modifier. This is a decimal - constant that represents the minimum number of characters to - output. If the data item requires fewer characters, it is padded on - either the left or the right until the minimum width is - reached. The default is to pad on the left (right justify) but you - can specify right padding with the left justification flag. The - padding character is space. If the data item is larger than the - minimum field width, the field is expanded to accommodate the - data. The value is never truncated. - - - This behavior can be changed using the maximum field - width modifier which is designated by a period followed by a - decimal constant. If the data item is longer than the maximum - field, then the extra characters are removed from the - beginning of the data item and not from the end. For - example, it the maximum field width is eight and the data item is - ten characters long, then the first two characters of the data item - are dropped. This behavior deviates from the printf function in C - where truncation is done from the end. - - - Below are various format modifier examples for the logger - conversion specifier. - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Format modifierleft justifyminimum widthmaximum widthcomment
%20loggerfalse20none - - Left pad with spaces if the logger name is less than 20 - characters long. - -
%-20loggertrue20none - - Right pad with spaces if the logger - name is less than 20 characters long. - -
%.30loggerNAnone30 - - Truncate from the beginning if the logger - name is longer than 30 characters. - -
%20.30loggerfalse2030 - - Left pad with spaces if the logger name is shorter than 20 - characters. However, if logger name is longer than 30 characters, - then truncate from the beginning. - -
%-20.30loggertrue2030 - - Right pad with spaces if the logger name is shorter than 20 - characters. However, if logger name is longer than 30 characters, - then truncate from the beginning. - -
-
- - Note about caller location information.
- The following patterns %type %file %line %method %location %class %C %F %L %l %M - all generate caller location information. - Location information uses the System.Diagnostics.StackTrace class to generate - a call stack. The caller's information is then extracted from this stack. -
- - - The System.Diagnostics.StackTrace class is not supported on the - .NET Compact Framework 1.0 therefore caller location information is not - available on that framework. - - - - - The System.Diagnostics.StackTrace class has this to say about Release builds: - - - "StackTrace information will be most informative with Debug build configurations. - By default, Debug builds include debug symbols, while Release builds do not. The - debug symbols contain most of the file, method name, line number, and column - information used in constructing StackFrame and StackTrace objects. StackTrace - might not report as many method calls as expected, due to code transformations - that occur during optimization." - - - This means that in a Release build the caller information may be incomplete or may - not exist at all! Therefore caller location information cannot be relied upon in a Release build. - - - - Additional pattern converters may be registered with a specific - instance using the method. - -
- - This is a more detailed pattern. - %timestamp [%thread] %level %logger %ndc - %message%newline - - - A similar pattern except that the relative time is - right padded if less than 6 digits, thread name is right padded if - less than 15 characters and truncated if longer and the logger - name is left padded if shorter than 30 characters and truncated if - longer. - %-6timestamp [%15.15thread] %-5level %30.30logger %ndc - %message%newline - - Nicko Cadell - Gert Driesen - Douglas de la Torre - Daniel Cazzulino -
- - - Default pattern string for log output. - - - - Default pattern string for log output. - Currently set to the string "%message%newline" - which just prints the application supplied message. - - - - - - A detailed conversion pattern - - - - A conversion pattern which includes Time, Thread, Logger, and Nested Context. - Current value is %timestamp [%thread] %level %logger %ndc - %message%newline. - - - - - - Internal map of converter identifiers to converter types. - - - - This static map is overridden by the m_converterRegistry instance map - - - - - - the pattern - - - - - the head of the pattern converter chain - - - - - patterns defined on this PatternLayout only - - - - - Initialize the global registry - - - - Defines the builtin global rules. - - - - - - Constructs a PatternLayout using the DefaultConversionPattern - - - - The default pattern just produces the application supplied message. - - - Note to Inheritors: This constructor calls the virtual method - . If you override this method be - aware that it will be called before your is called constructor. - - - As per the contract the - method must be called after the properties on this object have been - configured. - - - - - - Constructs a PatternLayout using the supplied conversion pattern - - the pattern to use - - - Note to Inheritors: This constructor calls the virtual method - . If you override this method be - aware that it will be called before your is called constructor. - - - When using this constructor the method - need not be called. This may not be the case when using a subclass. - - - - - - Create the pattern parser instance - - the pattern to parse - The that will format the event - - - Creates the used to parse the conversion string. Sets the - global and instance rules on the . - - - - - - Initialize layout options - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - - - - Produces a formatted string as specified by the conversion pattern. - - the event being logged - The TextWriter to write the formatted event to - - - Parse the using the patter format - specified in the property. - - - - - - Add a converter to this PatternLayout - - the converter info - - - This version of the method is used by the configurator. - Programmatic users should use the alternative method. - - - - - - Add a converter to this PatternLayout - - the name of the conversion pattern for this converter - the type of the converter - - - Add a named pattern converter to this instance. This - converter will be used in the formatting of the event. - This method must be called before . - - - The specified must extend the - type. - - - - - - The pattern formatting string - - - - The ConversionPattern option. This is the string which - controls formatting and consists of a mix of literal content and - conversion specifiers. - - - - - - Wrapper class used to map converter names to converter types - - - - Pattern converter info class used during configuration to - pass to the - method. - - - - - - default constructor - - - - - Gets or sets the name of the conversion pattern - - - - The name of the pattern in the format string - - - - - - Gets or sets the type of the converter - - - - The value specified must extend the - type. - - - - - - Type converter for the interface - - - - Used to convert objects to the interface. - Supports converting from the interface to - the interface using the . - - - Nicko Cadell - Gert Driesen - - - - Interface supported by type converters - - - - This interface supports conversion from arbitrary types - to a single target type. See . - - - Nicko Cadell - Gert Driesen - - - - Can the source type be converted to the type supported by this object - - the type to convert - true if the conversion is possible - - - Test if the can be converted to the - type supported by this converter. - - - - - - Convert the source object to the type supported by this object - - the object to convert - the converted object - - - Converts the to the type supported - by this converter. - - - - - - Can the sourceType be converted to an - - the source to be to be converted - true if the source type can be converted to - - - Test if the can be converted to a - . Only is supported - as the . - - - - - - Convert the value to a object - - the value to convert - the object - - - Convert the object to a - object. If the object - is a then the - is used to adapt between the two interfaces, otherwise an - exception is thrown. - - - - - - Extract the value of a property from the - - - - Extract the value of a property from the - - - Nicko Cadell - - - - Constructs a RawPropertyLayout - - - - - Lookup the property for - - The event to format - returns property value - - - Looks up and returns the object value of the property - named . If there is no property defined - with than name then null will be returned. - - - - - - The name of the value to lookup in the LoggingEvent Properties collection. - - - Value to lookup in the LoggingEvent Properties collection - - - - String name of the property to lookup in the . - - - - - - Extract the date from the - - - - Extract the date from the - - - Nicko Cadell - Gert Driesen - - - - Constructs a RawTimeStampLayout - - - - - Gets the as a . - - The event to format - returns the time stamp - - - Gets the as a . - - - The time stamp is in local time. To format the time stamp - in universal time use . - - - - - - Extract the date from the - - - - Extract the date from the - - - Nicko Cadell - Gert Driesen - - - - Constructs a RawUtcTimeStampLayout - - - - - Gets the as a . - - The event to format - returns the time stamp - - - Gets the as a . - - - The time stamp is in universal time. To format the time stamp - in local time use . - - - - - - A very simple layout - - - - SimpleLayout consists of the level of the log statement, - followed by " - " and then the log message itself. For example, - - DEBUG - Hello world - - - - Nicko Cadell - Gert Driesen - - - - Constructs a SimpleLayout - - - - - Initialize layout options - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - - - - Produces a simple formatted output. - - the event being logged - The TextWriter to write the formatted event to - - - Formats the event as the level of the even, - followed by " - " and then the log message itself. The - output is terminated by a newline. - - - - - - Layout that formats the log events as XML elements. - - - - The output of the consists of a series of - log4net:event elements. It does not output a complete well-formed XML - file. The output is designed to be included as an external entity - in a separate file to form a correct XML file. - - - For example, if abc is the name of the file where - the output goes, then a well-formed XML file would - be: - - - <?xml version="1.0" ?> - - <!DOCTYPE log4net:events SYSTEM "log4net-events.dtd" [<!ENTITY data SYSTEM "abc">]> - - <log4net:events version="1.2" xmlns:log4net="http://logging.apache.org/log4net/schemas/log4net-events-1.2> - &data; - </log4net:events> - - - This approach enforces the independence of the - and the appender where it is embedded. - - - The version attribute helps components to correctly - interpret output generated by . The value of - this attribute should be "1.2" for release 1.2 and later. - - - Alternatively the Header and Footer properties can be - configured to output the correct XML header, open tag and close tag. - When setting the Header and Footer properties it is essential - that the underlying data store not be appendable otherwise the data - will become invalid XML. - - - Nicko Cadell - Gert Driesen - - - - Layout that formats the log events as XML elements. - - - - This is an abstract class that must be subclassed by an implementation - to conform to a specific schema. - - - Deriving classes must implement the method. - - - Nicko Cadell - Gert Driesen - - - - Protected constructor to support subclasses - - - - Initializes a new instance of the class - with no location info. - - - - - - Protected constructor to support subclasses - - - - The parameter determines whether - location information will be output by the layout. If - is set to true, then the - file name and line number of the statement at the origin of the log - statement will be output. - - - If you are embedding this layout within an SMTPAppender - then make sure to set the LocationInfo option of that - appender as well. - - - - - - Initialize layout options - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - - - - Produces a formatted string. - - The event being logged. - The TextWriter to write the formatted event to - - - Format the and write it to the . - - - This method creates an that writes to the - . The is passed - to the method. Subclasses should override the - method rather than this method. - - - - - - Does the actual writing of the XML. - - The writer to use to output the event to. - The event to write. - - - Subclasses should override this method to format - the as XML. - - - - - - Flag to indicate if location information should be included in - the XML events. - - - - - Writer adapter that ignores Close - - - - - The string to replace invalid chars with - - - - - Gets a value indicating whether to include location information in - the XML events. - - - true if location information should be included in the XML - events; otherwise, false. - - - - If is set to true, then the file - name and line number of the statement at the origin of the log - statement will be output. - - - If you are embedding this layout within an SMTPAppender - then make sure to set the LocationInfo option of that - appender as well. - - - - - - The string to replace characters that can not be expressed in XML with. - - - Not all characters may be expressed in XML. This property contains the - string to replace those that can not with. This defaults to a ?. Set it - to the empty string to simply remove offending characters. For more - details on the allowed character ranges see http://www.w3.org/TR/REC-xml/#charsets - Character replacement will occur in the log message, the property names - and the property values. - - - - - - - Gets the content type output by this layout. - - - As this is the XML layout, the value is always "text/xml". - - - - As this is the XML layout, the value is always "text/xml". - - - - - - Constructs an XmlLayout - - - - - Constructs an XmlLayout. - - - - The LocationInfo option takes a boolean value. By - default, it is set to false which means there will be no location - information output by this layout. If the the option is set to - true, then the file name and line number of the statement - at the origin of the log statement will be output. - - - If you are embedding this layout within an SmtpAppender - then make sure to set the LocationInfo option of that - appender as well. - - - - - - Initialize layout options - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - Builds a cache of the element names - - - - - - Does the actual writing of the XML. - - The writer to use to output the event to. - The event to write. - - - Override the base class method - to write the to the . - - - - - - The prefix to use for all generated element names - - - - - The prefix to use for all element names - - - - The default prefix is log4net. Set this property - to change the prefix. If the prefix is set to an empty string - then no prefix will be written. - - - - - - Set whether or not to base64 encode the message. - - - - By default the log message will be written as text to the xml - output. This can cause problems when the message contains binary - data. By setting this to true the contents of the message will be - base64 encoded. If this is set then invalid character replacement - (see ) will not be performed - on the log message. - - - - - - Set whether or not to base64 encode the property values. - - - - By default the properties will be written as text to the xml - output. This can cause problems when one or more properties contain - binary data. By setting this to true the values of the properties - will be base64 encoded. If this is set then invalid character replacement - (see ) will not be performed - on the property values. - - - - - - Layout that formats the log events as XML elements compatible with the log4j schema - - - - Formats the log events according to the http://logging.apache.org/log4j schema. - - - Nicko Cadell - - - - The 1st of January 1970 in UTC - - - - - Constructs an XMLLayoutSchemaLog4j - - - - - Constructs an XMLLayoutSchemaLog4j. - - - - The LocationInfo option takes a boolean value. By - default, it is set to false which means there will be no location - information output by this layout. If the the option is set to - true, then the file name and line number of the statement - at the origin of the log statement will be output. - - - If you are embedding this layout within an SMTPAppender - then make sure to set the LocationInfo option of that - appender as well. - - - - - - Actually do the writing of the xml - - the writer to use - the event to write - - - Generate XML that is compatible with the log4j schema. - - - - - - The version of the log4j schema to use. - - - - Only version 1.2 of the log4j schema is supported. - - - - - - The default object Renderer. - - - - The default renderer supports rendering objects and collections to strings. - - - See the method for details of the output. - - - Nicko Cadell - Gert Driesen - - - - Implement this interface in order to render objects as strings - - - - Certain types require special case conversion to - string form. This conversion is done by an object renderer. - Object renderers implement the - interface. - - - Nicko Cadell - Gert Driesen - - - - Render the object to a string - - The map used to lookup renderers - The object to render - The writer to render to - - - Render the object to a - string. - - - The parameter is - provided to lookup and render other objects. This is - very useful where contains - nested objects of unknown type. The - method can be used to render these objects. - - - - - - Default constructor - - - - Default constructor - - - - - - Render the object to a string - - The map used to lookup renderers - The object to render - The writer to render to - - - Render the object to a string. - - - The parameter is - provided to lookup and render other objects. This is - very useful where contains - nested objects of unknown type. The - method can be used to render these objects. - - - The default renderer supports rendering objects to strings as follows: - - - - Value - Rendered String - - - null - - "(null)" - - - - - - - For a one dimensional array this is the - array type name, an open brace, followed by a comma - separated list of the elements (using the appropriate - renderer), followed by a close brace. - - - For example: int[] {1, 2, 3}. - - - If the array is not one dimensional the - Array.ToString() is returned. - - - - - , & - - - Rendered as an open brace, followed by a comma - separated list of the elements (using the appropriate - renderer), followed by a close brace. - - - For example: {a, b, c}. - - - All collection classes that implement its subclasses, - or generic equivalents all implement the interface. - - - - - - - - Rendered as the key, an equals sign ('='), and the value (using the appropriate - renderer). - - - For example: key=value. - - - - - other - - Object.ToString() - - - - - - - - Render the array argument into a string - - The map used to lookup renderers - the array to render - The writer to render to - - - For a one dimensional array this is the - array type name, an open brace, followed by a comma - separated list of the elements (using the appropriate - renderer), followed by a close brace. For example: - int[] {1, 2, 3}. - - - If the array is not one dimensional the - Array.ToString() is returned. - - - - - - Render the enumerator argument into a string - - The map used to lookup renderers - the enumerator to render - The writer to render to - - - Rendered as an open brace, followed by a comma - separated list of the elements (using the appropriate - renderer), followed by a close brace. For example: - {a, b, c}. - - - - - - Render the DictionaryEntry argument into a string - - The map used to lookup renderers - the DictionaryEntry to render - The writer to render to - - - Render the key, an equals sign ('='), and the value (using the appropriate - renderer). For example: key=value. - - - - - - Map class objects to an . - - - - Maintains a mapping between types that require special - rendering and the that - is used to render them. - - - The method is used to render an - object using the appropriate renderers defined in this map. - - - Nicko Cadell - Gert Driesen - - - - Default Constructor - - - - Default constructor. - - - - - - Render using the appropriate renderer. - - the object to render to a string - the object rendered as a string - - - This is a convenience method used to render an object to a string. - The alternative method - should be used when streaming output to a . - - - - - - Render using the appropriate renderer. - - the object to render to a string - The writer to render to - - - Find the appropriate renderer for the type of the - parameter. This is accomplished by calling the - method. Once a renderer is found, it is - applied on the object and the result is returned - as a . - - - - - - Gets the renderer for the specified object type - - the object to lookup the renderer for - the renderer for - - - Gets the renderer for the specified object type. - - - Syntactic sugar method that calls - with the type of the object parameter. - - - - - - Gets the renderer for the specified type - - the type to lookup the renderer for - the renderer for the specified type - - - Returns the renderer for the specified type. - If no specific renderer has been defined the - will be returned. - - - - - - Internal function to recursively search interfaces - - the type to lookup the renderer for - the renderer for the specified type - - - - Clear the map of renderers - - - - Clear the custom renderers defined by using - . The - cannot be removed. - - - - - - Register an for . - - the type that will be rendered by - the renderer for - - - Register an object renderer for a specific source type. - This renderer will be returned from a call to - specifying the same as an argument. - - - - - - Get the default renderer instance - - the default renderer - - - Get the default renderer - - - - - - Interface implemented by logger repository plugins. - - - - Plugins define additional behavior that can be associated - with a . - The held by the - property is used to store the plugins for a repository. - - - The log4net.Config.PluginAttribute can be used to - attach plugins to repositories created using configuration - attributes. - - - Nicko Cadell - Gert Driesen - - - - Attaches the plugin to the specified . - - The that this plugin should be attached to. - - - A plugin may only be attached to a single repository. - - - This method is called when the plugin is attached to the repository. - - - - - - Is called when the plugin is to shutdown. - - - - This method is called to notify the plugin that - it should stop operating and should detach from - the repository. - - - - - - Gets the name of the plugin. - - - The name of the plugin. - - - - Plugins are stored in the - keyed by name. Each plugin instance attached to a - repository must be a unique name. - - - - - - A strongly-typed collection of objects. - - Nicko Cadell - - - - Creates a read-only wrapper for a PluginCollection instance. - - list to create a readonly wrapper arround - - A PluginCollection wrapper that is read-only. - - - - - Initializes a new instance of the PluginCollection class - that is empty and has the default initial capacity. - - - - - Initializes a new instance of the PluginCollection class - that has the specified initial capacity. - - - The number of elements that the new PluginCollection is initially capable of storing. - - - - - Initializes a new instance of the PluginCollection class - that contains elements copied from the specified PluginCollection. - - The PluginCollection whose elements are copied to the new collection. - - - - Initializes a new instance of the PluginCollection class - that contains elements copied from the specified array. - - The array whose elements are copied to the new list. - - - - Initializes a new instance of the PluginCollection class - that contains elements copied from the specified collection. - - The collection whose elements are copied to the new list. - - - - Allow subclasses to avoid our default constructors - - - - - - - Copies the entire PluginCollection to a one-dimensional - array. - - The one-dimensional array to copy to. - - - - Copies the entire PluginCollection to a one-dimensional - array, starting at the specified index of the target array. - - The one-dimensional array to copy to. - The zero-based index in at which copying begins. - - - - Adds a to the end of the PluginCollection. - - The to be added to the end of the PluginCollection. - The index at which the value has been added. - - - - Removes all elements from the PluginCollection. - - - - - Creates a shallow copy of the . - - A new with a shallow copy of the collection data. - - - - Determines whether a given is in the PluginCollection. - - The to check for. - true if is found in the PluginCollection; otherwise, false. - - - - Returns the zero-based index of the first occurrence of a - in the PluginCollection. - - The to locate in the PluginCollection. - - The zero-based index of the first occurrence of - in the entire PluginCollection, if found; otherwise, -1. - - - - - Inserts an element into the PluginCollection at the specified index. - - The zero-based index at which should be inserted. - The to insert. - - is less than zero - -or- - is equal to or greater than . - - - - - Removes the first occurrence of a specific from the PluginCollection. - - The to remove from the PluginCollection. - - The specified was not found in the PluginCollection. - - - - - Removes the element at the specified index of the PluginCollection. - - The zero-based index of the element to remove. - - is less than zero. - -or- - is equal to or greater than . - - - - - Returns an enumerator that can iterate through the PluginCollection. - - An for the entire PluginCollection. - - - - Adds the elements of another PluginCollection to the current PluginCollection. - - The PluginCollection whose elements should be added to the end of the current PluginCollection. - The new of the PluginCollection. - - - - Adds the elements of a array to the current PluginCollection. - - The array whose elements should be added to the end of the PluginCollection. - The new of the PluginCollection. - - - - Adds the elements of a collection to the current PluginCollection. - - The collection whose elements should be added to the end of the PluginCollection. - The new of the PluginCollection. - - - - Sets the capacity to the actual number of elements. - - - - - is less than zero. - -or- - is equal to or greater than . - - - - - is less than zero. - -or- - is equal to or greater than . - - - - - Gets the number of elements actually contained in the PluginCollection. - - - - - Gets a value indicating whether access to the collection is synchronized (thread-safe). - - true if access to the ICollection is synchronized (thread-safe); otherwise, false. - - - - Gets an object that can be used to synchronize access to the collection. - - - An object that can be used to synchronize access to the collection. - - - - - Gets or sets the at the specified index. - - - The at the specified index. - - The zero-based index of the element to get or set. - - is less than zero. - -or- - is equal to or greater than . - - - - - Gets a value indicating whether the collection has a fixed size. - - true if the collection has a fixed size; otherwise, false. The default is false. - - - - Gets a value indicating whether the IList is read-only. - - true if the collection is read-only; otherwise, false. The default is false. - - - - Gets or sets the number of elements the PluginCollection can contain. - - - The number of elements the PluginCollection can contain. - - - - - Supports type-safe iteration over a . - - - - - - Advances the enumerator to the next element in the collection. - - - true if the enumerator was successfully advanced to the next element; - false if the enumerator has passed the end of the collection. - - - The collection was modified after the enumerator was created. - - - - - Sets the enumerator to its initial position, before the first element in the collection. - - - - - Gets the current element in the collection. - - - - - Type visible only to our subclasses - Used to access protected constructor - - - - - - A value - - - - - Supports simple iteration over a . - - - - - - Initializes a new instance of the Enumerator class. - - - - - - Advances the enumerator to the next element in the collection. - - - true if the enumerator was successfully advanced to the next element; - false if the enumerator has passed the end of the collection. - - - The collection was modified after the enumerator was created. - - - - - Sets the enumerator to its initial position, before the first element in the collection. - - - - - Gets the current element in the collection. - - - The current element in the collection. - - - - - - - - Map of repository plugins. - - - - This class is a name keyed map of the plugins that are - attached to a repository. - - - Nicko Cadell - Gert Driesen - - - - Constructor - - The repository that the plugins should be attached to. - - - Initialize a new instance of the class with a - repository that the plugins should be attached to. - - - - - - Adds a to the map. - - The to add to the map. - - - The will be attached to the repository when added. - - - If there already exists a plugin with the same name - attached to the repository then the old plugin will - be and replaced with - the new plugin. - - - - - - Removes a from the map. - - The to remove from the map. - - - Remove a specific plugin from this map. - - - - - - Gets a by name. - - The name of the to lookup. - - The from the map with the name specified, or - null if no plugin is found. - - - - Lookup a plugin by name. If the plugin is not found null - will be returned. - - - - - - Gets all possible plugins as a list of objects. - - All possible plugins as a list of objects. - - - Get a collection of all the plugins defined in this map. - - - - - - Base implementation of - - - - Default abstract implementation of the - interface. This base class can be used by implementors - of the interface. - - - Nicko Cadell - Gert Driesen - - - - Constructor - - the name of the plugin - - Initializes a new Plugin with the specified name. - - - - - Attaches this plugin to a . - - The that this plugin should be attached to. - - - A plugin may only be attached to a single repository. - - - This method is called when the plugin is attached to the repository. - - - - - - Is called when the plugin is to shutdown. - - - - This method is called to notify the plugin that - it should stop operating and should detach from - the repository. - - - - - - The name of this plugin. - - - - - The repository this plugin is attached to. - - - - - Gets or sets the name of the plugin. - - - The name of the plugin. - - - - Plugins are stored in the - keyed by name. Each plugin instance attached to a - repository must be a unique name. - - - The name of the plugin must not change one the - plugin has been attached to a repository. - - - - - - The repository for this plugin - - - The that this plugin is attached to. - - - - Gets or sets the that this plugin is - attached to. - - - - - - Plugin that listens for events from the - - - - This plugin publishes an instance of - on a specified . This listens for logging events delivered from - a remote . - - - When an event is received it is relogged within the attached repository - as if it had been raised locally. - - - Nicko Cadell - Gert Driesen - - - - Default constructor - - - - Initializes a new instance of the class. - - - The property must be set. - - - - - - Construct with sink Uri. - - The name to publish the sink under in the remoting infrastructure. - See for more details. - - - Initializes a new instance of the class - with specified name. - - - - - - Attaches this plugin to a . - - The that this plugin should be attached to. - - - A plugin may only be attached to a single repository. - - - This method is called when the plugin is attached to the repository. - - - - - - Is called when the plugin is to shutdown. - - - - When the plugin is shutdown the remote logging - sink is disconnected. - - - - - - Gets or sets the URI of this sink. - - - The URI of this sink. - - - - This is the name under which the object is marshaled. - - - - - - - Delivers objects to a remote sink. - - - - Internal class used to listen for logging events - and deliver them to the local repository. - - - - - - Constructor - - The repository to log to. - - - Initializes a new instance of the for the - specified . - - - - - - Logs the events to the repository. - - The events to log. - - - The events passed are logged to the - - - - - - Obtains a lifetime service object to control the lifetime - policy for this instance. - - null to indicate that this instance should live forever. - - - Obtains a lifetime service object to control the lifetime - policy for this instance. This object should live forever - therefore this implementation returns null. - - - - - - The underlying that events should - be logged to. - - - - - Default implementation of - - - - This default implementation of the - interface is used to create the default subclass - of the object. - - - Nicko Cadell - Gert Driesen - - - - Interface abstracts creation of instances - - - - This interface is used by the to - create new objects. - - - The method is called - to create a named . - - - Implement this interface to create new subclasses of . - - - Nicko Cadell - Gert Driesen - - - - Create a new instance - - The name of the . - The instance for the specified name. - - - Create a new instance with the - specified name. - - - Called by the to create - new named instances. - - - If the is null then the root logger - must be returned. - - - - - - Default constructor - - - - Initializes a new instance of the class. - - - - - - Create a new instance - - The name of the . - The instance for the specified name. - - - Create a new instance with the - specified name. - - - Called by the to create - new named instances. - - - If the is null then the root logger - must be returned. - - - - - - Default internal subclass of - - - - This subclass has no additional behavior over the - class but does allow instances - to be created. - - - - - - Implementation of used by - - - - Internal class used to provide implementation of - interface. Applications should use to get - logger instances. - - - This is one of the central classes in the log4net implementation. One of the - distinctive features of log4net are hierarchical loggers and their - evaluation. The organizes the - instances into a rooted tree hierarchy. - - - The class is abstract. Only concrete subclasses of - can be created. The - is used to create instances of this type for the . - - - Nicko Cadell - Gert Driesen - Aspi Havewala - Douglas de la Torre - - - - This constructor created a new instance and - sets its name. - - The name of the . - - - This constructor is protected and designed to be used by - a subclass that is not abstract. - - - Loggers are constructed by - objects. See for the default - logger creator. - - - - - - Add to the list of appenders of this - Logger instance. - - An appender to add to this logger - - - Add to the list of appenders of this - Logger instance. - - - If is already in the list of - appenders, then it won't be added again. - - - - - - Look for the appender named as name - - The name of the appender to lookup - The appender with the name specified, or null. - - - Returns the named appender, or null if the appender is not found. - - - - - - Remove all previously added appenders from this Logger instance. - - - - Remove all previously added appenders from this Logger instance. - - - This is useful when re-reading configuration information. - - - - - - Remove the appender passed as parameter form the list of appenders. - - The appender to remove - The appender removed from the list - - - Remove the appender passed as parameter form the list of appenders. - The appender removed is not closed. - If you are discarding the appender you must call - on the appender removed. - - - - - - Remove the appender passed as parameter form the list of appenders. - - The name of the appender to remove - The appender removed from the list - - - Remove the named appender passed as parameter form the list of appenders. - The appender removed is not closed. - If you are discarding the appender you must call - on the appender removed. - - - - - - This generic form is intended to be used by wrappers. - - The declaring type of the method that is - the stack boundary into the logging system for this call. - The level of the message to be logged. - The message object to log. - The exception to log, including its stack trace. - - - Generate a logging event for the specified using - the and . - - - This method must not throw any exception to the caller. - - - - - - This is the most generic printing method that is intended to be used - by wrappers. - - The event being logged. - - - Logs the specified logging event through this logger. - - - This method must not throw any exception to the caller. - - - - - - Checks if this logger is enabled for a given passed as parameter. - - The level to check. - - true if this logger is enabled for level, otherwise false. - - - - Test if this logger is going to log events of the specified . - - - This method must not throw any exception to the caller. - - - - - - Deliver the to the attached appenders. - - The event to log. - - - Call the appenders in the hierarchy starting at - this. If no appenders could be found, emit a - warning. - - - This method calls all the appenders inherited from the - hierarchy circumventing any evaluation of whether to log or not - to log the particular log request. - - - - - - Closes all attached appenders implementing the interface. - - - - Used to ensure that the appenders are correctly shutdown. - - - - - - This is the most generic printing method. This generic form is intended to be used by wrappers - - The level of the message to be logged. - The message object to log. - The exception to log, including its stack trace. - - - Generate a logging event for the specified using - the . - - - - - - Creates a new logging event and logs the event without further checks. - - The declaring type of the method that is - the stack boundary into the logging system for this call. - The level of the message to be logged. - The message object to log. - The exception to log, including its stack trace. - - - Generates a logging event and delivers it to the attached - appenders. - - - - - - Creates a new logging event and logs the event without further checks. - - The event being logged. - - - Delivers the logging event to the attached appenders. - - - - - - The fully qualified type of the Logger class. - - - - - The name of this logger. - - - - - The assigned level of this logger. - - - - The level variable need not be - assigned a value in which case it is inherited - form the hierarchy. - - - - - - The parent of this logger. - - - - The parent of this logger. - All loggers have at least one ancestor which is the root logger. - - - - - - Loggers need to know what Hierarchy they are in. - - - - Loggers need to know what Hierarchy they are in. - The hierarchy that this logger is a member of is stored - here. - - - - - - Helper implementation of the interface - - - - - Flag indicating if child loggers inherit their parents appenders - - - - Additivity is set to true by default, that is children inherit - the appenders of their ancestors by default. If this variable is - set to false then the appenders found in the - ancestors of this logger are not used. However, the children - of this logger will inherit its appenders, unless the children - have their additivity flag set to false too. See - the user manual for more details. - - - - - - Lock to protect AppenderAttachedImpl variable m_appenderAttachedImpl - - - - - Gets or sets the parent logger in the hierarchy. - - - The parent logger in the hierarchy. - - - - Part of the Composite pattern that makes the hierarchy. - The hierarchy is parent linked rather than child linked. - - - - - - Gets or sets a value indicating if child loggers inherit their parent's appenders. - - - true if child loggers inherit their parent's appenders. - - - - Additivity is set to true by default, that is children inherit - the appenders of their ancestors by default. If this variable is - set to false then the appenders found in the - ancestors of this logger are not used. However, the children - of this logger will inherit its appenders, unless the children - have their additivity flag set to false too. See - the user manual for more details. - - - - - - Gets the effective level for this logger. - - The nearest level in the logger hierarchy. - - - Starting from this logger, searches the logger hierarchy for a - non-null level and returns it. Otherwise, returns the level of the - root logger. - - The Logger class is designed so that this method executes as - quickly as possible. - - - - - Gets or sets the where this - Logger instance is attached to. - - The hierarchy that this logger belongs to. - - - This logger must be attached to a single . - - - - - - Gets or sets the assigned , if any, for this Logger. - - - The of this logger. - - - - The assigned can be null. - - - - - - Get the appenders contained in this logger as an - . - - A collection of the appenders in this logger - - - Get the appenders contained in this logger as an - . If no appenders - can be found, then a is returned. - - - - - - Gets the logger name. - - - The name of the logger. - - - - The name of this logger - - - - - - Gets the where this - Logger instance is attached to. - - - The that this logger belongs to. - - - - Gets the where this - Logger instance is attached to. - - - - - - Construct a new Logger - - the name of the logger - - - Initializes a new instance of the class - with the specified name. - - - - - - Delegate used to handle logger creation event notifications. - - The in which the has been created. - The event args that hold the instance that has been created. - - - Delegate used to handle logger creation event notifications. - - - - - - Provides data for the event. - - - - A event is raised every time a - is created. - - - - - - The created - - - - - Constructor - - The that has been created. - - - Initializes a new instance of the event argument - class,with the specified . - - - - - - Gets the that has been created. - - - The that has been created. - - - - The that has been created. - - - - - - Hierarchical organization of loggers - - - - The casual user should not have to deal with this class - directly. - - - This class is specialized in retrieving loggers by name and - also maintaining the logger hierarchy. Implements the - interface. - - - The structure of the logger hierarchy is maintained by the - method. The hierarchy is such that children - link to their parent but parents do not have any references to their - children. Moreover, loggers can be instantiated in any order, in - particular descendant before ancestor. - - - In case a descendant is created before a particular ancestor, - then it creates a provision node for the ancestor and adds itself - to the provision node. Other descendants of the same ancestor add - themselves to the previously created provision node. - - - Nicko Cadell - Gert Driesen - - - - Base implementation of - - - - Default abstract implementation of the interface. - - - Skeleton implementation of the interface. - All types can extend this type. - - - Nicko Cadell - Gert Driesen - - - - Interface implemented by logger repositories. - - - - This interface is implemented by logger repositories. e.g. - . - - - This interface is used by the - to obtain interfaces. - - - Nicko Cadell - Gert Driesen - - - - Check if the named logger exists in the repository. If so return - its reference, otherwise returns null. - - The name of the logger to lookup - The Logger object with the name specified - - - If the names logger exists it is returned, otherwise - null is returned. - - - - - - Returns all the currently defined loggers as an Array. - - All the defined loggers - - - Returns all the currently defined loggers as an Array. - - - - - - Returns a named logger instance - - The name of the logger to retrieve - The logger object with the name specified - - - Returns a named logger instance. - - - If a logger of that name already exists, then it will be - returned. Otherwise, a new logger will be instantiated and - then linked with its existing ancestors as well as children. - - - - - Shutdown the repository - - - Shutting down a repository will safely close and remove - all appenders in all loggers including the root logger. - - - Some appenders need to be closed before the - application exists. Otherwise, pending logging events might be - lost. - - - The method is careful to close nested - appenders before closing regular appenders. This is allows - configurations where a regular appender is attached to a logger - and again to a nested appender. - - - - - - Reset the repositories configuration to a default state - - - - Reset all values contained in this instance to their - default state. - - - Existing loggers are not removed. They are just reset. - - - This method should be used sparingly and with care as it will - block all logging until it is completed. - - - - - - Log the through this repository. - - the event to log - - - This method should not normally be used to log. - The interface should be used - for routine logging. This interface can be obtained - using the method. - - - The logEvent is delivered to the appropriate logger and - that logger is then responsible for logging the event. - - - - - - Returns all the Appenders that are configured as an Array. - - All the Appenders - - - Returns all the Appenders that are configured as an Array. - - - - - - The name of the repository - - - The name of the repository - - - - The name of the repository. - - - - - - RendererMap accesses the object renderer map for this repository. - - - RendererMap accesses the object renderer map for this repository. - - - - RendererMap accesses the object renderer map for this repository. - - - The RendererMap holds a mapping between types and - objects. - - - - - - The plugin map for this repository. - - - The plugin map for this repository. - - - - The plugin map holds the instances - that have been attached to this repository. - - - - - - Get the level map for the Repository. - - - - Get the level map for the Repository. - - - The level map defines the mappings between - level names and objects in - this repository. - - - - - - The threshold for all events in this repository - - - The threshold for all events in this repository - - - - The threshold for all events in this repository. - - - - - - Flag indicates if this repository has been configured. - - - Flag indicates if this repository has been configured. - - - - Flag indicates if this repository has been configured. - - - - - - Event to notify that the repository has been shutdown. - - - Event to notify that the repository has been shutdown. - - - - Event raised when the repository has been shutdown. - - - - - - Event to notify that the repository has had its configuration reset. - - - Event to notify that the repository has had its configuration reset. - - - - Event raised when the repository's configuration has been - reset to default. - - - - - - Event to notify that the repository has had its configuration changed. - - - Event to notify that the repository has had its configuration changed. - - - - Event raised when the repository's configuration has been changed. - - - - - - Repository specific properties - - - Repository specific properties - - - - These properties can be specified on a repository specific basis. - - - - - - Default Constructor - - - - Initializes the repository with default (empty) properties. - - - - - - Construct the repository using specific properties - - the properties to set for this repository - - - Initializes the repository with specified properties. - - - - - - Test if logger exists - - The name of the logger to lookup - The Logger object with the name specified - - - Check if the named logger exists in the repository. If so return - its reference, otherwise returns null. - - - - - - Returns all the currently defined loggers in the repository - - All the defined loggers - - - Returns all the currently defined loggers in the repository as an Array. - - - - - - Return a new logger instance - - The name of the logger to retrieve - The logger object with the name specified - - - Return a new logger instance. - - - If a logger of that name already exists, then it will be - returned. Otherwise, a new logger will be instantiated and - then linked with its existing ancestors as well as children. - - - - - - Shutdown the repository - - - - Shutdown the repository. Can be overridden in a subclass. - This base class implementation notifies the - listeners and all attached plugins of the shutdown event. - - - - - - Reset the repositories configuration to a default state - - - - Reset all values contained in this instance to their - default state. - - - Existing loggers are not removed. They are just reset. - - - This method should be used sparingly and with care as it will - block all logging until it is completed. - - - - - - Log the logEvent through this repository. - - the event to log - - - This method should not normally be used to log. - The interface should be used - for routine logging. This interface can be obtained - using the method. - - - The logEvent is delivered to the appropriate logger and - that logger is then responsible for logging the event. - - - - - - Returns all the Appenders that are configured as an Array. - - All the Appenders - - - Returns all the Appenders that are configured as an Array. - - - - - - Adds an object renderer for a specific class. - - The type that will be rendered by the renderer supplied. - The object renderer used to render the object. - - - Adds an object renderer for a specific class. - - - - - - Notify the registered listeners that the repository is shutting down - - Empty EventArgs - - - Notify any listeners that this repository is shutting down. - - - - - - Notify the registered listeners that the repository has had its configuration reset - - Empty EventArgs - - - Notify any listeners that this repository's configuration has been reset. - - - - - - Notify the registered listeners that the repository has had its configuration changed - - Empty EventArgs - - - Notify any listeners that this repository's configuration has changed. - - - - - - Raise a configuration changed event on this repository - - EventArgs.Empty - - - Applications that programmatically change the configuration of the repository should - raise this event notification to notify listeners. - - - - - - The name of the repository - - - The string name of the repository - - - - The name of this repository. The name is - used to store and lookup the repositories - stored by the . - - - - - - The threshold for all events in this repository - - - The threshold for all events in this repository - - - - The threshold for all events in this repository - - - - - - RendererMap accesses the object renderer map for this repository. - - - RendererMap accesses the object renderer map for this repository. - - - - RendererMap accesses the object renderer map for this repository. - - - The RendererMap holds a mapping between types and - objects. - - - - - - The plugin map for this repository. - - - The plugin map for this repository. - - - - The plugin map holds the instances - that have been attached to this repository. - - - - - - Get the level map for the Repository. - - - - Get the level map for the Repository. - - - The level map defines the mappings between - level names and objects in - this repository. - - - - - - Flag indicates if this repository has been configured. - - - Flag indicates if this repository has been configured. - - - - Flag indicates if this repository has been configured. - - - - - - Event to notify that the repository has been shutdown. - - - Event to notify that the repository has been shutdown. - - - - Event raised when the repository has been shutdown. - - - - - - Event to notify that the repository has had its configuration reset. - - - Event to notify that the repository has had its configuration reset. - - - - Event raised when the repository's configuration has been - reset to default. - - - - - - Event to notify that the repository has had its configuration changed. - - - Event to notify that the repository has had its configuration changed. - - - - Event raised when the repository's configuration has been changed. - - - - - - Repository specific properties - - - Repository specific properties - - - These properties can be specified on a repository specific basis - - - - - Basic Configurator interface for repositories - - - - Interface used by basic configurator to configure a - with a default . - - - A should implement this interface to support - configuration by the . - - - Nicko Cadell - Gert Driesen - - - - Initialize the repository using the specified appender - - the appender to use to log all logging events - - - Configure the repository to route all logging events to the - specified appender. - - - - - - Configure repository using XML - - - - Interface used by Xml configurator to configure a . - - - A should implement this interface to support - configuration by the . - - - Nicko Cadell - Gert Driesen - - - - Initialize the repository using the specified config - - the element containing the root of the config - - - The schema for the XML configuration data is defined by - the implementation. - - - - - - Default constructor - - - - Initializes a new instance of the class. - - - - - - Construct with properties - - The properties to pass to this repository. - - - Initializes a new instance of the class. - - - - - - Construct with a logger factory - - The factory to use to create new logger instances. - - - Initializes a new instance of the class with - the specified . - - - - - - Construct with properties and a logger factory - - The properties to pass to this repository. - The factory to use to create new logger instances. - - - Initializes a new instance of the class with - the specified . - - - - - - Test if a logger exists - - The name of the logger to lookup - The Logger object with the name specified - - - Check if the named logger exists in the hierarchy. If so return - its reference, otherwise returns null. - - - - - - Returns all the currently defined loggers in the hierarchy as an Array - - All the defined loggers - - - Returns all the currently defined loggers in the hierarchy as an Array. - The root logger is not included in the returned - enumeration. - - - - - - Return a new logger instance named as the first parameter using - the default factory. - - - - Return a new logger instance named as the first parameter using - the default factory. - - - If a logger of that name already exists, then it will be - returned. Otherwise, a new logger will be instantiated and - then linked with its existing ancestors as well as children. - - - The name of the logger to retrieve - The logger object with the name specified - - - - Shutting down a hierarchy will safely close and remove - all appenders in all loggers including the root logger. - - - - Shutting down a hierarchy will safely close and remove - all appenders in all loggers including the root logger. - - - Some appenders need to be closed before the - application exists. Otherwise, pending logging events might be - lost. - - - The Shutdown method is careful to close nested - appenders before closing regular appenders. This is allows - configurations where a regular appender is attached to a logger - and again to a nested appender. - - - - - - Reset all values contained in this hierarchy instance to their default. - - - - Reset all values contained in this hierarchy instance to their - default. This removes all appenders from all loggers, sets - the level of all non-root loggers to null, - sets their additivity flag to true and sets the level - of the root logger to . Moreover, - message disabling is set its default "off" value. - - - Existing loggers are not removed. They are just reset. - - - This method should be used sparingly and with care as it will - block all logging until it is completed. - - - - - - Log the logEvent through this hierarchy. - - the event to log - - - This method should not normally be used to log. - The interface should be used - for routine logging. This interface can be obtained - using the method. - - - The logEvent is delivered to the appropriate logger and - that logger is then responsible for logging the event. - - - - - - Returns all the Appenders that are currently configured - - An array containing all the currently configured appenders - - - Returns all the instances that are currently configured. - All the loggers are searched for appenders. The appenders may also be containers - for appenders and these are also searched for additional loggers. - - - The list returned is unordered but does not contain duplicates. - - - - - - Collect the appenders from an . - The appender may also be a container. - - - - - - - Collect the appenders from an container - - - - - - - Initialize the log4net system using the specified appender - - the appender to use to log all logging events - - - - Initialize the log4net system using the specified appender - - the appender to use to log all logging events - - - This method provides the same functionality as the - method implemented - on this object, but it is protected and therefore can be called by subclasses. - - - - - - Initialize the log4net system using the specified config - - the element containing the root of the config - - - - Initialize the log4net system using the specified config - - the element containing the root of the config - - - This method provides the same functionality as the - method implemented - on this object, but it is protected and therefore can be called by subclasses. - - - - - - Test if this hierarchy is disabled for the specified . - - The level to check against. - - true if the repository is disabled for the level argument, false otherwise. - - - - If this hierarchy has not been configured then this method will - always return true. - - - This method will return true if this repository is - disabled for level object passed as parameter and - false otherwise. - - - See also the property. - - - - - - Clear all logger definitions from the internal hashtable - - - - This call will clear all logger definitions from the internal - hashtable. Invoking this method will irrevocably mess up the - logger hierarchy. - - - You should really know what you are doing before - invoking this method. - - - - - - Return a new logger instance named as the first parameter using - . - - The name of the logger to retrieve - The factory that will make the new logger instance - The logger object with the name specified - - - If a logger of that name already exists, then it will be - returned. Otherwise, a new logger will be instantiated by the - parameter and linked with its existing - ancestors as well as children. - - - - - - Sends a logger creation event to all registered listeners - - The newly created logger - - Raises the logger creation event. - - - - - Updates all the parents of the specified logger - - The logger to update the parents for - - - This method loops through all the potential parents of - . There 3 possible cases: - - - - No entry for the potential parent of exists - - We create a ProvisionNode for this potential - parent and insert in that provision node. - - - - The entry is of type Logger for the potential parent. - - The entry is 's nearest existing parent. We - update 's parent field with this entry. We also break from - he loop because updating our parent's parent is our parent's - responsibility. - - - - The entry is of type ProvisionNode for this potential parent. - - We add to the list of children for this - potential parent. - - - - - - - - Replace a with a in the hierarchy. - - - - - - We update the links for all the children that placed themselves - in the provision node 'pn'. The second argument 'log' is a - reference for the newly created Logger, parent of all the - children in 'pn'. - - - We loop on all the children 'c' in 'pn'. - - - If the child 'c' has been already linked to a child of - 'log' then there is no need to update 'c'. - - - Otherwise, we set log's parent field to c's parent and set - c's parent field to log. - - - - - - Define or redefine a Level using the values in the argument - - the level values - - - Define or redefine a Level using the values in the argument - - - Supports setting levels via the configuration file. - - - - - - Set a Property using the values in the argument - - the property value - - - Set a Property using the values in the argument. - - - Supports setting property values via the configuration file. - - - - - - Event used to notify that a logger has been created. - - - - Event raised when a logger is created. - - - - - - Has no appender warning been emitted - - - - Flag to indicate if we have already issued a warning - about not having an appender warning. - - - - - - Get the root of this hierarchy - - - - Get the root of this hierarchy. - - - - - - Gets or sets the default instance. - - The default - - - The logger factory is used to create logger instances. - - - - - - A class to hold the value, name and display name for a level - - - - A class to hold the value, name and display name for a level - - - - - - Override Object.ToString to return sensible debug info - - string info about this object - - - - Value of the level - - - - If the value is not set (defaults to -1) the value will be looked - up for the current level with the same name. - - - - - - Name of the level - - - The name of the level - - - - The name of the level. - - - - - - Display name for the level - - - The display name of the level - - - - The display name of the level. - - - - - - A class to hold the key and data for a property set in the config file - - - - A class to hold the key and data for a property set in the config file - - - - - - Override Object.ToString to return sensible debug info - - string info about this object - - - - Property Key - - - Property Key - - - - Property Key. - - - - - - Property Value - - - Property Value - - - - Property Value. - - - - - - Used internally to accelerate hash table searches. - - - - Internal class used to improve performance of - string keyed hashtables. - - - The hashcode of the string is cached for reuse. - The string is stored as an interned value. - When comparing two objects for equality - the reference equality of the interned strings is compared. - - - Nicko Cadell - Gert Driesen - - - - Construct key with string name - - - - Initializes a new instance of the class - with the specified name. - - - Stores the hashcode of the string and interns - the string key to optimize comparisons. - - - The Compact Framework 1.0 the - method does not work. On the Compact Framework - the string keys are not interned nor are they - compared by reference. - - - The name of the logger. - - - - Returns a hash code for the current instance. - - A hash code for the current instance. - - - Returns the cached hashcode. - - - - - - Determines whether two instances - are equal. - - The to compare with the current . - - true if the specified is equal to the current ; otherwise, false. - - - - Compares the references of the interned strings. - - - - - - Provision nodes are used where no logger instance has been specified - - - - instances are used in the - when there is no specified - for that node. - - - A provision node holds a list of child loggers on behalf of - a logger that does not exist. - - - Nicko Cadell - Gert Driesen - - - - Create a new provision node with child node - - A child logger to add to this node. - - - Initializes a new instance of the class - with the specified child logger. - - - - - - The sits at the root of the logger hierarchy tree. - - - - The is a regular except - that it provides several guarantees. - - - First, it cannot be assigned a null - level. Second, since the root logger cannot have a parent, the - property always returns the value of the - level field without walking the hierarchy. - - - Nicko Cadell - Gert Driesen - - - - Construct a - - The level to assign to the root logger. - - - Initializes a new instance of the class with - the specified logging level. - - - The root logger names itself as "root". However, the root - logger cannot be retrieved by name. - - - - - - Gets the assigned level value without walking the logger hierarchy. - - The assigned level value without walking the logger hierarchy. - - - Because the root logger cannot have a parent and its level - must not be null this property just returns the - value of . - - - - - - Gets or sets the assigned for the root logger. - - - The of the root logger. - - - - Setting the level of the root logger to a null reference - may have catastrophic results. We prevent this here. - - - - - - Initializes the log4net environment using an XML DOM. - - - - Configures a using an XML DOM. - - - Nicko Cadell - Gert Driesen - - - - Construct the configurator for a hierarchy - - The hierarchy to build. - - - Initializes a new instance of the class - with the specified . - - - - - - Configure the hierarchy by parsing a DOM tree of XML elements. - - The root element to parse. - - - Configure the hierarchy by parsing a DOM tree of XML elements. - - - - - - Parse appenders by IDREF. - - The appender ref element. - The instance of the appender that the ref refers to. - - - Parse an XML element that represents an appender and return - the appender. - - - - - - Parses an appender element. - - The appender element. - The appender instance or null when parsing failed. - - - Parse an XML element that represents an appender and return - the appender instance. - - - - - - Parses a logger element. - - The logger element. - - - Parse an XML element that represents a logger. - - - - - - Parses the root logger element. - - The root element. - - - Parse an XML element that represents the root logger. - - - - - - Parses the children of a logger element. - - The category element. - The logger instance. - Flag to indicate if the logger is the root logger. - - - Parse the child elements of a <logger> element. - - - - - - Parses an object renderer. - - The renderer element. - - - Parse an XML element that represents a renderer. - - - - - - Parses a level element. - - The level element. - The logger object to set the level on. - Flag to indicate if the logger is the root logger. - - - Parse an XML element that represents a level. - - - - - - Sets a parameter on an object. - - The parameter element. - The object to set the parameter on. - - The parameter name must correspond to a writable property - on the object. The value of the parameter is a string, - therefore this function will attempt to set a string - property first. If unable to set a string property it - will inspect the property and its argument type. It will - attempt to call a static method called Parse on the - type of the property. This method will take a single - string argument and return a value that can be used to - set the property. - - - - - Test if an element has no attributes or child elements - - the element to inspect - true if the element has any attributes or child elements, false otherwise - - - - Test if a is constructible with Activator.CreateInstance. - - the type to inspect - true if the type is creatable using a default constructor, false otherwise - - - - Look for a method on the that matches the supplied - - the type that has the method - the name of the method - the method info found - - - The method must be a public instance method on the . - The method must be named or "Add" followed by . - The method must take a single parameter. - - - - - - Converts a string value to a target type. - - The type of object to convert the string to. - The string value to use as the value of the object. - - - An object of type with value or - null when the conversion could not be performed. - - - - - - Creates an object as specified in XML. - - The XML element that contains the definition of the object. - The object type to use if not explicitly specified. - The type that the returned object must be or must inherit from. - The object or null - - - Parse an XML element and create an object instance based on the configuration - data. - - - The type of the instance may be specified in the XML. If not - specified then the is used - as the type. However the type is specified it must support the - type. - - - - - - key: appenderName, value: appender. - - - - - The Hierarchy being configured. - - - - - Delegate used to handle logger repository shutdown event notifications - - The that is shutting down. - Empty event args - - - Delegate used to handle logger repository shutdown event notifications. - - - - - - Delegate used to handle logger repository configuration reset event notifications - - The that has had its configuration reset. - Empty event args - - - Delegate used to handle logger repository configuration reset event notifications. - - - - - - Delegate used to handle event notifications for logger repository configuration changes. - - The that has had its configuration changed. - Empty event arguments. - - - Delegate used to handle event notifications for logger repository configuration changes. - - - - - - Write the name of the current AppDomain to the output - - - - Write the name of the current AppDomain to the output writer - - - Nicko Cadell - - - - Write the name of the current AppDomain to the output - - the writer to write to - null, state is not set - - - Writes name of the current AppDomain to the output . - - - - - - Write the current date to the output - - - - Date pattern converter, uses a to format - the current date and time to the writer as a string. - - - The value of the determines - the formatting of the date. The following values are allowed: - - - Option value - Output - - - ISO8601 - - Uses the formatter. - Formats using the "yyyy-MM-dd HH:mm:ss,fff" pattern. - - - - DATE - - Uses the formatter. - Formats using the "dd MMM yyyy HH:mm:ss,fff" for example, "06 Nov 1994 15:49:37,459". - - - - ABSOLUTE - - Uses the formatter. - Formats using the "HH:mm:ss,fff" for example, "15:49:37,459". - - - - other - - Any other pattern string uses the formatter. - This formatter passes the pattern string to the - method. - For details on valid patterns see - DateTimeFormatInfo Class. - - - - - - The date and time is in the local time zone and is rendered in that zone. - To output the time in Universal time see . - - - Nicko Cadell - - - - The used to render the date to a string - - - - The used to render the date to a string - - - - - - Initialize the converter options - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - - - - Write the current date to the output - - that will receive the formatted result. - null, state is not set - - - Pass the current date and time to the - for it to render it to the writer. - - - The date and time passed is in the local time zone. - - - - - - Write an environment variable to the output - - - - Write an environment variable to the output writer. - The value of the determines - the name of the variable to output. - - - Nicko Cadell - - - - Write an environment variable to the output - - the writer to write to - null, state is not set - - - Writes the environment variable to the output . - The name of the environment variable to output must be set - using the - property. - - - - - - Write the current thread identity to the output - - - - Write the current thread identity to the output writer - - - Nicko Cadell - - - - Write the current thread identity to the output - - the writer to write to - null, state is not set - - - Writes the current thread identity to the output . - - - - - - Pattern converter for literal string instances in the pattern - - - - Writes the literal string value specified in the - property to - the output. - - - Nicko Cadell - - - - Set the next converter in the chain - - The next pattern converter in the chain - The next pattern converter - - - Special case the building of the pattern converter chain - for instances. Two adjacent - literals in the pattern can be represented by a single combined - pattern converter. This implementation detects when a - is added to the chain - after this converter and combines its value with this converter's - literal value. - - - - - - Write the literal to the output - - the writer to write to - null, not set - - - Override the formatting behavior to ignore the FormattingInfo - because we have a literal instead. - - - Writes the value of - to the output . - - - - - - Convert this pattern into the rendered message - - that will receive the formatted result. - null, not set - - - This method is not used. - - - - - - Writes a newline to the output - - - - Writes the system dependent line terminator to the output. - This behavior can be overridden by setting the : - - - - Option Value - Output - - - DOS - DOS or Windows line terminator "\r\n" - - - UNIX - UNIX line terminator "\n" - - - - Nicko Cadell - - - - Initialize the converter - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - - - - Write the current process ID to the output - - - - Write the current process ID to the output writer - - - Nicko Cadell - - - - Write the current process ID to the output - - the writer to write to - null, state is not set - - - Write the current process ID to the output . - - - - - - Property pattern converter - - - - This pattern converter reads the thread and global properties. - The thread properties take priority over global properties. - See for details of the - thread properties. See for - details of the global properties. - - - If the is specified then that will be used to - lookup a single property. If no is specified - then all properties will be dumped as a list of key value pairs. - - - Nicko Cadell - - - - Write the property value to the output - - that will receive the formatted result. - null, state is not set - - - Writes out the value of a named property. The property name - should be set in the - property. - - - If the is set to null - then all the properties are written as key value pairs. - - - - - - A Pattern converter that generates a string of random characters - - - - The converter generates a string of random characters. By default - the string is length 4. This can be changed by setting the - to the string value of the length required. - - - The random characters in the string are limited to uppercase letters - and numbers only. - - - The random number generator used by this class is not cryptographically secure. - - - Nicko Cadell - - - - Shared random number generator - - - - - Length of random string to generate. Default length 4. - - - - - Initialize the converter options - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - - - - Write a randoim string to the output - - the writer to write to - null, state is not set - - - Write a randoim string to the output . - - - - - - Write the current threads username to the output - - - - Write the current threads username to the output writer - - - Nicko Cadell - - - - Write the current threads username to the output - - the writer to write to - null, state is not set - - - Write the current threads username to the output . - - - - - - Write the UTC date time to the output - - - - Date pattern converter, uses a to format - the current date and time in Universal time. - - - See the for details on the date pattern syntax. - - - - Nicko Cadell - - - - Write the current date and time to the output - - that will receive the formatted result. - null, state is not set - - - Pass the current date and time to the - for it to render it to the writer. - - - The date is in Universal time when it is rendered. - - - - - - - Type converter for Boolean. - - - - Supports conversion from string to bool type. - - - - - - Nicko Cadell - Gert Driesen - - - - Can the source type be converted to the type supported by this object - - the type to convert - true if the conversion is possible - - - Returns true if the is - the type. - - - - - - Convert the source object to the type supported by this object - - the object to convert - the converted object - - - Uses the method to convert the - argument to a . - - - - The object cannot be converted to the - target type. To check for this condition use the - method. - - - - - Exception base type for conversion errors. - - - - This type extends . It - does not add any new functionality but does differentiate the - type of exception being thrown. - - - Nicko Cadell - Gert Driesen - - - - Constructor - - - - Initializes a new instance of the class. - - - - - - Constructor - - A message to include with the exception. - - - Initializes a new instance of the class - with the specified message. - - - - - - Constructor - - A message to include with the exception. - A nested exception to include. - - - Initializes a new instance of the class - with the specified message and inner exception. - - - - - - Serialization constructor - - The that holds the serialized object data about the exception being thrown. - The that contains contextual information about the source or destination. - - - Initializes a new instance of the class - with serialized data. - - - - - - Creates a new instance of the class. - - The conversion destination type. - The value to convert. - An instance of the . - - - Creates a new instance of the class. - - - - - - Creates a new instance of the class. - - The conversion destination type. - The value to convert. - A nested exception to include. - An instance of the . - - - Creates a new instance of the class. - - - - - - Register of type converters for specific types. - - - - Maintains a registry of type converters used to convert between - types. - - - Use the and - methods to register new converters. - The and methods - lookup appropriate converters to use. - - - - - Nicko Cadell - Gert Driesen - - - - Private constructor - - - Initializes a new instance of the class. - - - - - Static constructor. - - - - This constructor defines the intrinsic type converters. - - - - - - Adds a converter for a specific type. - - The type being converted to. - The type converter to use to convert to the destination type. - - - Adds a converter instance for a specific type. - - - - - - Adds a converter for a specific type. - - The type being converted to. - The type of the type converter to use to convert to the destination type. - - - Adds a converter for a specific type. - - - - - - Gets the type converter to use to convert values to the destination type. - - The type being converted from. - The type being converted to. - - The type converter instance to use for type conversions or null - if no type converter is found. - - - - Gets the type converter to use to convert values to the destination type. - - - - - - Gets the type converter to use to convert values to the destination type. - - The type being converted to. - - The type converter instance to use for type conversions or null - if no type converter is found. - - - - Gets the type converter to use to convert values to the destination type. - - - - - - Lookups the type converter to use as specified by the attributes on the - destination type. - - The type being converted to. - - The type converter instance to use for type conversions or null - if no type converter is found. - - - - - Creates the instance of the type converter. - - The type of the type converter. - - The type converter instance to use for type conversions or null - if no type converter is found. - - - - The type specified for the type converter must implement - the or interfaces - and must have a public default (no argument) constructor. - - - - - - Mapping from to type converter. - - - - - Supports conversion from string to type. - - - - Supports conversion from string to type. - - - - - - Nicko Cadell - Gert Driesen - - - - Can the source type be converted to the type supported by this object - - the type to convert - true if the conversion is possible - - - Returns true if the is - the type. - - - - - - Overrides the ConvertFrom method of IConvertFrom. - - the object to convert to an encoding - the encoding - - - Uses the method to - convert the argument to an . - - - - The object cannot be converted to the - target type. To check for this condition use the - method. - - - - - Interface supported by type converters - - - - This interface supports conversion from a single type to arbitrary types. - See . - - - Nicko Cadell - - - - Returns whether this converter can convert the object to the specified type - - A Type that represents the type you want to convert to - true if the conversion is possible - - - Test if the type supported by this converter can be converted to the - . - - - - - - Converts the given value object to the specified type, using the arguments - - the object to convert - The Type to convert the value parameter to - the converted object - - - Converts the (which must be of the type supported - by this converter) to the specified.. - - - - - - Supports conversion from string to type. - - - - Supports conversion from string to type. - - - - - Nicko Cadell - - - - Can the source type be converted to the type supported by this object - - the type to convert - true if the conversion is possible - - - Returns true if the is - the type. - - - - - - Overrides the ConvertFrom method of IConvertFrom. - - the object to convert to an IPAddress - the IPAddress - - - Uses the method to convert the - argument to an . - If that fails then the string is resolved as a DNS hostname. - - - - The object cannot be converted to the - target type. To check for this condition use the - method. - - - - - Valid characters in an IPv4 or IPv6 address string. (Does not support subnets) - - - - - Supports conversion from string to type. - - - - Supports conversion from string to type. - - - The string is used as the - of the . - - - - - - Nicko Cadell - - - - Can the source type be converted to the type supported by this object - - the type to convert - true if the conversion is possible - - - Returns true if the is - the type. - - - - - - Overrides the ConvertFrom method of IConvertFrom. - - the object to convert to a PatternLayout - the PatternLayout - - - Creates and returns a new using - the as the - . - - - - The object cannot be converted to the - target type. To check for this condition use the - method. - - - - - Convert between string and - - - - Supports conversion from string to type, - and from a type to a string. - - - The string is used as the - of the . - - - - - - Nicko Cadell - - - - Can the target type be converted to the type supported by this object - - A that represents the type you want to convert to - true if the conversion is possible - - - Returns true if the is - assignable from a type. - - - - - - Converts the given value object to the specified type, using the arguments - - the object to convert - The Type to convert the value parameter to - the converted object - - - Uses the method to convert the - argument to a . - - - - The object cannot be converted to the - . To check for this condition use the - method. - - - - - Can the source type be converted to the type supported by this object - - the type to convert - true if the conversion is possible - - - Returns true if the is - the type. - - - - - - Overrides the ConvertFrom method of IConvertFrom. - - the object to convert to a PatternString - the PatternString - - - Creates and returns a new using - the as the - . - - - - The object cannot be converted to the - target type. To check for this condition use the - method. - - - - - Supports conversion from string to type. - - - - Supports conversion from string to type. - - - - - - Nicko Cadell - - - - Can the source type be converted to the type supported by this object - - the type to convert - true if the conversion is possible - - - Returns true if the is - the type. - - - - - - Overrides the ConvertFrom method of IConvertFrom. - - the object to convert to a Type - the Type - - - Uses the method to convert the - argument to a . - Additional effort is made to locate partially specified types - by searching the loaded assemblies. - - - - The object cannot be converted to the - target type. To check for this condition use the - method. - - - - - Attribute used to associate a type converter - - - - Class and Interface level attribute that specifies a type converter - to use with the associated type. - - - To associate a type converter with a target type apply a - TypeConverterAttribute to the target type. Specify the - type of the type converter on the attribute. - - - Nicko Cadell - Gert Driesen - - - - The string type name of the type converter - - - - - Default constructor - - - - Default constructor - - - - - - Create a new type converter attribute for the specified type name - - The string type name of the type converter - - - The type specified must implement the - or the interfaces. - - - - - - Create a new type converter attribute for the specified type - - The type of the type converter - - - The type specified must implement the - or the interfaces. - - - - - - The string type name of the type converter - - - The string type name of the type converter - - - - The type specified must implement the - or the interfaces. - - - - - - A straightforward implementation of the interface. - - - - This is the default implementation of the - interface. Implementors of the interface - should aggregate an instance of this type. - - - Nicko Cadell - Gert Driesen - - - - Constructor - - - - Initializes a new instance of the class. - - - - - - Append on on all attached appenders. - - The event being logged. - The number of appenders called. - - - Calls the method on all - attached appenders. - - - - - - Append on on all attached appenders. - - The array of events being logged. - The number of appenders called. - - - Calls the method on all - attached appenders. - - - - - - Calls the DoAppende method on the with - the objects supplied. - - The appender - The events - - - If the supports the - interface then the will be passed - through using that interface. Otherwise the - objects in the array will be passed one at a time. - - - - - - Attaches an appender. - - The appender to add. - - - If the appender is already in the list it won't be added again. - - - - - - Gets an attached appender with the specified name. - - The name of the appender to get. - - The appender with the name specified, or null if no appender with the - specified name is found. - - - - Lookup an attached appender by name. - - - - - - Removes all attached appenders. - - - - Removes and closes all attached appenders - - - - - - Removes the specified appender from the list of attached appenders. - - The appender to remove. - The appender removed from the list - - - The appender removed is not closed. - If you are discarding the appender you must call - on the appender removed. - - - - - - Removes the appender with the specified name from the list of appenders. - - The name of the appender to remove. - The appender removed from the list - - - The appender removed is not closed. - If you are discarding the appender you must call - on the appender removed. - - - - - - List of appenders - - - - - Array of appenders, used to cache the m_appenderList - - - - - Gets all attached appenders. - - - A collection of attached appenders, or null if there - are no attached appenders. - - - - The read only collection of all currently attached appenders. - - - - - - This class aggregates several PropertiesDictionary collections together. - - - - Provides a dictionary style lookup over an ordered list of - collections. - - - Nicko Cadell - - - - Constructor - - - - Initializes a new instance of the class. - - - - - - Add a Properties Dictionary to this composite collection - - the properties to add - - - Properties dictionaries added first take precedence over dictionaries added - later. - - - - - - Flatten this composite collection into a single properties dictionary - - the flattened dictionary - - - Reduces the collection of ordered dictionaries to a single dictionary - containing the resultant values for the keys. - - - - - - Gets the value of a property - - - The value for the property with the specified key - - - - Looks up the value for the specified. - The collections are searched - in the order in which they were added to this collection. The value - returned is the value held by the first collection that contains - the specified key. - - - If none of the collections contain the specified key then - null is returned. - - - - - - Base class for Context Properties implementations - - - - This class defines a basic property get set accessor - - - Nicko Cadell - - - - Gets or sets the value of a property - - - The value for the property with the specified key - - - - Gets or sets the value of a property - - - - - - Subclass of that maintains a count of - the number of bytes written. - - - - This writer counts the number of bytes written. - - - Nicko Cadell - Gert Driesen - - - - that does not leak exceptions - - - - does not throw exceptions when things go wrong. - Instead, it delegates error handling to its . - - - Nicko Cadell - Gert Driesen - - - - Adapter that extends and forwards all - messages to an instance of . - - - - Adapter that extends and forwards all - messages to an instance of . - - - Nicko Cadell - - - - The writer to forward messages to - - - - - Create an instance of that forwards all - messages to a . - - The to forward to - - - Create an instance of that forwards all - messages to a . - - - - - - Closes the writer and releases any system resources associated with the writer - - - - - - - - - Dispose this writer - - flag indicating if we are being disposed - - - Dispose this writer - - - - - - Flushes any buffered output - - - - Clears all buffers for the writer and causes any buffered data to be written - to the underlying device - - - - - - Writes a character to the wrapped TextWriter - - the value to write to the TextWriter - - - Writes a character to the wrapped TextWriter - - - - - - Writes a character buffer to the wrapped TextWriter - - the data buffer - the start index - the number of characters to write - - - Writes a character buffer to the wrapped TextWriter - - - - - - Writes a string to the wrapped TextWriter - - the value to write to the TextWriter - - - Writes a string to the wrapped TextWriter - - - - - - Gets or sets the underlying . - - - The underlying . - - - - Gets or sets the underlying . - - - - - - The Encoding in which the output is written - - - The - - - - The Encoding in which the output is written - - - - - - Gets an object that controls formatting - - - The format provider - - - - Gets an object that controls formatting - - - - - - Gets or sets the line terminator string used by the TextWriter - - - The line terminator to use - - - - Gets or sets the line terminator string used by the TextWriter - - - - - - Constructor - - the writer to actually write to - the error handler to report error to - - - Create a new QuietTextWriter using a writer and error handler - - - - - - Writes a character to the underlying writer - - the char to write - - - Writes a character to the underlying writer - - - - - - Writes a buffer to the underlying writer - - the buffer to write - the start index to write from - the number of characters to write - - - Writes a buffer to the underlying writer - - - - - - Writes a string to the output. - - The string data to write to the output. - - - Writes a string to the output. - - - - - - Closes the underlying output writer. - - - - Closes the underlying output writer. - - - - - - The error handler instance to pass all errors to - - - - - Flag to indicate if this writer is closed - - - - - Gets or sets the error handler that all errors are passed to. - - - The error handler that all errors are passed to. - - - - Gets or sets the error handler that all errors are passed to. - - - - - - Gets a value indicating whether this writer is closed. - - - true if this writer is closed, otherwise false. - - - - Gets a value indicating whether this writer is closed. - - - - - - Constructor - - The to actually write to. - The to report errors to. - - - Creates a new instance of the class - with the specified and . - - - - - - Writes a character to the underlying writer and counts the number of bytes written. - - the char to write - - - Overrides implementation of . Counts - the number of bytes written. - - - - - - Writes a buffer to the underlying writer and counts the number of bytes written. - - the buffer to write - the start index to write from - the number of characters to write - - - Overrides implementation of . Counts - the number of bytes written. - - - - - - Writes a string to the output and counts the number of bytes written. - - The string data to write to the output. - - - Overrides implementation of . Counts - the number of bytes written. - - - - - - Total number of bytes written. - - - - - Gets or sets the total number of bytes written. - - - The total number of bytes written. - - - - Gets or sets the total number of bytes written. - - - - - - A fixed size rolling buffer of logging events. - - - - An array backed fixed size leaky bucket. - - - Nicko Cadell - Gert Driesen - - - - Constructor - - The maximum number of logging events in the buffer. - - - Initializes a new instance of the class with - the specified maximum number of buffered logging events. - - - The argument is not a positive integer. - - - - Appends a to the buffer. - - The event to append to the buffer. - The event discarded from the buffer, if the buffer is full, otherwise null. - - - Append an event to the buffer. If the buffer still contains free space then - null is returned. If the buffer is full then an event will be dropped - to make space for the new event, the event dropped is returned. - - - - - - Get and remove the oldest event in the buffer. - - The oldest logging event in the buffer - - - Gets the oldest (first) logging event in the buffer and removes it - from the buffer. - - - - - - Pops all the logging events from the buffer into an array. - - An array of all the logging events in the buffer. - - - Get all the events in the buffer and clear the buffer. - - - - - - Clear the buffer - - - - Clear the buffer of all events. The events in the buffer are lost. - - - - - - Gets the th oldest event currently in the buffer. - - The th oldest event currently in the buffer. - - - If is outside the range 0 to the number of events - currently in the buffer, then null is returned. - - - - - - Gets the maximum size of the buffer. - - The maximum size of the buffer. - - - Gets the maximum size of the buffer - - - - - - Gets the number of logging events in the buffer. - - The number of logging events in the buffer. - - - This number is guaranteed to be in the range 0 to - (inclusive). - - - - - - An always empty . - - - - A singleton implementation of the - interface that always represents an empty collection. - - - Nicko Cadell - Gert Driesen - - - - Initializes a new instance of the class. - - - - Uses a private access modifier to enforce the singleton pattern. - - - - - - Copies the elements of the to an - , starting at a particular Array index. - - The one-dimensional - that is the destination of the elements copied from - . The Array must have zero-based - indexing. - The zero-based index in array at which - copying begins. - - - As the collection is empty no values are copied into the array. - - - - - - Returns an enumerator that can iterate through a collection. - - - An that can be used to - iterate through the collection. - - - - As the collection is empty a is returned. - - - - - - The singleton instance of the empty collection. - - - - - Gets the singleton instance of the empty collection. - - The singleton instance of the empty collection. - - - Gets the singleton instance of the empty collection. - - - - - - Gets a value indicating if access to the is synchronized (thread-safe). - - - true if access to the is synchronized (thread-safe); otherwise, false. - - - - For the this property is always true. - - - - - - Gets the number of elements contained in the . - - - The number of elements contained in the . - - - - As the collection is empty the is always 0. - - - - - - Gets an object that can be used to synchronize access to the . - - - An object that can be used to synchronize access to the . - - - - As the collection is empty and thread safe and synchronized this instance is also - the object. - - - - - - An always empty . - - - - A singleton implementation of the - interface that always represents an empty collection. - - - Nicko Cadell - Gert Driesen - - - - Initializes a new instance of the class. - - - - Uses a private access modifier to enforce the singleton pattern. - - - - - - Copies the elements of the to an - , starting at a particular Array index. - - The one-dimensional - that is the destination of the elements copied from - . The Array must have zero-based - indexing. - The zero-based index in array at which - copying begins. - - - As the collection is empty no values are copied into the array. - - - - - - Returns an enumerator that can iterate through a collection. - - - An that can be used to - iterate through the collection. - - - - As the collection is empty a is returned. - - - - - - Adds an element with the provided key and value to the - . - - The to use as the key of the element to add. - The to use as the value of the element to add. - - - As the collection is empty no new values can be added. A - is thrown if this method is called. - - - This dictionary is always empty and cannot be modified. - - - - Removes all elements from the . - - - - As the collection is empty no values can be removed. A - is thrown if this method is called. - - - This dictionary is always empty and cannot be modified. - - - - Determines whether the contains an element - with the specified key. - - The key to locate in the . - false - - - As the collection is empty the method always returns false. - - - - - - Returns an enumerator that can iterate through a collection. - - - An that can be used to - iterate through the collection. - - - - As the collection is empty a is returned. - - - - - - Removes the element with the specified key from the . - - The key of the element to remove. - - - As the collection is empty no values can be removed. A - is thrown if this method is called. - - - This dictionary is always empty and cannot be modified. - - - - The singleton instance of the empty dictionary. - - - - - Gets the singleton instance of the . - - The singleton instance of the . - - - Gets the singleton instance of the . - - - - - - Gets a value indicating if access to the is synchronized (thread-safe). - - - true if access to the is synchronized (thread-safe); otherwise, false. - - - - For the this property is always true. - - - - - - Gets the number of elements contained in the - - - The number of elements contained in the . - - - - As the collection is empty the is always 0. - - - - - - Gets an object that can be used to synchronize access to the . - - - An object that can be used to synchronize access to the . - - - - As the collection is empty and thread safe and synchronized this instance is also - the object. - - - - - - Gets a value indicating whether the has a fixed size. - - true - - - As the collection is empty always returns true. - - - - - - Gets a value indicating whether the is read-only. - - true - - - As the collection is empty always returns true. - - - - - - Gets an containing the keys of the . - - An containing the keys of the . - - - As the collection is empty a is returned. - - - - - - Gets an containing the values of the . - - An containing the values of the . - - - As the collection is empty a is returned. - - - - - - Gets or sets the element with the specified key. - - The key of the element to get or set. - null - - - As the collection is empty no values can be looked up or stored. - If the index getter is called then null is returned. - A is thrown if the setter is called. - - - This dictionary is always empty and cannot be modified. - - - - Contain the information obtained when parsing formatting modifiers - in conversion modifiers. - - - - Holds the formatting information extracted from the format string by - the . This is used by the - objects when rendering the output. - - - Nicko Cadell - Gert Driesen - - - - Defaut Constructor - - - - Initializes a new instance of the class. - - - - - - Constructor - - - - Initializes a new instance of the class - with the specified parameters. - - - - - - Gets or sets the minimum value. - - - The minimum value. - - - - Gets or sets the minimum value. - - - - - - Gets or sets the maximum value. - - - The maximum value. - - - - Gets or sets the maximum value. - - - - - - Gets or sets a flag indicating whether left align is enabled - or not. - - - A flag indicating whether left align is enabled or not. - - - - Gets or sets a flag indicating whether left align is enabled or not. - - - - - - Implementation of Properties collection for the - - - - This class implements a properties collection that is thread safe and supports both - storing properties and capturing a read only copy of the current propertied. - - - This class is optimized to the scenario where the properties are read frequently - and are modified infrequently. - - - Nicko Cadell - - - - The read only copy of the properties. - - - - This variable is declared volatile to prevent the compiler and JIT from - reordering reads and writes of this thread performed on different threads. - - - - - - Lock object used to synchronize updates within this instance - - - - - Constructor - - - - Initializes a new instance of the class. - - - - - - Remove a property from the global context - - the key for the entry to remove - - - Removing an entry from the global context properties is relatively expensive compared - with reading a value. - - - - - - Clear the global context properties - - - - - Get a readonly immutable copy of the properties - - the current global context properties - - - This implementation is fast because the GlobalContextProperties class - stores a readonly copy of the properties. - - - - - - Gets or sets the value of a property - - - The value for the property with the specified key - - - - Reading the value for a key is faster than setting the value. - When the value is written a new read only copy of - the properties is created. - - - - - - Manages a mapping from levels to - - - - Manages an ordered mapping from instances - to subclasses. - - - Nicko Cadell - - - - Default constructor - - - - Initialise a new instance of . - - - - - - Add a to this mapping - - the entry to add - - - If a has previously been added - for the same then that entry will be - overwritten. - - - - - - Lookup the mapping for the specified level - - the level to lookup - the for the level or null if no mapping found - - - Lookup the value for the specified level. Finds the nearest - mapping value for the level that is equal to or less than the - specified. - - - If no mapping could be found then null is returned. - - - - - - Initialize options - - - - Caches the sorted list of in an array - - - - - - Implementation of Properties collection for the - - - - Class implements a collection of properties that is specific to each thread. - The class is not synchronized as each thread has its own . - - - Nicko Cadell - - - - Constructor - - - - Initializes a new instance of the class. - - - - - - Remove a property - - the key for the entry to remove - - - Remove the value for the specified from the context. - - - - - - Clear all the context properties - - - - Clear all the context properties - - - - - - Get the PropertiesDictionary stored in the LocalDataStoreSlot for this thread. - - create the dictionary if it does not exist, otherwise return null if is does not exist - the properties for this thread - - - The collection returned is only to be used on the calling thread. If the - caller needs to share the collection between different threads then the - caller must clone the collection before doings so. - - - - - - Gets or sets the value of a property - - - The value for the property with the specified key - - - - Get or set the property value for the specified. - - - - - - Outputs log statements from within the log4net assembly. - - - - Log4net components cannot make log4net logging calls. However, it is - sometimes useful for the user to learn about what log4net is - doing. - - - All log4net internal debug calls go to the standard output stream - whereas internal error messages are sent to the standard error output - stream. - - - Nicko Cadell - Gert Driesen - - - - Initializes a new instance of the class. - - - - Uses a private access modifier to prevent instantiation of this class. - - - - - - Static constructor that initializes logging by reading - settings from the application configuration file. - - - - The log4net.Internal.Debug application setting - controls internal debugging. This setting should be set - to true to enable debugging. - - - The log4net.Internal.Quiet application setting - suppresses all internal logging including error messages. - This setting should be set to true to enable message - suppression. - - - - - - Writes log4net internal debug messages to the - standard output stream. - - The message to log. - - - All internal debug messages are prepended with - the string "log4net: ". - - - - - - Writes log4net internal debug messages to the - standard output stream. - - The message to log. - An exception to log. - - - All internal debug messages are prepended with - the string "log4net: ". - - - - - - Writes log4net internal warning messages to the - standard error stream. - - The message to log. - - - All internal warning messages are prepended with - the string "log4net:WARN ". - - - - - - Writes log4net internal warning messages to the - standard error stream. - - The message to log. - An exception to log. - - - All internal warning messages are prepended with - the string "log4net:WARN ". - - - - - - Writes log4net internal error messages to the - standard error stream. - - The message to log. - - - All internal error messages are prepended with - the string "log4net:ERROR ". - - - - - - Writes log4net internal error messages to the - standard error stream. - - The message to log. - An exception to log. - - - All internal debug messages are prepended with - the string "log4net:ERROR ". - - - - - - Writes output to the standard output stream. - - The message to log. - - - Writes to both Console.Out and System.Diagnostics.Trace. - Note that the System.Diagnostics.Trace is not supported - on the Compact Framework. - - - If the AppDomain is not configured with a config file then - the call to System.Diagnostics.Trace may fail. This is only - an issue if you are programmatically creating your own AppDomains. - - - - - - Writes output to the standard error stream. - - The message to log. - - - Writes to both Console.Error and System.Diagnostics.Trace. - Note that the System.Diagnostics.Trace is not supported - on the Compact Framework. - - - If the AppDomain is not configured with a config file then - the call to System.Diagnostics.Trace may fail. This is only - an issue if you are programmatically creating your own AppDomains. - - - - - - Default debug level - - - - - In quietMode not even errors generate any output. - - - - - Gets or sets a value indicating whether log4net internal logging - is enabled or disabled. - - - true if log4net internal logging is enabled, otherwise - false. - - - - When set to true, internal debug level logging will be - displayed. - - - This value can be set by setting the application setting - log4net.Internal.Debug in the application configuration - file. - - - The default value is false, i.e. debugging is - disabled. - - - - - The following example enables internal debugging using the - application configuration file : - - - - - - - - - - - - - Gets or sets a value indicating whether log4net should generate no output - from internal logging, not even for errors. - - - true if log4net should generate no output at all from internal - logging, otherwise false. - - - - When set to true will cause internal logging at all levels to be - suppressed. This means that no warning or error reports will be logged. - This option overrides the setting and - disables all debug also. - - This value can be set by setting the application setting - log4net.Internal.Quiet in the application configuration file. - - - The default value is false, i.e. internal logging is not - disabled. - - - - The following example disables internal logging using the - application configuration file : - - - - - - - - - - - - Test if LogLog.Debug is enabled for output. - - - true if Debug is enabled - - - - Test if LogLog.Debug is enabled for output. - - - - - - Test if LogLog.Warn is enabled for output. - - - true if Warn is enabled - - - - Test if LogLog.Warn is enabled for output. - - - - - - Test if LogLog.Error is enabled for output. - - - true if Error is enabled - - - - Test if LogLog.Error is enabled for output. - - - - - - Represents a native error code and message. - - - - Represents a Win32 platform native error. - - - Nicko Cadell - Gert Driesen - - - - Create an instance of the class with the specified - error number and message. - - The number of the native error. - The message of the native error. - - - Create an instance of the class with the specified - error number and message. - - - - - - Create a new instance of the class for the last Windows error. - - - An instance of the class for the last windows error. - - - - The message for the error number is lookup up using the - native Win32 FormatMessage function. - - - - - - Create a new instance of the class. - - the error number for the native error - - An instance of the class for the specified - error number. - - - - The message for the specified error number is lookup up using the - native Win32 FormatMessage function. - - - - - - Retrieves the message corresponding with a Win32 message identifier. - - Message identifier for the requested message. - - The message corresponding with the specified message identifier. - - - - The message will be searched for in system message-table resource(s) - using the native FormatMessage function. - - - - - - Return error information string - - error information string - - - Return error information string - - - - - - Formats a message string. - - Formatting options, and how to interpret the parameter. - Location of the message definition. - Message identifier for the requested message. - Language identifier for the requested message. - If includes FORMAT_MESSAGE_ALLOCATE_BUFFER, the function allocates a buffer using the LocalAlloc function, and places the pointer to the buffer at the address specified in . - If the FORMAT_MESSAGE_ALLOCATE_BUFFER flag is not set, this parameter specifies the maximum number of TCHARs that can be stored in the output buffer. If FORMAT_MESSAGE_ALLOCATE_BUFFER is set, this parameter specifies the minimum number of TCHARs to allocate for an output buffer. - Pointer to an array of values that are used as insert values in the formatted message. - - - The function requires a message definition as input. The message definition can come from a - buffer passed into the function. It can come from a message table resource in an - already-loaded module. Or the caller can ask the function to search the system's message - table resource(s) for the message definition. The function finds the message definition - in a message table resource based on a message identifier and a language identifier. - The function copies the formatted message text to an output buffer, processing any embedded - insert sequences if requested. - - - To prevent the usage of unsafe code, this stub does not support inserting values in the formatted message. - - - - - If the function succeeds, the return value is the number of TCHARs stored in the output - buffer, excluding the terminating null character. - - - If the function fails, the return value is zero. To get extended error information, - call . - - - - - - Gets the number of the native error. - - - The number of the native error. - - - - Gets the number of the native error. - - - - - - Gets the message of the native error. - - - The message of the native error. - - - - - Gets the message of the native error. - - - - - An always empty . - - - - A singleton implementation of the over a collection - that is empty and not modifiable. - - - Nicko Cadell - Gert Driesen - - - - Initializes a new instance of the class. - - - - Uses a private access modifier to enforce the singleton pattern. - - - - - - Test if the enumerator can advance, if so advance. - - false as the cannot advance. - - - As the enumerator is over an empty collection its - value cannot be moved over a valid position, therefore - will always return false. - - - - - - Resets the enumerator back to the start. - - - - As the enumerator is over an empty collection does nothing. - - - - - - The singleton instance of the . - - - - - Gets the singleton instance of the . - - The singleton instance of the . - - - Gets the singleton instance of the . - - - - - - Gets the current object from the enumerator. - - - Throws an because the - never has a current value. - - - - As the enumerator is over an empty collection its - value cannot be moved over a valid position, therefore - will throw an . - - - The collection is empty and - cannot be positioned over a valid location. - - - - Gets the current key from the enumerator. - - - Throws an exception because the - never has a current value. - - - - As the enumerator is over an empty collection its - value cannot be moved over a valid position, therefore - will throw an . - - - The collection is empty and - cannot be positioned over a valid location. - - - - Gets the current value from the enumerator. - - The current value from the enumerator. - - Throws an because the - never has a current value. - - - - As the enumerator is over an empty collection its - value cannot be moved over a valid position, therefore - will throw an . - - - The collection is empty and - cannot be positioned over a valid location. - - - - Gets the current entry from the enumerator. - - - Throws an because the - never has a current entry. - - - - As the enumerator is over an empty collection its - value cannot be moved over a valid position, therefore - will throw an . - - - The collection is empty and - cannot be positioned over a valid location. - - - - An always empty . - - - - A singleton implementation of the over a collection - that is empty and not modifiable. - - - Nicko Cadell - Gert Driesen - - - - Initializes a new instance of the class. - - - - Uses a private access modifier to enforce the singleton pattern. - - - - - - Test if the enumerator can advance, if so advance - - false as the cannot advance. - - - As the enumerator is over an empty collection its - value cannot be moved over a valid position, therefore - will always return false. - - - - - - Resets the enumerator back to the start. - - - - As the enumerator is over an empty collection does nothing. - - - - - - The singleton instance of the . - - - - - Get the singleton instance of the . - - The singleton instance of the . - - - Gets the singleton instance of the . - - - - - - Gets the current object from the enumerator. - - - Throws an because the - never has a current value. - - - - As the enumerator is over an empty collection its - value cannot be moved over a valid position, therefore - will throw an . - - - The collection is empty and - cannot be positioned over a valid location. - - - - A SecurityContext used when a SecurityContext is not required - - - - The is a no-op implementation of the - base class. It is used where a - is required but one has not been provided. - - - Nicko Cadell - - - - Singleton instance of - - - - Singleton instance of - - - - - - Private constructor - - - - Private constructor for singleton pattern. - - - - - - Impersonate this SecurityContext - - State supplied by the caller - null - - - No impersonation is done and null is always returned. - - - - - - Implements log4net's default error handling policy which consists - of emitting a message for the first error in an appender and - ignoring all subsequent errors. - - - - The error message is printed on the standard error output stream. - - - This policy aims at protecting an otherwise working application - from being flooded with error messages when logging fails. - - - Nicko Cadell - Gert Driesen - - - - Default Constructor - - - - Initializes a new instance of the class. - - - - - - Constructor - - The prefix to use for each message. - - - Initializes a new instance of the class - with the specified prefix. - - - - - - Log an Error - - The error message. - The exception. - The internal error code. - - - Prints the message and the stack trace of the exception on the standard - error output stream. - - - - - - Log an Error - - The error message. - The exception. - - - Prints the message and the stack trace of the exception on the standard - error output stream. - - - - - - Log an error - - The error message. - - - Print a the error message passed as parameter on the standard - error output stream. - - - - - - Flag to indicate if it is the first error - - - - - String to prefix each message with - - - - - Is error logging enabled - - - - Is error logging enabled. Logging is only enabled for the - first error delivered to the . - - - - - - A convenience class to convert property values to specific types. - - - - Utility functions for converting types and parsing values. - - - Nicko Cadell - Gert Driesen - - - - Initializes a new instance of the class. - - - - Uses a private access modifier to prevent instantiation of this class. - - - - - - Converts a string to a value. - - String to convert. - The default value. - The value of . - - - If is "true", then true is returned. - If is "false", then false is returned. - Otherwise, is returned. - - - - - - Parses a file size into a number. - - String to parse. - The default value. - The value of . - - - Parses a file size of the form: number[KB|MB|GB] into a - long value. It is scaled with the appropriate multiplier. - - - is returned when - cannot be converted to a value. - - - - - - Converts a string to an object. - - The target type to convert to. - The string to convert to an object. - - The object converted from a string or null when the - conversion failed. - - - - Converts a string to an object. Uses the converter registry to try - to convert the string value into the specified target type. - - - - - - Checks if there is an appropriate type conversion from the source type to the target type. - - The type to convert from. - The type to convert to. - true if there is a conversion from the source type to the target type. - - Checks if there is an appropriate type conversion from the source type to the target type. - - - - - - - Converts an object to the target type. - - The object to convert to the target type. - The type to convert to. - The converted object. - - - Converts an object to the target type. - - - - - - Instantiates an object given a class name. - - The fully qualified class name of the object to instantiate. - The class to which the new object should belong. - The object to return in case of non-fulfillment. - - An instance of the or - if the object could not be instantiated. - - - - Checks that the is a subclass of - . If that test fails or the object could - not be instantiated, then is returned. - - - - - - Performs variable substitution in string from the - values of keys found in . - - The string on which variable substitution is performed. - The dictionary to use to lookup variables. - The result of the substitutions. - - - The variable substitution delimiters are ${ and }. - - - For example, if props contains key=value, then the call - - - - string s = OptionConverter.SubstituteVariables("Value of key is ${key}."); - - - - will set the variable s to "Value of key is value.". - - - If no value could be found for the specified key, then substitution - defaults to an empty string. - - - For example, if system properties contains no value for the key - "nonExistentKey", then the call - - - - string s = OptionConverter.SubstituteVariables("Value of nonExistentKey is [${nonExistentKey}]"); - - - - will set s to "Value of nonExistentKey is []". - - - An Exception is thrown if contains a start - delimiter "${" which is not balanced by a stop delimiter "}". - - - - - - Converts the string representation of the name or numeric value of one or - more enumerated constants to an equivalent enumerated object. - - The type to convert to. - The enum string value. - If true, ignore case; otherwise, regard case. - An object of type whose value is represented by . - - - - Most of the work of the class - is delegated to the PatternParser class. - - - - The PatternParser processes a pattern string and - returns a chain of objects. - - - Nicko Cadell - Gert Driesen - - - - Constructor - - The pattern to parse. - - - Initializes a new instance of the class - with the specified pattern string. - - - - - - Parses the pattern into a chain of pattern converters. - - The head of a chain of pattern converters. - - - Parses the pattern into a chain of pattern converters. - - - - - - Build the unified cache of converters from the static and instance maps - - the list of all the converter names - - - Build the unified cache of converters from the static and instance maps - - - - - - Internal method to parse the specified pattern to find specified matches - - the pattern to parse - the converter names to match in the pattern - - - The matches param must be sorted such that longer strings come before shorter ones. - - - - - - Process a parsed literal - - the literal text - - - - Process a parsed converter pattern - - the name of the converter - the optional option for the converter - the formatting info for the converter - - - - Resets the internal state of the parser and adds the specified pattern converter - to the chain. - - The pattern converter to add. - - - - The first pattern converter in the chain - - - - - the last pattern converter in the chain - - - - - The pattern - - - - - Internal map of converter identifiers to converter types - - - - This map overrides the static s_globalRulesRegistry map. - - - - - - Get the converter registry used by this parser - - - The converter registry used by this parser - - - - Get the converter registry used by this parser - - - - - - Sort strings by length - - - - that orders strings by string length. - The longest strings are placed first - - - - - - This class implements a patterned string. - - - - This string has embedded patterns that are resolved and expanded - when the string is formatted. - - - This class functions similarly to the - in that it accepts a pattern and renders it to a string. Unlike the - however the PatternString - does not render the properties of a specific but - of the process in general. - - - The recognized conversion pattern names are: - - - - Conversion Pattern Name - Effect - - - appdomain - - - Used to output the friendly name of the current AppDomain. - - - - - date - - - Used to output the date of the logging event in the local time zone. - To output the date in universal time use the %utcdate pattern. - The date conversion - specifier may be followed by a date format specifier enclosed - between braces. For example, %date{HH:mm:ss,fff} or - %date{dd MMM yyyy HH:mm:ss,fff}. If no date format specifier is - given then ISO8601 format is - assumed (). - - - The date format specifier admits the same syntax as the - time pattern string of the . - - - For better results it is recommended to use the log4net date - formatters. These can be specified using one of the strings - "ABSOLUTE", "DATE" and "ISO8601" for specifying - , - and respectively - . For example, - %date{ISO8601} or %date{ABSOLUTE}. - - - These dedicated date formatters perform significantly - better than . - - - - - env - - - Used to output the a specific environment variable. The key to - lookup must be specified within braces and directly following the - pattern specifier, e.g. %env{COMPUTERNAME} would include the value - of the COMPUTERNAME environment variable. - - - The env pattern is not supported on the .NET Compact Framework. - - - - - identity - - - Used to output the user name for the currently active user - (Principal.Identity.Name). - - - - - newline - - - Outputs the platform dependent line separator character or - characters. - - - This conversion pattern name offers the same performance as using - non-portable line separator strings such as "\n", or "\r\n". - Thus, it is the preferred way of specifying a line separator. - - - - - processid - - - Used to output the system process ID for the current process. - - - - - property - - - Used to output a specific context property. The key to - lookup must be specified within braces and directly following the - pattern specifier, e.g. %property{user} would include the value - from the property that is keyed by the string 'user'. Each property value - that is to be included in the log must be specified separately. - Properties are stored in logging contexts. By default - the log4net:HostName property is set to the name of machine on - which the event was originally logged. - - - If no key is specified, e.g. %property then all the keys and their - values are printed in a comma separated list. - - - The properties of an event are combined from a number of different - contexts. These are listed below in the order in which they are searched. - - - - the thread properties - - The that are set on the current - thread. These properties are shared by all events logged on this thread. - - - - the global properties - - The that are set globally. These - properties are shared by all the threads in the AppDomain. - - - - - - - random - - - Used to output a random string of characters. The string is made up of - uppercase letters and numbers. By default the string is 4 characters long. - The length of the string can be specified within braces directly following the - pattern specifier, e.g. %random{8} would output an 8 character string. - - - - - username - - - Used to output the WindowsIdentity for the currently - active user. - - - - - utcdate - - - Used to output the date of the logging event in universal time. - The date conversion - specifier may be followed by a date format specifier enclosed - between braces. For example, %utcdate{HH:mm:ss,fff} or - %utcdate{dd MMM yyyy HH:mm:ss,fff}. If no date format specifier is - given then ISO8601 format is - assumed (). - - - The date format specifier admits the same syntax as the - time pattern string of the . - - - For better results it is recommended to use the log4net date - formatters. These can be specified using one of the strings - "ABSOLUTE", "DATE" and "ISO8601" for specifying - , - and respectively - . For example, - %utcdate{ISO8601} or %utcdate{ABSOLUTE}. - - - These dedicated date formatters perform significantly - better than . - - - - - % - - - The sequence %% outputs a single percent sign. - - - - - - Additional pattern converters may be registered with a specific - instance using or - . - - - See the for details on the - format modifiers supported by the patterns. - - - Nicko Cadell - - - - Internal map of converter identifiers to converter types. - - - - - the pattern - - - - - the head of the pattern converter chain - - - - - patterns defined on this PatternString only - - - - - Initialize the global registry - - - - - Default constructor - - - - Initialize a new instance of - - - - - - Constructs a PatternString - - The pattern to use with this PatternString - - - Initialize a new instance of with the pattern specified. - - - - - - Initialize object options - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - - - - Create the used to parse the pattern - - the pattern to parse - The - - - Returns PatternParser used to parse the conversion string. Subclasses - may override this to return a subclass of PatternParser which recognize - custom conversion pattern name. - - - - - - Produces a formatted string as specified by the conversion pattern. - - The TextWriter to write the formatted event to - - - Format the pattern to the . - - - - - - Format the pattern as a string - - the pattern formatted as a string - - - Format the pattern to a string. - - - - - - Add a converter to this PatternString - - the converter info - - - This version of the method is used by the configurator. - Programmatic users should use the alternative method. - - - - - - Add a converter to this PatternString - - the name of the conversion pattern for this converter - the type of the converter - - - Add a converter to this PatternString - - - - - - Gets or sets the pattern formatting string - - - The pattern formatting string - - - - The ConversionPattern option. This is the string which - controls formatting and consists of a mix of literal content and - conversion specifiers. - - - - - - Wrapper class used to map converter names to converter types - - - - Wrapper class used to map converter names to converter types - - - - - - default constructor - - - - - Gets or sets the name of the conversion pattern - - - The name of the conversion pattern - - - - Gets or sets the name of the conversion pattern - - - - - - Gets or sets the type of the converter - - - The type of the converter - - - - Gets or sets the type of the converter - - - - - - String keyed object map. - - - - While this collection is serializable only member - objects that are serializable will - be serialized along with this collection. - - - Nicko Cadell - Gert Driesen - - - - String keyed object map that is read only. - - - - This collection is readonly and cannot be modified. - - - While this collection is serializable only member - objects that are serializable will - be serialized along with this collection. - - - Nicko Cadell - Gert Driesen - - - - The Hashtable used to store the properties data - - - - - Constructor - - - - Initializes a new instance of the class. - - - - - - Copy Constructor - - properties to copy - - - Initializes a new instance of the class. - - - - - - Deserialization constructor - - The that holds the serialized object data. - The that contains contextual information about the source or destination. - - - Initializes a new instance of the class - with serialized data. - - - - - - Gets the key names. - - An array of all the keys. - - - Gets the key names. - - - - - - Test if the dictionary contains a specified key - - the key to look for - true if the dictionary contains the specified key - - - Test if the dictionary contains a specified key - - - - - - Serializes this object into the provided. - - The to populate with data. - The destination for this serialization. - - - Serializes this object into the provided. - - - - - - See - - - - - See - - - - - - See - - - - - - - Remove all properties from the properties collection - - - - - See - - - - - - - See - - - - - - - See - - - - - Gets or sets the value of the property with the specified key. - - - The value of the property with the specified key. - - The key of the property to get or set. - - - The property value will only be serialized if it is serializable. - If it cannot be serialized it will be silently ignored if - a serialization operation is performed. - - - - - - The hashtable used to store the properties - - - The internal collection used to store the properties - - - - The hashtable used to store the properties - - - - - - See - - - - - See - - - - - See - - - - - See - - - - - See - - - - - See - - - - - The number of properties in this collection - - - - - See - - - - - Constructor - - - - Initializes a new instance of the class. - - - - - - Constructor - - properties to copy - - - Initializes a new instance of the class. - - - - - - Initializes a new instance of the class - with serialized data. - - The that holds the serialized object data. - The that contains contextual information about the source or destination. - - - Because this class is sealed the serialization constructor is private. - - - - - - Remove the entry with the specified key from this dictionary - - the key for the entry to remove - - - Remove the entry with the specified key from this dictionary - - - - - - See - - an enumerator - - - Returns a over the contest of this collection. - - - - - - See - - the key to remove - - - Remove the entry with the specified key from this dictionary - - - - - - See - - the key to lookup in the collection - true if the collection contains the specified key - - - Test if this collection contains a specified key. - - - - - - Remove all properties from the properties collection - - - - Remove all properties from the properties collection - - - - - - See - - the key - the value to store for the key - - - Store a value for the specified . - - - Thrown if the is not a string - - - - See - - - - - - - See - - - - - Gets or sets the value of the property with the specified key. - - - The value of the property with the specified key. - - The key of the property to get or set. - - - The property value will only be serialized if it is serializable. - If it cannot be serialized it will be silently ignored if - a serialization operation is performed. - - - - - - See - - - false - - - - This collection is modifiable. This property always - returns false. - - - - - - See - - - The value for the key specified. - - - - Get or set a value for the specified . - - - Thrown if the is not a string - - - - See - - - - - See - - - - - See - - - - - See - - - - - See - - - - - A that ignores the message - - - - This writer is used in special cases where it is necessary - to protect a writer from being closed by a client. - - - Nicko Cadell - - - - Constructor - - the writer to actually write to - - - Create a new ProtectCloseTextWriter using a writer - - - - - - Attach this instance to a different underlying - - the writer to attach to - - - Attach this instance to a different underlying - - - - - - Does not close the underlying output writer. - - - - Does not close the underlying output writer. - This method does nothing. - - - - - - Defines a lock that supports single writers and multiple readers - - - - ReaderWriterLock is used to synchronize access to a resource. - At any given time, it allows either concurrent read access for - multiple threads, or write access for a single thread. In a - situation where a resource is changed infrequently, a - ReaderWriterLock provides better throughput than a simple - one-at-a-time lock, such as . - - - If a platform does not support a System.Threading.ReaderWriterLock - implementation then all readers and writers are serialized. Therefore - the caller must not rely on multiple simultaneous readers. - - - Nicko Cadell - - - - Constructor - - - - Initializes a new instance of the class. - - - - - - Acquires a reader lock - - - - blocks if a different thread has the writer - lock, or if at least one thread is waiting for the writer lock. - - - - - - Decrements the lock count - - - - decrements the lock count. When the count - reaches zero, the lock is released. - - - - - - Acquires the writer lock - - - - This method blocks if another thread has a reader lock or writer lock. - - - - - - Decrements the lock count on the writer lock - - - - ReleaseWriterLock decrements the writer lock count. - When the count reaches zero, the writer lock is released. - - - - - - A that can be and reused - - - - A that can be and reused. - This uses a single buffer for string operations. - - - Nicko Cadell - - - - Create an instance of - - the format provider to use - - - Create an instance of - - - - - - Override Dispose to prevent closing of writer - - flag - - - Override Dispose to prevent closing of writer - - - - - - Reset this string writer so that it can be reused. - - the maximum buffer capacity before it is trimmed - the default size to make the buffer - - - Reset this string writer so that it can be reused. - The internal buffers are cleared and reset. - - - - - - Utility class for system specific information. - - - - Utility class of static methods for system specific information. - - - Nicko Cadell - Gert Driesen - Alexey Solofnenko - - - - Private constructor to prevent instances. - - - - Only static methods are exposed from this type. - - - - - - Initialize default values for private static fields. - - - - Only static methods are exposed from this type. - - - - - - Gets the assembly location path for the specified assembly. - - The assembly to get the location for. - The location of the assembly. - - - This method does not guarantee to return the correct path - to the assembly. If only tries to give an indication as to - where the assembly was loaded from. - - - - - - Gets the fully qualified name of the , including - the name of the assembly from which the was - loaded. - - The to get the fully qualified name for. - The fully qualified name for the . - - - This is equivalent to the Type.AssemblyQualifiedName property, - but this method works on the .NET Compact Framework 1.0 as well as - the full .NET runtime. - - - - - - Gets the short name of the . - - The to get the name for. - The short name of the . - - - The short name of the assembly is the - without the version, culture, or public key. i.e. it is just the - assembly's file name without the extension. - - - Use this rather than Assembly.GetName().Name because that - is not available on the Compact Framework. - - - Because of a FileIOPermission security demand we cannot do - the obvious Assembly.GetName().Name. We are allowed to get - the of the assembly so we - start from there and strip out just the assembly name. - - - - - - Gets the file name portion of the , including the extension. - - The to get the file name for. - The file name of the assembly. - - - Gets the file name portion of the , including the extension. - - - - - - Loads the type specified in the type string. - - A sibling type to use to load the type. - The name of the type to load. - Flag set to true to throw an exception if the type cannot be loaded. - true to ignore the case of the type name; otherwise, false - The type loaded or null if it could not be loaded. - - - If the type name is fully qualified, i.e. if contains an assembly name in - the type name, the type will be loaded from the system using - . - - - If the type name is not fully qualified, it will be loaded from the assembly - containing the specified relative type. If the type is not found in the assembly - then all the loaded assemblies will be searched for the type. - - - - - - Loads the type specified in the type string. - - The name of the type to load. - Flag set to true to throw an exception if the type cannot be loaded. - true to ignore the case of the type name; otherwise, false - The type loaded or null if it could not be loaded. - - - If the type name is fully qualified, i.e. if contains an assembly name in - the type name, the type will be loaded from the system using - . - - - If the type name is not fully qualified it will be loaded from the - assembly that is directly calling this method. If the type is not found - in the assembly then all the loaded assemblies will be searched for the type. - - - - - - Loads the type specified in the type string. - - An assembly to load the type from. - The name of the type to load. - Flag set to true to throw an exception if the type cannot be loaded. - true to ignore the case of the type name; otherwise, false - The type loaded or null if it could not be loaded. - - - If the type name is fully qualified, i.e. if contains an assembly name in - the type name, the type will be loaded from the system using - . - - - If the type name is not fully qualified it will be loaded from the specified - assembly. If the type is not found in the assembly then all the loaded assemblies - will be searched for the type. - - - - - - Generate a new guid - - A new Guid - - - Generate a new guid - - - - - - Create an - - The name of the parameter that caused the exception - The value of the argument that causes this exception - The message that describes the error - the ArgumentOutOfRangeException object - - - Create a new instance of the class - with a specified error message, the parameter name, and the value - of the argument. - - - The Compact Framework does not support the 3 parameter constructor for the - type. This method provides an - implementation that works for all platforms. - - - - - - Parse a string into an value - - the string to parse - out param where the parsed value is placed - true if the string was able to be parsed into an integer - - - Attempts to parse the string into an integer. If the string cannot - be parsed then this method returns false. The method does not throw an exception. - - - - - - Parse a string into an value - - the string to parse - out param where the parsed value is placed - true if the string was able to be parsed into an integer - - - Attempts to parse the string into an integer. If the string cannot - be parsed then this method returns false. The method does not throw an exception. - - - - - - Lookup an application setting - - the application settings key to lookup - the value for the key, or null - - - Configuration APIs are not supported under the Compact Framework - - - - - - Convert a path into a fully qualified local file path. - - The path to convert. - The fully qualified path. - - - Converts the path specified to a fully - qualified path. If the path is relative it is - taken as relative from the application base - directory. - - - The path specified must be a local file path, a URI is not supported. - - - - - - Creates a new case-insensitive instance of the class with the default initial capacity. - - A new case-insensitive instance of the class with the default initial capacity - - - The new Hashtable instance uses the default load factor, the CaseInsensitiveHashCodeProvider, and the CaseInsensitiveComparer. - - - - - - Gets an empty array of types. - - - - The Type.EmptyTypes field is not available on - the .NET Compact Framework 1.0. - - - - - - Cache the host name for the current machine - - - - - Cache the application friendly name - - - - - Text to output when a null is encountered. - - - - - Text to output when an unsupported feature is requested. - - - - - Start time for the current process. - - - - - Gets the system dependent line terminator. - - - The system dependent line terminator. - - - - Gets the system dependent line terminator. - - - - - - Gets the base directory for this . - - The base directory path for the current . - - - Gets the base directory for this . - - - The value returned may be either a local file path or a URI. - - - - - - Gets the path to the configuration file for the current . - - The path to the configuration file for the current . - - - The .NET Compact Framework 1.0 does not have a concept of a configuration - file. For this runtime, we use the entry assembly location as the root for - the configuration file name. - - - The value returned may be either a local file path or a URI. - - - - - - Gets the path to the file that first executed in the current . - - The path to the entry assembly. - - - Gets the path to the file that first executed in the current . - - - - - - Gets the ID of the current thread. - - The ID of the current thread. - - - On the .NET framework, the AppDomain.GetCurrentThreadId method - is used to obtain the thread ID for the current thread. This is the - operating system ID for the thread. - - - On the .NET Compact Framework 1.0 it is not possible to get the - operating system thread ID for the current thread. The native method - GetCurrentThreadId is implemented inline in a header file - and cannot be called. - - - On the .NET Framework 2.0 the Thread.ManagedThreadId is used as this - gives a stable id unrelated to the operating system thread ID which may - change if the runtime is using fibers. - - - - - - Get the host name or machine name for the current machine - - - The hostname or machine name - - - - Get the host name or machine name for the current machine - - - The host name () or - the machine name (Environment.MachineName) for - the current machine, or if neither of these are available - then NOT AVAILABLE is returned. - - - - - - Get this application's friendly name - - - The friendly name of this application as a string - - - - If available the name of the application is retrieved from - the AppDomain using AppDomain.CurrentDomain.FriendlyName. - - - Otherwise the file name of the entry assembly is used. - - - - - - Get the start time for the current process. - - - - This is the time at which the log4net library was loaded into the - AppDomain. Due to reports of a hang in the call to System.Diagnostics.Process.StartTime - this is not the start time for the current process. - - - The log4net library should be loaded by an application early during its - startup, therefore this start time should be a good approximation for - the actual start time. - - - Note that AppDomains may be loaded and unloaded within the - same process without the process terminating, however this start time - will be set per AppDomain. - - - - - - Text to output when a null is encountered. - - - - Use this value to indicate a null has been encountered while - outputting a string representation of an item. - - - The default value is (null). This value can be overridden by specifying - a value for the log4net.NullText appSetting in the application's - .config file. - - - - - - Text to output when an unsupported feature is requested. - - - - Use this value when an unsupported feature is requested. - - - The default value is NOT AVAILABLE. This value can be overridden by specifying - a value for the log4net.NotAvailableText appSetting in the application's - .config file. - - - - - - Utility class that represents a format string. - - - - Utility class that represents a format string. - - - Nicko Cadell - - - - Initialise the - - An that supplies culture-specific formatting information. - A containing zero or more format items. - An array containing zero or more objects to format. - - - - Format the string and arguments - - the formatted string - - - - Replaces the format item in a specified with the text equivalent - of the value of a corresponding instance in a specified array. - A specified parameter supplies culture-specific formatting information. - - An that supplies culture-specific formatting information. - A containing zero or more format items. - An array containing zero or more objects to format. - - A copy of format in which the format items have been replaced by the - equivalent of the corresponding instances of in args. - - - - This method does not throw exceptions. If an exception thrown while formatting the result the - exception and arguments are returned in the result string. - - - - - - Process an error during StringFormat - - - - - Dump the contents of an array into a string builder - - - - - Dump an object to a string - - - - - Implementation of Properties collection for the - - - - Class implements a collection of properties that is specific to each thread. - The class is not synchronized as each thread has its own . - - - Nicko Cadell - - - - The thread local data slot to use to store a PropertiesDictionary. - - - - - Internal constructor - - - - Initializes a new instance of the class. - - - - - - Remove a property - - the key for the entry to remove - - - Remove a property - - - - - - Clear all properties - - - - Clear all properties - - - - - - Get the PropertiesDictionary for this thread. - - create the dictionary if it does not exist, otherwise return null if is does not exist - the properties for this thread - - - The collection returned is only to be used on the calling thread. If the - caller needs to share the collection between different threads then the - caller must clone the collection before doing so. - - - - - - Gets or sets the value of a property - - - The value for the property with the specified key - - - - Gets or sets the value of a property - - - - - - Implementation of Stack for the - - - - Implementation of Stack for the - - - Nicko Cadell - - - - The stack store. - - - - - Internal constructor - - - - Initializes a new instance of the class. - - - - - - Clears all the contextual information held in this stack. - - - - Clears all the contextual information held in this stack. - Only call this if you think that this tread is being reused after - a previous call execution which may not have completed correctly. - You do not need to use this method if you always guarantee to call - the method of the - returned from even in exceptional circumstances, - for example by using the using(log4net.ThreadContext.Stacks["NDC"].Push("Stack_Message")) - syntax. - - - - - - Removes the top context from this stack. - - The message in the context that was removed from the top of this stack. - - - Remove the top context from this stack, and return - it to the caller. If this stack is empty then an - empty string (not ) is returned. - - - - - - Pushes a new context message into this stack. - - The new context message. - - An that can be used to clean up the context stack. - - - - Pushes a new context onto this stack. An - is returned that can be used to clean up this stack. This - can be easily combined with the using keyword to scope the - context. - - - Simple example of using the Push method with the using keyword. - - using(log4net.ThreadContext.Stacks["NDC"].Push("Stack_Message")) - { - log.Warn("This should have an ThreadContext Stack message"); - } - - - - - - Gets the current context information for this stack. - - The current context information. - - - - Gets the current context information for this stack. - - Gets the current context information - - - Gets the current context information for this stack. - - - - - - Get a portable version of this object - - the portable instance of this object - - - Get a cross thread portable version of this object - - - - - - The number of messages in the stack - - - The current number of messages in the stack - - - - The current number of messages in the stack. That is - the number of times has been called - minus the number of times has been called. - - - - - - Gets and sets the internal stack used by this - - The internal storage stack - - - This property is provided only to support backward compatability - of the . Tytpically the internal stack should not - be modified. - - - - - - Inner class used to represent a single context frame in the stack. - - - - Inner class used to represent a single context frame in the stack. - - - - - - Constructor - - The message for this context. - The parent context in the chain. - - - Initializes a new instance of the class - with the specified message and parent context. - - - - - - Get the message. - - The message. - - - Get the message. - - - - - - Gets the full text of the context down to the root level. - - - The full text of the context down to the root level. - - - - Gets the full text of the context down to the root level. - - - - - - Struct returned from the method. - - - - This struct implements the and is designed to be used - with the pattern to remove the stack frame at the end of the scope. - - - - - - The ThreadContextStack internal stack - - - - - The depth to trim the stack to when this instance is disposed - - - - - Constructor - - The internal stack used by the ThreadContextStack. - The depth to return the stack to when this object is disposed. - - - Initializes a new instance of the class with - the specified stack and return depth. - - - - - - Returns the stack to the correct depth. - - - - Returns the stack to the correct depth. - - - - - - Implementation of Stacks collection for the - - - - Implementation of Stacks collection for the - - - Nicko Cadell - - - - Internal constructor - - - - Initializes a new instance of the class. - - - - - - Gets the named thread context stack - - - The named stack - - - - Gets the named thread context stack - - - - - - Utility class for transforming strings. - - - - Utility class for transforming strings. - - - Nicko Cadell - Gert Driesen - - - - Initializes a new instance of the class. - - - - Uses a private access modifier to prevent instantiation of this class. - - - - - - Write a string to an - - the writer to write to - the string to write - The string to replace non XML compliant chars with - - - The test is escaped either using XML escape entities - or using CDATA sections. - - - - - - Replace invalid XML characters in text string - - the XML text input string - the string to use in place of invalid characters - A string that does not contain invalid XML characters. - - - Certain Unicode code points are not allowed in the XML InfoSet, for - details see: http://www.w3.org/TR/REC-xml/#charsets. - - - This method replaces any illegal characters in the input string - with the mask string specified. - - - - - - Count the number of times that the substring occurs in the text - - the text to search - the substring to find - the number of times the substring occurs in the text - - - The substring is assumed to be non repeating within itself. - - - - - - Impersonate a Windows Account - - - - This impersonates a Windows account. - - - How the impersonation is done depends on the value of . - This allows the context to either impersonate a set of user credentials specified - using username, domain name and password or to revert to the process credentials. - - - - - - Default constructor - - - - Default constructor - - - - - - Initialize the SecurityContext based on the options set. - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - The security context will try to Logon the specified user account and - capture a primary token for impersonation. - - - The required , - or properties were not specified. - - - - Impersonate the Windows account specified by the and properties. - - caller provided state - - An instance that will revoke the impersonation of this SecurityContext - - - - Depending on the property either - impersonate a user using credentials supplied or revert - to the process credentials. - - - - - - Create a given the userName, domainName and password. - - the user name - the domain name - the password - the for the account specified - - - Uses the Windows API call LogonUser to get a principal token for the account. This - token is used to initialize the WindowsIdentity. - - - - - - Gets or sets the impersonation mode for this security context - - - The impersonation mode for this security context - - - - Impersonate either a user with user credentials or - revert this thread to the credentials of the process. - The value is one of the - enum. - - - The default value is - - - When the mode is set to - the user's credentials are established using the - , and - values. - - - When the mode is set to - no other properties need to be set. If the calling thread is - impersonating then it will be reverted back to the process credentials. - - - - - - Gets or sets the Windows username for this security context - - - The Windows username for this security context - - - - This property must be set if - is set to (the default setting). - - - - - - Gets or sets the Windows domain name for this security context - - - The Windows domain name for this security context - - - - The default value for is the local machine name - taken from the property. - - - This property must be set if - is set to (the default setting). - - - - - - Sets the password for the Windows account specified by the and properties. - - - The password for the Windows account specified by the and properties. - - - - This property must be set if - is set to (the default setting). - - - - - - The impersonation modes for the - - - - See the property for - details. - - - - - - Impersonate a user using the credentials supplied - - - - - Revert this the thread to the credentials of the process - - - - - Adds to - - - - Helper class to expose the - through the interface. - - - - - - Constructor - - the impersonation context being wrapped - - - Constructor - - - - - - Revert the impersonation - - - - Revert the impersonation - - - - - - The log4net Global Context. - - - - The GlobalContext provides a location for global debugging - information to be stored. - - - The global context has a properties map and these properties can - be included in the output of log messages. The - supports selecting and outputing these properties. - - - By default the log4net:HostName property is set to the name of - the current machine. - - - - - GlobalContext.Properties["hostname"] = Environment.MachineName; - - - - Nicko Cadell - - - - Private Constructor. - - - Uses a private access modifier to prevent instantiation of this class. - - - - - The global context properties instance - - - - - The global properties map. - - - The global properties map. - - - - The global properties map. - - - - - - The log4net Logical Thread Context. - - - - The LogicalThreadContext provides a location for specific debugging - information to be stored. - The LogicalThreadContext properties override any or - properties with the same name. - - - The Logical Thread Context has a properties map and a stack. - The properties and stack can - be included in the output of log messages. The - supports selecting and outputting these properties. - - - The Logical Thread Context provides a diagnostic context for the current call context. - This is an instrument for distinguishing interleaved log - output from different sources. Log output is typically interleaved - when a server handles multiple clients near-simultaneously. - - - The Logical Thread Context is managed on a per basis. - - - Example of using the thread context properties to store a username. - - LogicalThreadContext.Properties["user"] = userName; - log.Info("This log message has a LogicalThreadContext Property called 'user'"); - - - Example of how to push a message into the context stack - - using(LogicalThreadContext.Stacks["LDC"].Push("my context message")) - { - log.Info("This log message has a LogicalThreadContext Stack message that includes 'my context message'"); - - } // at the end of the using block the message is automatically popped - - - - Nicko Cadell - - - - Private Constructor. - - - - Uses a private access modifier to prevent instantiation of this class. - - - - - - The thread context properties instance - - - - - The thread context stacks instance - - - - - The thread properties map - - - The thread properties map - - - - The LogicalThreadContext properties override any - or properties with the same name. - - - - - - The thread stacks - - - stack map - - - - The logical thread stacks. - - - - - - This class is used by client applications to request logger instances. - - - - This class has static methods that are used by a client to request - a logger instance. The method is - used to retrieve a logger. - - - See the interface for more details. - - - Simple example of logging messages - - ILog log = LogManager.GetLogger("application-log"); - - log.Info("Application Start"); - log.Debug("This is a debug message"); - - if (log.IsDebugEnabled) - { - log.Debug("This is another debug message"); - } - - - - - Nicko Cadell - Gert Driesen - - - - Initializes a new instance of the class. - - - Uses a private access modifier to prevent instantiation of this class. - - - - Returns the named logger if it exists. - - Returns the named logger if it exists. - - - - If the named logger exists (in the default repository) then it - returns a reference to the logger, otherwise it returns null. - - - The fully qualified logger name to look for. - The logger found, or null if no logger could be found. - - - - Returns the named logger if it exists. - - - - If the named logger exists (in the specified repository) then it - returns a reference to the logger, otherwise it returns - null. - - - The repository to lookup in. - The fully qualified logger name to look for. - - The logger found, or null if the logger doesn't exist in the specified - repository. - - - - - Returns the named logger if it exists. - - - - If the named logger exists (in the repository for the specified assembly) then it - returns a reference to the logger, otherwise it returns - null. - - - The assembly to use to lookup the repository. - The fully qualified logger name to look for. - - The logger, or null if the logger doesn't exist in the specified - assembly's repository. - - - - Get the currently defined loggers. - - Returns all the currently defined loggers in the default repository. - - - The root logger is not included in the returned array. - - All the defined loggers. - - - - Returns all the currently defined loggers in the specified repository. - - The repository to lookup in. - - The root logger is not included in the returned array. - - All the defined loggers. - - - - Returns all the currently defined loggers in the specified assembly's repository. - - The assembly to use to lookup the repository. - - The root logger is not included in the returned array. - - All the defined loggers. - - - Get or create a logger. - - Retrieves or creates a named logger. - - - - Retrieves a logger named as the - parameter. If the named logger already exists, then the - existing instance will be returned. Otherwise, a new instance is - created. - - By default, loggers do not have a set level but inherit - it from the hierarchy. This is one of the central features of - log4net. - - - The name of the logger to retrieve. - The logger with the name specified. - - - - Retrieves or creates a named logger. - - - - Retrieve a logger named as the - parameter. If the named logger already exists, then the - existing instance will be returned. Otherwise, a new instance is - created. - - - By default, loggers do not have a set level but inherit - it from the hierarchy. This is one of the central features of - log4net. - - - The repository to lookup in. - The name of the logger to retrieve. - The logger with the name specified. - - - - Retrieves or creates a named logger. - - - - Retrieve a logger named as the - parameter. If the named logger already exists, then the - existing instance will be returned. Otherwise, a new instance is - created. - - - By default, loggers do not have a set level but inherit - it from the hierarchy. This is one of the central features of - log4net. - - - The assembly to use to lookup the repository. - The name of the logger to retrieve. - The logger with the name specified. - - - - Shorthand for . - - - Get the logger for the fully qualified name of the type specified. - - The full name of will be used as the name of the logger to retrieve. - The logger with the name specified. - - - - Shorthand for . - - - Gets the logger for the fully qualified name of the type specified. - - The repository to lookup in. - The full name of will be used as the name of the logger to retrieve. - The logger with the name specified. - - - - Shorthand for . - - - Gets the logger for the fully qualified name of the type specified. - - The assembly to use to lookup the repository. - The full name of will be used as the name of the logger to retrieve. - The logger with the name specified. - - - - Shuts down the log4net system. - - - - Calling this method will safely close and remove all - appenders in all the loggers including root contained in all the - default repositories. - - - Some appenders need to be closed before the application exists. - Otherwise, pending logging events might be lost. - - The shutdown method is careful to close nested - appenders before closing regular appenders. This is allows - configurations where a regular appender is attached to a logger - and again to a nested appender. - - - - - Shutdown a logger repository. - - Shuts down the default repository. - - - - Calling this method will safely close and remove all - appenders in all the loggers including root contained in the - default repository. - - Some appenders need to be closed before the application exists. - Otherwise, pending logging events might be lost. - - The shutdown method is careful to close nested - appenders before closing regular appenders. This is allows - configurations where a regular appender is attached to a logger - and again to a nested appender. - - - - - - Shuts down the repository for the repository specified. - - - - Calling this method will safely close and remove all - appenders in all the loggers including root contained in the - specified. - - - Some appenders need to be closed before the application exists. - Otherwise, pending logging events might be lost. - - The shutdown method is careful to close nested - appenders before closing regular appenders. This is allows - configurations where a regular appender is attached to a logger - and again to a nested appender. - - - The repository to shutdown. - - - - Shuts down the repository specified. - - - - Calling this method will safely close and remove all - appenders in all the loggers including root contained in the - repository. The repository is looked up using - the specified. - - - Some appenders need to be closed before the application exists. - Otherwise, pending logging events might be lost. - - - The shutdown method is careful to close nested - appenders before closing regular appenders. This is allows - configurations where a regular appender is attached to a logger - and again to a nested appender. - - - The assembly to use to lookup the repository. - - - Reset the configuration of a repository - - Resets all values contained in this repository instance to their defaults. - - - - Resets all values contained in the repository instance to their - defaults. This removes all appenders from all loggers, sets - the level of all non-root loggers to null, - sets their additivity flag to true and sets the level - of the root logger to . Moreover, - message disabling is set to its default "off" value. - - - - - - Resets all values contained in this repository instance to their defaults. - - - - Reset all values contained in the repository instance to their - defaults. This removes all appenders from all loggers, sets - the level of all non-root loggers to null, - sets their additivity flag to true and sets the level - of the root logger to . Moreover, - message disabling is set to its default "off" value. - - - The repository to reset. - - - - Resets all values contained in this repository instance to their defaults. - - - - Reset all values contained in the repository instance to their - defaults. This removes all appenders from all loggers, sets - the level of all non-root loggers to null, - sets their additivity flag to true and sets the level - of the root logger to . Moreover, - message disabling is set to its default "off" value. - - - The assembly to use to lookup the repository to reset. - - - Get the logger repository. - - Returns the default instance. - - - - Gets the for the repository specified - by the callers assembly (). - - - The instance for the default repository. - - - - Returns the default instance. - - The default instance. - - - Gets the for the repository specified - by the argument. - - - The repository to lookup in. - - - - Returns the default instance. - - The default instance. - - - Gets the for the repository specified - by the argument. - - - The assembly to use to lookup the repository. - - - Get a logger repository. - - Returns the default instance. - - - - Gets the for the repository specified - by the callers assembly (). - - - The instance for the default repository. - - - - Returns the default instance. - - The default instance. - - - Gets the for the repository specified - by the argument. - - - The repository to lookup in. - - - - Returns the default instance. - - The default instance. - - - Gets the for the repository specified - by the argument. - - - The assembly to use to lookup the repository. - - - Create a domain - - Creates a repository with the specified repository type. - - - - CreateDomain is obsolete. Use CreateRepository instead of CreateDomain. - - - The created will be associated with the repository - specified such that a call to will return - the same repository instance. - - - A that implements - and has a no arg constructor. An instance of this type will be created to act - as the for the repository specified. - The created for the repository. - - - Create a logger repository. - - Creates a repository with the specified repository type. - - A that implements - and has a no arg constructor. An instance of this type will be created to act - as the for the repository specified. - The created for the repository. - - - The created will be associated with the repository - specified such that a call to will return - the same repository instance. - - - - - - Creates a repository with the specified name. - - - - CreateDomain is obsolete. Use CreateRepository instead of CreateDomain. - - - Creates the default type of which is a - object. - - - The name must be unique. Repositories cannot be redefined. - An will be thrown if the repository already exists. - - - The name of the repository, this must be unique amongst repositories. - The created for the repository. - The specified repository already exists. - - - - Creates a repository with the specified name. - - - - Creates the default type of which is a - object. - - - The name must be unique. Repositories cannot be redefined. - An will be thrown if the repository already exists. - - - The name of the repository, this must be unique amongst repositories. - The created for the repository. - The specified repository already exists. - - - - Creates a repository with the specified name and repository type. - - - - CreateDomain is obsolete. Use CreateRepository instead of CreateDomain. - - - The name must be unique. Repositories cannot be redefined. - An will be thrown if the repository already exists. - - - The name of the repository, this must be unique to the repository. - A that implements - and has a no arg constructor. An instance of this type will be created to act - as the for the repository specified. - The created for the repository. - The specified repository already exists. - - - - Creates a repository with the specified name and repository type. - - - - The name must be unique. Repositories cannot be redefined. - An will be thrown if the repository already exists. - - - The name of the repository, this must be unique to the repository. - A that implements - and has a no arg constructor. An instance of this type will be created to act - as the for the repository specified. - The created for the repository. - The specified repository already exists. - - - - Creates a repository for the specified assembly and repository type. - - - - CreateDomain is obsolete. Use CreateRepository instead of CreateDomain. - - - The created will be associated with the repository - specified such that a call to with the - same assembly specified will return the same repository instance. - - - The assembly to use to get the name of the repository. - A that implements - and has a no arg constructor. An instance of this type will be created to act - as the for the repository specified. - The created for the repository. - - - - Creates a repository for the specified assembly and repository type. - - - - The created will be associated with the repository - specified such that a call to with the - same assembly specified will return the same repository instance. - - - The assembly to use to get the name of the repository. - A that implements - and has a no arg constructor. An instance of this type will be created to act - as the for the repository specified. - The created for the repository. - - - - Gets the list of currently defined repositories. - - - - Get an array of all the objects that have been created. - - - An array of all the known objects. - - - - Looks up the wrapper object for the logger specified. - - The logger to get the wrapper for. - The wrapper for the logger specified. - - - - Looks up the wrapper objects for the loggers specified. - - The loggers to get the wrappers for. - The wrapper objects for the loggers specified. - - - - Create the objects used by - this manager. - - The logger to wrap. - The wrapper for the logger specified. - - - - The wrapper map to use to hold the objects. - - - - - Implementation of Mapped Diagnostic Contexts. - - - - - The MDC is deprecated and has been replaced by the . - The current MDC implementation forwards to the ThreadContext.Properties. - - - - The MDC class is similar to the class except that it is - based on a map instead of a stack. It provides mapped - diagnostic contexts. A Mapped Diagnostic Context, or - MDC in short, is an instrument for distinguishing interleaved log - output from different sources. Log output is typically interleaved - when a server handles multiple clients near-simultaneously. - - - The MDC is managed on a per thread basis. - - - - Nicko Cadell - Gert Driesen - - - - Initializes a new instance of the class. - - - Uses a private access modifier to prevent instantiation of this class. - - - - - Gets the context value identified by the parameter. - - The key to lookup in the MDC. - The string value held for the key, or a null reference if no corresponding value is found. - - - - The MDC is deprecated and has been replaced by the . - The current MDC implementation forwards to the ThreadContext.Properties. - - - - If the parameter does not look up to a - previously defined context then null will be returned. - - - - - - Add an entry to the MDC - - The key to store the value under. - The value to store. - - - - The MDC is deprecated and has been replaced by the . - The current MDC implementation forwards to the ThreadContext.Properties. - - - - Puts a context value (the parameter) as identified - with the parameter into the current thread's - context map. - - - If a value is already defined for the - specified then the value will be replaced. If the - is specified as null then the key value mapping will be removed. - - - - - - Removes the key value mapping for the key specified. - - The key to remove. - - - - The MDC is deprecated and has been replaced by the . - The current MDC implementation forwards to the ThreadContext.Properties. - - - - Remove the specified entry from this thread's MDC - - - - - - Clear all entries in the MDC - - - - - The MDC is deprecated and has been replaced by the . - The current MDC implementation forwards to the ThreadContext.Properties. - - - - Remove all the entries from this thread's MDC - - - - - - Implementation of Nested Diagnostic Contexts. - - - - - The NDC is deprecated and has been replaced by the . - The current NDC implementation forwards to the ThreadContext.Stacks["NDC"]. - - - - A Nested Diagnostic Context, or NDC in short, is an instrument - to distinguish interleaved log output from different sources. Log - output is typically interleaved when a server handles multiple - clients near-simultaneously. - - - Interleaved log output can still be meaningful if each log entry - from different contexts had a distinctive stamp. This is where NDCs - come into play. - - - Note that NDCs are managed on a per thread basis. The NDC class - is made up of static methods that operate on the context of the - calling thread. - - - How to push a message into the context - - using(NDC.Push("my context message")) - { - ... all log calls will have 'my context message' included ... - - } // at the end of the using block the message is automatically removed - - - - Nicko Cadell - Gert Driesen - - - - Initializes a new instance of the class. - - - Uses a private access modifier to prevent instantiation of this class. - - - - - Clears all the contextual information held on the current thread. - - - - - The NDC is deprecated and has been replaced by the . - The current NDC implementation forwards to the ThreadContext.Stacks["NDC"]. - - - - Clears the stack of NDC data held on the current thread. - - - - - - Creates a clone of the stack of context information. - - A clone of the context info for this thread. - - - - The NDC is deprecated and has been replaced by the . - The current NDC implementation forwards to the ThreadContext.Stacks["NDC"]. - - - - The results of this method can be passed to the - method to allow child threads to inherit the context of their - parent thread. - - - - - - Inherits the contextual information from another thread. - - The context stack to inherit. - - - - The NDC is deprecated and has been replaced by the . - The current NDC implementation forwards to the ThreadContext.Stacks["NDC"]. - - - - This thread will use the context information from the stack - supplied. This can be used to initialize child threads with - the same contextual information as their parent threads. These - contexts will NOT be shared. Any further contexts that - are pushed onto the stack will not be visible to the other. - Call to obtain a stack to pass to - this method. - - - - - - Removes the top context from the stack. - - - The message in the context that was removed from the top - of the stack. - - - - - The NDC is deprecated and has been replaced by the . - The current NDC implementation forwards to the ThreadContext.Stacks["NDC"]. - - - - Remove the top context from the stack, and return - it to the caller. If the stack is empty then an - empty string (not null) is returned. - - - - - - Pushes a new context message. - - The new context message. - - An that can be used to clean up - the context stack. - - - - - The NDC is deprecated and has been replaced by the . - The current NDC implementation forwards to the ThreadContext.Stacks["NDC"]. - - - - Pushes a new context onto the context stack. An - is returned that can be used to clean up the context stack. This - can be easily combined with the using keyword to scope the - context. - - - Simple example of using the Push method with the using keyword. - - using(log4net.NDC.Push("NDC_Message")) - { - log.Warn("This should have an NDC message"); - } - - - - - - Removes the context information for this thread. It is - not required to call this method. - - - - - The NDC is deprecated and has been replaced by the . - The current NDC implementation forwards to the ThreadContext.Stacks["NDC"]. - - - - This method is not implemented. - - - - - - Forces the stack depth to be at most . - - The maximum depth of the stack - - - - The NDC is deprecated and has been replaced by the . - The current NDC implementation forwards to the ThreadContext.Stacks["NDC"]. - - - - Forces the stack depth to be at most . - This may truncate the head of the stack. This only affects the - stack in the current thread. Also it does not prevent it from - growing, it only sets the maximum depth at the time of the - call. This can be used to return to a known context depth. - - - - - - Gets the current context depth. - - The current context depth. - - - - The NDC is deprecated and has been replaced by the . - The current NDC implementation forwards to the ThreadContext.Stacks["NDC"]. - - - - The number of context values pushed onto the context stack. - - - Used to record the current depth of the context. This can then - be restored using the method. - - - - - - - The log4net Thread Context. - - - - The ThreadContext provides a location for thread specific debugging - information to be stored. - The ThreadContext properties override any - properties with the same name. - - - The thread context has a properties map and a stack. - The properties and stack can - be included in the output of log messages. The - supports selecting and outputting these properties. - - - The Thread Context provides a diagnostic context for the current thread. - This is an instrument for distinguishing interleaved log - output from different sources. Log output is typically interleaved - when a server handles multiple clients near-simultaneously. - - - The Thread Context is managed on a per thread basis. - - - Example of using the thread context properties to store a username. - - ThreadContext.Properties["user"] = userName; - log.Info("This log message has a ThreadContext Property called 'user'"); - - - Example of how to push a message into the context stack - - using(ThreadContext.Stacks["NDC"].Push("my context message")) - { - log.Info("This log message has a ThreadContext Stack message that includes 'my context message'"); - - } // at the end of the using block the message is automatically popped - - - - Nicko Cadell - - - - Private Constructor. - - - - Uses a private access modifier to prevent instantiation of this class. - - - - - - The thread context properties instance - - - - - The thread context stacks instance - - - - - The thread properties map - - - The thread properties map - - - - The ThreadContext properties override any - properties with the same name. - - - - - - The thread stacks - - - stack map - - - - The thread local stacks. - - - - - diff --git a/lib/NHibernate12/net/2.0/Castle.DynamicProxy.dll b/lib/NHibernate12/net/2.0/Castle.DynamicProxy.dll deleted file mode 100644 index 3feebda1..00000000 Binary files a/lib/NHibernate12/net/2.0/Castle.DynamicProxy.dll and /dev/null differ diff --git a/lib/NHibernate12/net/2.0/Castle.DynamicProxy.license.txt b/lib/NHibernate12/net/2.0/Castle.DynamicProxy.license.txt deleted file mode 100644 index b7530910..00000000 --- a/lib/NHibernate12/net/2.0/Castle.DynamicProxy.license.txt +++ /dev/null @@ -1,13 +0,0 @@ -Copyright 2004-2005 Castle Project - http://www.castleproject.org/ - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. diff --git a/lib/NHibernate12/net/2.0/Castle.DynamicProxy.xml b/lib/NHibernate12/net/2.0/Castle.DynamicProxy.xml deleted file mode 100644 index 4afaa733..00000000 --- a/lib/NHibernate12/net/2.0/Castle.DynamicProxy.xml +++ /dev/null @@ -1,687 +0,0 @@ - - - - Castle.DynamicProxy - - - - - Summary description for ReferenceExpression. - - - - - Summary description for Expression. - - - - - Summary description for IEmitter. - - - - - Summary description for ArgumentReference. - - - - - Summary description for TypeReference. - - - - - Summary description for Reference. - - - - - Summary description for AssignArrayStatement. - - - - - Summary description for Statement. - - - - - Summary description for AssignStatement. - - - - - Summary description for BinaryExpression. - - - - - Summary description for ConditionExpression. - - - - - Summary description for ConstructorInvocationExpression. - - - - - Summary description for ConvertExpression. - - - - - Summary description for ExpressionStatement. - - - - - Summary description for FieldReference. - - - - - Summary description for FixedReference. - - - - - Summary description for GotoStatement. - - - - - Wraps a reference that is passed ByRef and provides indirect load/store facilities. - - - - - Summary description for LabelReference. - - - - - Summary description for LoadRefArrayElementExpression. - - - - - Summary description for LocalReference. - - - - - Summary description for LockBlockExpression. - - - - - Summary description for MarkBranchStatement. - - - - - Summary description for MethodInvocationExpression. - - - - - Summary description for MethodPointerExpression. - - - - - Summary description for MethodTokenExpression. - - - - - Summary description for NewArrayExpression. - - - - - Summary description for NewInstanceExpression. - - - - - Summary description for NopStatement. - - - - - Summary description for NullExpression. - - - - - Summary description for PopValueFromStackStatement. - - - - - Summary description for ReferenceExpression. - - - - - Summary description for ReferencesToObjectArrayExpression. - - - - - Summary description for ReturnReferenceExpression. - - - - - Summary description for ReturnStatement. - - - - - Summary description for SelfReference. - - - - - Summary description for TypeTokenExpression. - - - - - Summary description for VirtualMethodInvocationExpression. - - - - - Summary description for ArgumentsUtil. - - - - - Provides appropriate Ldc.X opcode for the type of primitive value to be loaded. - - - - - Provides appropriate Ldind.X opcode for - the type of primitive value to be loaded indirectly. - - - - - Provides appropriate Stind.X opcode - for the type of primitive value to be stored indirectly. - - - - - Summary description for OpCodeUtil. - - - - - Emits a load opcode of the appropriate kind for a constant string or - primitive value. - - - - - - - Emits a load opcode of the appropriate kind for the constant default value of a - type, such as 0 for value types and null for reference types. - - - - - Emits a load indirect opcode of the appropriate type for a value or object reference. - Pops a pointer off the evaluation stack, dereferences it and loads - a value of the specified type. - - - - - - - Emits a store indirectopcode of the appropriate type for a value or object reference. - Pops a value of the specified type and a pointer off the evaluation stack, and - stores the value. - - - - - - - Summary description for AbstractCodeBuilder. - - - - - Summary description for AbstractEasyType. - - - - - Summary description for ConstructorCodeBuilder. - - - - - Summary description for ConstructorCollection. - - - - - Summary description for EasyCallable. - - - - - Summary description for EasyNested. - - - - - Summary description for EasyConstructor. - - - - - Summary description for IEasyBuilder. - - - - - Summary description for EasyDefaultConstructor. - - - - - Summary description for EasyEvent. - - - - - Summary description for EasyMethod. - - - - - Summary description for EasyProperty. - - - - - Summary description for EasyRuntimeConstructor. - - - - - Summary description for EasyRuntimeMethod. - - - - - Summary description for EasyType. - - - - - Summary description for EventsCollection. - - - - - Summary description for MethodCodeBuilder. - - - - - Summary description for MethodCollection. - - - - - Summary description for NestedTypeCollection. - - - - - Summary description for PropertiesCollection. - - - - - Summary description for Set. - - - - - Summary description for BaseCodeGenerator. - - - - - Holds instance fields which points to delegates instantiated - - - - - MethodInfo => Callable delegate - - - - - Generates one public constructor receiving - the instance and instantiating a hashtable - - - Should be overrided to provided specific semantics, if necessary - - - - - Common initializatio code for the default constructor - - - - - - - - - - - - - - - Iterates over the interfaces and generate implementation - for each method in it. - - Type class - if true, we inspect the - type for implemented interfaces - - - - Naive implementation, but valid for long namespaces - Works by using only the last piece of the namespace - - - - - Gets the name of a type, taking into consideration nested types. - - - - - Generate property implementation - - - - - - Generates implementation for each method. - - - - - - - Writes the method implementation. This - method generates the IL code for property get/set method and - ordinary methods. - - The method to implement. - being constructed. - - - - - - - - - Summary description for ClassProxyGenerator. - - - - - Generates one public constructor receiving - the instance and instantiating a hashtable - - - - - Summary description for InterfaceProxyGenerator. - - - - - From an interface method (abstract) look up - for a matching method on the target - - - - - - - Generates one public constructor receiving - the instance and instantiating a HybridCollection - - - - - Summary description for ModuleScope. - - - - - Avoid leaks caused by non disposal of generated types. - - - - - Keep track of generated types - - - - - Used to lock the module builder creation - - - - - Summary description for ProxyGenerationException. - - - - - Summary description for DefaultProxyBuilder. - - - - - Summary description for IProxyBuilder. - - - - - Summary description for GeneratorContext. - - - - - Checks if the method has the same signature as a method that was marked as - one that should generate a new vtable slot. - - - - - The implementor of IObjectReference responsible for - the deserialization and reconstruction of the proxy object - - - - - Proceed with, manipulate or find more information about the call that - is being intercepted - - - - - Proceed with the call that was intercepted. - - The arguments that will be passed onto the method. - The argument returned from the method. - - - - Get the dynamic proxy that intercepted this call. - - - - - Get or set target that will be invoked when Process() is called. - - - Changing InvocationTarget only effects this call. Any call made after - this will invoke the original target of the proxy. - - - - - Get the method that is being invoked. - - - - - Get the method on the target object that is being invoked. - - - - - - - - - - Handles the deserialization of proxies. - - - - - Usefull for test cases - - - - - Summary description for AssertUtil. - - - - - - - - - - - - - - - - - - - - - - - - - - - Generates a Java style proxy. This overrides the .Net proxy requirements - that forces one to extend MarshalByRefObject or (for a different purpose) - ContextBoundObject to have a Proxiable class. - - - The should be used to generate a class - implementing the specified interfaces. The dynamic implementation will - only calls the internal instance. - - - Please note that this proxy implementation currently doesn't not supports ref and out arguments - in methods. - Also note that only virtual methods can be proxied in a class. - - - - MyInvocationHandler interceptor = ... - ProxyGenerator generator = new ProxyGenerator(); - IInterfaceExposed proxy = - generator.CreateProxy( new Type[] { typeof(IInterfaceExposed) }, interceptor ); - - - - - - Generates a proxy implementing all the specified interfaces and - redirecting method invocations to the specifed interceptor. - - Interface to be implemented - instance of - The proxy target. - Proxy instance - - - - Generates a proxy implementing all the specified interfaces and - redirecting method invocations to the specifed interceptor. - - Array of interfaces to be implemented - instance of - The proxy target. - Proxy instance - - - - - - - - - The proxy target. - - - - - - - - - - The proxy target. - - - - - Summary description for StandardInterceptor. - - - - - - - - - - - - diff --git a/lib/NHibernate12/net/2.0/Iesi.Collections.dll b/lib/NHibernate12/net/2.0/Iesi.Collections.dll deleted file mode 100644 index c4cc0373..00000000 Binary files a/lib/NHibernate12/net/2.0/Iesi.Collections.dll and /dev/null differ diff --git a/lib/NHibernate12/net/2.0/Iesi.Collections.license.txt b/lib/NHibernate12/net/2.0/Iesi.Collections.license.txt deleted file mode 100644 index 66c4a8dc..00000000 --- a/lib/NHibernate12/net/2.0/Iesi.Collections.license.txt +++ /dev/null @@ -1,9 +0,0 @@ -Copyright © 2002-2004 by Aidant Systems, Inc., and by Jason Smith. - -Copied from http://www.codeproject.com/csharp/sets.asp#xx703510xx that was posted by JasonSmith 12:13 2 Jan '04 - -Feel free to use this code any way you want to. As a favor to me, you can leave the copyright in there. You never know when someone might recognize your name! - -If you do use the code in a commercial product, I would appreciate hearing about it. This message serves as legal notice that I won't be suing you for royalties! The code is in the public domain. - -On the other hand, I don't provide support. The code is actually simple enough that it shouldn't need it. diff --git a/lib/NHibernate12/net/2.0/Iesi.Collections.xml b/lib/NHibernate12/net/2.0/Iesi.Collections.xml deleted file mode 100644 index 587094a3..00000000 --- a/lib/NHibernate12/net/2.0/Iesi.Collections.xml +++ /dev/null @@ -1,1887 +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 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/NHibernate12/net/2.0/NHibernate.dll b/lib/NHibernate12/net/2.0/NHibernate.dll deleted file mode 100644 index 19bc3f9e..00000000 Binary files a/lib/NHibernate12/net/2.0/NHibernate.dll and /dev/null differ diff --git a/lib/NHibernate12/net/2.0/NHibernate.license.txt b/lib/NHibernate12/net/2.0/NHibernate.license.txt deleted file mode 100644 index 8a88d148..00000000 --- a/lib/NHibernate12/net/2.0/NHibernate.license.txt +++ /dev/null @@ -1,460 +0,0 @@ - GNU LESSER GENERAL PUBLIC LICENSE - Version 2.1, February 1999 - - Copyright (C) 1991, 1999 Free Software Foundation, Inc. - 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - -[This is the first released version of the Lesser GPL. It also counts - as the successor of the GNU Library Public License, version 2, hence - the version number 2.1.] - - Preamble - - The licenses for most software are designed to take away your -freedom to share and change it. By contrast, the GNU General Public -Licenses are intended to guarantee your freedom to share and change -free software--to make sure the software is free for all its users. - - This license, the Lesser General Public License, applies to some -specially designated software packages--typically libraries--of the -Free Software Foundation and other authors who decide to use it. You -can use it too, but we suggest you first think carefully about whether -this license or the ordinary General Public License is the better -strategy to use in any particular case, based on the explanations below. - - When we speak of free software, we are referring to freedom of use, -not price. Our General Public Licenses are designed to make sure that -you have the freedom to distribute copies of free software (and charge -for this service if you wish); that you receive source code or can get -it if you want it; that you can change the software and use pieces of -it in new free programs; and that you are informed that you can do -these things. - - To protect your rights, we need to make restrictions that forbid -distributors to deny you these rights or to ask you to surrender these -rights. These restrictions translate to certain responsibilities for -you if you distribute copies of the library or if you modify it. - - For example, if you distribute copies of the library, whether gratis -or for a fee, you must give the recipients all the rights that we gave -you. You must make sure that they, too, receive or can get the source -code. If you link other code with the library, you must provide -complete object files to the recipients, so that they can relink them -with the library after making changes to the library and recompiling -it. And you must show them these terms so they know their rights. - - We protect your rights with a two-step method: (1) we copyright the -library, and (2) we offer you this license, which gives you legal -permission to copy, distribute and/or modify the library. - - To protect each distributor, we want to make it very clear that -there is no warranty for the free library. Also, if the library is -modified by someone else and passed on, the recipients should know -that what they have is not the original version, so that the original -author's reputation will not be affected by problems that might be -introduced by others. - - Finally, software patents pose a constant threat to the existence of -any free program. We wish to make sure that a company cannot -effectively restrict the users of a free program by obtaining a -restrictive license from a patent holder. Therefore, we insist that -any patent license obtained for a version of the library must be -consistent with the full freedom of use specified in this license. - - Most GNU software, including some libraries, is covered by the -ordinary GNU General Public License. This license, the GNU Lesser -General Public License, applies to certain designated libraries, and -is quite different from the ordinary General Public License. We use -this license for certain libraries in order to permit linking those -libraries into non-free programs. - - When a program is linked with a library, whether statically or using -a shared library, the combination of the two is legally speaking a -combined work, a derivative of the original library. The ordinary -General Public License therefore permits such linking only if the -entire combination fits its criteria of freedom. The Lesser General -Public License permits more lax criteria for linking other code with -the library. - - We call this license the "Lesser" General Public License because it -does Less to protect the user's freedom than the ordinary General -Public License. It also provides other free software developers Less -of an advantage over competing non-free programs. These disadvantages -are the reason we use the ordinary General Public License for many -libraries. However, the Lesser license provides advantages in certain -special circumstances. - - For example, on rare occasions, there may be a special need to -encourage the widest possible use of a certain library, so that it becomes -a de-facto standard. To achieve this, non-free programs must be -allowed to use the library. A more frequent case is that a free -library does the same job as widely used non-free libraries. In this -case, there is little to gain by limiting the free library to free -software only, so we use the Lesser General Public License. - - In other cases, permission to use a particular library in non-free -programs enables a greater number of people to use a large body of -free software. For example, permission to use the GNU C Library in -non-free programs enables many more people to use the whole GNU -operating system, as well as its variant, the GNU/Linux operating -system. - - Although the Lesser General Public License is Less protective of the -users' freedom, it does ensure that the user of a program that is -linked with the Library has the freedom and the wherewithal to run -that program using a modified version of the Library. - - The precise terms and conditions for copying, distribution and -modification follow. Pay close attention to the difference between a -"work based on the library" and a "work that uses the library". The -former contains code derived from the library, whereas the latter must -be combined with the library in order to run. - - GNU LESSER GENERAL PUBLIC LICENSE - TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - - 0. This License Agreement applies to any software library or other -program which contains a notice placed by the copyright holder or -other authorized party saying it may be distributed under the terms of -this Lesser General Public License (also called "this License"). -Each licensee is addressed as "you". - - A "library" means a collection of software functions and/or data -prepared so as to be conveniently linked with application programs -(which use some of those functions and data) to form executables. - - The "Library", below, refers to any such software library or work -which has been distributed under these terms. A "work based on the -Library" means either the Library or any derivative work under -copyright law: that is to say, a work containing the Library or a -portion of it, either verbatim or with modifications and/or translated -straightforwardly into another language. (Hereinafter, translation is -included without limitation in the term "modification".) - - "Source code" for a work means the preferred form of the work for -making modifications to it. For a library, complete source code means -all the source code for all modules it contains, plus any associated -interface definition files, plus the scripts used to control compilation -and installation of the library. - - Activities other than copying, distribution and modification are not -covered by this License; they are outside its scope. The act of -running a program using the Library is not restricted, and output from -such a program is covered only if its contents constitute a work based -on the Library (independent of the use of the Library in a tool for -writing it). Whether that is true depends on what the Library does -and what the program that uses the Library does. - - 1. You may copy and distribute verbatim copies of the Library's -complete source code as you receive it, in any medium, provided that -you conspicuously and appropriately publish on each copy an -appropriate copyright notice and disclaimer of warranty; keep intact -all the notices that refer to this License and to the absence of any -warranty; and distribute a copy of this License along with the -Library. - - You may charge a fee for the physical act of transferring a copy, -and you may at your option offer warranty protection in exchange for a -fee. - - 2. You may modify your copy or copies of the Library or any portion -of it, thus forming a work based on the Library, and copy and -distribute such modifications or work under the terms of Section 1 -above, provided that you also meet all of these conditions: - - a) The modified work must itself be a software library. - - b) You must cause the files modified to carry prominent notices - stating that you changed the files and the date of any change. - - c) You must cause the whole of the work to be licensed at no - charge to all third parties under the terms of this License. - - d) If a facility in the modified Library refers to a function or a - table of data to be supplied by an application program that uses - the facility, other than as an argument passed when the facility - is invoked, then you must make a good faith effort to ensure that, - in the event an application does not supply such function or - table, the facility still operates, and performs whatever part of - its purpose remains meaningful. - - (For example, a function in a library to compute square roots has - a purpose that is entirely well-defined independent of the - application. Therefore, Subsection 2d requires that any - application-supplied function or table used by this function must - be optional: if the application does not supply it, the square - root function must still compute square roots.) - -These requirements apply to the modified work as a whole. If -identifiable sections of that work are not derived from the Library, -and can be reasonably considered independent and separate works in -themselves, then this License, and its terms, do not apply to those -sections when you distribute them as separate works. But when you -distribute the same sections as part of a whole which is a work based -on the Library, the distribution of the whole must be on the terms of -this License, whose permissions for other licensees extend to the -entire whole, and thus to each and every part regardless of who wrote -it. - -Thus, it is not the intent of this section to claim rights or contest -your rights to work written entirely by you; rather, the intent is to -exercise the right to control the distribution of derivative or -collective works based on the Library. - -In addition, mere aggregation of another work not based on the Library -with the Library (or with a work based on the Library) on a volume of -a storage or distribution medium does not bring the other work under -the scope of this License. - - 3. You may opt to apply the terms of the ordinary GNU General Public -License instead of this License to a given copy of the Library. To do -this, you must alter all the notices that refer to this License, so -that they refer to the ordinary GNU General Public License, version 2, -instead of to this License. (If a newer version than version 2 of the -ordinary GNU General Public License has appeared, then you can specify -that version instead if you wish.) Do not make any other change in -these notices. - - Once this change is made in a given copy, it is irreversible for -that copy, so the ordinary GNU General Public License applies to all -subsequent copies and derivative works made from that copy. - - This option is useful when you wish to copy part of the code of -the Library into a program that is not a library. - - 4. You may copy and distribute the Library (or a portion or -derivative of it, under Section 2) in object code or executable form -under the terms of Sections 1 and 2 above provided that you accompany -it with the complete corresponding machine-readable source code, which -must be distributed under the terms of Sections 1 and 2 above on a -medium customarily used for software interchange. - - If distribution of object code is made by offering access to copy -from a designated place, then offering equivalent access to copy the -source code from the same place satisfies the requirement to -distribute the source code, even though third parties are not -compelled to copy the source along with the object code. - - 5. A program that contains no derivative of any portion of the -Library, but is designed to work with the Library by being compiled or -linked with it, is called a "work that uses the Library". Such a -work, in isolation, is not a derivative work of the Library, and -therefore falls outside the scope of this License. - - However, linking a "work that uses the Library" with the Library -creates an executable that is a derivative of the Library (because it -contains portions of the Library), rather than a "work that uses the -library". The executable is therefore covered by this License. -Section 6 states terms for distribution of such executables. - - When a "work that uses the Library" uses material from a header file -that is part of the Library, the object code for the work may be a -derivative work of the Library even though the source code is not. -Whether this is true is especially significant if the work can be -linked without the Library, or if the work is itself a library. The -threshold for this to be true is not precisely defined by law. - - If such an object file uses only numerical parameters, data -structure layouts and accessors, and small macros and small inline -functions (ten lines or less in length), then the use of the object -file is unrestricted, regardless of whether it is legally a derivative -work. (Executables containing this object code plus portions of the -Library will still fall under Section 6.) - - Otherwise, if the work is a derivative of the Library, you may -distribute the object code for the work under the terms of Section 6. -Any executables containing that work also fall under Section 6, -whether or not they are linked directly with the Library itself. - - 6. As an exception to the Sections above, you may also combine or -link a "work that uses the Library" with the Library to produce a -work containing portions of the Library, and distribute that work -under terms of your choice, provided that the terms permit -modification of the work for the customer's own use and reverse -engineering for debugging such modifications. - - You must give prominent notice with each copy of the work that the -Library is used in it and that the Library and its use are covered by -this License. You must supply a copy of this License. If the work -during execution displays copyright notices, you must include the -copyright notice for the Library among them, as well as a reference -directing the user to the copy of this License. Also, you must do one -of these things: - - a) Accompany the work with the complete corresponding - machine-readable source code for the Library including whatever - changes were used in the work (which must be distributed under - Sections 1 and 2 above); and, if the work is an executable linked - with the Library, with the complete machine-readable "work that - uses the Library", as object code and/or source code, so that the - user can modify the Library and then relink to produce a modified - executable containing the modified Library. (It is understood - that the user who changes the contents of definitions files in the - Library will not necessarily be able to recompile the application - to use the modified definitions.) - - b) Use a suitable shared library mechanism for linking with the - Library. A suitable mechanism is one that (1) uses at run time a - copy of the library already present on the user's computer system, - rather than copying library functions into the executable, and (2) - will operate properly with a modified version of the library, if - the user installs one, as long as the modified version is - interface-compatible with the version that the work was made with. - - c) Accompany the work with a written offer, valid for at - least three years, to give the same user the materials - specified in Subsection 6a, above, for a charge no more - than the cost of performing this distribution. - - d) If distribution of the work is made by offering access to copy - from a designated place, offer equivalent access to copy the above - specified materials from the same place. - - e) Verify that the user has already received a copy of these - materials or that you have already sent this user a copy. - - For an executable, the required form of the "work that uses the -Library" must include any data and utility programs needed for -reproducing the executable from it. However, as a special exception, -the materials to be distributed need not include anything that is -normally distributed (in either source or binary form) with the major -components (compiler, kernel, and so on) of the operating system on -which the executable runs, unless that component itself accompanies -the executable. - - It may happen that this requirement contradicts the license -restrictions of other proprietary libraries that do not normally -accompany the operating system. Such a contradiction means you cannot -use both them and the Library together in an executable that you -distribute. - - 7. You may place library facilities that are a work based on the -Library side-by-side in a single library together with other library -facilities not covered by this License, and distribute such a combined -library, provided that the separate distribution of the work based on -the Library and of the other library facilities is otherwise -permitted, and provided that you do these two things: - - a) Accompany the combined library with a copy of the same work - based on the Library, uncombined with any other library - facilities. This must be distributed under the terms of the - Sections above. - - b) Give prominent notice with the combined library of the fact - that part of it is a work based on the Library, and explaining - where to find the accompanying uncombined form of the same work. - - 8. You may not copy, modify, sublicense, link with, or distribute -the Library except as expressly provided under this License. Any -attempt otherwise to copy, modify, sublicense, link with, or -distribute the Library is void, and will automatically terminate your -rights under this License. However, parties who have received copies, -or rights, from you under this License will not have their licenses -terminated so long as such parties remain in full compliance. - - 9. You are not required to accept this License, since you have not -signed it. However, nothing else grants you permission to modify or -distribute the Library or its derivative works. These actions are -prohibited by law if you do not accept this License. Therefore, by -modifying or distributing the Library (or any work based on the -Library), you indicate your acceptance of this License to do so, and -all its terms and conditions for copying, distributing or modifying -the Library or works based on it. - - 10. Each time you redistribute the Library (or any work based on the -Library), the recipient automatically receives a license from the -original licensor to copy, distribute, link with or modify the Library -subject to these terms and conditions. You may not impose any further -restrictions on the recipients' exercise of the rights granted herein. -You are not responsible for enforcing compliance by third parties with -this License. - - 11. If, as a consequence of a court judgment or allegation of patent -infringement or for any other reason (not limited to patent issues), -conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot -distribute so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you -may not distribute the Library at all. For example, if a patent -license would not permit royalty-free redistribution of the Library by -all those who receive copies directly or indirectly through you, then -the only way you could satisfy both it and this License would be to -refrain entirely from distribution of the Library. - -If any portion of this section is held invalid or unenforceable under any -particular circumstance, the balance of the section is intended to apply, -and the section as a whole is intended to apply in other circumstances. - -It is not the purpose of this section to induce you to infringe any -patents or other property right claims or to contest validity of any -such claims; this section has the sole purpose of protecting the -integrity of the free software distribution system which is -implemented by public license practices. Many people have made -generous contributions to the wide range of software distributed -through that system in reliance on consistent application of that -system; it is up to the author/donor to decide if he or she is willing -to distribute software through any other system and a licensee cannot -impose that choice. - -This section is intended to make thoroughly clear what is believed to -be a consequence of the rest of this License. - - 12. If the distribution and/or use of the Library is restricted in -certain countries either by patents or by copyrighted interfaces, the -original copyright holder who places the Library under this License may add -an explicit geographical distribution limitation excluding those countries, -so that distribution is permitted only in or among countries not thus -excluded. In such case, this License incorporates the limitation as if -written in the body of this License. - - 13. The Free Software Foundation may publish revised and/or new -versions of the Lesser General Public License from time to time. -Such new versions will be similar in spirit to the present version, -but may differ in detail to address new problems or concerns. - -Each version is given a distinguishing version number. If the Library -specifies a version number of this License which applies to it and -"any later version", you have the option of following the terms and -conditions either of that version or of any later version published by -the Free Software Foundation. If the Library does not specify a -license version number, you may choose any version ever published by -the Free Software Foundation. - - 14. If you wish to incorporate parts of the Library into other free -programs whose distribution conditions are incompatible with these, -write to the author to ask for permission. For software which is -copyrighted by the Free Software Foundation, write to the Free -Software Foundation; we sometimes make exceptions for this. Our -decision will be guided by the two goals of preserving the free status -of all derivatives of our free software and of promoting the sharing -and reuse of software generally. - - NO WARRANTY - - 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO -WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. -EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR -OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY -KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE -LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME -THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. - - 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN -WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY -AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU -FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR -CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE -LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING -RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A -FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF -SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGES. - - END OF TERMS AND CONDITIONS - diff --git a/lib/NHibernate12/net/2.0/NHibernate.xml b/lib/NHibernate12/net/2.0/NHibernate.xml deleted file mode 100644 index 39b0414c..00000000 --- a/lib/NHibernate12/net/2.0/NHibernate.xml +++ /dev/null @@ -1,29887 +0,0 @@ - - - - NHibernate - - - - - Expected row count. Valid only for batchable expectations. - - - - - 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. - - - - 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. - - - - - - 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. - - - - - A implementation that returns - , disabling reflection optimization. - - - - - An item of cached data, timestamped with the time it was cached, when it was locked, - when it was unlocked - - - - - Summary description for ILockable. - - - - - Lock the item - - - - - Is this item visible to the timestamped transaction? - - - - - - - Don't overwite 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. - - - - - A soft lock which supports concurrent locking, - timestamped with the time it was released - - - This class was named Lock in H2.1 - - - - - Marker interface, denoting a client-visible "soft lock" on a cached item. - - - - - 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 - - - - - A simple -based cache - - - - - 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 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Cache Provider plugin for NHibernate that is configured by using - hibernate.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 . - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 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. - - - - 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 sesion 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. - - - - - 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 - - - - - - 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. - - - - - 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. - - - - - - - - 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 - - - - - - The XML Namespace for the nhibernate-mapping - - - - - The XML Namespace for the nhibernate-configuration - - - - - 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 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. - - - - 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. - - - - 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 droping tables - - - - - - Generate DDL for creating tables - - - - - - 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 - otherwise. - - A configuration object initialized with the file. - - To configure NHibernate explicitly using hibernate.cfg.xml, ignoring - the application configuration file, use this code: - - configuration.Configure("path/to/hibernate.cfg.xml"); - - - - - - Configure NHibernate from an representing the root - <hibernate-configuration> element. - - Configuration node - This Configuration object - - - - 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 overwrite 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 XmlTextReader. - - The that contains the Xml to configure NHibernate. - A Configuration object initialized with the file. - - Calling Configure(XmlTextReader) 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 XmlTextReader that contains the mapping. - This Configuration object. - - - - Adds the Mappings in the after validating it - against the nhibernate-mapping-2.2 schema. - - The XmlTextReader that contains the mapping. - The name of the document to use for error reporting. May be . - This Configuration object. - - - - Allocate on first use as we are expensive in time/space - - - - Allocate on first use as we are expensive in time/space - - - - The class mappings - - - - - The collection mappings - - - - - The table mappings - - - - - The named queries - - - - - 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 - - - - - - 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 - - - - The singleton instance - - - - - Return the unqualified class name - - - - - - - Return the unqualified property name - - - - - - - Return the argument - - - - - - - Return the argument - - - - - - - Return the unqualified property name - - - - - - - - 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, <nhibernate> section in the application configuration file - corresponds to Java system-level properties; <hibernate-configuration> - section is considered to be the session-factory-level configuration. It is possible - to use the applicatoin configuration file (App.config) together with the NHibernate configuration - file (hibernate.cfg.xml) at the same time. - - - - - Used to find the .Net 2.0 named connection string - - - - - Issue warnings to user when any obsolete property names are used. - - - - - - - NHibernate version (informational). - - - - - Gets a copy of the configuration found in <nhibernate> 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. - - - - - Converts a partial class name into a fully qualified one - - - - - - - - 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 Lists, arrays, primitive arrays - > - - - - Called for Maps - - - - - - - - - Called for all collections - - - - - Summary description for ImprovedNamingStrategy. - - - - - The singleton instance - - - - - Return the unqualified class name, mixed case converted to underscores - - - - - - - Return the full property path with underscore seperators, 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 seperators, mixed case converted to underscores - - - - - - - - A collection of mappings from classes and collections to relational database tables. - - Represents a single <hibernate-mapping> element. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Adds an import to allow for the full class name Namespace.Entity - 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 - automattically 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 classes outside this resource - needed by the classes in this resource. - - An of - - - - Settings that affect the behavior of NHibernate at runtime. - - - - - 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. - The interface closely resembles bag semantics, - however NHibernate for .NET 1.1 used so - is used to ensure the easiest transition - to generics. - - The type of the element the bag should hold. - The underlying collection used is an - - - - 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. - - - - - - 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. - - - - - 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 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. - - - - - 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 - - - - - Called before any elements are read into the collection, - allowing appropriate initializations to occur. - - The for this persistent collection. - - - - 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. - - - - - 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. - - - - - 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. - - - - - Get the snapshot value of the given collection entry - - - - - Called after initializing from cache - - - - - Clear the dirty flag, after flushing changes - to the database. - - - - - Mark the collection as dirty - - - - - 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. - - - - - Is the initialized collection empty? - - - - - Gets a indicating if the underlying collection is directly - accessable 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 the collection dirty? Note that this is only - reliable during the flush cycle, after the - collection elements are dirty checked against - the snapshot. - - - - - Called by any read-only method of the collection interface - - - - - Called by any writer method of the collection interface - - - - - Queue an addition if the peristent collection supports it - - - if the addition was queued up, if the persistent collection - doesn't support Queued Addition. - - - - - Queue additions - - - - - After reading all existing elements from the database, - add the queued elements to the underlying collection. - - The to add. - The that - is currently loading the collection. - - The default implementation is to throw an - because most collections do not support delayed addition. If the collection - does then override this method. - - - - - 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. - - - - - Not called by Hibernate, but used by non-NET serialization, eg. SOAP libraries. - - - - - 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 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 - - - - Read the state of the collection from a disassembled cached value. - - - - - - - - Iterate all collection entries, during update of the database - - - - - - 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. - - - - Get the index of the given collection entry - - - - - - - - Called before any elements are read into the collection, - allowing appropriate initializations to occur. - - - - - - Does the current state exactly match the snapshot? - - - - - - - Return a new snapshot of the current state - - The for this Collection. - - - - - Disassemble the collection, ready for the cache - - - - - - - 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. - - - - - 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? - - - - - - - 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 - - - - - Is the initialized collection empty? - - - - - Is the collection currently connected to an open session? - - - - - Is this collection in a state that would allow us to "queue" additions? - - - - - Gets a indicating if the underlying collection is directly - accessable 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 . - - - - - - - - - - - - - - - - - - - - Initializes an instance of the - in the . - - The the bag is in. - - - - Initializes an instance of the - that wraps an existing in the . - - The the bag is in. - The to wrap. - - - - Gets a indicating if this Bag needs to be recreated - in the database. - - The for this Collection. - - 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. - - - - - 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 number of occurrences of the element in the list. - - - - - Is this the wrapper for the given underlying bag instance? - - The bag that might be wrapped. - - if the is equal to the - wrapped collection by object reference. - - - - - Is the initialized GenericBag empty? - - if the bag has a Count==0, otherwise. - - - - 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". - - - - - - 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 - - - - 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 bag is in. - The to wrap. - - - - Does the current state of the list exactly match the snapshot? - - The to compare the elements of the Collection. - - if the wrapped list is different than the snapshot - of the list or if one of the elements in the collection is - dirty. - - - - - Return a new snapshot of the current state. - - The for this Collection. - - A new that contains Deep Copies of the - Elements stored in this wrapped collection. - - - - - Get all "orphaned" elements. - - The snapshot of the collection. - The type of the entities the collection - is supposed to contain. - - An that contains all of the elements - that have been orphaned. - - - - - 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. - - - - Initializes an instance of the - in the . - - The the map is in. - - - - Initializes an instance of the - that wraps an existing in the - . - - The the bag is in. - The to wrap. - - - - .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 set is being - populated from the database. - - - This is necessary to ensure that the object being added to the set doesn't - have its and - methods called during the load process. - - - - - Returns a Hashtable where the Key & the Value are both a Copy of the - same object. - - - - - - - This constructor is NOT meant to be called from user code. - - - - - Creates a new PersistentGenericSet initialized to the values in the Map. - This constructor is NOT meant to be called from user code. - - - Only call this constructor if you consider the map initialized. - - - - - Initializes this PersistentGenericSet from the cached values. - - The CollectionPersister to use to reassemble the set. - The disassembled set. - 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 - that was populated during and writes it to the underlying - set. - - - - - - - - - - - - - - - - - - - - A persistent wrapper for an array. lazy initialization is NOT supported - - - - - The that NHibernate is wrapping. - - - - - A temporary list that holds the objects while the PersistentArrayHolder is being - populated from the database. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 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. - - - - Returns the user-visible portion of the NHibernate PersistentArrayHolder. - - - The array that contains the data, not the NHibernate wrapper. - - - - - - - - - - - - - - - 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. - - - - - 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 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 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 underlying collection used in an . - - - - - Return a new snapshot of the current state. - - The for this Collection. - - A new that contains Deep Copies of the - Elements stored in this wrapped collection. - - - - - Does the current state of the list exactly match the snapshot? - - The to compare the elements of the Collection. - - if the wrapped list is different than the snapshot - of the list or if one of the elements in the collection is - dirty. - - - - - 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 . - - - - - 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. - - - - - 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. - - - - - Returns a Hashtable where the Key & the Value are both a Copy of the - same object. - - - - - - - This constructor is NOT meant to be called from user code. - - - - - Creates a new PersistentSet initialized to the values in the Map. - This constructor is NOT meant to be called from user code. - - - Only call this constructor if you consider the map initialized. - - - - - 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. - - - - - - - - - - - - - - - - - - - - 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. - - - - - Initializes a new instance of the class. - - - - - 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 . - Works only with Web Applications. - - - - - 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 each . Works only with web applications. - - - - - Used to show a better debug display for dictionaries - - - - - ANSI-SQL substring - Documented in: - ANSI X3.135-1992 - American National Standard for Information Systems - Database Language - SQL - - - Syntax: - ::= - SUBSTRING FROM < start position> - [ FOR ] - ]]> - - - - - 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? - - - - - 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 - - - - - 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). - - - - - Applies the template to passed in arguments. - - args function arguments - generated SQL function call - - - - - 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. - - - - Support for slightly more general templating than StandardSQLFunction, - with an unlimited number of arguments. - - - - - An SQL dialect for DB2 on iSeries OS/400. - - - The DB2400Dialect defaults the following configuration properties: - - - Property - Default Value - - - hibernate.connection.driver_class - - - - - - - - An SQL dialect for DB2. - - - The DB2Dialect defaults the following configuration properties: - - - Property - Default Value - - - hibernate.connection.driver_class - - - - - - - - Represents a dialect of SQL implemented by a particular RDBMS. Sublcasses - 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 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 length of the SqlType - The database type name used by ddl. - - - - - - - - - - - Subclasses register a typename for the given type code and maximum - column length. $1 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. $1 in the - typename will be replaced by the column length (if appropriate). - - The typecode - The database type name - - - - - - - - - - - - - - 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 used to add a primary key constraint to a table - - - - - - 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. - - - - - Generate SQL to get the identifier of an inserted row. - If the returned value is not null, the caller will prepare a statement from it, - set SQL parameters just as it would for insertSQL, and execute it as a query - which is expected to return the identifier of the inserted row. - If the returned value is null, the caller will execute insertSQL as an update - and then execute IdentitySelectString as a query. - The default implementation (in this class) returns . - - a parameterized SQL statement to insert a row into a table. - The column for which the identity generator was specified. - The name of the table the row is being inserted in. - a SQL statement that has the same effect as insertSQL - and also gets the identifier of the inserted row. - Return if this dialect doesn't support this feature. - - - - - The syntax that returns the identity value of the last insert, if native - key generation is supported - - - - - The syntax that fetches the next value of a sequence, if sequences are supported. - - The name of the sequence - - - - - The syntax used to create a sequence, if sequences are supported - - - - - - - The syntax used to drop a sequence, if sequences are supported - - - - - - - - - - - - - - - - - - - - Create an JoinFragment for this dialect - - - - - - Create an CaseFragment for this dialect - - - - - - Add a LIMIT clause to the given SQL SELECT - - A Query in the form of a SqlString. - Offset of the first row is not zero - A new SqlString 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. - - - - Return SQL needed to drop the named table. May (and should) use - some form of "if exists" clause, and cascade constraints. - - - - - - - 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 - - - - - 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. - - - - - 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. -

-
-
- - - 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? - - - - - How we seperate the queries when we use multiply queries. - - - - - Retrieves the FOR UPDATE syntax specific to this dialect - - The appropriate FOR UPDATE clause string. - - - - Retrieves the FOR UPDATE NOWAIT syntax specific to this dialect - - The appropriate FOR UPDATE NOWAIT clause string. - - - - Does this dialect support subselects? - - - - - Does this dialect support the UNIQUE column syntax? - - - - - The syntax used to add a column to a table. Note this is deprecated - - - - - The keyword used to specify a nullable column - - - - - Does this dialect support identity column key generation? - - - - - Does this dialect support sequences? - - - - - The keyword used to specify an identity column, if native key generation is supported - - - - - The keyword used to insert a generated value into an identity column (or null) - - - - - The keyword used to insert a row without specifying any column values - - - - - Retrieve a set of default Hibernate properties for this database. - - - - - Completely optional cascading drop clause - - - - - The name of the SQL function that transforms a string to lowercase - - - - - 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? - - false, unless overridden - - - - The opening quote for a quoted identifier. - - - - - The closing quote for a quoted identifier. - - - - - Whether this dialect has an identity clause added to the data type or a - completely seperate identity data type. - - - - - 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. - - - - - Does the dialect support the syntax 'drop table if exists NAME' - - - - - Does the dialect support the syntax 'drop table NAME if exists' - - - - - 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. - - - - - - - - - - - - - - - - - - - - - Add a LIMIT clause to the given SQL SELECT - - A Query in the form of a SqlString. - Offset of the first row is not zero - A new SqlString that contains the LIMIT clause. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Summary description for FirebirdDialect. - - - The FirebirdDialect defaults the following configuration properties: - - - Property - Default Value - - - hibernate.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. - - - The InformixDialect defaults the following configuration properties: - - - Property - Default Value - - - hibernate.connection.driver_class - - - - - - - - - - - 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 - - - - - Whether this dialect have an Identity clause added to the data type or a - completely seperate identity data type - - - - - An SQL dialect for IngresSQL. - - - The IngresDialect defaults the following configuration properties: - - - Property - Default Value - - - hibernate.use_outer_join - - - - hibernate.connection.driver_class - - - - - - - - An SQL dialect compatible with Microsoft SQL Server 2000. - - - The MsSql2000Dialect defaults the following configuration properties: - - - Property - Default Value - - - hibernate.use_outer_join - - - - hibernate.connection.driver_class - - - - hibernate.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 of. - 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 with the LIMIT clause applied. - - The LIMIT SQL will look like - - - SELECT TOP last (columns) FROM ( - SELECT ROW_NUMBER() OVER(ORDER BY __hibernate_sort_expr_1__ {sort direction 1} [, __hibernate_sort_expr_2__ {sort direction 2}, ...]) as row, (query.columns) FROM ( - {original select query part}, {sort field 1} as __hibernate_sort_expr_1__ [, {sort field 2} as __hibernate_sort_expr_2__, ...] - {remainder of original query minus the order by clause} - ) query - ) page WHERE page.row > offset - - - - Note that we need to add explicitly specify the columns, because we need to be able to use them - in a paged subselect. NH-1155 - - - - - 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 - - - hibernate.use_outer_join - - - - hibernate.connection.driver_class - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 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. - - - - - - - - - - - - - - - - - - - - - - - - - It's a immature version, it just work. - An SQL dialect for Oracle 9 - - - The Oracle9Dialect defaults the following configuration properties: - - - Property - Default Value - - - hibernate.use_outer_join - - - - hibernate.connection.driver_class - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - An SQL dialect for Oracle, compatible with Oracle 8. - - - - - - - - - - - - - - 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 - - - hibernate.use_outer_join - - - - hibernate.connection.driver_class - - - - - - - - - - - - - - Offset of the first row to process in the result set is non-zero - - - - - - - - - - - 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. - - not used - not used - - - - - 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); - - - - - 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. - This dialect uses serial - - - - - The sql syntax to insert a row without specifying any column in PostgreSQL is - INSERT INTO table DEFAULT VALUES; - - - - - 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 -

-
-
- - - - - - - - - - - - - This is a subclass of SybaseDialect for sybase 11 databases (specifically tested against 11.9.2). 11.9.2 does not support ANSI JOINs - therefore we have to provide a special join fragment for left/right joins (*= and =* respectively). - - - - - An SQL dialect compatible with Sybase. - - -

- 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 SybaseDialect defaults the following configuration properties: - - - Property - Default Value - - - hibernate.use_outer_join - - - - hibernate.connection.driver_class - - - - hibernate.prepare_sql - - - -
-
- - - - - - - - - Sybase does not support quoted aliases, this function thus returns - aliasName as is. - - - - - - - - - - - - - - - - - - - - - - - - - - This class is basically a port of the hibernate 3.2 Sybase 11 join fragment. It usees concepts from that join fragment and the Oracle join fragment in NHibernate - - - - - Represents a SQL JOIN - - - - - 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 SybaseAnywhereDialect defaults the following configuration properties: - - - Property - Default Value - - - hibernate.use_outer_join - - - - hibernate.connection.driver_class - - - - hibernate.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 - - - - - 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($1)" ); - Names.Put(DbType, 65534, "LONGVARCHAR($1)" ); - - 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($1)" ); - - would result in - - Names.Get(DbType) // --> "VARCHAR($1)" (will cause trouble) - Names.Get(DbType,100) // --> "VARCHAR(100)" - Names.Get(DbType,1000) // --> "VARCHAR(1000)" - Names.Get(DbType,10000) // --> "VARCHAR(10000)" - - - - - - Constructor. - - String to be replaced by actual size/length in type names - - - - 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 (maximum) type size/length - - 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 9.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 hibernate.connection.driver_class should be - set to the assembly-qualified name of the driver class. - - - key="hibernate.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. - - - - - - Create an instance of according to the configuration - and the capabilities of the driver - - The connection manager for the batcher. - - - - - 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? - - - - - 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. - - - - Create an instance 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 need to override this method and return their own batcher. - - - - - 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. - - - - 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 the class. - - - Thrown when the ASA.Data.AseClient 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. - - - - - 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 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://gborg.postgresql.org/project/npgsql/projdisplay.php. -

-
-
- - - 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. - - - - - Create an instance 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 need to override this method and return their own batcher. - - - - - 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. - - - - Create an instance 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 need to override this method and return their own batcher. - - - - - 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. - - - - - The SybaseClientDriver Driver provides a database driver for Sybase. - - - It has been reported to work with the . - - - - - Initializes a new instance of the class. - - - Thrown when the Sybase.Data.AseClient assembly can not be loaded. - - - - - Sybase.Data.AseClient uses named parameters in the sql. - - - Sybase uses @ in the sql. - - - - - - - Sybase.Data.AseClient use the @ to locate parameters in sql. - - @ is used to locate parameters in sql. - - - - 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. - - - - - 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 - 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 - 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 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 copying from a transient parent entity into the object in the session cache - - - - - Summary description for Cascades. - - - - - Cascade an action to the child or children - - - - - - - - - - - - - - - - - - - - - - Cascade an action from the parent object to all its children. - - - - - - - - - - - Cascade to the collection elements - - - - - - - - - - - - - A session action that may be cascaded from parent entity to its children - - - - - - - - Cascade the action to the child object - - - - - The children to whom we should cascade. - - - - - Do we need to handle orphan delete for this action? - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Should the given action be cascaded? - - - - - - - Save / Delete / Update / Evict / Lock / Replicate + delete orphans - - - - - Save / Delete / Update / Evict / Lock / Replicate - - - - - Save / Update / Lock / Replicate - - - - - Delete - - - - - Delete + delete orphans - - - - - No Cascades - - - - - Do we delete orphans automatically? - - - - - 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. - - - - - 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 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 - - - - - - - - - - The user-visible identifier - - - - - - - - - - - - - - - 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. - - - - 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. - - - - 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. - - - - 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. - - - - 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. - - - - - 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). - - - - - Defines a complete "snapshot" of a particular collection. - - - - - Gets the identifier of the Entity that owns this Collection. - - - - - Gets the role that identifies this Collection. - - - - - Gets the snapshot copy of the Collection's elements. - - - In most cases this is the same collection type as the one being snapshotted. - ie - the snapshot of an IList will return an IList. - - - - - Gets a indicating if the collection was at one time - associated with an Entity and then later dereferenced during a Flush(). - - - - - 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 - - - - - - Create a new databinder. - - - - - - Get the ClassMetadata associated with the given entity class - - - - - - - Get the CollectionMetadata associated with the named collection role - - - - - - - Get all ClassMetadata as a IDictionary from Type - to metadata object - - - - - - 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 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. - - - - - - 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 used. - - - - - Get the SQL Dialect - - - - - Obtain a set of the names of all filters defined on this SessionFactory. - - The set of filter names. - - - - This collections allows external libraries - to add their own configuration to the NHibernate session factory. - This is needed in such cases where the library is tightly coupled to NHibernate, such - as the case of NHibernate Search - - - - - Get the persister for a class - - - - - Get the persister for the named class - - The name of the class that is persisted. - The for the class. - If no can be found. - - - - Get the persister for the named class - - The name of the class that is persisted. - Whether to throw an exception if the class is not found, - or just return - The for the class. - If no can be found - and throwIfNotFound is true. - - - - Get the persister object for a collection role - - - - - - - Get the return types 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 - - - - Obtain an ADO.NET connection - - - - - - Release an ADO.NET connection - - - - - - Get the identifier generator for the hierarchy - - - - - Open a session conforming to the given parameters. For use mainly by - implementations. - - The external ADO.NET connection to use, if any (i.e., optional). - The release mode for managed database connections. - An appropriate session. - - - - - Is outerjoin fetching enabled? - - - - - Are scrollable ResultSets supported? - - - - - Is PreparedStatement.getGeneratedKeys supported (Java-specific?) - - - - - Get the database schema specified in hibernate.default_schema - - - - - - - - - - - - - - - Maximum depth of outer join fetching - - - - - Are we logging SQL to the console? - - - - - Get the default query cache - - - - - Is query caching enabled? - - - - - Gets the IsolationLevel an IDbTransaction should be set to. - - - This is only applicable to manually controlled NHibernate Transactions. - - - - - Gets a boolean indicating if the sql statement should be prepared. The value - is calculated from hibernate.adonet.batch_size if the value exists and greater than 0. - - - - - 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 - - - - - The main runtime interface between a Java application and Hibernate. 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 Find(), 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 deteced 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, - 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 - - - - 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. - - - - - - - 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 - - - - 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 - - - - 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 - - - - 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 - - - - Execute a query - - A query expressed in Hibernate's query language - A distinct list of instances - See for implications of cache usage. - - - - Execute a query, binding a value to a "?" parameter in the query string. - - The query string - A value to be bound to a "?" placeholder - The Hibernate type of the value - A distinct list of instances - See for implications of cache usage. - - - - Execute a query, binding an array of values to a "?" parameters in the query string. - - The query string - An array of values to be bound to the "?" placeholders - An array of Hibernate types of the values - A distinct list of instances - See for implications of cache usage. - - - - Execute a query and return the results in an interator. - - - - If the query has multiple return values, values will be returned in an array of - type object[]. - - - Entities returned as results are initialized on demand. The first SQL query returns - identifiers only. So Enumerator() is usually a less efficient way to retrieve - object than Find(). - - - The query string - An enumerator - - - - Execute a query and return the results in an interator, - binding a value to a "?" parameter in the query string. - - - - If the query has multiple return values, values will be returned in an array of - type object[]. - - - Entities returned as results are initialized on demand. The first SQL query returns - identifiers only. So Enumerator() is usually a less efficient way to retrieve - object than Find(). - - - The query string - A value to be written to a "?" placeholder in the query string - The hibernate type of the value - An enumerator - - - - Execute a query and return the results in an interator, - binding the values to "?"s parameters in the query string. - - - - If the query has multiple return values, values will be returned in an array of - type object[]. - - - Entities returned as results are initialized on demand. The first SQL query returns - identifiers only. So Enumerator() is usually a less efficient way to retrieve - object than Find(). - - - The query string - A list of values to be written to "?" placeholders in the query - A list of hibernate types of the values - An enumerator - - - - Apply a filter to a persistent collection. - - - A filter is a Hibernate query that may refer to this, the collection element. - Filters allow efficient access to very large lazy collections. (Executing the filter - does not initialize the collection.) - - A persistent collection to filter - A filter query string - The resulting collection - - - - Apply a filter to a persistent collection, binding the given parameter to a "?" placeholder - - - A filter is a Hibernate query that may refer to this, the collection element. - Filters allow efficient access to very large lazy collections. (Executing the filter - does not initialize the collection.) - - A persistent collection to filter - A filter query string - A value to be written to a "?" placeholder in the query - The hibernate type of value - A collection - - - - Apply a filter to a persistent collection, binding the given parameters to "?" placeholders. - - - A filter is a Hibernate query that may refer to this, the collection element. - Filters allow efficient access to very large lazy collections. (Executing the filter - does not initialize the collection.) - - A persistent collection to filter - A filter query string - The values to be written to "?" placeholders in the query - The hibernate types of the values - A collection - - - - 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 - - - - 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 hibernate.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 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 instance of Query for the given query string - - A hibernate query string - 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 IQuery for the given SQL string. - - a query expressed in SQL - a table alias that appears inside {} in the SQL string - the returned persistent class - An from the SQL string - - - - Create a new instance of for the given SQL string. - - a query expressed in SQL - an array of table aliases that appear inside {} in the SQL string - the returned persistent classes - An from the SQL string - - - - Create a new instance of for the given SQL query 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 - - - - Strongly-typed version of - - - - - Strongly-typed version of - - - - - Enable the named filter for this current session. - - The name of the filter to be enabled. - The Filter instance representing the enabled fiter. - - - - Retrieve a currently enabled filter by name. - - The name of the filter to be retrieved. - The Filter instance representing the enabled fiter. - - - - 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. - - - - - 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 - - - - - 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). - - - - - 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 pre-flush identifier of the collection - - - - - - - Get the snapshot of the pre-flush collection state - - - - - Get the object for an array - - - - - Register a object for an array - - - - - Initialize the collection (if not already initialized) - - - - - - - Is this the "inverse" end of a bidirectional association? - - - - - - - new in h2.1 and no javadoc - - - - - - - - - new in h2.1 and no javadoc - - - - - new in h2.1 and no javadoc - - - - - new in h2.1 and no javadoc - - - - - new in h2.1 and no javadoc - - - - - Gets the NHibernate collection wrapper from the ISession. - - - - - - A NHibernate wrapped collection. - - - - - 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 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. - - - - - - - - Load an instance by a unique key that is not the primary key. - - - - - - - - - After actually deleting a row, record the fact that the instance no longer exists on the - database (needed for identity-column key generation) - - - - - - Execute a Find() 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 IEntityPersister for an object - - - - - - - Add an uninitialized instance of an entity class, as a placeholder to ensure object identity. - Must be called before PostHydrate() - - - - - Register the "hydrated" state of an entity instance, after the first step of 2-phase loading - - - - - Perform the second step of 2-phase load (ie. fully initialize the entity instance) - - - - - Get the entity instance associated with the given EntityKey - - - - - Return the existing proxy associated with the given EntityKey, or the second - argument (the entity associated with the key) if no proxy exists. - - The to see if it should be Proxied. - The that identifies the entity. - - Returns a the Proxy for the class or the parameter impl. - - - - Return the existing proxy associated with the given object. (Slower than the form above) - - - - - 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 shold release cache softlocks). May be called multiple times during the transaction - completion process. - - - - - Return the identifier of the persistent object, or null if transient - - - - - Return the identifer of the persistent or transient object, or throw - an exception if the instance is "unsaved" - - - - - Instantiate the entity class, initializing with the given identifier - - - - - Set the lock mode of the entity to the given lock mode - - - - - Get the current version of the entity - - - - - Get the lock mode of the entity - - - - - Execute an SQL Query - - - - - Strongly-typed version of - - - - - new in 2.1 no javadoc - - - - - - new in 2.1 no javadoc - - - - - - - - new in 2.1 no javadoc - - - - - - - - Retrieve the representation of the given entity. - - The entity for which to locate the EntityEntry. - The EntityEntry for the given entity. - - - - Retreive the currently set value for a filter parameter. - - The filter parameter name in the format - {FILTER_NAME.PARAMETER_NAME}. - The filter parameter value. - - - - Retreive the type for a given filter parrameter. - - The filter parameter name in the format - {FILTER_NAME.PARAMETER_NAME}. - The filter parameter type. - - - - 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 {@link org.hibernate.impl.FilterImpl} - instance. - - The currently enabled filters. - - - - 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 - - - - - 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 - - - - - Get the columns of the associated table which are to - be used in the join - - - - - Container for data that is used during the NHibernate query/load process. - - - - - Initializes an instance of the class. - - An array of objects for the parameters. - An array of objects for the parameters. - - - - Initializes an instance of the class. - - An array of objects for the parameters. - An array of objects for the parameters. - An that is parameter name keyed to a value. - An that is hql alias keyed to a LockMode value. - - - - - - - - - - - - - - - - Ensure the Types and Values are the same length. - - - If the Lengths of and - are not equal. - - - - - - - - Gets or sets an that contains the named - parameter as the key and the as the value. - - An of 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. - - - - - - - - - - - - - - - - - - - - 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. - - - - Gets the value of the version. - - 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. - The value of the version. - - - - Sets the value of the version. - - 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 index of the version property in the fields parameter. - The of the versioned property. - - - - 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? - - - - - Converts the given SQLException into NHibernate's ADOException hierarchy, as well as performing - appropriate logging. - - - The exception to convert. - An optional error message. - The converted ADOException. - - - - 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. - - - - 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. - - - - 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 - - - - - 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 - - - - - Render the SQL Fragment. - - - - - - - - - Render the SQL Fragment to be used in the Group By Clause. - - - - - - - - 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 - - - - - - - - Get the user-visible aliases for this projection (ie. the ones that will be passed to the ResultTransformer) - - - - - Does this projection specify grouping attributes? - - - - - 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 arry 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. - - - - - 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. - - - - - - - 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. - - - - - 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 " - - - - A Count - - - - - 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. - - - - An that Junctions together multiple - s with an or - - - - - Get the Sql operator to put between multiple s. - - The string " or " - - - - An that represents an "equal" constraint. - - - - - 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. - - - - 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 . - - - - - 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. - Use case-insensitive comparison - - - - 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. - - - - Get the Sql operator to use for the . - - The string " = " - - - - An that represents an "equal" constraint - between two properties. - - - - - Superclass for an that represents a - constraint between two properties (with SQL binary operators). - - - - - Initialize a new instance of the class - that compares two mapped properties. - - 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 property expression. - - - - - 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. - - - - - 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. - - - - - The Expression 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 to the named property - - The name of the Property in the class. - The value for the Property. - An . - - - - Apply a "like" constraint to the named property - - The name of the Property in the class. - The value for the Property. - A . - - - - A case-insensitive "like", similar to Postgres "ilike" operator - - The name of the Property in the class. - 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. - A . - - - - Apply a "less than" constraint to the named property - - The name of the Property in the class. - The value for the Property. - A . - - - - Apply a "less than or equal" constraint to the named property - - The name of the Property in the class. - The value for the Property. - A . - - - - Apply a "greater than or equal" constraint to the named property - - The name of the Property in the class. - The value for the Property. - A . - - - - 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 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 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 "is null" constraint to the named property - - The name of the Property in the class. - A . - - - - Apply an "equal" constraint to two properties - - The lhs Property Name - The rhs Property Name - A . - - - - Apply an "not equal" constraint to two properties - - The lhs Property Name - The rhs Property Name - A . - - - - Apply a "greater than" 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 Property Name - The rhs Property Name - A . - - - - Apply a "less than" constraint to two properties - - The lhs Property Name - The rhs Property Name - A . - - - - Apply a "less than or equal" constraint to two properties - - The lhs Property Name - The rhs Property Name - A . - - - - Apply an "is not null" 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 . - - - - Apply an "is not empty" constraint to the named property - - The name of the Property in the class. - A . - - - - Return the conjuction 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 . - - - - 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 - - - - - - - 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 - - - - - An that represents an "greater than or equal" constraint. - - - - - 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. - - - - Get the Sql operator to use for the . - - The string " >= " - - - - An that represents an "greater than or equal" constraint - between two properties. - - - - - 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 " < " - - - - An that represents an "greater than" constraint. - - - - - 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. - - - - Get the Sql operator to use for the . - - The string " > " - - - - An that represents an "greater than" constraint - between two properties. - - - - - 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 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... - - - - - - - - - - - - - - - An that represents an "like" constraint - that is not case sensitive. - - - - - 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. - - - - - 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. - - - - Get the Sql operator to use for the . - - The string " <= " - - - - An that represents an "less than or equal" constraint - between two properties. - - - - - 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. - - - - - 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. - - - - Get the Sql operator to use for the . - - The string " like " - - - - An that represents an "less than" constraint. - - - - - 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. - - - - Get the Sql operator to use for the . - - The string " < " - - - - An that represents an "less than" constraint - between two properties. - - - - - 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. - - - - - 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. - - - - - 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. - - - - - Constructor for Order. - - - - - - - Render the SQL fragment - - - - - Ascending 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" - - - - 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(*) - - - - - - A property value count - - - - - - - A distinct property value count - - - - - - - A property maximum value - - - - - - - A property minimum value - - - - - - - A property average value - - - - - - - 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 projected property value - - - - - - - A projected identifier value - - - - - - Assign an alias to a projection, by wrapping it - - - - - - - - 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 - - - - - 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. - - - - - Factory class for AbstractCriterion instances that represent - involving subqueries. - Expression - Projection - AbstractCriterion - - - - - Generates translators which uses the older hand-written parser to perform the translation. - - - - - 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 an HQL filter string. - - The query string to be translated - Currently enabled filters - The session factory - An appropriate translator. - - - - 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 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 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. - - - - - 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 vesrion 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 - - - - - Unmarshall the fields of a persistent instance from a result set, - without resolving associations or collections - - - - - - - - - - - - Advance the cursor to the first required row of the IDataReader - - - - - - - Should we pre-process the SQL string, adding a dialect-specific - LIMIT clause. - - - - - - - - Bind positional parameter values to the IDbCommand - (these are parameters specified by ?). - - - - - - - - - - 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 maximum last row number, - others require the maximum returned row count. - - - - - 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 - - - - 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 . - The to load in. - An IDataReader advanced to the first record in RowSelection. - - - - Bind named parameters to the IDbCommand - - The that contains the parameters. - The named parameters (key) and the values to set. - The this Loader is using. - - - - - 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. - - - - of - - - - 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 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") - - - - - An (optional) persister for a collection to be initialized; only collection loaders - return a non-null value - - - - - 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 SQL table aliases of entities whose - associations are subselect-loadable, returning - null if this loader does not support subselect - loading - - - - - Get the result set descriptor - - - - - 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. - - - - - 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? - - - - 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 - - - - Used for collection filters - - - - - - - Persisters for the return values of a Find 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. - - - - - Provides utility methods for generating HQL / SQL names. - Shared by both the 'classic' and 'new' query translators. - - - - - 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. - - - - Handle Hibernate "implicit" polymorphism, by translating the query string into - several "concrete" queries against mapped classes. - - - - - - - - - An that returns the current identifier - assigned to an instance. - - -

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

-
-
- - - 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 - - - - - - - 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. - - - - - 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. - - - - 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 - - - - hilo - - - - identity - - - - native - - Chooses between , - , and based on the - 's capabilities. - - - - seqhilo - - - - sequence - - - - uuid.hex - - - - uuid.string - - - -
-
- - - 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. -

-
-
- - - 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 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. - - - - - - An that requires creation of database objects - All s that also implement - An have access to a special mapping parameter: schema - - - - - 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 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 name of the schema parameter. - - - - - 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 . - - - - 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. -

-
-
- - - The name of the column parameter. - - - - - The name of the table parameter. - - - - - The name of the schema parameter. - - - - - 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 , , 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 . - - - - 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. - - - - 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 . - - - - 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.Find(); - - - A particulare 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 . - - - - - 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 - - - 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 forceable refresh of - the query cache? - - - - The timeout for the underlying ADO query - - - - - - 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 - - - - - Bind a value to an indexed parameter. - - Postion 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 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 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. - - - - - The query string - - - - - The Hibernate types of the query result set. - - - - - The names of all named parameters of the query - - The parameter names, in no particular order - - - - 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. - - - - - 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 . - - - - - - - Visit a property value. Dispatch to the correct handler - for the property type. - - - - - - - - Walk the tree starting from the given entity. - - - - - - - Visit a collection. Default superclass implementation is a no-op. - - - - - - - - Visit a many-to-one or one-to-one associated entity. Default - superclass implementation is a no-op. - - - - - - - - Manages prepared statements and batching. Class exists to enforce separation of concerns - - - - - 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 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 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 the the Batcher was - created in. - - - The the Batcher was - created in. - - - - - Gets the for this batcher. - - - - - A cached instance of a persistent class - - - - - - - - - - - - - - - - - - - - - - - - - We need an entry to tell us all about the current state - of a collection with respect to its persistent state - - - - - 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. - - - - - 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. - - - - session-start/post-flush persistent state - - - allow the snapshot to be serialized - - - - Initializes a new instance of . - - - The CollectionEntry is for a Collection that is not dirty and - has already been initialized. - - - - - Initializes a new instance of for collections just loaded from the database. - - The that persists this Collection type. - The identifier of the Entity that is the owner of this Collection. - A boolean indicating whether to ignore the collection during current (or next) flush. - - - - Initializes a new instance of for initialized detached collections. - - The from another . - The that created this . - - This takes an from another and - creates an entry for it in this by copying the values from the - cs parameter. - - - - - 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. - - - - - - - - - - - - - - Manages the database connection and transaction for an . - - - This class corresponds to ConnectionManager and JDBCContext in Hibernate, - combined. - - - - - 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(); - - - Hibernate's query language is much more general and should be used for non-simple cases. - - - This is an experimental API. - - - - - - Set a limit upon the number of objects to be retrieved - - - - - - Set the first result to be retrieved - - - - - - Set a timeout for the underlying ADO.NET query - - - - - - - Add an Expression to constrain the results to be retrieved. - - - - - - - An an Order to the result set - - - - - - Get the results - - - - - - Get the results and fill the - - The list to fill with the results. - - - - Strongly-typed version of . - - - - - 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 - - If there is more than one matching result - - - - - 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. - - - - - 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) - - - - Create a new , "rooted" at the associated entity - - - - - - - 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, - using the specified join type. - - A dot-seperated property path - The type of join to use - The created "sub criteria" - - - - Set a strategy for handling the query results. This determines the - "shape" of the query result set. - - - - - - - - - - Set the lock mode of the current entity - - the lock mode - - - - - Set the lock mode of the aliased entity - - an alias - the lock mode - - - - - 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 - - - - - 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. - - - - - - Get the alias of the entity encapsulated by this criteria instance. - - The alias for the encapsulated entity. - - - - 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 - - - - - - Executes the batch - - - This seems to be returning the total number of affected rows in all queries - - - - - Return the batch command to be executed - - - - - The number of commands batched in this instance - - - - - 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 - - - - - 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. - - - - 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 updating the database, update the snapshot information, - and escalate the lock mode. - - - - - 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 reponsible 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. - - - - - - - - - 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 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 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. - - - - - Evict any collections referenced by the object from the ISession cache. - - - This will NOT pick up any collections that were dereferenced, so - they will be deleted (suboptimal but not exactly incorrect). - - - - - - - - - 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. - - - - - An action that can Execute during a - Flush. - - - - - - - - - - Execute the action required to write changes to the database. - - - - - Called after the Transaction has been completed. - - - - Actions should make sure that the Cache is notified about - what just happened. - - - - - Does the executable have an AfterTransactionCompletion process - - - - - The spaces (tables) that are affectd by this Executable action. - - - This is used to determine if the ISession needs to be flushed before - a query is executed so stale data is not returned. - - - - - 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] - - - - When implemented by a class, disassembles the object into a cacheable representation. - The value to disassemble.The sesionThe disassembled, deep cloned state of the object - - - - When implemented by a class, reconstructs the object from its - cached "disassembled" state. - The disassembled state from the cacheThe sessiontThe parent Entity objectThe assembled object. - - - - Combines sevaral queries into a single database call - - - - - Get all the - - - - - Add the specified HQL query to the multi query - - - - - Add the specified HQL query to the multi query - - - - - Add a named query to the multi query - - - - - 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 - - - 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 forceable refresh of - the query cache? - - - - The timeout for the underlying ADO query - - - - - - Bind a value to a named query parameter - - The name of the parameter - The possibly null parameter value - The NHibernate . - - - - 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 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 a named parameter - using an NHibernate . - - The name of the parameter - A non-null instance of a array. - - - - 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 name of the parameter - 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 . - - A non-null instance of a . - The name of the parameter - - - - 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 name of the parameter - A non-null instance of a . - - - - 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 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 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 name of the parameter - 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 name of the parameter - 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 name of the parameter - 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 . - - - - 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. - - - - - Return the query results of all the queries - - - - - 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. - - - - - - When a transient entity is passed to , 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. - - - - - 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 - - - - - When an entity is passed to Update(), all its collections must be - inspected and: - - - - Associate any uninitialized PersistentCollections with this Session. - - - - - Associate any initialized PersistentCollections with this Session, using the - existing snapshot. - - - - - Execute a collection removal (SQL DELETE) for each null collection property - or "new" collection. - - - - - - - - Summary description for OracleDataClientBatchingBatcher. - By Tomer Avissar - - - - - - - an actual entity object, not a proxy! - - - - - Implementation of the interface for collection filters. - - - - - - - - - - - - - The base class for a scheduled action to perform on a Collection during a - flush. - - - - - Initializes a new instance of . - - The that is responsible for the persisting the Collection. - The identifier of the Collection owner. - The that the Action is occuring in. - - - - - - - - - - - - - - - - - - Gets the that is responsible for persisting the Collection. - - - - - Gets the identifier of the Collection owner. - - - - - Gets the the action is executing in. - - - - - - - - A scheduled recreation of the Collection in the database. - - - - - Initializes a new instance of . - - The to recreate. - The that is responsible for the persisting the Collection. - The identifier of the Collection owner. - The that the Action is occuring in. - - - - - - - A scheduled removal of the Collection from the database. - - - This Collection is not represented in the database anymore. - - - - - Initializes a new instance of . - - The that is being removed. - The that is responsible for the persisting the Collection. - The identifier of the Collection owner. - Indicates if the Collection was empty when it was loaded. - The that the Action is occuring in. - - - - - - - A scheduled update of the Collection in the database. - - - Entities in the Collection or the contents of the Collection have been modified - and the database should be updated accordingly. - - - - - Initializes a new instance of . - - The to update. - The that is responsible for the persisting the Collection. - The identifier of the Collection owner. - Indicates if the Collection was empty when it was loaded. - The that the Action is occuring in. - - - - - - - A scheduled deletion of an object. - - - - - The base class for a scheduled action to perform on an entity during a - flush. - - - - - Initializes a new instance of . - - The that the Action is occuring in. - The identifier of the object. - The actual object instance. - The that is responsible for the persisting the object. - - - - - - Not supported for a non-collection entity - - - - Called when the Transaction this action occurred in has completed. - - - - - - Execute the action using the . - - - - - Gets the the action is executing in. - - - - - Gets the identifier of the object. - - - - - Gets the that is responsible for persisting the object. - - - - - Gets the object that is having the scheduled action performed against it. - - - - - - - - - - - - - Initializes a new instance of . - - The identifier of the object. - The version of the object being deleted. - The actual object instance. - The that is responsible for the persisting the object. - The that the Action is occuring in. - - - - - - - - - - Summary description for ScheduledIdentityInsertion. - - - - - - - - - - - - - - - - - - - - - - - - - A scheduled insertion of an object. - - - - - Initializes a new instance of . - - The identifier of the object. - An object array that contains the state of the object being inserted. - The actual object instance. - The version of the object instance. - The that is responsible for the persisting the object. - The that the Action is occuring in. - - - - - - - - - - A scheduled update of an object. - - - - - Initializes a new instance of . - - The identifier of the object. - An array of objects that contains the value of each Property. - An array that contains the indexes of the dirty Properties. - Whether the object contains a dirty collection. - - The current version of the object. - The version the object should be after update. - The actual object instance. - The that is responsible for the persisting the object. - The that the Action is occuring in. - - - - - - - - - - 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. - - - - - - - - - - - - - - - - - - - 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. - - - - - - - - - - - - - - - - - - - - - - - - - - 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. - - - - - - - Added to solve a problem with SessionImpl.Find( CriteriaImpl ), - see the comment there for an explanation. - - - - - - - - - - - - - Closes the session factory, releasing all held resources. - - cleans up used cache regions and "stops" the cache provider. - close the ADO.NET connection - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Gets the ICurrentSessionContext instance attached to this session factory. - - - - - A class that can be used as a Key in a Hashtable for - a Query Cache. - - - - - A class that can be used as a Key in a Hashtable for - a Query Cache. - - - - - 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. - - - TODO: verify that the AppDomain statements are correct. - - - - - - - - - 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. - - - - 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 - - - - - Indicates if the Session has been closed. - - - (by default) if the Session is Open and can be used, - if the Session has had the methods Close() or - Dispose() invoked. - - - - An with the as the key - and an as the value. - - - - - An with the as the key - and an as the value. - - - - - An with the as the key - and an as the value. - - - - - An with the as the key - and an as the value. - - - - - An with the as the key - and an as the value. - - - - - An with the as the key - and an as the value. - - - - - An of objects of the deleted entities. - - - - - 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. - - - - - - - - - Ensure that the locks are downgraded to - and that all of the softlocks in the have - been released. - - - - - Mark the Session as being closed and Clear out the HashTables of - entities and proxies along with the Identity Maps for entries, array - holders, collections, and nullifiables. - - - - - - - - - - - - - - - - - - - Save a transient object. An id is generated, assigned to the object and returned - - - - - - - Save a transient object with a manually assigned ID - - - - - - - If the parameter value is an unitialized proxy then it will be reassociated - with the session. - - A persistable object, proxy, persistent collection or null - - when an uninitialized proxy was passed into this method, otherwise. - - - - - associate a proxy that was instantiated by another session with this session - - - - - - - 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" - - - - - - - - - Delete a persistent object - - - - - - Checks to see if there are any Properties that should not be null - are references to null or to a transient object. - - An object array of values that should be validated. - The that describes which values can be null. - A indicating if this is an Update operation. - - Thrown when a non-nullable property contains a value that would - persist the value of null to the database. - - - - - Reattach a detached (disassociated) initialized or uninitialized collection wrapper - - - - - - - Used only by Replicate - - - - - - - - - - Retrieve a list of persistent objects using a Hibernate query - - - - - - - - - - - - - - - - - - - - - - Obtain an instance of for a named query string defined in the - mapping file. - - The name of a query defined externally. - An fro a named query string. - - The query can be either in hql or sql format. - - - - - Give the interceptor an opportunity to override the default instantiation - - - - - - - - detect in-memory changes, determine if the changes are to tables - named in the query and, if so, complete execution the flush - - - - - - - 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. - - - - - - - - - - Grab the existing proxy for an instance, if one exists. - (otherwise return the instance) - - - - - - - - - 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. - - - - - - - - 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 ADO datareader we are currently processing - - - - - - - - - - Load the data for the object with the specified id into a newly created object. - 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. - - - - - Load the data for the object with the specified id into the supplied - instance. A new key will be assigned to the object. If there is an - existing uninitialized proxy, this will break identity equals as far - as the application is concerned. - - - - - Load the data for the object with the specified id into a newly created - object. A new key will be assigned to the object. If the class supports - lazy initialization, return a proxy instead, leaving the real work for - later. This should return an existing proxy where appropriate. - - The of the object to load. - The identifier of the object in the database. - - A boolean indicating if NHiberate should check if the object has or has not been deleted. - - A boolean indicating if it is allowed to return a Proxy instead of an instance of the . - - An loaded instance of the object or a proxy of the object is proxies are allowed. - - - If the parameter checkDeleted is it is possible to return an object that has - been deleted by the user in this . If the parameter checkDeleted is - and the object has been deleted then an will be - thrown. - - - - - 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 method always hits the db, and does not create proxies. It should return - an existing proxy where appropriate. - - - - - - - - - - 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. - - - - - - - - - Actually do all the hard work of loading up an object - - - - - - - - - 1. see if it is already loaded - 2. see if it is cached - 3. actually go to the database - - - - - 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 - - - - - - - - - This can be called from commit() or at the start of a Find() 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 - - - - - Execute all SQL and second-level cache updates, in a - special order so that foreign-key constraints cannot - be violated: -
    -
  1. Inserts, in the order they were performed
  2. -
  3. Updates
  4. -
  5. Deletion of collection elements
  6. -
  7. Insertion of collection elements
  8. -
  9. Deletes, in the order they were performed
  10. -
-
- - - 1. detect any dirty entities - 2. schedule any entity updates - 3. search out any reachable collections - - - - - Process cascade save/update at the start of a flush to discover - any newly referenced entity that must be passed to - and also apply orphan delete - - - - - 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(). - - - - - - - - - - - - - - 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). - - - - - - - process any unreferenced collections and then inspect all known collections, - scheduling creates/removes/updates - - - - - 1. Recreate the collection key -> collection map - 2. rebuild the collection entries - 3. call Interceptor.postFlush() - - - - - Initialize the flags of the CollectionEntry, including the - dirty check. - - - - - Initialize the role of the collection. - The CollectionEntry.reached stuff is just to detect any silly users who set up - circular or shared references between/to collections. - - - - - - - - record the fact that this collection was dereferenced - - - - - - 1. record the collection role that this collection is referenced by - 2. decide if the collection needs deleting/creating/updating (but - don't actually schedule the action yet) - - - - - - - add a collection we just loaded up (still needs initializing) - - - - - - - - add a collection we just pulled out of the cache (does not need initializing) - - - - - - - - Add a new collection (i.e. a newly created one, just instantiated by - the application, with no database state or snapshot) - - - - - - - Add an (initialized) collection that was created by another session and passed - into update() (i.e. one with a snapshot and existing state on the database) - - - - - - - - - - - - - - associate a holder with an array - called after loading an array - - - - - - called by a collection that wants to initialize itself - - - - - - - - - - A flag to indicate if Dispose() has been called. - - - - - Finalizer that ensures the object is correctly disposed of. - - - - - Just in case the user forgot to Commit() or Close() - - - - - 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. - - - - - 1. determine the collection role of the given collection (this may require a flush, if the collection is recorded as unreferenced) - 2. obtain a compiled filter query - 3. autoflush if necessary - - - - - - - - - - Get the collection entry for a collection passed to filter, - which might be a collection wrapper, an array, or an unwrapped - collection. Return if there is no entry. - - - - - - - remove any hard references to the entity that are held by the infrastructure - (references held by application or other persistant instances are okay) - - - - - - Evict collections from the factory-level cache - - - - - - - - - - - - - - - - - - - - - - - - - - - - Instantiate a collection wrapper (called when loading an object) - - - - - - - - - Try to initialize a Collection from the cache. - - - - - - if the collection was initialized from the cache, otherwise . - - - - - - - - - - - - - - - - - - - - - - - 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. - - - - - 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 - - - - - 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 - - - - - 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. - - - - - Wrap collections in a NHibernate collection wrapper. - - - - - 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 - - - - - 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 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 aliases of the columns constrained - by this criterion (for use in ORDER BY clause). - - - - - Get the a typed value for the given property value. - - - - - 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 collumns - 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 collumns 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 aliases for the property columns - - - - - The result set column alias for the Oracle row id - - - - - Calculate and cache select-clause suffixes. - - - - - Optional, may return - - - - Substitues JDBC 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. - - @param sqlString The query string. - @return The SQL query with parameter substitution complete. - - - - 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 return defined as part of - a native sql query. - - - - - Returns the class owning the collection. - - - - - Returns 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. - - - - - 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. - - - - - Abstract superclass for entity loaders that use outer joins - - - - - - - - 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 - - - - - 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 collumns 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 - - - - - 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. - - - - - 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. - - - Author: Gavin King - - - - - 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 - - - - - - - - Get or set the metatype - - - - - 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. - - - - - A bag permits duplicates, so it has no primary key - - - - - Initializes a new instance of the class. - - The that contains this bag mapping. - - - - - - Should we create an index on the key columns? - - - - Gets the appropriate that is - specialized for this bag mapping. - - - - - Represents the mapping to a column in a database. - - - - - - - - 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 an Alias for the column name. - - The that contains the rules for Aliasing. - A string to use as the suffix for the Alias. - - A string that can be used as the alias for this Column. - - - - - Initializes a new instance of . - - The NHibernate that reads from and writes to the column. - The index of the column in the . - - - - Gets the of the column based on the . - - - - The of the column based on the . - - - - - 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. - - The value of Name.GetHashCode(). - - - - Gets or sets the length of the datatype in the database. - - The length of the datatype in the database. - - - - Gets or sets the NHibernate of the column. - - - The NHibernate of the column. - - - - - 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 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. - - - - - A Foreign Key constraint in the database. - - - - - Initializes a new instance of the class. - - - - - 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. - - - - - 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. - - - - - Gets or sets the that this Foreign Key is referencing. - - - The that this Foreign Key is referencing. - - - - - 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. - - - - - - - - - - - - - - - - - - - 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. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 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 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 heirarchy must define a unique discriminator-value. The default value - is the class name if no value is supplied. - - - - - Gets a boolean indicating if this PersistentClass has any subclasses. - - if this PeristentClass has any subclasses. - - - - Gets the number of subclasses that inherit either directly or indirectly. - - The number of subclasses that inherit from this PersistentClass. - - - - Gets the Collection of Subclasses for this PersistentClass. - - - It will recursively go through Subclasses so that if a Subclass 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. - - - - - 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. - - - - - Gets an of objects. - - - An of objects. - - - - - 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 the fully qualified name of the type being persisted. - - The fully qualified name of the type being persisted. - - - - 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 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 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 a boolean indicating if the mapped class - has a version property. - - if there is a <version> property. - - - - 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 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 TableClosureCollection and the subclassTables into the ICollection. - - - - 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 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. - - - - - - - - - - - - - - - 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 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. - - - - - 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. - - - - - - - - - - - - - - - Build a collection of properties which are "referenceable". - - - See for a discussion of "referenceable". - - - - - 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. - - - - - - - - - - - - - - Mapping for a property of a .NET class (entity - or component). - - - - - 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. - - - - - - - - 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-sublcass, 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 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 a boolean indicating if this mapped class is inherited from another. - - - because this is the root mapped class. - - - - - 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 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 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. - - - - - Gets or sets the that is used as the version. - - The that is used as the version. - - - - Gets a boolean indicating if the mapped class has a version property. - - if there is a Property for a version. - - - - 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 or sets the cache region name. - - The region name used with the Cache. - - - - Gets or set a boolean indicating if the mapped class has properties that can be changed. - - if the object is mutable. - - - - 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 of the Persister. - - The of the Persister. - - - - Gets the of the class - that is mapped in the class element. - - - The of the class this mapped class. - - - - - 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 Subclass 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. - - - - - - - - - - - - - - - A Set with no nullable element columns will have a primary - key consisting of all table columns (ie - key columns + - element columns). - - - - - Declaration of a System.Type mapped with the <subclass> or - <joined-subclass> 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 Subclass Properties. - - - - - Adds a that is implemented by a subclass. - - The implemented by a subclass. - - This also adds the to the Superclass' collection - of Subclass Properties. - - - - - Adds a that a subclass is stored in. - - The the subclass is stored in. - - This also adds the to the Superclass' collection - of Subclass Tables. - - - - - - - - - - - - - - - - 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 a boolean indicating if this mapped class is inherited from another. - - - because this is a Subclass. - - - - - 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 this class is stored in. - - The this class is stored in. - - This also adds the to the Superclass' collection - of Subclass Tables. - - - - - 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 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 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 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 - Subclass, only the RootClass. - - - - - - - - - - - - - - - Represents a Table in a database that an object gets mapped against. - - - - - Initializes a new instance of . - - - - - 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 Qualifier to use when accessing the table. - A String representing the Qualified name. - If this were used with MSSQL it would return a dbo.table_name. - - - - 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. - - - - - 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. - - - - - - - - - - - - - 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 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. - - - - - - - - - - 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. - - - - 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 - - - - - Create a class instance initialized with the given identifier - - - - - - - Get the type of a particular (named) property - - - - - - - Get the value of a particular (named) property - - - - - - - - Set the value of a particular (named) property - - - - - - - - Return the values of the mapped properties of the object - - - - - - 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) - - - - - - - Get the version number (or timestamp) from the object's version property - (or return null if not versioned) - - - - - - - The persistent class - - - - - 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 - - - - - Does the class implement the ILifecycle interface? - - - - - Does the class implement the IValidatable inteface? - - - - - Does the class support dynamic proxies? - - - - - 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 - - - - - Does the class have an identifier property? - - - - - 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? - - - - - 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 query alias and a property path, return the qualified column name - - - - - - - - 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 table to join to. - - - - - The columns to join on. - - - - - Is this instance actually a ICollectionPersister? - - - - - Is this instance actually a many-to-many association? - - - - -

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 - - - - - Is this collection role cacheable - - - - - 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 an "indexed" collection? (list or map) - - - - - Is this collection lazyily 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 entity class that "owns" this collection - - - - - Get the surrogate key generation strategy (optional operation) - - - - - Get the type of the surrogate key - - - - - 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.) - - - - - Get the "space" that holds the persistent state - - - - - Generate a list of collection index and element columns - - - - - 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 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? - - - - - 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? - - - - - 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. - - - - Gets just the Identifier of the Element for the Collection. - - - - - - - This was created in addition to ReadElement because ADO.NET does not allow - for 2 IDataReaders to be open against a single IDbConnection at one time. - - When a Collection is loaded it was recursively opening IDbDataReaders to resolve - the Element for the Collection while the IDbDataReader was open that contained the - record for the Collection. - - - - - 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 (preferrably immutable) and must provide a constructor of type - (PersistentClass, SessionFactoryImplementor) - - - - - Finish the initialization of this object, once all ClassPersisters have been - instantiated. Called only once, before any other method. - - - - - Create a new proxy instance - - - - - - - - Is this a new transient instance? - - - - - - - Set the given values to the mapped properties of the given object - - - - - - - Return the values of the mapped properties of the object - - - - - - - Set the value of a particular property - - - - - - - - Get the value of a particular property - - - - - - - - Get the value of a particular property - - - - - - - - Get the type of a particular property - - - - - - - Compare two snapshots of the state of an instance to determine if the persistent state - was modified - - - - - - or the indices of the dirty properties - - - - Compare the state of an instance to the current database state - - - - - - return or the indicies of the modified properties - - - - 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. - - - - 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 - - - - - - - Load an insatance 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 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. - - - - - - - - - - - NHibernate-specific feature, not present in H2.1 - - - - Determines whether the specified entity is an instance of the class - managed by this persister. - - The entity. - - if the specified entity is an instance; otherwise, . - - - - - 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. - - - - Returns an object that identifies the space in which identifiers of this class hierarchy - are unique. eg. a table name, etc. - - - - - Returns an array of objects that identifies spaces in which properties of this class - instance are persisted. eg. table names. - - - - - - The persistent class - - - - - The classname of the persistent class (used only for messages) - - - - - Does the class implement the ILifecycle inteface? - - - - - Does the class implement the IValidatable interface? - - - - - Does this class support dynamic proxies? - - - - - Get the proxy interface that instances of this concrete class will be cast to - - - - - Do instances of this class contain collections? - - - - - Does this class declare any cascading save/update/deletes? - - - - - Are instances of this class mutable? - - - - - 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. - - - - - Does the class have a property holding the identifier value? - - - - - Gets if the Type has a Property for the <id> or uses a <composite-id> - to store the id. - - true if there is a Identifier Property or Composite Identifier. - - - - 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) - - - - - 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 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. - - - - - 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 - - - - - 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. - - - - - 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 - - - - - Does this class have a cache? - - - - - Get the cache (optional operation) - - - - - Get the user-visible metadata for the class (optional operation) - - - - - Is batch loading enabled? - - - - - Returns an array of objects that identify spaces in which properties of this class are persisted, - for instances of this class and its subclasses. - - - - - The session factory this instance is associated with. - - - - - Does this entity contain a version property that is defined - to be database generated? - - - - - 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 - - - - - Does the persistent class have subclasses? - - - - - The discriminator type - - - - - Get the names of columns used to persist the identifier - - - - - Get the name of the column used as a discriminator - - - - - Does this entity own any collections which are fetchable by subselect? - - - - - 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) - - - - - - - Generate a list of collection index and element columns - - - - - - - - Get the column names for the given property path - - - - - Get the table name for the given property path - - - - - Extends the generic ILoadable contract to add operations required by HQL - - - - - Get the where clause fragment, give a query alias - - SQL alias to use for column names in the returned query - - - - - - - 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. - - - - - - - - Is this class mapped as a subclass of another class? - - - - - 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 value in the hbm) - - - - - 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). - - - - - - - - All columns to select, when loading. - - - - - Get the type - - - - - Set the given values to the mapped properties of the given object - - - Use the access optimizer if available - - - - - Return the values of the mapped properties of the object - - - Uses the access optimizer, if available. - - - - - Get the value of the numbered property - - - - - - - - Set the value of the numbered property - - - - - - - - Determine if the given field values are dirty. - - - - - - - - - - Determine if the given field values are dirty. - - - - - - - - - - Return a new instance initialized with the given identifier. - - - - - - - Returns the SQL used to get the Identity value from the last insert. - - This is not a NHibernate Command because the SQL contains no parameters. - - - - Must be called by subclasses, at the end of their constructors - - - - - - Retrieve the version number - - - - - - - - Do a version check - - - - - Generate the SQL that selects the version number by id - - - - - - Transform the array of property indexes to an array of booleans - - - - - Get the column names for the numbered property of this class - - - - - Decide which tables need to be updated - - - - - Persist an object, using a natively generated identifier - - - - - 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. - - - - - Load an instance using the appropriate loader (as determined by - - - - - Delete an object. - - - - - Persist an object - - - - - Determines whether the specified entity is an instance of the class - managed by this persister. - - The entity. - - 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 query that insert a row into the root table, letting the database generate an id - - - - - The queries that update rows by id (and version) - - - - - A IEntityPersister implementing the normalized "table-per-subclass" mapping strategy - - - - - Generate the SQL that pessimistic locks a row by id (and version) - - An existing SqlString to copy for then new SqlString. - - A new SqlString - - The parameter sqlString does not get modified. It is Cloned to make a new SqlString. - If the parametersqlString is null a new one will be created. - - - - - Constructs the NormalizedEntityPerister for the PersistentClass. - - The PeristentClass to create the EntityPersister for. - The configured . - The SessionFactory that this EntityPersister will be stored in. - The mapping used to retrieve type information. - - - - Create a new one dimensional array sorted in the Reverse order of the original array. - - The original array. - A new array in the reverse order of the original array. - - - - Create a new two dimensional array sorted in the Reverse order of the original array. The - second dimension is not reversed. - - The original array. - A new array in the reverse order of the original array. - - - - 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 - - - - Constants from interface. - - - - - 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 using FOR UPDATE - - - - - - Generate the SQL that selects a row by id using FOR UPDATE NOWAIT - - - - - - Generates an SqlString that selects a row by id - - SQL containing FOR UPDATE clauses - to append at the end of the query (optional) - - - - - Generate the SQL that updates a row by id, excluding subclasses - - - - - - - Generates the SQL that pessimistically locks a row by id (and version) - - An existing SqlString to copy for then new SqlString. - - A new SqlString - - The parameter sqlString does not get modified. It is Cloned to make a new SqlString. - If the parametersqlString is null a new one will be created. - - - - - - - - - - - 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. - - - - - An for a Property get. - - - - - 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. - - - - - 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. - - - - - 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. - - - - - Accesses mapped property values via a get/set pair, which may be nonpublic. - The default (and recommended strategy). - - - - - 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 . - - - - - 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 set. - - - - - 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. - - - - - 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 - - - - - 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. - - - - 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. - - - - 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. - - - - 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 retreive the value and will use the field - to set the value. This is a good option for <id> Properties because this access method - allow's users of the Class to get the value of the Id but not set the value. - - - - 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 whould have to be from Foo as foo where foo._someProperty - (assuming CamelCase with an underscore field naming strategy is used). - - - - - - A for use with the Castle Dynamic Class Generator. - - - - - Provides the base functionallity 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. - - - - - 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 Class to Proxy. - 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. - - - - - 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. - - - - - 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 . - - - - - - - - - - - - - - - - Initializes a new object. - - The Class to Proxy. - The Id of the Object we are Proxying. - - - The ISession this Proxy is in. - - - - Invoke the actual Property/Method using the Proxy or instantiate the actual - object and use it when the Proxy can't handle the method. - - The from the generated Castle.DynamicProxy. - The parameters for the Method/Property - The result just like the actual object was called. - - - - Called immediately after instantiation - - - - - - - - - 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. - - - - Build a proxy using the Castle.DynamicProxy library. - - The value for the Id. - The Session the proxy is in. - A fully built INHibernateProxy. - - - - 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 seperate DLL than NHibernate. - - - - - - NHibernateProxyHelper provides convenience methods for working with - objects that might be instances of Classes or the Proxied version of - the Class. - - - - - Gets the that is used by the Proxy. - - The Proxy object - - A reference to that contains the details - of the Proxied object. - - - - - Convenience method to figure out the underlying type for the object regardless of it - is a Proxied object or the real object. - - 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 - - - - - Validates whether can be specified as the base class - (or an interface) for a dynamically-generated proxy. - - - A collection of errors, if any, or if none were found. - - The type to validate. - - - - 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. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Represents an SQL case when ... then ... end as ... - - This class looks StringHelper.SqlParameter safe... - - - - Represents an SQL case when ... then ... end as ... - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - An ANSI-style Join. - - - - - - - - Sets the op - - The op to set - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Represents an SQL decode(pkvalue, key1, 1, key2, 2, ..., 0) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Represents an SQL for update of ... nowait statement - - - - - Represents an ... in (...) expression - - - - - Add a value to the value list. Value may be a string, - a , or one of special values - or . - - - - - - - - - - - - - - - - - - - - - - - - - - Builds a SqlString from the internal data. - - A valid SqlString that can be converted into an IDbCommand - - - - - - - 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 wierd if this - was a normal join condition, but is natural - for a filter. - - - - - A placeholder for an ADO.NET parameter in an . - - - - - Used as a placeholder when parsing HQL or SQL queries. - - - - - Generates an array of parameters for the given SqlTypes. - - The number of parameters to generate. - An array of objects - - - - Determines wether 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. - - - - - 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 - - - - - 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 - - - - - - - A class that builds an INSERT sql statement. - - - - - - - - - - - - - - - - - - Adds the Property's columns to the INSERT sql - - An array of the column names for the Property - The IType of the property. - The SqlInsertBuilder. - - - - 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. - - - - - - - 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 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 - - - - - - - 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. - - - - Sets the For Update Fragment to the Select Command - - The fragment to set. - 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 SqlStringBuilder 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 occurence 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 occurence 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 - - - - 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 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 SqlUpdateBuilder. - - - - 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 SqlUpdateBuilder. - - - - Adds columns with a specific value to the INSERT sql - - The names of the Column sto add. - A valid sql string to set as the value of the 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. - - - - 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 WhereFragement - - 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 - - - - Initializes a new instance of the class. - - - - - 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. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 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 and the format parameter to true. - - - - - 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 and format 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. - if the ddl should be nicely formatted instead of one statement per line. - - 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. - if the ddl should be nicely formatted instead of one statement per line. - - This method allows for both the drop and create ddl script to be executed. - - - - - Format an SQL statement using simple rules - - The string containing the sql to format. - A string that contains formatted sql. - - The simple rules to used when formatting are: - - - Insert a newline after each comma - - - Indent three spaces after each inserted newline - - - - If the statement contains single/double quotes return unchanged because - it is too complex and could be broken by simple formatting. - - - - - - - - An abstract factory for ITransaction instances. - - - - - Configure from the given properties - - - - - - Create a new transaction and return it without starting it. - - - - - 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. - - - - - 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. - - - - - Implementors define a strategy for transforming criteria query - results into the actual application-visible query result list. - - - - - - - - - - - - - - - - - - - - - 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]; - - - - - - Each row of results is a map () from alias to values/entities - - - - - Creates a resulttransformer that will inject aliased values into instances - of via property methods or fields. - - - - - 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. - - - Author: Steve Ebersole - - - - - 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. - - - - 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. - - - - 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. - - - - 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, compare two instances of the class mapped by this - IType for persistence "equality" - ie. Equality of persistent state. - The left hand side object.The right hand side object.True if the two objects contain the same values. - - - - Get a hashcode, consistent with persistence "equality" - - - - - 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. - - - - Parse the XML representation of an instance - an instance of the type - - - - When implemented by a class, returns a deep copy of the persistent - state, stopping at entities and at collections. - A Collection element or Entity fieldA deep copy of the object. - - - - When implemented by a class, 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 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. - - - - - - - - Determines whether the specified value is represented as in the database. - - The value, may be . - - if the specified value is represented as in the database; - otherwise, . - - - - - 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 - - - - - - - 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 abbreviated name of the type. - The NHibernate type name. - - - - 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 whether or not this IType contains - s that implement well-behaived Equals() method. - true if a well-behaived Equals() is implemented. - - Strickly, if this method returns true then x.Equals(y) implies - IType.Equals(x, y) and also IType.Equals(x, y) implies that - probably x.Equals(y) - - - In the default implementations s are assumed to have - HaveNiceEquals==true and s are assumed to have - HaveNiceEquals==false. - - - This code doesn't look like it is used anywhere internally because I did a search - on ".HasNiceEquals" and found no results. So it looks like it is used for a description - of the IType only. - - - - - - Disassembles the object into a cacheable representation. - - The value to disassemble. - The is not used by this method. - 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 fieldA 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, compare two instances of the class mapped by this - IType for persistence "equality" - ie. Equality of persistent state. - The left hand side object.The right hand side object.True if the two objects contain the same values. - - - - Determines whether the specified value is represented as in the database. - - The value, may be . - - if the specified value is ; otherwise, . - - - - - - - - - - - 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. - - - - Parse the XML representation of an instance - an instance of the type - - - - 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 whether or not this IType contains - s that implement well-behaived Equals() method. - true if a well-behaived Equals() is implemented. - - Strickly, if this method returns true then x.Equals(y) implies - IType.Equals(x, y) and also IType.Equals(x, y) implies that - probably x.Equals(y) - - - In the default implementations s are assumed to have - HaveNiceEquals==true and s are assumed to have - HaveNiceEquals==false. - - - This code doesn't look like it is used anywhere internally because I did a search - on ".HasNiceEquals" and found no results. So it looks like it is used for a description - of the IType only. - - - - - - 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 - - - - - Maps a Property - to a DbType.AnsiStringFixedLength column. - - - - - Common base class for and . - - - - - Superclass of types. - - - - - Superclass of nullable immutable 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 . - - - - - 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 - - - - - Parse the XML representation of an instance - an instance of the type - - - This implementation forwards the call to if the parameter - value is not empty. - - - 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 . - - - - - - 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 implemenation 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 retreiving 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 implemenation 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 implemenation 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. - - - - - When implemented by a class, returns a deep copy of the persistent state. - - The value to deep copy. - A deep copy of the object. - - Most of the built in NullableTypes will just return the same object - passed into it. - - - - - When implemented by a class, returns a deep copy of the persistent - state, stopping at entities and at collections. - A Collection element or Entity fieldA deep copy of the object. - - - This implemenation 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 . - - - - - - 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 ImmutableType class using a - . - - The underlying . - - - - Returns a deep copy of the persistent state. - - The value to deep copy. - A deep copy of the object. - - A is considered immutable because a boxed version - of the is being stored by NHibernate. So any changes - made to it would require the to be unboxed and - then reboxed. - - - - - 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 . - - - - - Gets whether or not this IType contains - s that implement well-behaived Equals() method. - - - true - it is assumed that a ImmutableType implements a - well-behaived Equals(). - - - There is no concrete rule that s implement - a well-behaived Equals(). If the does - not implement the Equals() then set this to . - - - - - 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 containts a well formed SQL Statement. - - - - Initialize a new instance of the ValueTypeType class using a - . - - The underlying . - - - - Compare two instances of the class mapped by this - IType for persistence "equality" - ie. Equality of persistent state. - - The left hand side object. - The right hand side object. - True if the two objects contain the same values. - - - - 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. - - TODO: figure out if this is used to build Xml strings or will have encoding - done automattically. - - - - - 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. - - - - 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. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 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 "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. - - - - Returns a reference to the elements in the collection. - - The object that holds the ICollection. - An ICollection of the Elements(classes) in the Collection. - - By default the parameter collection is just cast to an ICollection. Collections - such as Maps and Sets should override this so that the Elements are returned - not a - DictionaryEntry. - - - - - Wraps a collection from System.Collections or Iesi.Collections inside one of the - NHibernate collections. - - The for the collection to be a part of. - The unwrapped collection. - - 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 - - - - - Instantiate an empty instance of the "underlying" collection (not a wrapper) - - - - - We always need to dirty check the collection because we sometimes - need to incremement 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. - - - - - Superclass for mutable nullable types. - - - - - 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 . - - - - - Gets whether or not this IType contains - s that implement well-behaived Equals() method. - - - false - it is assumed that a MutableType does not implement a - well-behaved Equals(). - - - There is no concrete rule that s don't implement - a well-behaved Equals(). If the does implement - the Equals() then set this to . - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 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. - - - - - 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. - Returns an instance of the - - - - 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. - - - - - Get a comparator for the version numbers - - - - - Maps a Property - to a column. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Maps a Property - to a DbType.StringFixedLength column. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Use the access optimizer if available - - - - - Use the access optimizer if available - - - - - - - - - - - - - - - - - - - - - - - - - - - This method does not populate the component parent - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Summary description for CompositeCustomType. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Maps a Property - to a column. - - - CultureInfoType stores the culture name (not the Culture ID) of the - in the DB. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - A custom type for mapping user-written classes that implement - . - - - - - - - Adapts IUserType to the generic IType interface. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 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 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Maps the Year, Month, and Day of a Property to a - column - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Maps a Property - to a column. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Maps a Property - to a column. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Handles "dynamic" components, represented as <map>s - - - - - A reference to an entity class - - - - - 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. - - - - - Resolves the identifier to the actual object. - - - - - Resolve an identifier or unique key value - - - - - - - - - - - - - - - - - - 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? - - - - - 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 - - - - - - - - Should we cascade at this cascade point? - - - - - A foreign key from child to parent - - - - - A foreign key from parent to child - - - - - 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. - - - - - - 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 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 . - - - - - 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 occuring 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 - - - - - - - - - - - Determines what the NHibernate SqlType should be based on the - values contain in the Enum - - The Enumeration class to get the values from. - The SqlType for this EnumClass - - - - 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. - 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. - - - - 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 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 an DateTime column that only stores the - Hours, Minutes, and Seconds of the DateTime as significant. - - - - 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 diffently 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. - - - - - - - - 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. - - - - - 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. - - An 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. - - A 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. - - 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. - - 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. - - 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. - - 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. - - 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. - - 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. - - A 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. - - The to use to create the - with. - - - A for the specified role. - - - - - Creates a new for an - with identifier - 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. - - The to use to create the - with. - - - A for the specified role. - - - - - Creates a new for an - with list - 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. - - The to use to create the - with. - - - 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. - - The to use as the TKey to create the - with. - - - The to use as the TValue to create the - with. - - - 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. - The type of the set elements. - A for the specified role. - - - - Creates a new for a sorted . - - 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 for the set. - The type of the elements in the set. - A for the specified role. - - - - Deep copy values in the first array into the second - - - - - Determine if any of the given field values are dirty, - returning an array containing indexes of - the dirty fields or null if no fields are dirty. - - - - - Determine if any of the given field values are modified, - returning an array containing indexes of - the dirty fields or null if no fields are 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. - - - - - - - - - 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 inteface to be implemented by user-defined types. - - - - The inteface abstracts user code from future changes to the inteface, - simplifies the implementation of custom types and hides certain "internal interfaces from - user code. - - - Implemenators 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 intefaces 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 - - - - - A custom type with certain not- values represented as - in the database. - - Implementing this interface is useful if a property of the type - is used in a class with dynamic-update or dynamic-insert - set to . - - - - - Determines whether the specified value is represented as in the database. - - The value, may be . - - if the specified value is represented as in the database; - otherwise, . - - - - - 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. - - - - - 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) - - - - - 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. - - - - - 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 - . - - - - - - - - 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. - - - - - Compares two objects for Equality using "==" instead of Object.Equals - - - Only for use in IdentityMap. - - - - - Performs a null safe comparison using "==" instead of Object.Equals() - - First object to compare. - Second object to compare. - - 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. - - - Unlike the standard IComparer interface this will not return a 1 or -1 - to indicate which is Greater Than or Less Than. It always returns -1 to - indicate the two are not Equal. - - - - - Combines multiple objects implementing into one. - - - - - Creates an IEnumerable object from multiple IEnumerables. - - The IEnumerables to join together. - - - - - - - - - - - - - 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 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. - - - - - - - - Summary description for ObjectUtils. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Extracts a set of param child nodes from the specified node - <param name="theName" value="theValue"/> - - Parent element. - null if no parameters are found - - - - 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. - - - - Returns a reference to the Type. - - The name of the class or a fully qualified name. - The Type for the Class. - - - - 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. - - - - 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 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 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 seperators in the tokens. - - - This is more powerful than Split because you have the option of including or - not including the seperators in the tokens. - - - - - - - - - - - - - - - - - - - - Takes a fully qualified type name and returns the full name of the - Class - includes namespaces. - - - - - - - Takes a fully qualifed 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 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Count of elements in the collection. Unreliable! - - - - - 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. - - - - - 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. - - - - - - - - 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. - - - - - Contains static declarations from Criteria interface in Hibernate. - - - - - The alias that refers to the "root" entity of the criteria query. - - - - - Each row of results is an IDictionary 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 - - - - - 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. - - 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 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 - - - - - 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 - - A mapped type - The identifier of the new instance - An instance of the class, or to choose default behaviour - - - - 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 a session-scoped (and only session scoped) interceptor is attached - to a session - - - - - 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") - - - - - 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. - - - - - 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 hibernate.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 - - - - 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 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 - - - - - Attempty 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(). - - - - - 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. - - - - - 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 decimal type - - - - - NHibernate double type - - - - - 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 Timestamp type - - - - - NHibernate TrueFalse type - - - - - NHibernate YesNo type - - - - - NHibernate class type - - - - - NHibernate serializable type - - - - - NHibernate System.Object type - - - - - Cannot be instantiated. - - - - - 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 NHibernate 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. - - - - - 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 of the object attempted to be loaded. - - - - 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. - - - - - 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 - - - - - - - - - - Overwrite existing rows when a row already exists - - - - - - - - - - When a row already exists, choose the latest version - - - - - - - - - - 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 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 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. - - - - - 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 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 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/NHibernate12/net/2.0/log4net.dll b/lib/NHibernate12/net/2.0/log4net.dll deleted file mode 100644 index ffc57e11..00000000 Binary files a/lib/NHibernate12/net/2.0/log4net.dll and /dev/null differ diff --git a/lib/NHibernate12/net/2.0/log4net.xml b/lib/NHibernate12/net/2.0/log4net.xml deleted file mode 100644 index fab7af26..00000000 --- a/lib/NHibernate12/net/2.0/log4net.xml +++ /dev/null @@ -1,28655 +0,0 @@ - - - - log4net - - - - - Appender that logs to a database. - - - - appends logging events to a table within a - database. The appender can be configured to specify the connection - string by setting the property. - The connection type (provider) can be specified by setting the - property. For more information on database connection strings for - your specific database see http://www.connectionstrings.com/. - - - Records are written into the database either using a prepared - statement or a stored procedure. The property - is set to (System.Data.CommandType.Text) to specify a prepared statement - or to (System.Data.CommandType.StoredProcedure) to specify a stored - procedure. - - - The prepared statement text or the name of the stored procedure - must be set in the property. - - - The prepared statement or stored procedure can take a number - of parameters. Parameters are added using the - method. This adds a single to the - ordered list of parameters. The - type may be subclassed if required to provide database specific - functionality. The specifies - the parameter name, database type, size, and how the value should - be generated using a . - - - - An example of a SQL Server table that could be logged to: - - CREATE TABLE [dbo].[Log] ( - [ID] [int] IDENTITY (1, 1) NOT NULL , - [Date] [datetime] NOT NULL , - [Thread] [varchar] (255) NOT NULL , - [Level] [varchar] (20) NOT NULL , - [Logger] [varchar] (255) NOT NULL , - [Message] [varchar] (4000) NOT NULL - ) ON [PRIMARY] - - - - An example configuration to log to the above table: - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Julian Biddle - Nicko Cadell - Gert Driesen - Lance Nehring - - - - Abstract base class implementation of that - buffers events in a fixed size buffer. - - - - This base class should be used by appenders that need to buffer a - number of events before logging them. For example the - buffers events and then submits the entire contents of the buffer to - the underlying database in one go. - - - Subclasses should override the - method to deliver the buffered events. - - The BufferingAppenderSkeleton maintains a fixed size cyclic - buffer of events. The size of the buffer is set using - the property. - - A is used to inspect - each event as it arrives in the appender. If the - triggers, then the current buffer is sent immediately - (see ). Otherwise the event - is stored in the buffer. For example, an evaluator can be used to - deliver the events immediately when an ERROR event arrives. - - - The buffering appender can be configured in a mode. - By default the appender is NOT lossy. When the buffer is full all - the buffered events are sent with . - If the property is set to true then the - buffer will not be sent when it is full, and new events arriving - in the appender will overwrite the oldest event in the buffer. - In lossy mode the buffer will only be sent when the - triggers. This can be useful behavior when you need to know about - ERROR events but not about events with a lower level, configure an - evaluator that will trigger when an ERROR event arrives, the whole - buffer will be sent which gives a history of events leading up to - the ERROR event. - - - Nicko Cadell - Gert Driesen - - - - Abstract base class implementation of . - - - - This class provides the code for common functionality, such - as support for threshold filtering and support for general filters. - - - Appenders can also implement the interface. Therefore - they would require that the method - be called after the appenders properties have been configured. - - - Nicko Cadell - Gert Driesen - - - - Implement this interface for your own strategies for printing log statements. - - - - Implementors should consider extending the - class which provides a default implementation of this interface. - - - Appenders can also implement the interface. Therefore - they would require that the method - be called after the appenders properties have been configured. - - - Nicko Cadell - Gert Driesen - - - - Closes the appender and releases resources. - - - - Releases any resources allocated within the appender such as file handles, - network connections, etc. - - - It is a programming error to append to a closed appender. - - - - - - Log the logging event in Appender specific way. - - The event to log - - - This method is called to log a message into this appender. - - - - - - Gets or sets the name of this appender. - - The name of the appender. - - The name uniquely identifies the appender. - - - - - Interface for appenders that support bulk logging. - - - - This interface extends the interface to - support bulk logging of objects. Appenders - should only implement this interface if they can bulk log efficiently. - - - Nicko Cadell - - - - Log the array of logging events in Appender specific way. - - The events to log - - - This method is called to log an array of events into this appender. - - - - - - Interface used to delay activate a configured object. - - - - This allows an object to defer activation of its options until all - options have been set. This is required for components which have - related options that remain ambiguous until all are set. - - - If a component implements this interface then the method - must be called by the container after its all the configured properties have been set - and before the component can be used. - - - Nicko Cadell - - - - Activate the options that were previously set with calls to properties. - - - - This allows an object to defer activation of its options until all - options have been set. This is required for components which have - related options that remain ambiguous until all are set. - - - If a component implements this interface then this method must be called - after its properties have been set before the component can be used. - - - - - - Initial buffer size - - - - - Maximum buffer size before it is recycled - - - - - Default constructor - - - Empty default constructor - - - - - Finalizes this appender by calling the implementation's - method. - - - - If this appender has not been closed then the Finalize method - will call . - - - - - - Initialize the appender based on the options set - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - - - - Closes the appender and release resources. - - - - Release any resources allocated within the appender such as file handles, - network connections, etc. - - - It is a programming error to append to a closed appender. - - - This method cannot be overridden by subclasses. This method - delegates the closing of the appender to the - method which must be overridden in the subclass. - - - - - - Performs threshold checks and invokes filters before - delegating actual logging to the subclasses specific - method. - - The event to log. - - - This method cannot be overridden by derived classes. A - derived class should override the method - which is called by this method. - - - The implementation of this method is as follows: - - - - - - Checks that the severity of the - is greater than or equal to the of this - appender. - - - - Checks that the chain accepts the - . - - - - - Calls and checks that - it returns true. - - - - - If all of the above steps succeed then the - will be passed to the abstract method. - - - - - - Performs threshold checks and invokes filters before - delegating actual logging to the subclasses specific - method. - - The array of events to log. - - - This method cannot be overridden by derived classes. A - derived class should override the method - which is called by this method. - - - The implementation of this method is as follows: - - - - - - Checks that the severity of the - is greater than or equal to the of this - appender. - - - - Checks that the chain accepts the - . - - - - - Calls and checks that - it returns true. - - - - - If all of the above steps succeed then the - will be passed to the method. - - - - - - Test if the logging event should we output by this appender - - the event to test - true if the event should be output, false if the event should be ignored - - - This method checks the logging event against the threshold level set - on this appender and also against the filters specified on this - appender. - - - The implementation of this method is as follows: - - - - - - Checks that the severity of the - is greater than or equal to the of this - appender. - - - - Checks that the chain accepts the - . - - - - - - - - - Adds a filter to the end of the filter chain. - - the filter to add to this appender - - - The Filters are organized in a linked list. - - - Setting this property causes the new filter to be pushed onto the - back of the filter chain. - - - - - - Clears the filter list for this appender. - - - - Clears the filter list for this appender. - - - - - - Checks if the message level is below this appender's threshold. - - to test against. - - - If there is no threshold set, then the return value is always true. - - - - true if the meets the - requirements of this appender. - - - - - Is called when the appender is closed. Derived classes should override - this method if resources need to be released. - - - - Releases any resources allocated within the appender such as file handles, - network connections, etc. - - - It is a programming error to append to a closed appender. - - - - - - Subclasses of should implement this method - to perform actual logging. - - The event to append. - - - A subclass must implement this method to perform - logging of the . - - This method will be called by - if all the conditions listed for that method are met. - - - To restrict the logging of events in the appender - override the method. - - - - - - Append a bulk array of logging events. - - the array of logging events - - - This base class implementation calls the - method for each element in the bulk array. - - - A sub class that can better process a bulk array of events should - override this method in addition to . - - - - - - Called before as a precondition. - - - - This method is called by - before the call to the abstract method. - - - This method can be overridden in a subclass to extend the checks - made before the event is passed to the method. - - - A subclass should ensure that they delegate this call to - this base class if it is overridden. - - - true if the call to should proceed. - - - - Renders the to a string. - - The event to render. - The event rendered as a string. - - - Helper method to render a to - a string. This appender must have a - set to render the to - a string. - - If there is exception data in the logging event and - the layout does not process the exception, this method - will append the exception text to the rendered string. - - - Where possible use the alternative version of this method - . - That method streams the rendering onto an existing Writer - which can give better performance if the caller already has - a open and ready for writing. - - - - - - Renders the to a string. - - The event to render. - The TextWriter to write the formatted event to - - - Helper method to render a to - a string. This appender must have a - set to render the to - a string. - - If there is exception data in the logging event and - the layout does not process the exception, this method - will append the exception text to the rendered string. - - - Use this method in preference to - where possible. If, however, the caller needs to render the event - to a string then does - provide an efficient mechanism for doing so. - - - - - - The layout of this appender. - - - See for more information. - - - - - The name of this appender. - - - See for more information. - - - - - The level threshold of this appender. - - - - There is no level threshold filtering by default. - - - See for more information. - - - - - - It is assumed and enforced that errorHandler is never null. - - - - It is assumed and enforced that errorHandler is never null. - - - See for more information. - - - - - - The first filter in the filter chain. - - - - Set to null initially. - - - See for more information. - - - - - - The last filter in the filter chain. - - - See for more information. - - - - - Flag indicating if this appender is closed. - - - See for more information. - - - - - The guard prevents an appender from repeatedly calling its own DoAppend method - - - - - StringWriter used to render events - - - - - Gets or sets the threshold of this appender. - - - The threshold of the appender. - - - - All log events with lower level than the threshold level are ignored - by the appender. - - - In configuration files this option is specified by setting the - value of the option to a level - string, such as "DEBUG", "INFO" and so on. - - - - - - Gets or sets the for this appender. - - The of the appender - - - The provides a default - implementation for the property. - - - - - - The filter chain. - - The head of the filter chain filter chain. - - - Returns the head Filter. The Filters are organized in a linked list - and so all Filters on this Appender are available through the result. - - - - - - Gets or sets the for this appender. - - The layout of the appender. - - - See for more information. - - - - - - - Gets or sets the name of this appender. - - The name of the appender. - - - The name uniquely identifies the appender. - - - - - - Tests if this appender requires a to be set. - - - - In the rather exceptional case, where the appender - implementation admits a layout but can also work without it, - then the appender should return true. - - - This default implementation always returns true. - - - - true if the appender requires a layout object, otherwise false. - - - - - The default buffer size. - - - The default size of the cyclic buffer used to store events. - This is set to 512 by default. - - - - - Initializes a new instance of the class. - - - - Protected default constructor to allow subclassing. - - - - - - Initializes a new instance of the class. - - the events passed through this appender must be - fixed by the time that they arrive in the derived class' SendBuffer method. - - - Protected constructor to allow subclassing. - - - The should be set if the subclass - expects the events delivered to be fixed even if the - is set to zero, i.e. when no buffering occurs. - - - - - - Flush the currently buffered events - - - - Flushes any events that have been buffered. - - - If the appender is buffering in mode then the contents - of the buffer will NOT be flushed to the appender. - - - - - - Flush the currently buffered events - - set to true to flush the buffer of lossy events - - - Flushes events that have been buffered. If is - false then events will only be flushed if this buffer is non-lossy mode. - - - If the appender is buffering in mode then the contents - of the buffer will only be flushed if is true. - In this case the contents of the buffer will be tested against the - and if triggering will be output. All other buffered - events will be discarded. - - - If is true then the buffer will always - be emptied by calling this method. - - - - - - Initialize the appender based on the options set - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - - - - Close this appender instance. - - - - Close this appender instance. If this appender is marked - as not then the remaining events in - the buffer must be sent when the appender is closed. - - - - - - This method is called by the method. - - the event to log - - - Stores the in the cyclic buffer. - - - The buffer will be sent (i.e. passed to the - method) if one of the following conditions is met: - - - - The cyclic buffer is full and this appender is - marked as not lossy (see ) - - - An is set and - it is triggered for the - specified. - - - - Before the event is stored in the buffer it is fixed - (see ) to ensure that - any data referenced by the event will be valid when the buffer - is processed. - - - - - - Sends the contents of the buffer. - - The first logging event. - The buffer containing the events that need to be send. - - - The subclass must override . - - - - - - Sends the events. - - The events that need to be send. - - - The subclass must override this method to process the buffered events. - - - - - - The size of the cyclic buffer used to hold the logging events. - - - Set to by default. - - - - - The cyclic buffer used to store the logging events. - - - - - The triggering event evaluator that causes the buffer to be sent immediately. - - - The object that is used to determine if an event causes the entire - buffer to be sent immediately. This field can be null, which - indicates that event triggering is not to be done. The evaluator - can be set using the property. If this appender - has the ( property) set to - true then an must be set. - - - - - Indicates if the appender should overwrite events in the cyclic buffer - when it becomes full, or if the buffer should be flushed when the - buffer is full. - - - If this field is set to true then an must - be set. - - - - - The triggering event evaluator filters discarded events. - - - The object that is used to determine if an event that is discarded should - really be discarded or if it should be sent to the appenders. - This field can be null, which indicates that all discarded events will - be discarded. - - - - - Value indicating which fields in the event should be fixed - - - By default all fields are fixed - - - - - The events delivered to the subclass must be fixed. - - - - - Gets or sets a value that indicates whether the appender is lossy. - - - true if the appender is lossy, otherwise false. The default is false. - - - - This appender uses a buffer to store logging events before - delivering them. A triggering event causes the whole buffer - to be send to the remote sink. If the buffer overruns before - a triggering event then logging events could be lost. Set - to false to prevent logging events - from being lost. - - If is set to true then an - must be specified. - - - - - Gets or sets the size of the cyclic buffer used to hold the - logging events. - - - The size of the cyclic buffer used to hold the logging events. - - - - The option takes a positive integer - representing the maximum number of logging events to collect in - a cyclic buffer. When the is reached, - oldest events are deleted as new events are added to the - buffer. By default the size of the cyclic buffer is 512 events. - - - If the is set to a value less than - or equal to 1 then no buffering will occur. The logging event - will be delivered synchronously (depending on the - and properties). Otherwise the event will - be buffered. - - - - - - Gets or sets the that causes the - buffer to be sent immediately. - - - The that causes the buffer to be - sent immediately. - - - - The evaluator will be called for each event that is appended to this - appender. If the evaluator triggers then the current buffer will - immediately be sent (see ). - - If is set to true then an - must be specified. - - - - - Gets or sets the value of the to use. - - - The value of the to use. - - - - The evaluator will be called for each event that is discarded from this - appender. If the evaluator triggers then the current buffer will immediately - be sent (see ). - - - - - - Gets or sets a value indicating if only part of the logging event data - should be fixed. - - - true if the appender should only fix part of the logging event - data, otherwise false. The default is false. - - - - Setting this property to true will cause only part of the - event data to be fixed and serialized. This will improve performance. - - - See for more information. - - - - - - Gets or sets a the fields that will be fixed in the event - - - The event fields that will be fixed before the event is buffered - - - - The logging event needs to have certain thread specific values - captured before it can be buffered. See - for details. - - - - - - - Initializes a new instance of the class. - - - Public default constructor to initialize a new instance of this class. - - - - - Initialize the appender based on the options set - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - - - - Override the parent method to close the database - - - - Closes the database command and database connection. - - - - - - Inserts the events into the database. - - The events to insert into the database. - - - Insert all the events specified in the - array into the database. - - - - - - Adds a parameter to the command. - - The parameter to add to the command. - - - Adds a parameter to the ordered list of command parameters. - - - - - - Writes the events to the database using the transaction specified. - - The transaction that the events will be executed under. - The array of events to insert into the database. - - - The transaction argument can be null if the appender has been - configured not to use transactions. See - property for more information. - - - - - - Formats the log message into database statement text. - - The event being logged. - - This method can be overridden by subclasses to provide - more control over the format of the database statement. - - - Text that can be passed to a . - - - - - Connects to the database. - - - - - Retrieves the class type of the ADO.NET provider. - - - - Gets the Type of the ADO.NET provider to use to connect to the - database. This method resolves the type specified in the - property. - - - Subclasses can override this method to return a different type - if necessary. - - - The of the ADO.NET provider - - - - Prepares the database command and initialize the parameters. - - - - - Flag to indicate if we are using a command object - - - - Set to true when the appender is to use a prepared - statement or stored procedure to insert into the database. - - - - - - The list of objects. - - - - The list of objects. - - - - - - The security context to use for privileged calls - - - - - The that will be used - to insert logging events into a database. - - - - - The database command. - - - - - Database connection string. - - - - - String type name of the type name. - - - - - The text of the command. - - - - - The command type. - - - - - Indicates whether to use transactions when writing to the database. - - - - - Indicates whether to use transactions when writing to the database. - - - - - Gets or sets the database connection string that is used to connect to - the database. - - - The database connection string used to connect to the database. - - - - The connections string is specific to the connection type. - See for more information. - - - Connection string for MS Access via ODBC: - "DSN=MS Access Database;UID=admin;PWD=;SystemDB=C:\data\System.mdw;SafeTransactions = 0;FIL=MS Access;DriverID = 25;DBQ=C:\data\train33.mdb" - - Another connection string for MS Access via ODBC: - "Driver={Microsoft Access Driver (*.mdb)};DBQ=C:\Work\cvs_root\log4net-1.2\access.mdb;UID=;PWD=;" - - Connection string for MS Access via OLE DB: - "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Work\cvs_root\log4net-1.2\access.mdb;User Id=;Password=;" - - - - - Gets or sets the type name of the connection - that should be created. - - - The type name of the connection. - - - - The type name of the ADO.NET provider to use. - - - The default is to use the OLE DB provider. - - - Use the OLE DB Provider. This is the default value. - System.Data.OleDb.OleDbConnection, System.Data, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - Use the MS SQL Server Provider. - System.Data.SqlClient.SqlConnection, System.Data, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - Use the ODBC Provider. - Microsoft.Data.Odbc.OdbcConnection,Microsoft.Data.Odbc,version=1.0.3300.0,publicKeyToken=b77a5c561934e089,culture=neutral - This is an optional package that you can download from - http://msdn.microsoft.com/downloads - search for ODBC .NET Data Provider. - - Use the Oracle Provider. - System.Data.OracleClient.OracleConnection, System.Data.OracleClient, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - This is an optional package that you can download from - http://msdn.microsoft.com/downloads - search for .NET Managed Provider for Oracle. - - - - - Gets or sets the command text that is used to insert logging events - into the database. - - - The command text used to insert logging events into the database. - - - - Either the text of the prepared statement or the - name of the stored procedure to execute to write into - the database. - - - The property determines if - this text is a prepared statement or a stored procedure. - - - - - - Gets or sets the command type to execute. - - - The command type to execute. - - - - This value may be either (System.Data.CommandType.Text) to specify - that the is a prepared statement to execute, - or (System.Data.CommandType.StoredProcedure) to specify that the - property is the name of a stored procedure - to execute. - - - The default value is (System.Data.CommandType.Text). - - - - - - Should transactions be used to insert logging events in the database. - - - true if transactions should be used to insert logging events in - the database, otherwise false. The default value is true. - - - - Gets or sets a value that indicates whether transactions should be used - to insert logging events in the database. - - - When set a single transaction will be used to insert the buffered events - into the database. Otherwise each event will be inserted without using - an explicit transaction. - - - - - - Gets or sets the used to call the NetSend method. - - - The used to call the NetSend method. - - - - Unless a specified here for this appender - the is queried for the - security context to use. The default behavior is to use the security context - of the current thread. - - - - - - Should this appender try to reconnect to the database on error. - - - true if the appender should try to reconnect to the database after an - error has occurred, otherwise false. The default value is false, - i.e. not to try to reconnect. - - - - The default behaviour is for the appender not to try to reconnect to the - database if an error occurs. Subsequent logging events are discarded. - - - To force the appender to attempt to reconnect to the database set this - property to true. - - - When the appender attempts to connect to the database there may be a - delay of up to the connection timeout specified in the connection string. - This delay will block the calling application's thread. - Until the connection can be reestablished this potential delay may occur multiple times. - - - - - - Gets or sets the underlying . - - - The underlying . - - - creates a to insert - logging events into a database. Classes deriving from - can use this property to get or set this . Use the - underlying returned from if - you require access beyond that which provides. - - - - - Parameter type used by the . - - - - This class provides the basic database parameter properties - as defined by the interface. - - This type can be subclassed to provide database specific - functionality. The two methods that are called externally are - and . - - - - - - Initializes a new instance of the class. - - - Default constructor for the AdoNetAppenderParameter class. - - - - - Prepare the specified database command object. - - The command to prepare. - - - Prepares the database command object by adding - this parameter to its collection of parameters. - - - - - - Renders the logging event and set the parameter value in the command. - - The command containing the parameter. - The event to be rendered. - - - Renders the logging event using this parameters layout - object. Sets the value of the parameter on the command object. - - - - - - The name of this parameter. - - - - - The database type for this parameter. - - - - - Flag to infer type rather than use the DbType - - - - - The precision for this parameter. - - - - - The scale for this parameter. - - - - - The size for this parameter. - - - - - The to use to render the - logging event into an object for this parameter. - - - - - Gets or sets the name of this parameter. - - - The name of this parameter. - - - - The name of this parameter. The parameter name - must match up to a named parameter to the SQL stored procedure - or prepared statement. - - - - - - Gets or sets the database type for this parameter. - - - The database type for this parameter. - - - - The database type for this parameter. This property should - be set to the database type from the - enumeration. See . - - - This property is optional. If not specified the ADO.NET provider - will attempt to infer the type from the value. - - - - - - - Gets or sets the precision for this parameter. - - - The precision for this parameter. - - - - The maximum number of digits used to represent the Value. - - - This property is optional. If not specified the ADO.NET provider - will attempt to infer the precision from the value. - - - - - - - Gets or sets the scale for this parameter. - - - The scale for this parameter. - - - - The number of decimal places to which Value is resolved. - - - This property is optional. If not specified the ADO.NET provider - will attempt to infer the scale from the value. - - - - - - - Gets or sets the size for this parameter. - - - The size for this parameter. - - - - The maximum size, in bytes, of the data within the column. - - - This property is optional. If not specified the ADO.NET provider - will attempt to infer the size from the value. - - - - - - - Gets or sets the to use to - render the logging event into an object for this - parameter. - - - The used to render the - logging event into an object for this parameter. - - - - The that renders the value for this - parameter. - - - The can be used to adapt - any into a - for use in the property. - - - - - - Appends logging events to the terminal using ANSI color escape sequences. - - - - AnsiColorTerminalAppender appends log events to the standard output stream - or the error output stream using a layout specified by the - user. It also allows the color of a specific level of message to be set. - - - This appender expects the terminal to understand the VT100 control set - in order to interpret the color codes. If the terminal or console does not - understand the control codes the behavior is not defined. - - - By default, all output is written to the console's standard output stream. - The property can be set to direct the output to the - error stream. - - - NOTE: This appender writes each message to the System.Console.Out or - System.Console.Error that is set at the time the event is appended. - Therefore it is possible to programmatically redirect the output of this appender - (for example NUnit does this to capture program output). While this is the desired - behavior of this appender it may have security implications in your application. - - - When configuring the ANSI colored terminal appender, a mapping should be - specified to map a logging level to a color. For example: - - - - - - - - - - - - - - - The Level is the standard log4net logging level and ForeColor and BackColor can be any - of the following values: - - Blue - Green - Red - White - Yellow - Purple - Cyan - - These color values cannot be combined together to make new colors. - - - The attributes can be any combination of the following: - - Brightforeground is brighter - Dimforeground is dimmer - Underscoremessage is underlined - Blinkforeground is blinking (does not work on all terminals) - Reverseforeground and background are reversed - Hiddenoutput is hidden - Strikethroughmessage has a line through it - - While any of these attributes may be combined together not all combinations - work well together, for example setting both Bright and Dim attributes makes - no sense. - - - Patrick Wagstrom - Nicko Cadell - - - - The to use when writing to the Console - standard output stream. - - - - The to use when writing to the Console - standard output stream. - - - - - - The to use when writing to the Console - standard error output stream. - - - - The to use when writing to the Console - standard error output stream. - - - - - - Ansi code to reset terminal - - - - - Initializes a new instance of the class. - - - The instance of the class is set up to write - to the standard output stream. - - - - - Add a mapping of level to color - - The mapping to add - - - Add a mapping to this appender. - Each mapping defines the foreground and background colours - for a level. - - - - - - This method is called by the method. - - The event to log. - - - Writes the event to the console. - - - The format of the output will depend on the appender's layout. - - - - - - Initialize the options for this appender - - - - Initialize the level to color mappings set on this appender. - - - - - - Flag to write output to the error stream rather than the standard output stream - - - - - Mapping from level object to color value - - - - - Target is the value of the console output stream. - - - Target is the value of the console output stream. - This is either "Console.Out" or "Console.Error". - - - - Target is the value of the console output stream. - This is either "Console.Out" or "Console.Error". - - - - - - This appender requires a to be set. - - true - - - This appender requires a to be set. - - - - - - The enum of possible display attributes - - - - The following flags can be combined together to - form the ANSI color attributes. - - - - - - - text is bright - - - - - text is dim - - - - - text is underlined - - - - - text is blinking - - - Not all terminals support this attribute - - - - - text and background colors are reversed - - - - - text is hidden - - - - - text is displayed with a strikethrough - - - - - The enum of possible foreground or background color values for - use with the color mapping method - - - - The output can be in one for the following ANSI colors. - - - - - - - color is black - - - - - color is red - - - - - color is green - - - - - color is yellow - - - - - color is blue - - - - - color is magenta - - - - - color is cyan - - - - - color is white - - - - - A class to act as a mapping between the level that a logging call is made at and - the color it should be displayed as. - - - - Defines the mapping between a level and the color it should be displayed in. - - - - - - An entry in the - - - - This is an abstract base class for types that are stored in the - object. - - - Nicko Cadell - - - - Default protected constructor - - - - Default protected constructor - - - - - - Initialize any options defined on this entry - - - - Should be overridden by any classes that need to initialise based on their options - - - - - - The level that is the key for this mapping - - - The that is the key for this mapping - - - - Get or set the that is the key for this - mapping subclass. - - - - - - Initialize the options for the object - - - - Combine the and together - and append the attributes. - - - - - - The mapped foreground color for the specified level - - - - Required property. - The mapped foreground color for the specified level - - - - - - The mapped background color for the specified level - - - - Required property. - The mapped background color for the specified level - - - - - - The color attributes for the specified level - - - - Required property. - The color attributes for the specified level - - - - - - The combined , and - suitable for setting the ansi terminal color. - - - - - A strongly-typed collection of objects. - - Nicko Cadell - - - - Creates a read-only wrapper for a AppenderCollection instance. - - list to create a readonly wrapper arround - - An AppenderCollection wrapper that is read-only. - - - - - An empty readonly static AppenderCollection - - - - - Initializes a new instance of the AppenderCollection class - that is empty and has the default initial capacity. - - - - - Initializes a new instance of the AppenderCollection class - that has the specified initial capacity. - - - The number of elements that the new AppenderCollection is initially capable of storing. - - - - - Initializes a new instance of the AppenderCollection class - that contains elements copied from the specified AppenderCollection. - - The AppenderCollection whose elements are copied to the new collection. - - - - Initializes a new instance of the AppenderCollection class - that contains elements copied from the specified array. - - The array whose elements are copied to the new list. - - - - Initializes a new instance of the AppenderCollection class - that contains elements copied from the specified collection. - - The collection whose elements are copied to the new list. - - - - Allow subclasses to avoid our default constructors - - - - - - - Copies the entire AppenderCollection to a one-dimensional - array. - - The one-dimensional array to copy to. - - - - Copies the entire AppenderCollection to a one-dimensional - array, starting at the specified index of the target array. - - The one-dimensional array to copy to. - The zero-based index in at which copying begins. - - - - Adds a to the end of the AppenderCollection. - - The to be added to the end of the AppenderCollection. - The index at which the value has been added. - - - - Removes all elements from the AppenderCollection. - - - - - Creates a shallow copy of the . - - A new with a shallow copy of the collection data. - - - - Determines whether a given is in the AppenderCollection. - - The to check for. - true if is found in the AppenderCollection; otherwise, false. - - - - Returns the zero-based index of the first occurrence of a - in the AppenderCollection. - - The to locate in the AppenderCollection. - - The zero-based index of the first occurrence of - in the entire AppenderCollection, if found; otherwise, -1. - - - - - Inserts an element into the AppenderCollection at the specified index. - - The zero-based index at which should be inserted. - The to insert. - - is less than zero - -or- - is equal to or greater than . - - - - - Removes the first occurrence of a specific from the AppenderCollection. - - The to remove from the AppenderCollection. - - The specified was not found in the AppenderCollection. - - - - - Removes the element at the specified index of the AppenderCollection. - - The zero-based index of the element to remove. - - is less than zero - -or- - is equal to or greater than . - - - - - Returns an enumerator that can iterate through the AppenderCollection. - - An for the entire AppenderCollection. - - - - Adds the elements of another AppenderCollection to the current AppenderCollection. - - The AppenderCollection whose elements should be added to the end of the current AppenderCollection. - The new of the AppenderCollection. - - - - Adds the elements of a array to the current AppenderCollection. - - The array whose elements should be added to the end of the AppenderCollection. - The new of the AppenderCollection. - - - - Adds the elements of a collection to the current AppenderCollection. - - The collection whose elements should be added to the end of the AppenderCollection. - The new of the AppenderCollection. - - - - Sets the capacity to the actual number of elements. - - - - - Return the collection elements as an array - - the array - - - - is less than zero - -or- - is equal to or greater than . - - - - - is less than zero - -or- - is equal to or greater than . - - - - - Gets the number of elements actually contained in the AppenderCollection. - - - - - Gets a value indicating whether access to the collection is synchronized (thread-safe). - - true if access to the ICollection is synchronized (thread-safe); otherwise, false. - - - - Gets an object that can be used to synchronize access to the collection. - - - - - Gets or sets the at the specified index. - - The zero-based index of the element to get or set. - - is less than zero - -or- - is equal to or greater than . - - - - - Gets a value indicating whether the collection has a fixed size. - - true if the collection has a fixed size; otherwise, false. The default is false - - - - Gets a value indicating whether the IList is read-only. - - true if the collection is read-only; otherwise, false. The default is false - - - - Gets or sets the number of elements the AppenderCollection can contain. - - - - - Supports type-safe iteration over a . - - - - - - Advances the enumerator to the next element in the collection. - - - true if the enumerator was successfully advanced to the next element; - false if the enumerator has passed the end of the collection. - - - The collection was modified after the enumerator was created. - - - - - Sets the enumerator to its initial position, before the first element in the collection. - - - - - Gets the current element in the collection. - - - - - Type visible only to our subclasses - Used to access protected constructor - - - - - - A value - - - - - Supports simple iteration over a . - - - - - - Initializes a new instance of the Enumerator class. - - - - - - Advances the enumerator to the next element in the collection. - - - true if the enumerator was successfully advanced to the next element; - false if the enumerator has passed the end of the collection. - - - The collection was modified after the enumerator was created. - - - - - Sets the enumerator to its initial position, before the first element in the collection. - - - - - Gets the current element in the collection. - - - - - - - - - Appends log events to the ASP.NET system. - - - - - Diagnostic information and tracing messages that you specify are appended to the output - of the page that is sent to the requesting browser. Optionally, you can view this information - from a separate trace viewer (Trace.axd) that displays trace information for every page in a - given application. - - - Trace statements are processed and displayed only when tracing is enabled. You can control - whether tracing is displayed to a page, to the trace viewer, or both. - - - The logging event is passed to the or - method depending on the level of the logging event. - - - Nicko Cadell - Gert Driesen - - - - Initializes a new instance of the class. - - - - Default constructor. - - - - - - Write the logging event to the ASP.NET trace - - the event to log - - - Write the logging event to the ASP.NET trace - HttpContext.Current.Trace - (). - - - - - - This appender requires a to be set. - - true - - - This appender requires a to be set. - - - - - - Buffers events and then forwards them to attached appenders. - - - - The events are buffered in this appender until conditions are - met to allow the appender to deliver the events to the attached - appenders. See for the - conditions that cause the buffer to be sent. - - The forwarding appender can be used to specify different - thresholds and filters for the same appender at different locations - within the hierarchy. - - - Nicko Cadell - Gert Driesen - - - - Interface for attaching appenders to objects. - - - - Interface for attaching, removing and retrieving appenders. - - - Nicko Cadell - Gert Driesen - - - - Attaches an appender. - - The appender to add. - - - Add the specified appender. The implementation may - choose to allow or deny duplicate appenders. - - - - - - Gets an attached appender with the specified name. - - The name of the appender to get. - - The appender with the name specified, or null if no appender with the - specified name is found. - - - - Returns an attached appender with the specified. - If no appender with the specified name is found null will be - returned. - - - - - - Removes all attached appenders. - - - - Removes and closes all attached appenders - - - - - - Removes the specified appender from the list of attached appenders. - - The appender to remove. - The appender removed from the list - - - The appender removed is not closed. - If you are discarding the appender you must call - on the appender removed. - - - - - - Removes the appender with the specified name from the list of appenders. - - The name of the appender to remove. - The appender removed from the list - - - The appender removed is not closed. - If you are discarding the appender you must call - on the appender removed. - - - - - - Gets all attached appenders. - - - A collection of attached appenders. - - - - Gets a collection of attached appenders. - If there are no attached appenders the - implementation should return an empty - collection rather than null. - - - - - - Initializes a new instance of the class. - - - - Default constructor. - - - - - - Closes the appender and releases resources. - - - - Releases any resources allocated within the appender such as file handles, - network connections, etc. - - - It is a programming error to append to a closed appender. - - - - - - Send the events. - - The events that need to be send. - - - Forwards the events to the attached appenders. - - - - - - Adds an to the list of appenders of this - instance. - - The to add to this appender. - - - If the specified is already in the list of - appenders, then it won't be added again. - - - - - - Looks for the appender with the specified name. - - The name of the appender to lookup. - - The appender with the specified name, or null. - - - - Get the named appender attached to this buffering appender. - - - - - - Removes all previously added appenders from this appender. - - - - This is useful when re-reading configuration information. - - - - - - Removes the specified appender from the list of appenders. - - The appender to remove. - The appender removed from the list - - The appender removed is not closed. - If you are discarding the appender you must call - on the appender removed. - - - - - Removes the appender with the specified name from the list of appenders. - - The name of the appender to remove. - The appender removed from the list - - The appender removed is not closed. - If you are discarding the appender you must call - on the appender removed. - - - - - Implementation of the interface - - - - - Gets the appenders contained in this appender as an - . - - - If no appenders can be found, then an - is returned. - - - A collection of the appenders in this appender. - - - - - Appends logging events to the console. - - - - ColoredConsoleAppender appends log events to the standard output stream - or the error output stream using a layout specified by the - user. It also allows the color of a specific type of message to be set. - - - By default, all output is written to the console's standard output stream. - The property can be set to direct the output to the - error stream. - - - NOTE: This appender writes directly to the application's attached console - not to the System.Console.Out or System.Console.Error TextWriter. - The System.Console.Out and System.Console.Error streams can be - programmatically redirected (for example NUnit does this to capture program output). - This appender will ignore these redirections because it needs to use Win32 - API calls to colorize the output. To respect these redirections the - must be used. - - - When configuring the colored console appender, mapping should be - specified to map a logging level to a color. For example: - - - - - - - - - - - - - - The Level is the standard log4net logging level and ForeColor and BackColor can be any - combination of the following values: - - Blue - Green - Red - White - Yellow - Purple - Cyan - HighIntensity - - - - Rick Hobbs - Nicko Cadell - - - - The to use when writing to the Console - standard output stream. - - - - The to use when writing to the Console - standard output stream. - - - - - - The to use when writing to the Console - standard error output stream. - - - - The to use when writing to the Console - standard error output stream. - - - - - - Initializes a new instance of the class. - - - The instance of the class is set up to write - to the standard output stream. - - - - - Initializes a new instance of the class - with the specified layout. - - the layout to use for this appender - - The instance of the class is set up to write - to the standard output stream. - - - - - Initializes a new instance of the class - with the specified layout. - - the layout to use for this appender - flag set to true to write to the console error stream - - When is set to true, output is written to - the standard error output stream. Otherwise, output is written to the standard - output stream. - - - - - Add a mapping of level to color - done by the config file - - The mapping to add - - - Add a mapping to this appender. - Each mapping defines the foreground and background colors - for a level. - - - - - - This method is called by the method. - - The event to log. - - - Writes the event to the console. - - - The format of the output will depend on the appender's layout. - - - - - - Initialize the options for this appender - - - - Initialize the level to color mappings set on this appender. - - - - - - Flag to write output to the error stream rather than the standard output stream - - - - - Mapping from level object to color value - - - - - The console output stream writer to write to - - - - This writer is not thread safe. - - - - - - Target is the value of the console output stream. - This is either "Console.Out" or "Console.Error". - - - Target is the value of the console output stream. - This is either "Console.Out" or "Console.Error". - - - - Target is the value of the console output stream. - This is either "Console.Out" or "Console.Error". - - - - - - This appender requires a to be set. - - true - - - This appender requires a to be set. - - - - - - The enum of possible color values for use with the color mapping method - - - - The following flags can be combined together to - form the colors. - - - - - - - color is blue - - - - - color is green - - - - - color is red - - - - - color is white - - - - - color is yellow - - - - - color is purple - - - - - color is cyan - - - - - color is intensified - - - - - A class to act as a mapping between the level that a logging call is made at and - the color it should be displayed as. - - - - Defines the mapping between a level and the color it should be displayed in. - - - - - - Initialize the options for the object - - - - Combine the and together. - - - - - - The mapped foreground color for the specified level - - - - Required property. - The mapped foreground color for the specified level. - - - - - - The mapped background color for the specified level - - - - Required property. - The mapped background color for the specified level. - - - - - - The combined and suitable for - setting the console color. - - - - - Appends logging events to the console. - - - - ConsoleAppender appends log events to the standard output stream - or the error output stream using a layout specified by the - user. - - - By default, all output is written to the console's standard output stream. - The property can be set to direct the output to the - error stream. - - - NOTE: This appender writes each message to the System.Console.Out or - System.Console.Error that is set at the time the event is appended. - Therefore it is possible to programmatically redirect the output of this appender - (for example NUnit does this to capture program output). While this is the desired - behavior of this appender it may have security implications in your application. - - - Nicko Cadell - Gert Driesen - - - - The to use when writing to the Console - standard output stream. - - - - The to use when writing to the Console - standard output stream. - - - - - - The to use when writing to the Console - standard error output stream. - - - - The to use when writing to the Console - standard error output stream. - - - - - - Initializes a new instance of the class. - - - The instance of the class is set up to write - to the standard output stream. - - - - - Initializes a new instance of the class - with the specified layout. - - the layout to use for this appender - - The instance of the class is set up to write - to the standard output stream. - - - - - Initializes a new instance of the class - with the specified layout. - - the layout to use for this appender - flag set to true to write to the console error stream - - When is set to true, output is written to - the standard error output stream. Otherwise, output is written to the standard - output stream. - - - - - This method is called by the method. - - The event to log. - - - Writes the event to the console. - - - The format of the output will depend on the appender's layout. - - - - - - Target is the value of the console output stream. - This is either "Console.Out" or "Console.Error". - - - Target is the value of the console output stream. - This is either "Console.Out" or "Console.Error". - - - - Target is the value of the console output stream. - This is either "Console.Out" or "Console.Error". - - - - - - This appender requires a to be set. - - true - - - This appender requires a to be set. - - - - - - Appends log events to the system. - - - - The application configuration file can be used to control what listeners - are actually used. See the MSDN documentation for the - class for details on configuring the - debug system. - - - Events are written using the - method. The event's logger name is passed as the value for the category name to the Write method. - - - Nicko Cadell - - - - Initializes a new instance of the . - - - - Default constructor. - - - - - - Initializes a new instance of the - with a specified layout. - - The layout to use with this appender. - - - Obsolete constructor. - - - - - - Writes the logging event to the system. - - The event to log. - - - Writes the logging event to the system. - If is true then the - is called. - - - - - - Immediate flush means that the underlying writer or output stream - will be flushed at the end of each append operation. - - - - Immediate flush is slower but ensures that each append request is - actually written. If is set to - false, then there is a good chance that the last few - logs events are not actually written to persistent media if and - when the application crashes. - - - The default value is true. - - - - - Gets or sets a value that indicates whether the appender will - flush at the end of each write. - - - The default behavior is to flush at the end of each - write. If the option is set tofalse, then the underlying - stream can defer writing to physical medium to a later time. - - - Avoiding the flush operation at the end of each append results - in a performance gain of 10 to 20 percent. However, there is safety - trade-off involved in skipping flushing. Indeed, when flushing is - skipped, then it is likely that the last few log events will not - be recorded on disk when the application exits. This is a high - price to pay even for a 20% performance gain. - - - - - - This appender requires a to be set. - - true - - - This appender requires a to be set. - - - - - - Writes events to the system event log. - - - - The EventID of the event log entry can be - set using the EventLogEventID property () - on the . - - - There is a limit of 32K characters for an event log message - - - When configuring the EventLogAppender a mapping can be - specified to map a logging level to an event log entry type. For example: - - - <mapping> - <level value="ERROR" /> - <eventLogEntryType value="Error" /> - </mapping> - <mapping> - <level value="DEBUG" /> - <eventLogEntryType value="Information" /> - </mapping> - - - The Level is the standard log4net logging level and eventLogEntryType can be any value - from the enum, i.e.: - - Erroran error event - Warninga warning event - Informationan informational event - - - - Aspi Havewala - Douglas de la Torre - Nicko Cadell - Gert Driesen - Thomas Voss - - - - Initializes a new instance of the class. - - - - Default constructor. - - - - - - Initializes a new instance of the class - with the specified . - - The to use with this appender. - - - Obsolete constructor. - - - - - - Add a mapping of level to - done by the config file - - The mapping to add - - - Add a mapping to this appender. - Each mapping defines the event log entry type for a level. - - - - - - Initialize the appender based on the options set - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - - - - Create an event log source - - - Uses different API calls under NET_2_0 - - - - - This method is called by the - method. - - the event to log - - Writes the event to the system event log using the - . - - If the event has an EventID property (see ) - set then this integer will be used as the event log event id. - - - There is a limit of 32K characters for an event log message - - - - - - Get the equivalent for a - - the Level to convert to an EventLogEntryType - The equivalent for a - - Because there are fewer applicable - values to use in logging levels than there are in the - this is a one way mapping. There is - a loss of information during the conversion. - - - - - The log name is the section in the event logs where the messages - are stored. - - - - - Name of the application to use when logging. This appears in the - application column of the event log named by . - - - - - The name of the machine which holds the event log. This is - currently only allowed to be '.' i.e. the current machine. - - - - - Mapping from level object to EventLogEntryType - - - - - The security context to use for privileged calls - - - - - The name of the log where messages will be stored. - - - The string name of the log where messages will be stored. - - - This is the name of the log as it appears in the Event Viewer - tree. The default value is to log into the Application - log, this is where most applications write their events. However - if you need a separate log for your application (or applications) - then you should set the appropriately. - This should not be used to distinguish your event log messages - from those of other applications, the - property should be used to distinguish events. This property should be - used to group together events into a single log. - - - - - - Property used to set the Application name. This appears in the - event logs when logging. - - - The string used to distinguish events from different sources. - - - Sets the event log source property. - - - - - This property is used to return the name of the computer to use - when accessing the event logs. Currently, this is the current - computer, denoted by a dot "." - - - The string name of the machine holding the event log that - will be logged into. - - - This property cannot be changed. It is currently set to '.' - i.e. the local machine. This may be changed in future. - - - - - Gets or sets the used to write to the EventLog. - - - The used to write to the EventLog. - - - - The system security context used to write to the EventLog. - - - Unless a specified here for this appender - the is queried for the - security context to use. The default behavior is to use the security context - of the current thread. - - - - - - This appender requires a to be set. - - true - - - This appender requires a to be set. - - - - - - A class to act as a mapping between the level that a logging call is made at and - the color it should be displayed as. - - - - Defines the mapping between a level and its event log entry type. - - - - - - The for this entry - - - - Required property. - The for this entry - - - - - - Appends logging events to a file. - - - - Logging events are sent to the file specified by - the property. - - - The file can be opened in either append or overwrite mode - by specifying the property. - If the file path is relative it is taken as relative from - the application base directory. The file encoding can be - specified by setting the property. - - - The layout's and - values will be written each time the file is opened and closed - respectively. If the property is - then the file may contain multiple copies of the header and footer. - - - This appender will first try to open the file for writing when - is called. This will typically be during configuration. - If the file cannot be opened for writing the appender will attempt - to open the file again each time a message is logged to the appender. - If the file cannot be opened for writing when a message is logged then - the message will be discarded by this appender. - - - The supports pluggable file locking models via - the property. - The default behavior, implemented by - is to obtain an exclusive write lock on the file until this appender is closed. - The alternative model, , only holds a - write lock while the appender is writing a logging event. - - - Nicko Cadell - Gert Driesen - Rodrigo B. de Oliveira - Douglas de la Torre - Niall Daley - - - - Sends logging events to a . - - - - An Appender that writes to a . - - - This appender may be used stand alone if initialized with an appropriate - writer, however it is typically used as a base class for an appender that - can open a to write to. - - - Nicko Cadell - Gert Driesen - Douglas de la Torre - - - - Initializes a new instance of the class. - - - - Default constructor. - - - - - - Initializes a new instance of the class and - sets the output destination to a new initialized - with the specified . - - The layout to use with this appender. - The to output to. - - - Obsolete constructor. - - - - - - Initializes a new instance of the class and sets - the output destination to the specified . - - The layout to use with this appender - The to output to - - The must have been previously opened. - - - - Obsolete constructor. - - - - - - This method determines if there is a sense in attempting to append. - - - - This method checked if an output target has been set and if a - layout has been set. - - - false if any of the preconditions fail. - - - - This method is called by the - method. - - The event to log. - - - Writes a log statement to the output stream if the output stream exists - and is writable. - - - The format of the output will depend on the appender's layout. - - - - - - This method is called by the - method. - - The array of events to log. - - - This method writes all the bulk logged events to the output writer - before flushing the stream. - - - - - - Close this appender instance. The underlying stream or writer is also closed. - - - Closed appenders cannot be reused. - - - - - Writes the footer and closes the underlying . - - - - Writes the footer and closes the underlying . - - - - - - Closes the underlying . - - - - Closes the underlying . - - - - - - Clears internal references to the underlying - and other variables. - - - - Subclasses can override this method for an alternate closing behavior. - - - - - - Writes a footer as produced by the embedded layout's property. - - - - Writes a footer as produced by the embedded layout's property. - - - - - - Writes a header produced by the embedded layout's property. - - - - Writes a header produced by the embedded layout's property. - - - - - - Called to allow a subclass to lazily initialize the writer - - - - This method is called when an event is logged and the or - have not been set. This allows a subclass to - attempt to initialize the writer multiple times. - - - - - - This is the where logging events - will be written to. - - - - - Immediate flush means that the underlying - or output stream will be flushed at the end of each append operation. - - - - Immediate flush is slower but ensures that each append request is - actually written. If is set to - false, then there is a good chance that the last few - logging events are not actually persisted if and when the application - crashes. - - - The default value is true. - - - - - - Gets or set whether the appender will flush at the end - of each append operation. - - - - The default behavior is to flush at the end of each - append operation. - - - If this option is set to false, then the underlying - stream can defer persisting the logging event to a later - time. - - - - Avoiding the flush operation at the end of each append results in - a performance gain of 10 to 20 percent. However, there is safety - trade-off involved in skipping flushing. Indeed, when flushing is - skipped, then it is likely that the last few log events will not - be recorded on disk when the application exits. This is a high - price to pay even for a 20% performance gain. - - - - - Sets the where the log output will go. - - - - The specified must be open and writable. - - - The will be closed when the appender - instance is closed. - - - Note: Logging to an unopened will fail. - - - - - - Gets or set the and the underlying - , if any, for this appender. - - - The for this appender. - - - - - This appender requires a to be set. - - true - - - This appender requires a to be set. - - - - - - Gets or sets the where logging events - will be written to. - - - The where logging events are written. - - - - This is the where logging events - will be written to. - - - - - - Default constructor - - - - Default constructor - - - - - - Construct a new appender using the layout, file and append mode. - - the layout to use with this appender - the full path to the file to write to - flag to indicate if the file should be appended to - - - Obsolete constructor. - - - - - - Construct a new appender using the layout and file specified. - The file will be appended to. - - the layout to use with this appender - the full path to the file to write to - - - Obsolete constructor. - - - - - - Activate the options on the file appender. - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - This will cause the file to be opened. - - - - - - Closes any previously opened file and calls the parent's . - - - - Resets the filename and the file stream. - - - - - - Called to initialize the file writer - - - - Will be called for each logged message until the file is - successfully opened. - - - - - - This method is called by the - method. - - The event to log. - - - Writes a log statement to the output stream if the output stream exists - and is writable. - - - The format of the output will depend on the appender's layout. - - - - - - This method is called by the - method. - - The array of events to log. - - - Acquires the output file locks once before writing all the events to - the stream. - - - - - - Writes a footer as produced by the embedded layout's property. - - - - Writes a footer as produced by the embedded layout's property. - - - - - - Writes a header produced by the embedded layout's property. - - - - Writes a header produced by the embedded layout's property. - - - - - - Closes the underlying . - - - - Closes the underlying . - - - - - - Closes the previously opened file. - - - - Writes the to the file and then - closes the file. - - - - - - Sets and opens the file where the log output will go. The specified file must be writable. - - The path to the log file. Must be a fully qualified path. - If true will append to fileName. Otherwise will truncate fileName - - - Calls but guarantees not to throw an exception. - Errors are passed to the . - - - - - - Sets and opens the file where the log output will go. The specified file must be writable. - - The path to the log file. Must be a fully qualified path. - If true will append to fileName. Otherwise will truncate fileName - - - If there was already an opened file, then the previous file - is closed first. - - - This method will ensure that the directory structure - for the specified exists. - - - - - - Sets the quiet writer used for file output - - the file stream that has been opened for writing - - - This implementation of creates a - over the and passes it to the - method. - - - This method can be overridden by sub classes that want to wrap the - in some way, for example to encrypt the output - data using a System.Security.Cryptography.CryptoStream. - - - - - - Sets the quiet writer being used. - - the writer over the file stream that has been opened for writing - - - This method can be overridden by sub classes that want to - wrap the in some way. - - - - - - Convert a path into a fully qualified path. - - The path to convert. - The fully qualified path. - - - Converts the path specified to a fully - qualified path. If the path is relative it is - taken as relative from the application base - directory. - - - - - - Flag to indicate if we should append to the file - or overwrite the file. The default is to append. - - - - - The name of the log file. - - - - - The encoding to use for the file stream. - - - - - The security context to use for privileged calls - - - - - The stream to log to. Has added locking semantics - - - - - The locking model to use - - - - - Gets or sets the path to the file that logging will be written to. - - - The path to the file that logging will be written to. - - - - If the path is relative it is taken as relative from - the application base directory. - - - - - - Gets or sets a flag that indicates whether the file should be - appended to or overwritten. - - - Indicates whether the file should be appended to or overwritten. - - - - If the value is set to false then the file will be overwritten, if - it is set to true then the file will be appended to. - - The default value is true. - - - - - Gets or sets used to write to the file. - - - The used to write to the file. - - - - The default encoding set is - which is the encoding for the system's current ANSI code page. - - - - - - Gets or sets the used to write to the file. - - - The used to write to the file. - - - - Unless a specified here for this appender - the is queried for the - security context to use. The default behavior is to use the security context - of the current thread. - - - - - - Gets or sets the used to handle locking of the file. - - - The used to lock the file. - - - - Gets or sets the used to handle locking of the file. - - - There are two built in locking models, and . - The former locks the file from the start of logging to the end and the - later lock only for the minimal amount of time when logging each message. - - - The default locking model is the . - - - - - - Write only that uses the - to manage access to an underlying resource. - - - - - True asynchronous writes are not supported, the implementation forces a synchronous write. - - - - - Exception base type for log4net. - - - - This type extends . It - does not add any new functionality but does differentiate the - type of exception being thrown. - - - Nicko Cadell - Gert Driesen - - - - Constructor - - - - Initializes a new instance of the class. - - - - - - Constructor - - A message to include with the exception. - - - Initializes a new instance of the class with - the specified message. - - - - - - Constructor - - A message to include with the exception. - A nested exception to include. - - - Initializes a new instance of the class - with the specified message and inner exception. - - - - - - Serialization constructor - - The that holds the serialized object data about the exception being thrown. - The that contains contextual information about the source or destination. - - - Initializes a new instance of the class - with serialized data. - - - - - - Locking model base class - - - - Base class for the locking models available to the derived loggers. - - - - - - Open the output file - - The filename to use - Whether to append to the file, or overwrite - The encoding to use - - - Open the file specified and prepare for logging. - No writes will be made until is called. - Must be called before any calls to , - and . - - - - - - Close the file - - - - Close the file. No further writes will be made. - - - - - - Acquire the lock on the file - - A stream that is ready to be written to. - - - Acquire the lock on the file in preparation for writing to it. - Return a stream pointing to the file. - must be called to release the lock on the output file. - - - - - - Release the lock on the file - - - - Release the lock on the file. No further writes will be made to the - stream until is called again. - - - - - - Gets or sets the for this LockingModel - - - The for this LockingModel - - - - The file appender this locking model is attached to and working on - behalf of. - - - The file appender is used to locate the security context and the error handler to use. - - - The value of this property will be set before is - called. - - - - - - Hold an exclusive lock on the output file - - - - Open the file once for writing and hold it open until is called. - Maintains an exclusive lock on the file during this time. - - - - - - Open the file specified and prepare for logging. - - The filename to use - Whether to append to the file, or overwrite - The encoding to use - - - Open the file specified and prepare for logging. - No writes will be made until is called. - Must be called before any calls to , - and . - - - - - - Close the file - - - - Close the file. No further writes will be made. - - - - - - Acquire the lock on the file - - A stream that is ready to be written to. - - - Does nothing. The lock is already taken - - - - - - Release the lock on the file - - - - Does nothing. The lock will be released when the file is closed. - - - - - - Acquires the file lock for each write - - - - Opens the file once for each / cycle, - thus holding the lock for the minimal amount of time. This method of locking - is considerably slower than but allows - other processes to move/delete the log file whilst logging continues. - - - - - - Prepares to open the file when the first message is logged. - - The filename to use - Whether to append to the file, or overwrite - The encoding to use - - - Open the file specified and prepare for logging. - No writes will be made until is called. - Must be called before any calls to , - and . - - - - - - Close the file - - - - Close the file. No further writes will be made. - - - - - - Acquire the lock on the file - - A stream that is ready to be written to. - - - Acquire the lock on the file in preparation for writing to it. - Return a stream pointing to the file. - must be called to release the lock on the output file. - - - - - - Release the lock on the file - - - - Release the lock on the file. No further writes will be made to the - stream until is called again. - - - - - - This appender forwards logging events to attached appenders. - - - - The forwarding appender can be used to specify different thresholds - and filters for the same appender at different locations within the hierarchy. - - - Nicko Cadell - Gert Driesen - - - - Initializes a new instance of the class. - - - - Default constructor. - - - - - - Closes the appender and releases resources. - - - - Releases any resources allocated within the appender such as file handles, - network connections, etc. - - - It is a programming error to append to a closed appender. - - - - - - Forward the logging event to the attached appenders - - The event to log. - - - Delivers the logging event to all the attached appenders. - - - - - - Forward the logging events to the attached appenders - - The array of events to log. - - - Delivers the logging events to all the attached appenders. - - - - - - Adds an to the list of appenders of this - instance. - - The to add to this appender. - - - If the specified is already in the list of - appenders, then it won't be added again. - - - - - - Looks for the appender with the specified name. - - The name of the appender to lookup. - - The appender with the specified name, or null. - - - - Get the named appender attached to this appender. - - - - - - Removes all previously added appenders from this appender. - - - - This is useful when re-reading configuration information. - - - - - - Removes the specified appender from the list of appenders. - - The appender to remove. - The appender removed from the list - - The appender removed is not closed. - If you are discarding the appender you must call - on the appender removed. - - - - - Removes the appender with the specified name from the list of appenders. - - The name of the appender to remove. - The appender removed from the list - - The appender removed is not closed. - If you are discarding the appender you must call - on the appender removed. - - - - - Implementation of the interface - - - - - Gets the appenders contained in this appender as an - . - - - If no appenders can be found, then an - is returned. - - - A collection of the appenders in this appender. - - - - - Logs events to a local syslog service. - - - - This appender uses the POSIX libc library functions openlog, syslog, and closelog. - If these functions are not available on the local system then this appender will not work! - - - The functions openlog, syslog, and closelog are specified in SUSv2 and - POSIX 1003.1-2001 standards. These are used to log messages to the local syslog service. - - - This appender talks to a local syslog service. If you need to log to a remote syslog - daemon and you cannot configure your local syslog service to do this you may be - able to use the to log via UDP. - - - Syslog messages must have a facility and and a severity. The severity - is derived from the Level of the logging event. - The facility must be chosen from the set of defined syslog - values. The facilities list is predefined - and cannot be extended. - - - An identifier is specified with each log message. This can be specified - by setting the property. The identity (also know - as the tag) must not contain white space. The default value for the - identity is the application name (from ). - - - Rob Lyon - Nicko Cadell - - - - Initializes a new instance of the class. - - - This instance of the class is set up to write - to a local syslog service. - - - - - Add a mapping of level to severity - - The mapping to add - - - Adds a to this appender. - - - - - - Initialize the appender based on the options set. - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - - - - This method is called by the method. - - The event to log. - - - Writes the event to a remote syslog daemon. - - - The format of the output will depend on the appender's layout. - - - - - - Close the syslog when the appender is closed - - - - Close the syslog when the appender is closed - - - - - - Translates a log4net level to a syslog severity. - - A log4net level. - A syslog severity. - - - Translates a log4net level to a syslog severity. - - - - - - Generate a syslog priority. - - The syslog facility. - The syslog severity. - A syslog priority. - - - - The facility. The default facility is . - - - - - The message identity - - - - - Marshaled handle to the identity string. We have to hold on to the - string as the openlog and syslog APIs just hold the - pointer to the ident and dereference it for each log message. - - - - - Mapping from level object to syslog severity - - - - - Open connection to system logger. - - - - - Generate a log message. - - - - The libc syslog method takes a format string and a variable argument list similar - to the classic printf function. As this type of vararg list is not supported - by C# we need to specify the arguments explicitly. Here we have specified the - format string with a single message argument. The caller must set the format - string to "%s". - - - - - - Close descriptor used to write to system logger. - - - - - Message identity - - - - An identifier is specified with each log message. This can be specified - by setting the property. The identity (also know - as the tag) must not contain white space. The default value for the - identity is the application name (from ). - - - - - - Syslog facility - - - Set to one of the values. The list of - facilities is predefined and cannot be extended. The default value - is . - - - - - This appender requires a to be set. - - true - - - This appender requires a to be set. - - - - - - syslog severities - - - - The log4net Level maps to a syslog severity using the - method and the - class. The severity is set on . - - - - - - system is unusable - - - - - action must be taken immediately - - - - - critical conditions - - - - - error conditions - - - - - warning conditions - - - - - normal but significant condition - - - - - informational - - - - - debug-level messages - - - - - syslog facilities - - - - The syslog facility defines which subsystem the logging comes from. - This is set on the property. - - - - - - kernel messages - - - - - random user-level messages - - - - - mail system - - - - - system daemons - - - - - security/authorization messages - - - - - messages generated internally by syslogd - - - - - line printer subsystem - - - - - network news subsystem - - - - - UUCP subsystem - - - - - clock (cron/at) daemon - - - - - security/authorization messages (private) - - - - - ftp daemon - - - - - NTP subsystem - - - - - log audit - - - - - log alert - - - - - clock daemon - - - - - reserved for local use - - - - - reserved for local use - - - - - reserved for local use - - - - - reserved for local use - - - - - reserved for local use - - - - - reserved for local use - - - - - reserved for local use - - - - - reserved for local use - - - - - A class to act as a mapping between the level that a logging call is made at and - the syslog severity that is should be logged at. - - - - A class to act as a mapping between the level that a logging call is made at and - the syslog severity that is should be logged at. - - - - - - The mapped syslog severity for the specified level - - - - Required property. - The mapped syslog severity for the specified level - - - - - - Stores logging events in an array. - - - - The memory appender stores all the logging events - that are appended in an in-memory array. - - - Use the method to get - the current list of events that have been appended. - - - Use the method to clear the - current list of events. - - - Julian Biddle - Nicko Cadell - Gert Driesen - - - - Initializes a new instance of the class. - - - - Default constructor. - - - - - - Gets the events that have been logged. - - The events that have been logged - - - Gets the events that have been logged. - - - - - - This method is called by the method. - - the event to log - - Stores the in the events list. - - - - - Clear the list of events - - - Clear the list of events - - - - - The list of events that have been appended. - - - - - Value indicating which fields in the event should be fixed - - - By default all fields are fixed - - - - - Gets or sets a value indicating whether only part of the logging event - data should be fixed. - - - true if the appender should only fix part of the logging event - data, otherwise false. The default is false. - - - - Setting this property to true will cause only part of the event - data to be fixed and stored in the appender, hereby improving performance. - - - See for more information. - - - - - - Gets or sets the fields that will be fixed in the event - - - - The logging event needs to have certain thread specific values - captured before it can be buffered. See - for details. - - - - - - Logs entries by sending network messages using the - native function. - - - - You can send messages only to names that are active - on the network. If you send the message to a user name, - that user must be logged on and running the Messenger - service to receive the message. - - - The receiver will get a top most window displaying the - messages one at a time, therefore this appender should - not be used to deliver a high volume of messages. - - - The following table lists some possible uses for this appender : - - - - - Action - Property Value(s) - - - Send a message to a user account on the local machine - - - = <name of the local machine> - - - = <user name> - - - - - Send a message to a user account on a remote machine - - - = <name of the remote machine> - - - = <user name> - - - - - Send a message to a domain user account - - - = <name of a domain controller | uninitialized> - - - = <user name> - - - - - Send a message to all the names in a workgroup or domain - - - = <workgroup name | domain name>* - - - - - Send a message from the local machine to a remote machine - - - = <name of the local machine | uninitialized> - - - = <name of the remote machine> - - - - - - - Note : security restrictions apply for sending - network messages, see - for more information. - - - - - An example configuration section to log information - using this appender from the local machine, named - LOCAL_PC, to machine OPERATOR_PC : - - - - - - - - - - Nicko Cadell - Gert Driesen - - - - The DNS or NetBIOS name of the server on which the function is to execute. - - - - - The sender of the network message. - - - - - The message alias to which the message should be sent. - - - - - The security context to use for privileged calls - - - - - Initializes the appender. - - - The default constructor initializes all fields to their default values. - - - - - Initialize the appender based on the options set. - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - The appender will be ignored if no was specified. - - - The required property was not specified. - - - - This method is called by the method. - - The event to log. - - - Sends the event using a network message. - - - - - - Sends a buffer of information to a registered message alias. - - The DNS or NetBIOS name of the server on which the function is to execute. - The message alias to which the message buffer should be sent - The originator of the message. - The message text. - The length, in bytes, of the message text. - - - The following restrictions apply for sending network messages: - - - - - Platform - Requirements - - - Windows NT - - - No special group membership is required to send a network message. - - - Admin, Accounts, Print, or Server Operator group membership is required to - successfully send a network message on a remote server. - - - - - Windows 2000 or later - - - If you send a message on a domain controller that is running Active Directory, - access is allowed or denied based on the access control list (ACL) for the securable - object. The default ACL permits only Domain Admins and Account Operators to send a network message. - - - On a member server or workstation, only Administrators and Server Operators can send a network message. - - - - - - - For more information see Security Requirements for the Network Management Functions. - - - - - If the function succeeds, the return value is zero. - - - - - - Gets or sets the sender of the message. - - - The sender of the message. - - - If this property is not specified, the message is sent from the local computer. - - - - - Gets or sets the message alias to which the message should be sent. - - - The recipient of the message. - - - This property should always be specified in order to send a message. - - - - - Gets or sets the DNS or NetBIOS name of the remote server on which the function is to execute. - - - DNS or NetBIOS name of the remote server on which the function is to execute. - - - - For Windows NT 4.0 and earlier, the string should begin with \\. - - - If this property is not specified, the local computer is used. - - - - - - Gets or sets the used to call the NetSend method. - - - The used to call the NetSend method. - - - - Unless a specified here for this appender - the is queried for the - security context to use. The default behavior is to use the security context - of the current thread. - - - - - - This appender requires a to be set. - - true - - - This appender requires a to be set. - - - - - - Appends log events to the OutputDebugString system. - - - - OutputDebugStringAppender appends log events to the - OutputDebugString system. - - - The string is passed to the native OutputDebugString - function. - - - Nicko Cadell - Gert Driesen - - - - Initializes a new instance of the class. - - - - Default constructor. - - - - - - Write the logging event to the output debug string API - - the event to log - - - Write the logging event to the output debug string API - - - - - - Stub for OutputDebugString native method - - the string to output - - - Stub for OutputDebugString native method - - - - - - This appender requires a to be set. - - true - - - This appender requires a to be set. - - - - - - Logs events to a remote syslog daemon. - - - - The BSD syslog protocol is used to remotely log to - a syslog daemon. The syslogd listens for for messages - on UDP port 514. - - - The syslog UDP protocol is not authenticated. Most syslog daemons - do not accept remote log messages because of the security implications. - You may be able to use the LocalSyslogAppender to talk to a local - syslog service. - - - There is an RFC 3164 that claims to document the BSD Syslog Protocol. - This RFC can be seen here: http://www.faqs.org/rfcs/rfc3164.html. - This appender generates what the RFC calls an "Original Device Message", - i.e. does not include the TIMESTAMP or HOSTNAME fields. By observation - this format of message will be accepted by all current syslog daemon - implementations. The daemon will attach the current time and the source - hostname or IP address to any messages received. - - - Syslog messages must have a facility and and a severity. The severity - is derived from the Level of the logging event. - The facility must be chosen from the set of defined syslog - values. The facilities list is predefined - and cannot be extended. - - - An identifier is specified with each log message. This can be specified - by setting the property. The identity (also know - as the tag) must not contain white space. The default value for the - identity is the application name (from ). - - - Rob Lyon - Nicko Cadell - - - - Sends logging events as connectionless UDP datagrams to a remote host or a - multicast group using an . - - - - UDP guarantees neither that messages arrive, nor that they arrive in the correct order. - - - To view the logging results, a custom application can be developed that listens for logging - events. - - - When decoding events send via this appender remember to use the same encoding - to decode the events as was used to send the events. See the - property to specify the encoding to use. - - - - This example shows how to log receive logging events that are sent - on IP address 244.0.0.1 and port 8080 to the console. The event is - encoded in the packet as a unicode string and it is decoded as such. - - IPEndPoint remoteEndPoint = new IPEndPoint(IPAddress.Any, 0); - UdpClient udpClient; - byte[] buffer; - string loggingEvent; - - try - { - udpClient = new UdpClient(8080); - - while(true) - { - buffer = udpClient.Receive(ref remoteEndPoint); - loggingEvent = System.Text.Encoding.Unicode.GetString(buffer); - Console.WriteLine(loggingEvent); - } - } - catch(Exception e) - { - Console.WriteLine(e.ToString()); - } - - - Dim remoteEndPoint as IPEndPoint - Dim udpClient as UdpClient - Dim buffer as Byte() - Dim loggingEvent as String - - Try - remoteEndPoint = new IPEndPoint(IPAddress.Any, 0) - udpClient = new UdpClient(8080) - - While True - buffer = udpClient.Receive(ByRef remoteEndPoint) - loggingEvent = System.Text.Encoding.Unicode.GetString(buffer) - Console.WriteLine(loggingEvent) - Wend - Catch e As Exception - Console.WriteLine(e.ToString()) - End Try - - - An example configuration section to log information using this appender to the - IP 224.0.0.1 on port 8080: - - - - - - - - - - Gert Driesen - Nicko Cadell - - - - Initializes a new instance of the class. - - - The default constructor initializes all fields to their default values. - - - - - Initialize the appender based on the options set. - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - The appender will be ignored if no was specified or - an invalid remote or local TCP port number was specified. - - - The required property was not specified. - The TCP port number assigned to or is less than or greater than . - - - - This method is called by the method. - - The event to log. - - - Sends the event using an UDP datagram. - - - Exceptions are passed to the . - - - - - - Closes the UDP connection and releases all resources associated with - this instance. - - - - Disables the underlying and releases all managed - and unmanaged resources associated with the . - - - - - - Initializes the underlying connection. - - - - The underlying is initialized and binds to the - port number from which you intend to communicate. - - - Exceptions are passed to the . - - - - - - The IP address of the remote host or multicast group to which - the logging event will be sent. - - - - - The TCP port number of the remote host or multicast group to - which the logging event will be sent. - - - - - The cached remote endpoint to which the logging events will be sent. - - - - - The TCP port number from which the will communicate. - - - - - The instance that will be used for sending the - logging events. - - - - - The encoding to use for the packet. - - - - - Gets or sets the IP address of the remote host or multicast group to which - the underlying should sent the logging event. - - - The IP address of the remote host or multicast group to which the logging event - will be sent. - - - - Multicast addresses are identified by IP class D addresses (in the range 224.0.0.0 to - 239.255.255.255). Multicast packets can pass across different networks through routers, so - it is possible to use multicasts in an Internet scenario as long as your network provider - supports multicasting. - - - Hosts that want to receive particular multicast messages must register their interest by joining - the multicast group. Multicast messages are not sent to networks where no host has joined - the multicast group. Class D IP addresses are used for multicast groups, to differentiate - them from normal host addresses, allowing nodes to easily detect if a message is of interest. - - - Static multicast addresses that are needed globally are assigned by IANA. A few examples are listed in the table below: - - - - - IP Address - Description - - - 224.0.0.1 - - - Sends a message to all system on the subnet. - - - - - 224.0.0.2 - - - Sends a message to all routers on the subnet. - - - - - 224.0.0.12 - - - The DHCP server answers messages on the IP address 224.0.0.12, but only on a subnet. - - - - - - - A complete list of actually reserved multicast addresses and their owners in the ranges - defined by RFC 3171 can be found at the IANA web site. - - - The address range 239.0.0.0 to 239.255.255.255 is reserved for administrative scope-relative - addresses. These addresses can be reused with other local groups. Routers are typically - configured with filters to prevent multicast traffic in this range from flowing outside - of the local network. - - - - - - Gets or sets the TCP port number of the remote host or multicast group to which - the underlying should sent the logging event. - - - An integer value in the range to - indicating the TCP port number of the remote host or multicast group to which the logging event - will be sent. - - - The underlying will send messages to this TCP port number - on the remote host or multicast group. - - The value specified is less than or greater than . - - - - Gets or sets the TCP port number from which the underlying will communicate. - - - An integer value in the range to - indicating the TCP port number from which the underlying will communicate. - - - - The underlying will bind to this port for sending messages. - - - Setting the value to 0 (the default) will cause the udp client not to bind to - a local port. - - - The value specified is less than or greater than . - - - - Gets or sets used to write the packets. - - - The used to write the packets. - - - - The used to write the packets. - - - - - - Gets or sets the underlying . - - - The underlying . - - - creates a to send logging events - over a network. Classes deriving from can use this - property to get or set this . Use the underlying - returned from if you require access beyond that which - provides. - - - - - Gets or sets the cached remote endpoint to which the logging events should be sent. - - - The cached remote endpoint to which the logging events will be sent. - - - The method will initialize the remote endpoint - with the values of the and - properties. - - - - - This appender requires a to be set. - - true - - - This appender requires a to be set. - - - - - - Syslog port 514 - - - - - Initializes a new instance of the class. - - - This instance of the class is set up to write - to a remote syslog daemon. - - - - - Add a mapping of level to severity - - The mapping to add - - - Add a mapping to this appender. - - - - - - This method is called by the method. - - The event to log. - - - Writes the event to a remote syslog daemon. - - - The format of the output will depend on the appender's layout. - - - - - - Initialize the options for this appender - - - - Initialize the level to syslog severity mappings set on this appender. - - - - - - Translates a log4net level to a syslog severity. - - A log4net level. - A syslog severity. - - - Translates a log4net level to a syslog severity. - - - - - - Generate a syslog priority. - - The syslog facility. - The syslog severity. - A syslog priority. - - - Generate a syslog priority. - - - - - - The facility. The default facility is . - - - - - The message identity - - - - - Mapping from level object to syslog severity - - - - - Message identity - - - - An identifier is specified with each log message. This can be specified - by setting the property. The identity (also know - as the tag) must not contain white space. The default value for the - identity is the application name (from ). - - - - - - Syslog facility - - - Set to one of the values. The list of - facilities is predefined and cannot be extended. The default value - is . - - - - - syslog severities - - - - The syslog severities. - - - - - - system is unusable - - - - - action must be taken immediately - - - - - critical conditions - - - - - error conditions - - - - - warning conditions - - - - - normal but significant condition - - - - - informational - - - - - debug-level messages - - - - - syslog facilities - - - - The syslog facilities - - - - - - kernel messages - - - - - random user-level messages - - - - - mail system - - - - - system daemons - - - - - security/authorization messages - - - - - messages generated internally by syslogd - - - - - line printer subsystem - - - - - network news subsystem - - - - - UUCP subsystem - - - - - clock (cron/at) daemon - - - - - security/authorization messages (private) - - - - - ftp daemon - - - - - NTP subsystem - - - - - log audit - - - - - log alert - - - - - clock daemon - - - - - reserved for local use - - - - - reserved for local use - - - - - reserved for local use - - - - - reserved for local use - - - - - reserved for local use - - - - - reserved for local use - - - - - reserved for local use - - - - - reserved for local use - - - - - A class to act as a mapping between the level that a logging call is made at and - the syslog severity that is should be logged at. - - - - A class to act as a mapping between the level that a logging call is made at and - the syslog severity that is should be logged at. - - - - - - The mapped syslog severity for the specified level - - - - Required property. - The mapped syslog severity for the specified level - - - - - - Delivers logging events to a remote logging sink. - - - - This Appender is designed to deliver events to a remote sink. - That is any object that implements the - interface. It delivers the events using .NET remoting. The - object to deliver events to is specified by setting the - appenders property. - - The RemotingAppender buffers events before sending them. This allows it to - make more efficient use of the remoting infrastructure. - - Once the buffer is full the events are still not sent immediately. - They are scheduled to be sent using a pool thread. The effect is that - the send occurs asynchronously. This is very important for a - number of non obvious reasons. The remoting infrastructure will - flow thread local variables (stored in the ), - if they are marked as , across the - remoting boundary. If the server is not contactable then - the remoting infrastructure will clear the - objects from the . To prevent a logging failure from - having side effects on the calling application the remoting call must be made - from a separate thread to the one used by the application. A - thread is used for this. If no thread is available then - the events will block in the thread pool manager until a thread is available. - - Because the events are sent asynchronously using pool threads it is possible to close - this appender before all the queued events have been sent. - When closing the appender attempts to wait until all the queued events have been sent, but - this will timeout after 30 seconds regardless. - - If this appender is being closed because the - event has fired it may not be possible to send all the queued events. During process - exit the runtime limits the time that a - event handler is allowed to run for. If the runtime terminates the threads before - the queued events have been sent then they will be lost. To ensure that all events - are sent the appender must be closed before the application exits. See - for details on how to shutdown - log4net programmatically. - - - Nicko Cadell - Gert Driesen - Daniel Cazzulino - - - - Initializes a new instance of the class. - - - - Default constructor. - - - - - - Initialize the appender based on the options set - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - - - - Send the contents of the buffer to the remote sink. - - - The events are not sent immediately. They are scheduled to be sent - using a pool thread. The effect is that the send occurs asynchronously. - This is very important for a number of non obvious reasons. The remoting - infrastructure will flow thread local variables (stored in the ), - if they are marked as , across the - remoting boundary. If the server is not contactable then - the remoting infrastructure will clear the - objects from the . To prevent a logging failure from - having side effects on the calling application the remoting call must be made - from a separate thread to the one used by the application. A - thread is used for this. If no thread is available then - the events will block in the thread pool manager until a thread is available. - - The events to send. - - - - Override base class close. - - - - This method waits while there are queued work items. The events are - sent asynchronously using work items. These items - will be sent once a thread pool thread is available to send them, therefore - it is possible to close the appender before all the queued events have been - sent. - - This method attempts to wait until all the queued events have been sent, but this - method will timeout after 30 seconds regardless. - - If the appender is being closed because the - event has fired it may not be possible to send all the queued events. During process - exit the runtime limits the time that a - event handler is allowed to run for. - - - - - A work item is being queued into the thread pool - - - - - A work item from the thread pool has completed - - - - - Send the contents of the buffer to the remote sink. - - - This method is designed to be used with the . - This method expects to be passed an array of - objects in the state param. - - the logging events to send - - - - The URL of the remote sink. - - - - - The local proxy (.NET remoting) for the remote logging sink. - - - - - The number of queued callbacks currently waiting or executing - - - - - Event used to signal when there are no queued work items - - - This event is set when there are no queued work items. In this - state it is safe to close the appender. - - - - - Gets or sets the URL of the well-known object that will accept - the logging events. - - - The well-known URL of the remote sink. - - - - The URL of the remoting sink that will accept logging events. - The sink must implement the - interface. - - - - - - Interface used to deliver objects to a remote sink. - - - This interface must be implemented by a remoting sink - if the is to be used - to deliver logging events to the sink. - - - - - Delivers logging events to the remote sink - - Array of events to log. - - - Delivers logging events to the remote sink - - - - - - Appender that rolls log files based on size or date or both. - - - - RollingFileAppender can roll log files based on size or date or both - depending on the setting of the property. - When set to the log file will be rolled - once its size exceeds the . - When set to the log file will be rolled - once the date boundary specified in the property - is crossed. - When set to the log file will be - rolled once the date boundary specified in the property - is crossed, but within a date boundary the file will also be rolled - once its size exceeds the . - When set to the log file will be rolled when - the appender is configured. This effectively means that the log file can be - rolled once per program execution. - - - A of few additional optional features have been added: - - Attach date pattern for current log file - Backup number increments for newer files - Infinite number of backups by file size - - - - - - For large or infinite numbers of backup files a - greater than zero is highly recommended, otherwise all the backup files need - to be renamed each time a new backup is created. - - - When Date/Time based rolling is used setting - to will reduce the number of file renamings to few or none. - - - - - - Changing or without clearing - the log file directory of backup files will cause unexpected and unwanted side effects. - - - - - If Date/Time based rolling is enabled this appender will attempt to roll existing files - in the directory without a Date/Time tag based on the last write date of the base log file. - The appender only rolls the log file when a message is logged. If Date/Time based rolling - is enabled then the appender will not roll the log file at the Date/Time boundary but - at the point when the next message is logged after the boundary has been crossed. - - - - The extends the and - has the same behavior when opening the log file. - The appender will first try to open the file for writing when - is called. This will typically be during configuration. - If the file cannot be opened for writing the appender will attempt - to open the file again each time a message is logged to the appender. - If the file cannot be opened for writing when a message is logged then - the message will be discarded by this appender. - - - When rolling a backup file necessitates deleting an older backup file the - file to be deleted is moved to a temporary name before being deleted. - - - - - A maximum number of backup files when rolling on date/time boundaries is not supported. - - - - Nicko Cadell - Gert Driesen - Aspi Havewala - Douglas de la Torre - Edward Smit - - - - Initializes a new instance of the class. - - - - Default constructor. - - - - - - Sets the quiet writer being used. - - - This method can be overridden by sub classes. - - the writer to set - - - - Write out a logging event. - - the event to write to file. - - - Handles append time behavior for RollingFileAppender. This checks - if a roll over either by date (checked first) or time (checked second) - is need and then appends to the file last. - - - - - - Write out an array of logging events. - - the events to write to file. - - - Handles append time behavior for RollingFileAppender. This checks - if a roll over either by date (checked first) or time (checked second) - is need and then appends to the file last. - - - - - - Performs any required rolling before outputting the next event - - - - Handles append time behavior for RollingFileAppender. This checks - if a roll over either by date (checked first) or time (checked second) - is need and then appends to the file last. - - - - - - Creates and opens the file for logging. If - is false then the fully qualified name is determined and used. - - the name of the file to open - true to append to existing file - - This method will ensure that the directory structure - for the specified exists. - - - - - Get the current output file name - - the base file name - the output file name - - The output file name is based on the base fileName specified. - If is set then the output - file name is the same as the base file passed in. Otherwise - the output file depends on the date pattern, on the count - direction or both. - - - - - Determines curSizeRollBackups (only within the current roll point) - - - - - Generates a wildcard pattern that can be used to find all files - that are similar to the base file name. - - - - - - - Builds a list of filenames for all files matching the base filename plus a file - pattern. - - - - - - - Initiates a roll over if needed for crossing a date boundary since the last run. - - - - - Initializes based on existing conditions at time of . - - - - Initializes based on existing conditions at time of . - The following is done - - determine curSizeRollBackups (only within the current roll point) - initiates a roll over if needed for crossing a date boundary since the last run. - - - - - - - Does the work of bumping the 'current' file counter higher - to the highest count when an incremental file name is seen. - The highest count is either the first file (when count direction - is greater than 0) or the last file (when count direction less than 0). - In either case, we want to know the highest count that is present. - - - - - - - Takes a list of files and a base file name, and looks for - 'incremented' versions of the base file. Bumps the max - count up to the highest count seen. - - - - - - - Calculates the RollPoint for the datePattern supplied. - - the date pattern to calculate the check period for - The RollPoint that is most accurate for the date pattern supplied - - Essentially the date pattern is examined to determine what the - most suitable roll point is. The roll point chosen is the roll point - with the smallest period that can be detected using the date pattern - supplied. i.e. if the date pattern only outputs the year, month, day - and hour then the smallest roll point that can be detected would be - and hourly roll point as minutes could not be detected. - - - - - Initialize the appender based on the options set - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - Sets initial conditions including date/time roll over information, first check, - scheduledFilename, and calls to initialize - the current number of backups. - - - - - - Rollover the file(s) to date/time tagged file(s). - - set to true if the file to be rolled is currently open - - - Rollover the file(s) to date/time tagged file(s). - Resets curSizeRollBackups. - If fileIsOpen is set then the new file is opened (through SafeOpenFile). - - - - - - Renames file to file . - - Name of existing file to roll. - New name for file. - - - Renames file to file . It - also checks for existence of target file and deletes if it does. - - - - - - Test if a file exists at a specified path - - the path to the file - true if the file exists - - - Test if a file exists at a specified path - - - - - - Deletes the specified file if it exists. - - The file to delete. - - - Delete a file if is exists. - The file is first moved to a new filename then deleted. - This allows the file to be removed even when it cannot - be deleted, but it still can be moved. - - - - - - Implements file roll base on file size. - - - - If the maximum number of size based backups is reached - (curSizeRollBackups == maxSizeRollBackups) then the oldest - file is deleted -- its index determined by the sign of countDirection. - If countDirection < 0, then files - {File.1, ..., File.curSizeRollBackups -1} - are renamed to {File.2, ..., - File.curSizeRollBackups}. Moreover, File is - renamed File.1 and closed. - - - A new file is created to receive further log output. - - - If maxSizeRollBackups is equal to zero, then the - File is truncated with no backup files created. - - - If maxSizeRollBackups < 0, then File is - renamed if needed and no files are deleted. - - - - - - Implements file roll. - - the base name to rename - - - If the maximum number of size based backups is reached - (curSizeRollBackups == maxSizeRollBackups) then the oldest - file is deleted -- its index determined by the sign of countDirection. - If countDirection < 0, then files - {File.1, ..., File.curSizeRollBackups -1} - are renamed to {File.2, ..., - File.curSizeRollBackups}. - - - If maxSizeRollBackups is equal to zero, then the - File is truncated with no backup files created. - - - If maxSizeRollBackups < 0, then File is - renamed if needed and no files are deleted. - - - This is called by to rename the files. - - - - - - Get the start time of the next window for the current rollpoint - - the current date - the type of roll point we are working with - the start time for the next roll point an interval after the currentDateTime date - - - Returns the date of the next roll point after the currentDateTime date passed to the method. - - - The basic strategy is to subtract the time parts that are less significant - than the rollpoint from the current time. This should roll the time back to - the start of the time window for the current rollpoint. Then we add 1 window - worth of time and get the start time of the next window for the rollpoint. - - - - - - This object supplies the current date/time. Allows test code to plug in - a method to control this class when testing date/time based rolling. - - - - - The date pattern. By default, the pattern is set to ".yyyy-MM-dd" - meaning daily rollover. - - - - - The actual formatted filename that is currently being written to - or will be the file transferred to on roll over - (based on staticLogFileName). - - - - - The timestamp when we shall next recompute the filename. - - - - - Holds date of last roll over - - - - - The type of rolling done - - - - - The default maximum file size is 10MB - - - - - There is zero backup files by default - - - - - How many sized based backups have been made so far - - - - - The rolling file count direction. - - - - - The rolling mode used in this appender. - - - - - Cache flag set if we are rolling by date. - - - - - Cache flag set if we are rolling by size. - - - - - Value indicating whether to always log to the same file. - - - - - FileName provided in configuration. Used for rolling properly - - - - - The 1st of January 1970 in UTC - - - - - Gets or sets the date pattern to be used for generating file names - when rolling over on date. - - - The date pattern to be used for generating file names when rolling - over on date. - - - - Takes a string in the same format as expected by - . - - - This property determines the rollover schedule when rolling over - on date. - - - - - - Gets or sets the maximum number of backup files that are kept before - the oldest is erased. - - - The maximum number of backup files that are kept before the oldest is - erased. - - - - If set to zero, then there will be no backup files and the log file - will be truncated when it reaches . - - - If a negative number is supplied then no deletions will be made. Note - that this could result in very slow performance as a large number of - files are rolled over unless is used. - - - The maximum applies to each time based group of files and - not the total. - - - - - - Gets or sets the maximum size that the output file is allowed to reach - before being rolled over to backup files. - - - The maximum size in bytes that the output file is allowed to reach before being - rolled over to backup files. - - - - This property is equivalent to except - that it is required for differentiating the setter taking a - argument from the setter taking a - argument. - - - The default maximum file size is 10MB (10*1024*1024). - - - - - - Gets or sets the maximum size that the output file is allowed to reach - before being rolled over to backup files. - - - The maximum size that the output file is allowed to reach before being - rolled over to backup files. - - - - This property allows you to specify the maximum size with the - suffixes "KB", "MB" or "GB" so that the size is interpreted being - expressed respectively in kilobytes, megabytes or gigabytes. - - - For example, the value "10KB" will be interpreted as 10240 bytes. - - - The default maximum file size is 10MB. - - - If you have the option to set the maximum file size programmatically - consider using the property instead as this - allows you to set the size in bytes as a . - - - - - - Gets or sets the rolling file count direction. - - - The rolling file count direction. - - - - Indicates if the current file is the lowest numbered file or the - highest numbered file. - - - By default newer files have lower numbers ( < 0), - i.e. log.1 is most recent, log.5 is the 5th backup, etc... - - - >= 0 does the opposite i.e. - log.1 is the first backup made, log.5 is the 5th backup made, etc. - For infinite backups use >= 0 to reduce - rollover costs. - - The default file count direction is -1. - - - - - Gets or sets the rolling style. - - The rolling style. - - - The default rolling style is . - - - When set to this appender's - property is set to false, otherwise - the appender would append to a single file rather than rolling - the file each time it is opened. - - - - - - Gets or sets a value indicating whether to always log to - the same file. - - - true if always should be logged to the same file, otherwise false. - - - - By default file.log is always the current file. Optionally - file.log.yyyy-mm-dd for current formatted datePattern can by the currently - logging file (or file.log.curSizeRollBackup or even - file.log.yyyy-mm-dd.curSizeRollBackup). - - - This will make time based rollovers with a large number of backups - much faster as the appender it won't have to rename all the backups! - - - - - - Style of rolling to use - - - - Style of rolling to use - - - - - - Roll files once per program execution - - - - Roll files once per program execution. - Well really once each time this appender is - configured. - - - Setting this option also sets AppendToFile to - false on the RollingFileAppender, otherwise - this appender would just be a normal file appender. - - - - - - Roll files based only on the size of the file - - - - - Roll files based only on the date - - - - - Roll files based on both the size and date of the file - - - - - The code assumes that the following 'time' constants are in a increasing sequence. - - - - The code assumes that the following 'time' constants are in a increasing sequence. - - - - - - Roll the log not based on the date - - - - - Roll the log for each minute - - - - - Roll the log for each hour - - - - - Roll the log twice a day (midday and midnight) - - - - - Roll the log each day (midnight) - - - - - Roll the log each week - - - - - Roll the log each month - - - - - This interface is used to supply Date/Time information to the . - - - This interface is used to supply Date/Time information to the . - Used primarily to allow test classes to plug themselves in so they can - supply test date/times. - - - - - Gets the current time. - - The current time. - - - Gets the current time. - - - - - - Default implementation of that returns the current time. - - - - - Gets the current time. - - The current time. - - - Gets the current time. - - - - - - Send an e-mail when a specific logging event occurs, typically on errors - or fatal errors. - - - - The number of logging events delivered in this e-mail depend on - the value of option. The - keeps only the last - logging events in its - cyclic buffer. This keeps memory requirements at a reasonable level while - still delivering useful application context. - - - Authentication and setting the server Port are only available on the MS .NET 1.1 runtime. - For these features to be enabled you need to ensure that you are using a version of - the log4net assembly that is built against the MS .NET 1.1 framework and that you are - running the your application on the MS .NET 1.1 runtime. On all other platforms only sending - unauthenticated messages to a server listening on port 25 (the default) is supported. - - - Authentication is supported by setting the property to - either or . - If using authentication then the - and properties must also be set. - - - To set the SMTP server port use the property. The default port is 25. - - - Nicko Cadell - Gert Driesen - - - - Default constructor - - - - Default constructor - - - - - - Sends the contents of the cyclic buffer as an e-mail message. - - The logging events to send. - - - - Send the email message - - the body text to include in the mail - - - - Gets or sets a semicolon-delimited list of recipient e-mail addresses. - - - A semicolon-delimited list of e-mail addresses. - - - - A semicolon-delimited list of recipient e-mail addresses. - - - - - - Gets or sets the e-mail address of the sender. - - - The e-mail address of the sender. - - - - The e-mail address of the sender. - - - - - - Gets or sets the subject line of the e-mail message. - - - The subject line of the e-mail message. - - - - The subject line of the e-mail message. - - - - - - Gets or sets the name of the SMTP relay mail server to use to send - the e-mail messages. - - - The name of the e-mail relay server. If SmtpServer is not set, the - name of the local SMTP server is used. - - - - The name of the e-mail relay server. If SmtpServer is not set, the - name of the local SMTP server is used. - - - - - - Obsolete - - - Use the BufferingAppenderSkeleton Fix methods instead - - - - Obsolete property. - - - - - - The mode to use to authentication with the SMTP server - - - Authentication is only available on the MS .NET 1.1 runtime. - - Valid Authentication mode values are: , - , and . - The default value is . When using - you must specify the - and to use to authenticate. - When using the Windows credentials for the current - thread, if impersonating, or the process will be used to authenticate. - - - - - - The username to use to authenticate with the SMTP server - - - Authentication is only available on the MS .NET 1.1 runtime. - - A and must be specified when - is set to , - otherwise the username will be ignored. - - - - - - The password to use to authenticate with the SMTP server - - - Authentication is only available on the MS .NET 1.1 runtime. - - A and must be specified when - is set to , - otherwise the password will be ignored. - - - - - - The port on which the SMTP server is listening - - - Server Port is only available on the MS .NET 1.1 runtime. - - The port on which the SMTP server is listening. The default - port is 25. The Port can only be changed when running on - the MS .NET 1.1 runtime. - - - - - - Gets or sets the priority of the e-mail message - - - One of the values. - - - - Sets the priority of the e-mails generated by this - appender. The default priority is . - - - If you are using this appender to report errors then - you may want to set the priority to . - - - - - - This appender requires a to be set. - - true - - - This appender requires a to be set. - - - - - - Values for the property. - - - - SMTP authentication modes. - - - - - - No authentication - - - - - Basic authentication. - - - Requires a username and password to be supplied - - - - - Integrated authentication - - - Uses the Windows credentials from the current thread or process to authenticate. - - - - - Send an email when a specific logging event occurs, typically on errors - or fatal errors. Rather than sending via smtp it writes a file into the - directory specified by . This allows services such - as the IIS SMTP agent to manage sending the messages. - - - - The configuration for this appender is identical to that of the SMTPAppender, - except that instead of specifying the SMTPAppender.SMTPHost you specify - . - - - The number of logging events delivered in this e-mail depend on - the value of option. The - keeps only the last - logging events in its - cyclic buffer. This keeps memory requirements at a reasonable level while - still delivering useful application context. - - - Niall Daley - Nicko Cadell - - - - Default constructor - - - - Default constructor - - - - - - Sends the contents of the cyclic buffer as an e-mail message. - - The logging events to send. - - - Sends the contents of the cyclic buffer as an e-mail message. - - - - - - Activate the options on this appender. - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - - - - Convert a path into a fully qualified path. - - The path to convert. - The fully qualified path. - - - Converts the path specified to a fully - qualified path. If the path is relative it is - taken as relative from the application base - directory. - - - - - - The security context to use for privileged calls - - - - - Gets or sets a semicolon-delimited list of recipient e-mail addresses. - - - A semicolon-delimited list of e-mail addresses. - - - - A semicolon-delimited list of e-mail addresses. - - - - - - Gets or sets the e-mail address of the sender. - - - The e-mail address of the sender. - - - - The e-mail address of the sender. - - - - - - Gets or sets the subject line of the e-mail message. - - - The subject line of the e-mail message. - - - - The subject line of the e-mail message. - - - - - - Gets or sets the path to write the messages to. - - - - Gets or sets the path to write the messages to. This should be the same - as that used by the agent sending the messages. - - - - - - Gets or sets the used to write to the pickup directory. - - - The used to write to the pickup directory. - - - - Unless a specified here for this appender - the is queried for the - security context to use. The default behavior is to use the security context - of the current thread. - - - - - - This appender requires a to be set. - - true - - - This appender requires a to be set. - - - - - - Appender that allows clients to connect via Telnet to receive log messages - - - - The TelnetAppender accepts socket connections and streams logging messages - back to the client. - The output is provided in a telnet-friendly way so that a log can be monitored - over a TCP/IP socket. - This allows simple remote monitoring of application logging. - - - The default is 23 (the telnet port). - - - Keith Long - Nicko Cadell - - - - Default constructor - - - - Default constructor - - - - - - Overrides the parent method to close the socket handler - - - - Closes all the outstanding connections. - - - - - - Initialize the appender based on the options set. - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - Create the socket handler and wait for connections - - - - - - Writes the logging event to each connected client. - - The event to log. - - - Writes the logging event to each connected client. - - - - - - Gets or sets the TCP port number on which this will listen for connections. - - - An integer value in the range to - indicating the TCP port number on which this will listen for connections. - - - - The default value is 23 (the telnet port). - - - The value specified is less than - or greater than . - - - - This appender requires a to be set. - - true - - - This appender requires a to be set. - - - - - - Helper class to manage connected clients - - - - The SocketHandler class is used to accept connections from - clients. It is threaded so that clients can connect/disconnect - asynchronously. - - - - - - Opens a new server port on - - the local port to listen on for connections - - - Creates a socket handler on the specified local server port. - - - - - - Sends a string message to each of the connected clients - - the text to send - - - Sends a string message to each of the connected clients - - - - - - Add a client to the internal clients list - - client to add - - - - Remove a client from the internal clients list - - client to remove - - - - Callback used to accept a connection on the server socket - - The result of the asynchronous operation - - - On connection adds to the list of connections - if there are two many open connections you will be disconnected - - - - - - Close all network connections - - - - Make sure we close all network connections - - - - - - Test if this handler has active connections - - - true if this handler has active connections - - - - This property will be true while this handler has - active connections, that is at least one connection that - the handler will attempt to send a message to. - - - - - - Class that represents a client connected to this handler - - - - Class that represents a client connected to this handler - - - - - - Create this for the specified - - the client's socket - - - Opens a stream writer on the socket. - - - - - - Write a string to the client - - string to send - - - Write a string to the client - - - - - - Cleanup the clients connection - - - - Close the socket connection. - - - - - - Appends log events to the system. - - - - The application configuration file can be used to control what listeners - are actually used. See the MSDN documentation for the - class for details on configuring the - trace system. - - - Events are written using the System.Diagnostics.Trace.Write(string,string) - method. The event's logger name is passed as the value for the category name to the Write method. - - - Compact Framework
- The Compact Framework does not support the - class for any operation except Assert. When using the Compact Framework this - appender will write to the system rather than - the Trace system. This appender will therefore behave like the . -
-
- Douglas de la Torre - Nicko Cadell - Gert Driesen -
- - - Initializes a new instance of the . - - - - Default constructor. - - - - - - Initializes a new instance of the - with a specified layout. - - The layout to use with this appender. - - - Obsolete constructor. - - - - - - Writes the logging event to the system. - - The event to log. - - - Writes the logging event to the system. - - - - - - Immediate flush means that the underlying writer or output stream - will be flushed at the end of each append operation. - - - - Immediate flush is slower but ensures that each append request is - actually written. If is set to - false, then there is a good chance that the last few - logs events are not actually written to persistent media if and - when the application crashes. - - - The default value is true. - - - - - Gets or sets a value that indicates whether the appender will - flush at the end of each write. - - - The default behavior is to flush at the end of each - write. If the option is set tofalse, then the underlying - stream can defer writing to physical medium to a later time. - - - Avoiding the flush operation at the end of each append results - in a performance gain of 10 to 20 percent. However, there is safety - trade-off involved in skipping flushing. Indeed, when flushing is - skipped, then it is likely that the last few log events will not - be recorded on disk when the application exits. This is a high - price to pay even for a 20% performance gain. - - - - - - This appender requires a to be set. - - true - - - This appender requires a to be set. - - - - - - Assembly level attribute that specifies a domain to alias to this assembly's repository. - - - - AliasDomainAttribute is obsolete. Use AliasRepositoryAttribute instead of AliasDomainAttribute. - - - An assembly's logger repository is defined by its , - however this can be overridden by an assembly loaded before the target assembly. - - - An assembly can alias another assembly's domain to its repository by - specifying this attribute with the name of the target domain. - - - This attribute can only be specified on the assembly and may be used - as many times as necessary to alias all the required domains. - - - Nicko Cadell - Gert Driesen - - - - Assembly level attribute that specifies a repository to alias to this assembly's repository. - - - - An assembly's logger repository is defined by its , - however this can be overridden by an assembly loaded before the target assembly. - - - An assembly can alias another assembly's repository to its repository by - specifying this attribute with the name of the target repository. - - - This attribute can only be specified on the assembly and may be used - as many times as necessary to alias all the required repositories. - - - Nicko Cadell - Gert Driesen - - - - Initializes a new instance of the class with - the specified repository to alias to this assembly's repository. - - The repository to alias to this assemby's repository. - - - Initializes a new instance of the class with - the specified repository to alias to this assembly's repository. - - - - - - Gets or sets the repository to alias to this assemby's repository. - - - The repository to alias to this assemby's repository. - - - - The name of the repository to alias to this assemby's repository. - - - - - - Initializes a new instance of the class with - the specified domain to alias to this assembly's repository. - - The domain to alias to this assemby's repository. - - - Obsolete. Use instead of . - - - - - - Use this class to quickly configure a . - - - - Allows very simple programmatic configuration of log4net. - - - Only one appender can be configured using this configurator. - The appender is set at the root of the hierarchy and all logging - events will be delivered to that appender. - - - Appenders can also implement the interface. Therefore - they would require that the method - be called after the appenders properties have been configured. - - - Nicko Cadell - Gert Driesen - - - - Initializes a new instance of the class. - - - - Uses a private access modifier to prevent instantiation of this class. - - - - - - Initializes the log4net system with a default configuration. - - - - Initializes the log4net logging system using a - that will write to Console.Out. The log messages are - formatted using the layout object - with the - layout style. - - - - - - Initializes the log4net system using the specified appender. - - The appender to use to log all logging events. - - - Initializes the log4net system using the specified appender. - - - - - - Initializes the with a default configuration. - - The repository to configure. - - - Initializes the specified repository using a - that will write to Console.Out. The log messages are - formatted using the layout object - with the - layout style. - - - - - - Initializes the using the specified appender. - - The repository to configure. - The appender to use to log all logging events. - - - Initializes the using the specified appender. - - - - - - Base class for all log4net configuration attributes. - - - This is an abstract class that must be extended by - specific configurators. This attribute allows the - configurator to be parameterized by an assembly level - attribute. - - Nicko Cadell - Gert Driesen - - - - Constructor used by subclasses. - - the ordering priority for this configurator - - - The is used to order the configurator - attributes before they are invoked. Higher priority configurators are executed - before lower priority ones. - - - - - - Configures the for the specified assembly. - - The assembly that this attribute was defined on. - The repository to configure. - - - Abstract method implemented by a subclass. When this method is called - the subclass should configure the . - - - - - - Compare this instance to another ConfiguratorAttribute - - the object to compare to - see - - - Compares the priorities of the two instances. - Sorts by priority in descending order. Objects with the same priority are - randomly ordered. - - - - - - Assembly level attribute that specifies the logging domain for the assembly. - - - - DomainAttribute is obsolete. Use RepositoryAttribute instead of DomainAttribute. - - - Assemblies are mapped to logging domains. Each domain has its own - logging repository. This attribute specified on the assembly controls - the configuration of the domain. The property specifies the name - of the domain that this assembly is a part of. The - specifies the type of the repository objects to create for the domain. If - this attribute is not specified and a is not specified - then the assembly will be part of the default shared logging domain. - - - This attribute can only be specified on the assembly and may only be used - once per assembly. - - - Nicko Cadell - Gert Driesen - - - - Assembly level attribute that specifies the logging repository for the assembly. - - - - Assemblies are mapped to logging repository. This attribute specified - on the assembly controls - the configuration of the repository. The property specifies the name - of the repository that this assembly is a part of. The - specifies the type of the object - to create for the assembly. If this attribute is not specified or a - is not specified then the assembly will be part of the default shared logging repository. - - - This attribute can only be specified on the assembly and may only be used - once per assembly. - - - Nicko Cadell - Gert Driesen - - - - Initializes a new instance of the class. - - - - Default constructor. - - - - - - Initialize a new instance of the class - with the name of the repository. - - The name of the repository. - - - Initialize the attribute with the name for the assembly's repository. - - - - - - Gets or sets the name of the logging repository. - - - The string name to use as the name of the repository associated with this - assembly. - - - - This value does not have to be unique. Several assemblies can share the - same repository. They will share the logging configuration of the repository. - - - - - - Gets or sets the type of repository to create for this assembly. - - - The type of repository to create for this assembly. - - - - The type of the repository to create for the assembly. - The type must implement the - interface. - - - This will be the type of repository created when - the repository is created. If multiple assemblies reference the - same repository then the repository is only created once using the - of the first assembly to call into the - repository. - - - - - - Initializes a new instance of the class. - - - - Obsolete. Use RepositoryAttribute instead of DomainAttribute. - - - - - - Initialize a new instance of the class - with the name of the domain. - - The name of the domain. - - - Obsolete. Use RepositoryAttribute instead of DomainAttribute. - - - - - - Use this class to initialize the log4net environment using an Xml tree. - - - - DOMConfigurator is obsolete. Use XmlConfigurator instead of DOMConfigurator. - - - Configures a using an Xml tree. - - - Nicko Cadell - Gert Driesen - - - - Private constructor - - - - - Automatically configures the log4net system based on the - application's configuration settings. - - - - DOMConfigurator is obsolete. Use XmlConfigurator instead of DOMConfigurator. - - Each application has a configuration file. This has the - same name as the application with '.config' appended. - This file is XML and calling this function prompts the - configurator to look in that file for a section called - log4net that contains the configuration data. - - - - - Automatically configures the using settings - stored in the application's configuration file. - - - - DOMConfigurator is obsolete. Use XmlConfigurator instead of DOMConfigurator. - - Each application has a configuration file. This has the - same name as the application with '.config' appended. - This file is XML and calling this function prompts the - configurator to look in that file for a section called - log4net that contains the configuration data. - - The repository to configure. - - - - Configures log4net using a log4net element - - - - DOMConfigurator is obsolete. Use XmlConfigurator instead of DOMConfigurator. - - Loads the log4net configuration from the XML element - supplied as . - - The element to parse. - - - - Configures the using the specified XML - element. - - - - DOMConfigurator is obsolete. Use XmlConfigurator instead of DOMConfigurator. - - Loads the log4net configuration from the XML element - supplied as . - - The repository to configure. - The element to parse. - - - - Configures log4net using the specified configuration file. - - The XML file to load the configuration from. - - - DOMConfigurator is obsolete. Use XmlConfigurator instead of DOMConfigurator. - - - The configuration file must be valid XML. It must contain - at least one element called log4net that holds - the log4net configuration data. - - - The log4net configuration file can possible be specified in the application's - configuration file (either MyAppName.exe.config for a - normal application on Web.config for an ASP.NET application). - - - The following example configures log4net using a configuration file, of which the - location is stored in the application's configuration file : - - - using log4net.Config; - using System.IO; - using System.Configuration; - - ... - - DOMConfigurator.Configure(new FileInfo(ConfigurationSettings.AppSettings["log4net-config-file"])); - - - In the .config file, the path to the log4net can be specified like this : - - - - - - - - - - - - - Configures log4net using the specified configuration file. - - A stream to load the XML configuration from. - - - DOMConfigurator is obsolete. Use XmlConfigurator instead of DOMConfigurator. - - - The configuration data must be valid XML. It must contain - at least one element called log4net that holds - the log4net configuration data. - - - Note that this method will NOT close the stream parameter. - - - - - - Configures the using the specified configuration - file. - - The repository to configure. - The XML file to load the configuration from. - - - DOMConfigurator is obsolete. Use XmlConfigurator instead of DOMConfigurator. - - - The configuration file must be valid XML. It must contain - at least one element called log4net that holds - the configuration data. - - - The log4net configuration file can possible be specified in the application's - configuration file (either MyAppName.exe.config for a - normal application on Web.config for an ASP.NET application). - - - The following example configures log4net using a configuration file, of which the - location is stored in the application's configuration file : - - - using log4net.Config; - using System.IO; - using System.Configuration; - - ... - - DOMConfigurator.Configure(new FileInfo(ConfigurationSettings.AppSettings["log4net-config-file"])); - - - In the .config file, the path to the log4net can be specified like this : - - - - - - - - - - - - - Configures the using the specified configuration - file. - - The repository to configure. - The stream to load the XML configuration from. - - - DOMConfigurator is obsolete. Use XmlConfigurator instead of DOMConfigurator. - - - The configuration data must be valid XML. It must contain - at least one element called log4net that holds - the configuration data. - - - Note that this method will NOT close the stream parameter. - - - - - - Configures log4net using the file specified, monitors the file for changes - and reloads the configuration if a change is detected. - - The XML file to load the configuration from. - - - DOMConfigurator is obsolete. Use XmlConfigurator instead of DOMConfigurator. - - - The configuration file must be valid XML. It must contain - at least one element called log4net that holds - the configuration data. - - - The configuration file will be monitored using a - and depends on the behavior of that class. - - - For more information on how to configure log4net using - a separate configuration file, see . - - - - - - - Configures the using the file specified, - monitors the file for changes and reloads the configuration if a change - is detected. - - The repository to configure. - The XML file to load the configuration from. - - - DOMConfigurator is obsolete. Use XmlConfigurator instead of DOMConfigurator. - - - The configuration file must be valid XML. It must contain - at least one element called log4net that holds - the configuration data. - - - The configuration file will be monitored using a - and depends on the behavior of that class. - - - For more information on how to configure log4net using - a separate configuration file, see . - - - - - - - Assembly level attribute to configure the . - - - - AliasDomainAttribute is obsolete. Use AliasRepositoryAttribute instead of AliasDomainAttribute. - - - This attribute may only be used at the assembly scope and can only - be used once per assembly. - - - Use this attribute to configure the - without calling one of the - methods. - - - Nicko Cadell - Gert Driesen - - - - Assembly level attribute to configure the . - - - - This attribute may only be used at the assembly scope and can only - be used once per assembly. - - - Use this attribute to configure the - without calling one of the - methods. - - - If neither of the or - properties are set the configuration is loaded from the application's .config file. - If set the property takes priority over the - property. The property - specifies a path to a file to load the config from. The path is relative to the - application's base directory; . - The property is used as a postfix to the assembly file name. - The config file must be located in the application's base directory; . - For example in a console application setting the to - config has the same effect as not specifying the or - properties. - - - The property can be set to cause the - to watch the configuration file for changes. - - - - Log4net will only look for assembly level configuration attributes once. - When using the log4net assembly level attributes to control the configuration - of log4net you must ensure that the first call to any of the - methods is made from the assembly with the configuration - attributes. - - - If you cannot guarantee the order in which log4net calls will be made from - different assemblies you must use programmatic configuration instead, i.e. - call the method directly. - - - - Nicko Cadell - Gert Driesen - - - - Default constructor - - - - Default constructor - - - - - - Configures the for the specified assembly. - - The assembly that this attribute was defined on. - The repository to configure. - - - Configure the repository using the . - The specified must extend the - class otherwise the will not be able to - configure it. - - - The does not extend . - - - - Attempt to load configuration from the local file system - - The assembly that this attribute was defined on. - The repository to configure. - - - - Configure the specified repository using a - - The repository to configure. - the FileInfo pointing to the config file - - - - Attempt to load configuration from a URI - - The assembly that this attribute was defined on. - The repository to configure. - - - - Gets or sets the filename of the configuration file. - - - The filename of the configuration file. - - - - If specified, this is the name of the configuration file to use with - the . This file path is relative to the - application base directory (). - - - The takes priority over the . - - - - - - Gets or sets the extension of the configuration file. - - - The extension of the configuration file. - - - - If specified this is the extension for the configuration file. - The path to the config file is built by using the application - base directory (), - the assembly file name and the config file extension. - - - If the is set to MyExt then - possible config file names would be: MyConsoleApp.exe.MyExt or - MyClassLibrary.dll.MyExt. - - - The takes priority over the . - - - - - - Gets or sets a value indicating whether to watch the configuration file. - - - true if the configuration should be watched, false otherwise. - - - - If this flag is specified and set to true then the framework - will watch the configuration file and will reload the config each time - the file is modified. - - - The config file can only be watched if it is loaded from local disk. - In a No-Touch (Smart Client) deployment where the application is downloaded - from a web server the config file may not reside on the local disk - and therefore it may not be able to watch it. - - - Watching configuration is not supported on the SSCLI. - - - - - - Class to register for the log4net section of the configuration file - - - The log4net section of the configuration file needs to have a section - handler registered. This is the section handler used. It simply returns - the XML element that is the root of the section. - - - Example of registering the log4net section handler : - - - -
- - - log4net configuration XML goes here - - - - - Nicko Cadell - Gert Driesen - - - - Initializes a new instance of the class. - - - - Default constructor. - - - - - - Parses the configuration section. - - The configuration settings in a corresponding parent configuration section. - The configuration context when called from the ASP.NET configuration system. Otherwise, this parameter is reserved and is a null reference. - The for the log4net section. - The for the log4net section. - - - Returns the containing the configuration data, - - - - - - Assembly level attribute that specifies a plugin to attach to - the repository. - - - - Specifies the type of a plugin to create and attach to the - assembly's repository. The plugin type must implement the - interface. - - - Nicko Cadell - Gert Driesen - - - - Interface used to create plugins. - - - - Interface used to create a plugin. - - - Nicko Cadell - Gert Driesen - - - - Creates the plugin object. - - the new plugin instance - - - Create and return a new plugin instance. - - - - - - Initializes a new instance of the class - with the specified type. - - The type name of plugin to create. - - - Create the attribute with the plugin type specified. - - - Where possible use the constructor that takes a . - - - - - - Initializes a new instance of the class - with the specified type. - - The type of plugin to create. - - - Create the attribute with the plugin type specified. - - - - - - Creates the plugin object defined by this attribute. - - - - Creates the instance of the object as - specified by this attribute. - - - The plugin object. - - - - Returns a representation of the properties of this object. - - - - Overrides base class method to - return a representation of the properties of this object. - - - A representation of the properties of this object - - - - Gets or sets the type for the plugin. - - - The type for the plugin. - - - - The type for the plugin. - - - - - - Gets or sets the type name for the plugin. - - - The type name for the plugin. - - - - The type name for the plugin. - - - Where possible use the property instead. - - - - - - Assembly level attribute to configure the . - - - - This attribute may only be used at the assembly scope and can only - be used once per assembly. - - - Use this attribute to configure the - without calling one of the - methods. - - - Nicko Cadell - - - - Construct provider attribute with type specified - - the type of the provider to use - - - The provider specified must subclass the - class. - - - - - - Configures the SecurityContextProvider - - The assembly that this attribute was defined on. - The repository to configure. - - - Creates a provider instance from the specified. - Sets this as the default security context provider . - - - - - - Gets or sets the type of the provider to use. - - - the type of the provider to use. - - - - The provider specified must subclass the - class. - - - - - - Use this class to initialize the log4net environment using an Xml tree. - - - - Configures a using an Xml tree. - - - Nicko Cadell - Gert Driesen - - - - Private constructor - - - - - Automatically configures the log4net system based on the - application's configuration settings. - - - - Each application has a configuration file. This has the - same name as the application with '.config' appended. - This file is XML and calling this function prompts the - configurator to look in that file for a section called - log4net that contains the configuration data. - - - To use this method to configure log4net you must specify - the section - handler for the log4net configuration section. See the - for an example. - - - - - - - Automatically configures the using settings - stored in the application's configuration file. - - - - Each application has a configuration file. This has the - same name as the application with '.config' appended. - This file is XML and calling this function prompts the - configurator to look in that file for a section called - log4net that contains the configuration data. - - - To use this method to configure log4net you must specify - the section - handler for the log4net configuration section. See the - for an example. - - - The repository to configure. - - - - Configures log4net using a log4net element - - - - Loads the log4net configuration from the XML element - supplied as . - - - The element to parse. - - - - Configures the using the specified XML - element. - - - Loads the log4net configuration from the XML element - supplied as . - - The repository to configure. - The element to parse. - - - - Configures log4net using the specified configuration file. - - The XML file to load the configuration from. - - - The configuration file must be valid XML. It must contain - at least one element called log4net that holds - the log4net configuration data. - - - The log4net configuration file can possible be specified in the application's - configuration file (either MyAppName.exe.config for a - normal application on Web.config for an ASP.NET application). - - - The first element matching <configuration> will be read as the - configuration. If this file is also a .NET .config file then you must specify - a configuration section for the log4net element otherwise .NET will - complain. Set the type for the section handler to , for example: - - -
- - - - - The following example configures log4net using a configuration file, of which the - location is stored in the application's configuration file : - - - using log4net.Config; - using System.IO; - using System.Configuration; - - ... - - XmlConfigurator.Configure(new FileInfo(ConfigurationSettings.AppSettings["log4net-config-file"])); - - - In the .config file, the path to the log4net can be specified like this : - - - - - - - - - - - - - Configures log4net using the specified configuration URI. - - A URI to load the XML configuration from. - - - The configuration data must be valid XML. It must contain - at least one element called log4net that holds - the log4net configuration data. - - - The must support the URI scheme specified. - - - - - - Configures log4net using the specified configuration data stream. - - A stream to load the XML configuration from. - - - The configuration data must be valid XML. It must contain - at least one element called log4net that holds - the log4net configuration data. - - - Note that this method will NOT close the stream parameter. - - - - - - Configures the using the specified configuration - file. - - The repository to configure. - The XML file to load the configuration from. - - - The configuration file must be valid XML. It must contain - at least one element called log4net that holds - the configuration data. - - - The log4net configuration file can possible be specified in the application's - configuration file (either MyAppName.exe.config for a - normal application on Web.config for an ASP.NET application). - - - The first element matching <configuration> will be read as the - configuration. If this file is also a .NET .config file then you must specify - a configuration section for the log4net element otherwise .NET will - complain. Set the type for the section handler to , for example: - - -
- - - - - The following example configures log4net using a configuration file, of which the - location is stored in the application's configuration file : - - - using log4net.Config; - using System.IO; - using System.Configuration; - - ... - - XmlConfigurator.Configure(new FileInfo(ConfigurationSettings.AppSettings["log4net-config-file"])); - - - In the .config file, the path to the log4net can be specified like this : - - - - - - - - - - - - - Configures the using the specified configuration - URI. - - The repository to configure. - A URI to load the XML configuration from. - - - The configuration data must be valid XML. It must contain - at least one element called log4net that holds - the configuration data. - - - The must support the URI scheme specified. - - - - - - Configures the using the specified configuration - file. - - The repository to configure. - The stream to load the XML configuration from. - - - The configuration data must be valid XML. It must contain - at least one element called log4net that holds - the configuration data. - - - Note that this method will NOT close the stream parameter. - - - - - - Configures log4net using the file specified, monitors the file for changes - and reloads the configuration if a change is detected. - - The XML file to load the configuration from. - - - The configuration file must be valid XML. It must contain - at least one element called log4net that holds - the configuration data. - - - The configuration file will be monitored using a - and depends on the behavior of that class. - - - For more information on how to configure log4net using - a separate configuration file, see . - - - - - - - Configures the using the file specified, - monitors the file for changes and reloads the configuration if a change - is detected. - - The repository to configure. - The XML file to load the configuration from. - - - The configuration file must be valid XML. It must contain - at least one element called log4net that holds - the configuration data. - - - The configuration file will be monitored using a - and depends on the behavior of that class. - - - For more information on how to configure log4net using - a separate configuration file, see . - - - - - - - Configures the specified repository using a log4net element. - - The hierarchy to configure. - The element to parse. - - - Loads the log4net configuration from the XML element - supplied as . - - - This method is ultimately called by one of the Configure methods - to load the configuration from an . - - - - - - Class used to watch config files. - - - - Uses the to monitor - changes to a specified file. Because multiple change notifications - may be raised when the file is modified, a timer is used to - compress the notifications into a single event. The timer - waits for time before delivering - the event notification. If any further - change notifications arrive while the timer is waiting it - is reset and waits again for to - elapse. - - - - - - The default amount of time to wait after receiving notification - before reloading the config file. - - - - - Watch a specified config file used to configure a repository - - The repository to configure. - The configuration file to watch. - - - Watch a specified config file used to configure a repository - - - - - - Holds the FileInfo used to configure the XmlConfigurator - - - - - Holds the repository being configured. - - - - - The timer used to compress the notification events. - - - - - Initializes a new instance of the class. - - The repository to configure. - The configuration file to watch. - - - Initializes a new instance of the class. - - - - - - Event handler used by . - - The firing the event. - The argument indicates the file that caused the event to be fired. - - - This handler reloads the configuration from the file when the event is fired. - - - - - - Event handler used by . - - The firing the event. - The argument indicates the file that caused the event to be fired. - - - This handler reloads the configuration from the file when the event is fired. - - - - - - Called by the timer when the configuration has been updated. - - null - - - - The implementation of the interface suitable - for use with the compact framework - - - - This implementation is a simple - mapping between repository name and - object. - - - The .NET Compact Framework 1.0 does not support retrieving assembly - level attributes therefore unlike the DefaultRepositorySelector - this selector does not examine the calling assembly for attributes. - - - Nicko Cadell - - - - Interface used by the to select the . - - - - The uses a - to specify the policy for selecting the correct - to return to the caller. - - - Nicko Cadell - Gert Driesen - - - - Gets the for the specified assembly. - - The assembly to use to lookup to the - The for the assembly. - - - Gets the for the specified assembly. - - - How the association between and - is made is not defined. The implementation may choose any method for - this association. The results of this method must be repeatable, i.e. - when called again with the same arguments the result must be the - save value. - - - - - - Gets the named . - - The name to use to lookup to the . - The named - - Lookup a named . This is the repository created by - calling . - - - - - Creates a new repository for the assembly specified. - - The assembly to use to create the domain to associate with the . - The type of repository to create, must implement . - The repository created. - - - The created will be associated with the domain - specified such that a call to with the - same assembly specified will return the same repository instance. - - - How the association between and - is made is not defined. The implementation may choose any method for - this association. - - - - - - Creates a new repository with the name specified. - - The name to associate with the . - The type of repository to create, must implement . - The repository created. - - - The created will be associated with the name - specified such that a call to with the - same name will return the same repository instance. - - - - - - Test if a named repository exists - - the named repository to check - true if the repository exists - - - Test if a named repository exists. Use - to create a new repository and to retrieve - a repository. - - - - - - Gets an array of all currently defined repositories. - - - An array of the instances created by - this . - - - Gets an array of all of the repositories created by this selector. - - - - - - Event to notify that a logger repository has been created. - - - Event to notify that a logger repository has been created. - - - - Event raised when a new repository is created. - The event source will be this selector. The event args will - be a which - holds the newly created . - - - - - - Create a new repository selector - - the type of the repositories to create, must implement - - - Create an new compact repository selector. - The default type for repositories must be specified, - an appropriate value would be . - - - throw if is null - throw if does not implement - - - - Get the for the specified assembly - - not used - The default - - - The argument is not used. This selector does not create a - separate repository for each assembly. - - - As a named repository is not specified the default repository is - returned. The default repository is named log4net-default-repository. - - - - - - Get the named - - the name of the repository to lookup - The named - - - Get the named . The default - repository is log4net-default-repository. Other repositories - must be created using the . - If the named repository does not exist an exception is thrown. - - - throw if is null - throw if the does not exist - - - - Create a new repository for the assembly specified - - not used - the type of repository to create, must implement - the repository created - - - The argument is not used. This selector does not create a - separate repository for each assembly. - - - If the is null then the - default repository type specified to the constructor is used. - - - As a named repository is not specified the default repository is - returned. The default repository is named log4net-default-repository. - - - - - - Create a new repository for the repository specified - - the repository to associate with the - the type of repository to create, must implement . - If this param is null then the default repository type is used. - the repository created - - - The created will be associated with the repository - specified such that a call to with the - same repository specified will return the same repository instance. - - - If the named repository already exists an exception will be thrown. - - - If is null then the default - repository type specified to the constructor is used. - - - throw if is null - throw if the already exists - - - - Test if a named repository exists - - the named repository to check - true if the repository exists - - - Test if a named repository exists. Use - to create a new repository and to retrieve - a repository. - - - - - - Gets a list of objects - - an array of all known objects - - - Gets an array of all of the repositories created by this selector. - - - - - - Notify the registered listeners that the repository has been created - - The repository that has been created - - - Raises the LoggerRepositoryCreatedEvent - event. - - - - - - Event to notify that a logger repository has been created. - - - Event to notify that a logger repository has been created. - - - - Event raised when a new repository is created. - The event source will be this selector. The event args will - be a which - holds the newly created . - - - - - - The default implementation of the interface. - - - - Uses attributes defined on the calling assembly to determine how to - configure the hierarchy for the repository. - - - Nicko Cadell - Gert Driesen - - - - Creates a new repository selector. - - The type of the repositories to create, must implement - - - Create an new repository selector. - The default type for repositories must be specified, - an appropriate value would be . - - - is . - does not implement . - - - - Gets the for the specified assembly. - - The assembly use to lookup the . - - - The type of the created and the repository - to create can be overridden by specifying the - attribute on the . - - - The default values are to use the - implementation of the interface and to use the - as the name of the repository. - - - The created will be automatically configured using - any attributes defined on - the . - - - The for the assembly - is . - - - - Gets the for the specified repository. - - The repository to use to lookup the . - The for the specified repository. - - - Returns the named repository. If is null - a is thrown. If the repository - does not exist a is thrown. - - - Use to create a repository. - - - is . - does not exist. - - - - Create a new repository for the assembly specified - - the assembly to use to create the repository to associate with the . - The type of repository to create, must implement . - The repository created. - - - The created will be associated with the repository - specified such that a call to with the - same assembly specified will return the same repository instance. - - - The type of the created and - the repository to create can be overridden by specifying the - attribute on the - . The default values are to use the - implementation of the - interface and to use the - as the name of the repository. - - - The created will be automatically - configured using any - attributes defined on the . - - - If a repository for the already exists - that repository will be returned. An error will not be raised and that - repository may be of a different type to that specified in . - Also the attribute on the - assembly may be used to override the repository type specified in - . - - - is . - - - - Creates a new repository for the assembly specified. - - the assembly to use to create the repository to associate with the . - The type of repository to create, must implement . - The name to assign to the created repository - Set to true to read and apply the assembly attributes - The repository created. - - - The created will be associated with the repository - specified such that a call to with the - same assembly specified will return the same repository instance. - - - The type of the created and - the repository to create can be overridden by specifying the - attribute on the - . The default values are to use the - implementation of the - interface and to use the - as the name of the repository. - - - The created will be automatically - configured using any - attributes defined on the . - - - If a repository for the already exists - that repository will be returned. An error will not be raised and that - repository may be of a different type to that specified in . - Also the attribute on the - assembly may be used to override the repository type specified in - . - - - is . - - - - Creates a new repository for the specified repository. - - The repository to associate with the . - The type of repository to create, must implement . - If this param is then the default repository type is used. - The new repository. - - - The created will be associated with the repository - specified such that a call to with the - same repository specified will return the same repository instance. - - - is . - already exists. - - - - Test if a named repository exists - - the named repository to check - true if the repository exists - - - Test if a named repository exists. Use - to create a new repository and to retrieve - a repository. - - - - - - Gets a list of objects - - an array of all known objects - - - Gets an array of all of the repositories created by this selector. - - - - - - Aliases a repository to an existing repository. - - The repository to alias. - The repository that the repository is aliased to. - - - The repository specified will be aliased to the repository when created. - The repository must not already exist. - - - When the repository is created it must utilize the same repository type as - the repository it is aliased to, otherwise the aliasing will fail. - - - - is . - -or- - is . - - - - - Notifies the registered listeners that the repository has been created. - - The repository that has been created. - - - Raises the event. - - - - - - Gets the repository name and repository type for the specified assembly. - - The assembly that has a . - in/out param to hold the repository name to use for the assembly, caller should set this to the default value before calling. - in/out param to hold the type of the repository to create for the assembly, caller should set this to the default value before calling. - is . - - - - Configures the repository using information from the assembly. - - The assembly containing - attributes which define the configuration for the repository. - The repository to configure. - - is . - -or- - is . - - - - - Loads the attribute defined plugins on the assembly. - - The assembly that contains the attributes. - The repository to add the plugins to. - - is . - -or- - is . - - - - - Loads the attribute defined aliases on the assembly. - - The assembly that contains the attributes. - The repository to alias to. - - is . - -or- - is . - - - - - Event to notify that a logger repository has been created. - - - Event to notify that a logger repository has been created. - - - - Event raised when a new repository is created. - The event source will be this selector. The event args will - be a which - holds the newly created . - - - - - - Defined error codes that can be passed to the method. - - - - Values passed to the method. - - - Nicko Cadell - - - - A general error - - - - - Error while writing output - - - - - Failed to flush file - - - - - Failed to close file - - - - - Unable to open output file - - - - - No layout specified - - - - - Failed to parse address - - - - - Appenders may delegate their error handling to an . - - - - Error handling is a particularly tedious to get right because by - definition errors are hard to predict and to reproduce. - - - Nicko Cadell - Gert Driesen - - - - Handles the error and information about the error condition is passed as - a parameter. - - The message associated with the error. - The that was thrown when the error occurred. - The error code associated with the error. - - - Handles the error and information about the error condition is passed as - a parameter. - - - - - - Prints the error message passed as a parameter. - - The message associated with the error. - The that was thrown when the error occurred. - - - See . - - - - - - Prints the error message passed as a parameter. - - The message associated with the error. - - - See . - - - - - - Interface for objects that require fixing. - - - - Interface that indicates that the object requires fixing before it - can be taken outside the context of the appender's - method. - - - When objects that implement this interface are stored - in the context properties maps - and - are fixed - (see ) the - method will be called. - - - Nicko Cadell - - - - Get a portable version of this object - - the portable instance of this object - - - Get a portable instance object that represents the current - state of this object. The portable object can be stored - and logged from any thread with identical results. - - - - - - Interface that all loggers implement - - - - This interface supports logging events and testing if a level - is enabled for logging. - - - These methods will not throw exceptions. Note to implementor, ensure - that the implementation of these methods cannot allow an exception - to be thrown to the caller. - - - Nicko Cadell - Gert Driesen - - - - This generic form is intended to be used by wrappers. - - The declaring type of the method that is - the stack boundary into the logging system for this call. - The level of the message to be logged. - The message object to log. - the exception to log, including its stack trace. Pass null to not log an exception. - - - Generates a logging event for the specified using - the and . - - - - - - This is the most generic printing method that is intended to be used - by wrappers. - - The event being logged. - - - Logs the specified logging event through this logger. - - - - - - Checks if this logger is enabled for a given passed as parameter. - - The level to check. - - true if this logger is enabled for level, otherwise false. - - - - Test if this logger is going to log events of the specified . - - - - - - Gets the name of the logger. - - - The name of the logger. - - - - The name of this logger - - - - - - Gets the where this - Logger instance is attached to. - - - The that this logger belongs to. - - - - Gets the where this - Logger instance is attached to. - - - - - - Base interface for all wrappers - - - - Base interface for all wrappers. - - - All wrappers must implement this interface. - - - Nicko Cadell - - - - Get the implementation behind this wrapper object. - - - The object that in implementing this object. - - - - The object that in implementing this - object. The Logger object may not - be the same object as this object because of logger decorators. - This gets the actual underlying objects that is used to process - the log events. - - - - - - Delegate used to handle logger repository creation event notifications - - The which created the repository. - The event args - that holds the instance that has been created. - - - Delegate used to handle logger repository creation event notifications. - - - - - - Provides data for the event. - - - - A - event is raised every time a is created. - - - - - - The created - - - - - Construct instance using specified - - the that has been created - - - Construct instance using specified - - - - - - The that has been created - - - The that has been created - - - - The that has been created - - - - - - Test if an triggers an action - - - - Implementations of this interface allow certain appenders to decide - when to perform an appender specific action. - - - The action or behavior triggered is defined by the implementation. - - - Nicko Cadell - - - - Test if this event triggers the action - - The event to check - true if this event triggers the action, otherwise false - - - Return true if this event triggers the action - - - - - - Defines the default set of levels recognized by the system. - - - - Each has an associated . - - - Levels have a numeric that defines the relative - ordering between levels. Two Levels with the same - are deemed to be equivalent. - - - The levels that are recognized by log4net are set for each - and each repository can have different levels defined. The levels are stored - in the on the repository. Levels are - looked up by name from the . - - - When logging at level INFO the actual level used is not but - the value of LoggerRepository.LevelMap["INFO"]. The default value for this is - , but this can be changed by reconfiguring the level map. - - - Each level has a in addition to its . The - is the string that is written into the output log. By default - the display name is the same as the level name, but this can be used to alias levels - or to localize the log output. - - - Some of the predefined levels recognized by the system are: - - - - . - - - . - - - . - - - . - - - . - - - . - - - . - - - - Nicko Cadell - Gert Driesen - - - - Constructor - - Integer value for this level, higher values represent more severe levels. - The string name of this level. - The display name for this level. This may be localized or otherwise different from the name - - - Initializes a new instance of the class with - the specified level name and value. - - - - - - Constructor - - Integer value for this level, higher values represent more severe levels. - The string name of this level. - - - Initializes a new instance of the class with - the specified level name and value. - - - - - - Returns the representation of the current - . - - - A representation of the current . - - - - Returns the level . - - - - - - Compares levels. - - The object to compare against. - true if the objects are equal. - - - Compares the levels of instances, and - defers to base class if the target object is not a - instance. - - - - - - Returns a hash code - - A hash code for the current . - - - Returns a hash code suitable for use in hashing algorithms and data - structures like a hash table. - - - Returns the hash code of the level . - - - - - - Compares this instance to a specified object and returns an - indication of their relative values. - - A instance or to compare with this instance. - - A 32-bit signed integer that indicates the relative order of the - values compared. The return value has these meanings: - - - Value - Meaning - - - Less than zero - This instance is less than . - - - Zero - This instance is equal to . - - - Greater than zero - - This instance is greater than . - -or- - is . - - - - - - - must be an instance of - or ; otherwise, an exception is thrown. - - - is not a . - - - - Returns a value indicating whether a specified - is greater than another specified . - - A - A - - true if is greater than - ; otherwise, false. - - - - Compares two levels. - - - - - - Returns a value indicating whether a specified - is less than another specified . - - A - A - - true if is less than - ; otherwise, false. - - - - Compares two levels. - - - - - - Returns a value indicating whether a specified - is greater than or equal to another specified . - - A - A - - true if is greater than or equal to - ; otherwise, false. - - - - Compares two levels. - - - - - - Returns a value indicating whether a specified - is less than or equal to another specified . - - A - A - - true if is less than or equal to - ; otherwise, false. - - - - Compares two levels. - - - - - - Returns a value indicating whether two specified - objects have the same value. - - A or . - A or . - - true if the value of is the same as the - value of ; otherwise, false. - - - - Compares two levels. - - - - - - Returns a value indicating whether two specified - objects have different values. - - A or . - A or . - - true if the value of is different from - the value of ; otherwise, false. - - - - Compares two levels. - - - - - - Compares two specified instances. - - The first to compare. - The second to compare. - - A 32-bit signed integer that indicates the relative order of the - two values compared. The return value has these meanings: - - - Value - Meaning - - - Less than zero - is less than . - - - Zero - is equal to . - - - Greater than zero - is greater than . - - - - - - Compares two levels. - - - - - - The level designates a higher level than all the rest. - - - - - The level designates very severe error events. - System unusable, emergencies. - - - - - The level designates very severe error events - that will presumably lead the application to abort. - - - - - The level designates very severe error events. - Take immediate action, alerts. - - - - - The level designates very severe error events. - Critical condition, critical. - - - - - The level designates very severe error events. - - - - - The level designates error events that might - still allow the application to continue running. - - - - - The level designates potentially harmful - situations. - - - - - The level designates informational messages - that highlight the progress of the application at the highest level. - - - - - The level designates informational messages that - highlight the progress of the application at coarse-grained level. - - - - - The level designates fine-grained informational - events that are most useful to debug an application. - - - - - The level designates fine-grained informational - events that are most useful to debug an application. - - - - - The level designates fine-grained informational - events that are most useful to debug an application. - - - - - The level designates fine-grained informational - events that are most useful to debug an application. - - - - - The level designates fine-grained informational - events that are most useful to debug an application. - - - - - The level designates fine-grained informational - events that are most useful to debug an application. - - - - - The level designates the lowest level possible. - - - - - Gets the name of this level. - - - The name of this level. - - - - Gets the name of this level. - - - - - - Gets the value of this level. - - - The value of this level. - - - - Gets the value of this level. - - - - - - Gets the display name of this level. - - - The display name of this level. - - - - Gets the display name of this level. - - - - - - A strongly-typed collection of objects. - - Nicko Cadell - - - - Creates a read-only wrapper for a LevelCollection instance. - - list to create a readonly wrapper arround - - A LevelCollection wrapper that is read-only. - - - - - Initializes a new instance of the LevelCollection class - that is empty and has the default initial capacity. - - - - - Initializes a new instance of the LevelCollection class - that has the specified initial capacity. - - - The number of elements that the new LevelCollection is initially capable of storing. - - - - - Initializes a new instance of the LevelCollection class - that contains elements copied from the specified LevelCollection. - - The LevelCollection whose elements are copied to the new collection. - - - - Initializes a new instance of the LevelCollection class - that contains elements copied from the specified array. - - The array whose elements are copied to the new list. - - - - Initializes a new instance of the LevelCollection class - that contains elements copied from the specified collection. - - The collection whose elements are copied to the new list. - - - - Allow subclasses to avoid our default constructors - - - - - - Copies the entire LevelCollection to a one-dimensional - array. - - The one-dimensional array to copy to. - - - - Copies the entire LevelCollection to a one-dimensional - array, starting at the specified index of the target array. - - The one-dimensional array to copy to. - The zero-based index in at which copying begins. - - - - Adds a to the end of the LevelCollection. - - The to be added to the end of the LevelCollection. - The index at which the value has been added. - - - - Removes all elements from the LevelCollection. - - - - - Creates a shallow copy of the . - - A new with a shallow copy of the collection data. - - - - Determines whether a given is in the LevelCollection. - - The to check for. - true if is found in the LevelCollection; otherwise, false. - - - - Returns the zero-based index of the first occurrence of a - in the LevelCollection. - - The to locate in the LevelCollection. - - The zero-based index of the first occurrence of - in the entire LevelCollection, if found; otherwise, -1. - - - - - Inserts an element into the LevelCollection at the specified index. - - The zero-based index at which should be inserted. - The to insert. - - is less than zero - -or- - is equal to or greater than . - - - - - Removes the first occurrence of a specific from the LevelCollection. - - The to remove from the LevelCollection. - - The specified was not found in the LevelCollection. - - - - - Removes the element at the specified index of the LevelCollection. - - The zero-based index of the element to remove. - - is less than zero - -or- - is equal to or greater than . - - - - - Returns an enumerator that can iterate through the LevelCollection. - - An for the entire LevelCollection. - - - - Adds the elements of another LevelCollection to the current LevelCollection. - - The LevelCollection whose elements should be added to the end of the current LevelCollection. - The new of the LevelCollection. - - - - Adds the elements of a array to the current LevelCollection. - - The array whose elements should be added to the end of the LevelCollection. - The new of the LevelCollection. - - - - Adds the elements of a collection to the current LevelCollection. - - The collection whose elements should be added to the end of the LevelCollection. - The new of the LevelCollection. - - - - Sets the capacity to the actual number of elements. - - - - - is less than zero - -or- - is equal to or greater than . - - - - - is less than zero - -or- - is equal to or greater than . - - - - - Gets the number of elements actually contained in the LevelCollection. - - - - - Gets a value indicating whether access to the collection is synchronized (thread-safe). - - true if access to the ICollection is synchronized (thread-safe); otherwise, false. - - - - Gets an object that can be used to synchronize access to the collection. - - - - - Gets or sets the at the specified index. - - The zero-based index of the element to get or set. - - is less than zero - -or- - is equal to or greater than . - - - - - Gets a value indicating whether the collection has a fixed size. - - true if the collection has a fixed size; otherwise, false. The default is false - - - - Gets a value indicating whether the IList is read-only. - - true if the collection is read-only; otherwise, false. The default is false - - - - Gets or sets the number of elements the LevelCollection can contain. - - - - - Supports type-safe iteration over a . - - - - - Advances the enumerator to the next element in the collection. - - - true if the enumerator was successfully advanced to the next element; - false if the enumerator has passed the end of the collection. - - - The collection was modified after the enumerator was created. - - - - - Sets the enumerator to its initial position, before the first element in the collection. - - - - - Gets the current element in the collection. - - - - - Type visible only to our subclasses - Used to access protected constructor - - - - - A value - - - - - Supports simple iteration over a . - - - - - Initializes a new instance of the Enumerator class. - - - - - - Advances the enumerator to the next element in the collection. - - - true if the enumerator was successfully advanced to the next element; - false if the enumerator has passed the end of the collection. - - - The collection was modified after the enumerator was created. - - - - - Sets the enumerator to its initial position, before the first element in the collection. - - - - - Gets the current element in the collection. - - - - - An evaluator that triggers at a threshold level - - - - This evaluator will trigger if the level of the event - passed to - is equal to or greater than the - level. - - - Nicko Cadell - - - - The threshold for triggering - - - - - Create a new evaluator using the threshold. - - - - Create a new evaluator using the threshold. - - - This evaluator will trigger if the level of the event - passed to - is equal to or greater than the - level. - - - - - - Create a new evaluator using the specified threshold. - - the threshold to trigger at - - - Create a new evaluator using the specified threshold. - - - This evaluator will trigger if the level of the event - passed to - is equal to or greater than the - level. - - - - - - Is this the triggering event? - - The event to check - This method returns true, if the event level - is equal or higher than the . - Otherwise it returns false - - - This evaluator will trigger if the level of the event - passed to - is equal to or greater than the - level. - - - - - - the threshold to trigger at - - - The that will cause this evaluator to trigger - - - - This evaluator will trigger if the level of the event - passed to - is equal to or greater than the - level. - - - - - - Mapping between string name and Level object - - - - Mapping between string name and object. - This mapping is held separately for each . - The level name is case insensitive. - - - Nicko Cadell - - - - Mapping from level name to Level object. The - level name is case insensitive - - - - - Construct the level map - - - - Construct the level map. - - - - - - Clear the internal maps of all levels - - - - Clear the internal maps of all levels - - - - - - Create a new Level and add it to the map - - the string to display for the Level - the level value to give to the Level - - - Create a new Level and add it to the map - - - - - - - Create a new Level and add it to the map - - the string to display for the Level - the level value to give to the Level - the display name to give to the Level - - - Create a new Level and add it to the map - - - - - - Add a Level to the map - - the Level to add - - - Add a Level to the map - - - - - - Lookup a named level from the map - - the name of the level to lookup is taken from this level. - If the level is not set on the map then this level is added - the level in the map with the name specified - - - Lookup a named level from the map. The name of the level to lookup is taken - from the property of the - argument. - - - If no level with the specified name is found then the - argument is added to the level map - and returned. - - - - - - Lookup a by name - - The name of the Level to lookup - a Level from the map with the name specified - - - Returns the from the - map with the name specified. If the no level is - found then null is returned. - - - - - - Return all possible levels as a list of Level objects. - - all possible levels as a list of Level objects - - - Return all possible levels as a list of Level objects. - - - - - - The internal representation of caller location information. - - - - This class uses the System.Diagnostics.StackTrace class to generate - a call stack. The caller's information is then extracted from this stack. - - - The System.Diagnostics.StackTrace class is not supported on the - .NET Compact Framework 1.0 therefore caller location information is not - available on that framework. - - - The System.Diagnostics.StackTrace class has this to say about Release builds: - - - "StackTrace information will be most informative with Debug build configurations. - By default, Debug builds include debug symbols, while Release builds do not. The - debug symbols contain most of the file, method name, line number, and column - information used in constructing StackFrame and StackTrace objects. StackTrace - might not report as many method calls as expected, due to code transformations - that occur during optimization." - - - This means that in a Release build the caller information may be incomplete or may - not exist at all! Therefore caller location information cannot be relied upon in a Release build. - - - Nicko Cadell - Gert Driesen - - - - When location information is not available the constant - NA is returned. Current value of this string - constant is ?. - - - - - Constructor - - The declaring type of the method that is - the stack boundary into the logging system for this call. - - - Initializes a new instance of the - class based on the current thread. - - - - - - Constructor - - The fully qualified class name. - The method name. - The file name. - The line number of the method within the file. - - - Initializes a new instance of the - class with the specified data. - - - - - - Gets the fully qualified class name of the caller making the logging - request. - - - The fully qualified class name of the caller making the logging - request. - - - - Gets the fully qualified class name of the caller making the logging - request. - - - - - - Gets the file name of the caller. - - - The file name of the caller. - - - - Gets the file name of the caller. - - - - - - Gets the line number of the caller. - - - The line number of the caller. - - - - Gets the line number of the caller. - - - - - - Gets the method name of the caller. - - - The method name of the caller. - - - - Gets the method name of the caller. - - - - - - Gets all available caller information - - - All available caller information, in the format - fully.qualified.classname.of.caller.methodName(Filename:line) - - - - Gets all available caller information, in the format - fully.qualified.classname.of.caller.methodName(Filename:line) - - - - - - Static manager that controls the creation of repositories - - - - Static manager that controls the creation of repositories - - - This class is used by the wrapper managers (e.g. ) - to provide access to the objects. - - - This manager also holds the that is used to - lookup and create repositories. The selector can be set either programmatically using - the property, or by setting the log4net.RepositorySelector - AppSetting in the applications config file to the fully qualified type name of the - selector to use. - - - Nicko Cadell - Gert Driesen - - - - Private constructor to prevent instances. Only static methods should be used. - - - - Private constructor to prevent instances. Only static methods should be used. - - - - - - Hook the shutdown event - - - - On the full .NET runtime, the static constructor hooks up the - AppDomain.ProcessExit and AppDomain.DomainUnload> events. - These are used to shutdown the log4net system as the application exits. - - - - - - Register for ProcessExit and DomainUnload events on the AppDomain - - - - This needs to be in a separate method because the events make - a LinkDemand for the ControlAppDomain SecurityPermission. Because - this is a LinkDemand it is demanded at JIT time. Therefore we cannot - catch the exception in the method itself, we have to catch it in the - caller. - - - - - - Return the default instance. - - the repository to lookup in - Return the default instance - - - Gets the for the repository specified - by the argument. - - - - - - Returns the default instance. - - The assembly to use to lookup the repository. - The default instance. - - - - Return the default instance. - - the repository to lookup in - Return the default instance - - - Gets the for the repository specified - by the argument. - - - - - - Returns the default instance. - - The assembly to use to lookup the repository. - The default instance. - - - Returns the default instance. - - - - - - Returns the named logger if it exists. - - The repository to lookup in. - The fully qualified logger name to look for. - - The logger found, or null if the named logger does not exist in the - specified repository. - - - - If the named logger exists (in the specified repository) then it - returns a reference to the logger, otherwise it returns - null. - - - - - - Returns the named logger if it exists. - - The assembly to use to lookup the repository. - The fully qualified logger name to look for. - - The logger found, or null if the named logger does not exist in the - specified assembly's repository. - - - - If the named logger exists (in the specified assembly's repository) then it - returns a reference to the logger, otherwise it returns - null. - - - - - - Returns all the currently defined loggers in the specified repository. - - The repository to lookup in. - All the defined loggers. - - - The root logger is not included in the returned array. - - - - - - Returns all the currently defined loggers in the specified assembly's repository. - - The assembly to use to lookup the repository. - All the defined loggers. - - - The root logger is not included in the returned array. - - - - - - Retrieves or creates a named logger. - - The repository to lookup in. - The name of the logger to retrieve. - The logger with the name specified. - - - Retrieves a logger named as the - parameter. If the named logger already exists, then the - existing instance will be returned. Otherwise, a new instance is - created. - - - By default, loggers do not have a set level but inherit - it from the hierarchy. This is one of the central features of - log4net. - - - - - - Retrieves or creates a named logger. - - The assembly to use to lookup the repository. - The name of the logger to retrieve. - The logger with the name specified. - - - Retrieves a logger named as the - parameter. If the named logger already exists, then the - existing instance will be returned. Otherwise, a new instance is - created. - - - By default, loggers do not have a set level but inherit - it from the hierarchy. This is one of the central features of - log4net. - - - - - - Shorthand for . - - The repository to lookup in. - The of which the fullname will be used as the name of the logger to retrieve. - The logger with the name specified. - - - Gets the logger for the fully qualified name of the type specified. - - - - - - Shorthand for . - - the assembly to use to lookup the repository - The of which the fullname will be used as the name of the logger to retrieve. - The logger with the name specified. - - - Gets the logger for the fully qualified name of the type specified. - - - - - - Shuts down the log4net system. - - - - Calling this method will safely close and remove all - appenders in all the loggers including root contained in all the - default repositories. - - - Some appenders need to be closed before the application exists. - Otherwise, pending logging events might be lost. - - - The shutdown method is careful to close nested - appenders before closing regular appenders. This is allows - configurations where a regular appender is attached to a logger - and again to a nested appender. - - - - - - Shuts down the repository for the repository specified. - - The repository to shutdown. - - - Calling this method will safely close and remove all - appenders in all the loggers including root contained in the - repository for the specified. - - - Some appenders need to be closed before the application exists. - Otherwise, pending logging events might be lost. - - - The shutdown method is careful to close nested - appenders before closing regular appenders. This is allows - configurations where a regular appender is attached to a logger - and again to a nested appender. - - - - - - Shuts down the repository for the repository specified. - - The assembly to use to lookup the repository. - - - Calling this method will safely close and remove all - appenders in all the loggers including root contained in the - repository for the repository. The repository is looked up using - the specified. - - - Some appenders need to be closed before the application exists. - Otherwise, pending logging events might be lost. - - - The shutdown method is careful to close nested - appenders before closing regular appenders. This is allows - configurations where a regular appender is attached to a logger - and again to a nested appender. - - - - - - Resets all values contained in this repository instance to their defaults. - - The repository to reset. - - - Resets all values contained in the repository instance to their - defaults. This removes all appenders from all loggers, sets - the level of all non-root loggers to null, - sets their additivity flag to true and sets the level - of the root logger to . Moreover, - message disabling is set its default "off" value. - - - - - - Resets all values contained in this repository instance to their defaults. - - The assembly to use to lookup the repository to reset. - - - Resets all values contained in the repository instance to their - defaults. This removes all appenders from all loggers, sets - the level of all non-root loggers to null, - sets their additivity flag to true and sets the level - of the root logger to . Moreover, - message disabling is set its default "off" value. - - - - - - Creates a repository with the specified name. - - The name of the repository, this must be unique amongst repositories. - The created for the repository. - - - CreateDomain is obsolete. Use CreateRepository instead of CreateDomain. - - - Creates the default type of which is a - object. - - - The name must be unique. Repositories cannot be redefined. - An will be thrown if the repository already exists. - - - The specified repository already exists. - - - - Creates a repository with the specified name. - - The name of the repository, this must be unique amongst repositories. - The created for the repository. - - - Creates the default type of which is a - object. - - - The name must be unique. Repositories cannot be redefined. - An will be thrown if the repository already exists. - - - The specified repository already exists. - - - - Creates a repository with the specified name and repository type. - - The name of the repository, this must be unique to the repository. - A that implements - and has a no arg constructor. An instance of this type will be created to act - as the for the repository specified. - The created for the repository. - - - CreateDomain is obsolete. Use CreateRepository instead of CreateDomain. - - - The name must be unique. Repositories cannot be redefined. - An Exception will be thrown if the repository already exists. - - - The specified repository already exists. - - - - Creates a repository with the specified name and repository type. - - The name of the repository, this must be unique to the repository. - A that implements - and has a no arg constructor. An instance of this type will be created to act - as the for the repository specified. - The created for the repository. - - - The name must be unique. Repositories cannot be redefined. - An Exception will be thrown if the repository already exists. - - - The specified repository already exists. - - - - Creates a repository for the specified assembly and repository type. - - The assembly to use to get the name of the repository. - A that implements - and has a no arg constructor. An instance of this type will be created to act - as the for the repository specified. - The created for the repository. - - - CreateDomain is obsolete. Use CreateRepository instead of CreateDomain. - - - The created will be associated with the repository - specified such that a call to with the - same assembly specified will return the same repository instance. - - - - - - Creates a repository for the specified assembly and repository type. - - The assembly to use to get the name of the repository. - A that implements - and has a no arg constructor. An instance of this type will be created to act - as the for the repository specified. - The created for the repository. - - - The created will be associated with the repository - specified such that a call to with the - same assembly specified will return the same repository instance. - - - - - - Gets an array of all currently defined repositories. - - An array of all the known objects. - - - Gets an array of all currently defined repositories. - - - - - - Internal method to get pertinent version info. - - A string of version info. - - - - Called when the event fires - - the that is exiting - null - - - Called when the event fires. - - - When the event is triggered the log4net system is . - - - - - - Called when the event fires - - the that is exiting - null - - - Called when the event fires. - - - When the event is triggered the log4net system is . - - - - - - Initialize the default repository selector - - - - - Gets or sets the repository selector used by the . - - - The repository selector used by the . - - - - The repository selector () is used by - the to create and select repositories - (). - - - The caller to supplies either a string name - or an assembly (if not supplied the assembly is inferred using - ). - - - This context is used by the selector to lookup a specific repository. - - - For the full .NET Framework, the default repository is DefaultRepositorySelector; - for the .NET Compact Framework CompactRepositorySelector is the default - repository. - - - - - - Implementation of the interface. - - - - This class should be used as the base for all wrapper implementations. - - - Nicko Cadell - Gert Driesen - - - - Constructs a new wrapper for the specified logger. - - The logger to wrap. - - - Constructs a new wrapper for the specified logger. - - - - - - The logger that this object is wrapping - - - - - Gets the implementation behind this wrapper object. - - - The object that this object is implementing. - - - - The Logger object may not be the same object as this object - because of logger decorators. - - - This gets the actual underlying objects that is used to process - the log events. - - - - - - Portable data structure used by - - - - Portable data structure used by - - - Nicko Cadell - - - - The logger name. - - - - The logger name. - - - - - - Level of logging event. - - - - Level of logging event. Level cannot be Serializable - because it is a flyweight. Due to its special serialization it - cannot be declared final either. - - - - - - The application supplied message. - - - - The application supplied message of logging event. - - - - - - The name of thread - - - - The name of thread in which this logging event was generated - - - - - - The time the event was logged - - - - The TimeStamp is stored in the local time zone for this computer. - - - - - - Location information for the caller. - - - - Location information for the caller. - - - - - - String representation of the user - - - - String representation of the user's windows name, - like DOMAIN\username - - - - - - String representation of the identity. - - - - String representation of the current thread's principal identity. - - - - - - The string representation of the exception - - - - The string representation of the exception - - - - - - String representation of the AppDomain. - - - - String representation of the AppDomain. - - - - - - Additional event specific properties - - - - A logger or an appender may attach additional - properties to specific events. These properties - have a string key and an object value. - - - - - - Flags passed to the property - - - - Flags passed to the property - - - Nicko Cadell - - - - Fix the MDC - - - - - Fix the NDC - - - - - Fix the rendered message - - - - - Fix the thread name - - - - - Fix the callers location information - - - CAUTION: Very slow to generate - - - - - Fix the callers windows user name - - - CAUTION: Slow to generate - - - - - Fix the domain friendly name - - - - - Fix the callers principal name - - - CAUTION: May be slow to generate - - - - - Fix the exception text - - - - - Fix the event properties - - - - - No fields fixed - - - - - All fields fixed - - - - - Partial fields fixed - - - - This set of partial fields gives good performance. The following fields are fixed: - - - - - - - - - - - - - The internal representation of logging events. - - - - When an affirmative decision is made to log then a - instance is created. This instance - is passed around to the different log4net components. - - - This class is of concern to those wishing to extend log4net. - - - Some of the values in instances of - are considered volatile, that is the values are correct at the - time the event is delivered to appenders, but will not be consistent - at any time afterwards. If an event is to be stored and then processed - at a later time these volatile values must be fixed by calling - . There is a performance penalty - for incurred by calling but it - is essential to maintaining data consistency. - - - Nicko Cadell - Gert Driesen - Douglas de la Torre - Daniel Cazzulino - - - - The key into the Properties map for the host name value. - - - - - The key into the Properties map for the thread identity value. - - - - - The key into the Properties map for the user name value. - - - - - Initializes a new instance of the class - from the supplied parameters. - - The declaring type of the method that is - the stack boundary into the logging system for this call. - The repository this event is logged in. - The name of the logger of this event. - The level of this event. - The message of this event. - The exception for this event. - - - Except , and , - all fields of LoggingEvent are filled when actually needed. Call - to cache all data locally - to prevent inconsistencies. - - This method is called by the log4net framework - to create a logging event. - - - - - - Initializes a new instance of the class - using specific data. - - The declaring type of the method that is - the stack boundary into the logging system for this call. - The repository this event is logged in. - Data used to initialize the logging event. - The fields in the struct that have already been fixed. - - - This constructor is provided to allow a - to be created independently of the log4net framework. This can - be useful if you require a custom serialization scheme. - - - Use the method to obtain an - instance of the class. - - - The parameter should be used to specify which fields in the - struct have been preset. Fields not specified in the - will be captured from the environment if requested or fixed. - - - - - - Initializes a new instance of the class - using specific data. - - The declaring type of the method that is - the stack boundary into the logging system for this call. - The repository this event is logged in. - Data used to initialize the logging event. - - - This constructor is provided to allow a - to be created independently of the log4net framework. This can - be useful if you require a custom serialization scheme. - - - Use the method to obtain an - instance of the class. - - - This constructor sets this objects flags to , - this assumes that all the data relating to this event is passed in via the - parameter and no other data should be captured from the environment. - - - - - - Initializes a new instance of the class - using specific data. - - Data used to initialize the logging event. - - - This constructor is provided to allow a - to be created independently of the log4net framework. This can - be useful if you require a custom serialization scheme. - - - Use the method to obtain an - instance of the class. - - - This constructor sets this objects flags to , - this assumes that all the data relating to this event is passed in via the - parameter and no other data should be captured from the environment. - - - - - - Serialization constructor - - The that holds the serialized object data. - The that contains contextual information about the source or destination. - - - Initializes a new instance of the class - with serialized data. - - - - - - Ensure that the repository is set. - - the value for the repository - - - - Write the rendered message to a TextWriter - - the writer to write the message to - - - Unlike the property this method - does store the message data in the internal cache. Therefore - if called only once this method should be faster than the - property, however if the message is - to be accessed multiple times then the property will be more efficient. - - - - - - Serializes this object into the provided. - - The to populate with data. - The destination for this serialization. - - - The data in this event must be fixed before it can be serialized. - - - The method must be called during the - method call if this event - is to be used outside that method. - - - - - - Gets the portable data for this . - - The for this event. - - - A new can be constructed using a - instance. - - - Does a fix of the data - in the logging event before returning the event data. - - - - - - Gets the portable data for this . - - The set of data to ensure is fixed in the LoggingEventData - The for this event. - - - A new can be constructed using a - instance. - - - - - - Returns this event's exception's rendered using the - . - - - This event's exception's rendered using the . - - - - Obsolete. Use instead. - - - - - - Returns this event's exception's rendered using the - . - - - This event's exception's rendered using the . - - - - Returns this event's exception's rendered using the - . - - - - - - Fix instance fields that hold volatile data. - - - - Some of the values in instances of - are considered volatile, that is the values are correct at the - time the event is delivered to appenders, but will not be consistent - at any time afterwards. If an event is to be stored and then processed - at a later time these volatile values must be fixed by calling - . There is a performance penalty - incurred by calling but it - is essential to maintaining data consistency. - - - Calling is equivalent to - calling passing the parameter - false. - - - See for more - information. - - - - - - Fixes instance fields that hold volatile data. - - Set to true to not fix data that takes a long time to fix. - - - Some of the values in instances of - are considered volatile, that is the values are correct at the - time the event is delivered to appenders, but will not be consistent - at any time afterwards. If an event is to be stored and then processed - at a later time these volatile values must be fixed by calling - . There is a performance penalty - for incurred by calling but it - is essential to maintaining data consistency. - - - The param controls the data that - is fixed. Some of the data that can be fixed takes a long time to - generate, therefore if you do not require those settings to be fixed - they can be ignored by setting the param - to true. This setting will ignore the - and settings. - - - Set to false to ensure that all - settings are fixed. - - - - - - Fix the fields specified by the parameter - - the fields to fix - - - Only fields specified in the will be fixed. - Fields will not be fixed if they have previously been fixed. - It is not possible to 'unfix' a field. - - - - - - Lookup a composite property in this event - - the key for the property to lookup - the value for the property - - - This event has composite properties that combine together properties from - several different contexts in the following order: - - - this events properties - - This event has that can be set. These - properties are specific to this event only. - - - - the thread properties - - The that are set on the current - thread. These properties are shared by all events logged on this thread. - - - - the global properties - - The that are set globally. These - properties are shared by all the threads in the AppDomain. - - - - - - - - - Get all the composite properties in this event - - the containing all the properties - - - See for details of the composite properties - stored by the event. - - - This method returns a single containing all the - properties defined for this event. - - - - - - The internal logging event data. - - - - - The internal logging event data. - - - - - The internal logging event data. - - - - - The fully qualified Type of the calling - logger class in the stack frame (i.e. the declaring type of the method). - - - - - The application supplied message of logging event. - - - - - The exception that was thrown. - - - This is not serialized. The string representation - is serialized instead. - - - - - The repository that generated the logging event - - - This is not serialized. - - - - - The fix state for this event - - - These flags indicate which fields have been fixed. - Not serialized. - - - - - Indicated that the internal cache is updateable (ie not fixed) - - - This is a seperate flag to m_fixFlags as it allows incrementel fixing and simpler - changes in the caching strategy. - - - - - Gets the time when the current process started. - - - This is the time when this process started. - - - - The TimeStamp is stored in the local time zone for this computer. - - - Tries to get the start time for the current process. - Failing that it returns the time of the first call to - this property. - - - Note that AppDomains may be loaded and unloaded within the - same process without the process terminating and therefore - without the process start time being reset. - - - - - - Gets the of the logging event. - - - The of the logging event. - - - - Gets the of the logging event. - - - - - - Gets the time of the logging event. - - - The time of the logging event. - - - - The TimeStamp is stored in the local time zone for this computer. - - - - - - Gets the name of the logger that logged the event. - - - The name of the logger that logged the event. - - - - Gets the name of the logger that logged the event. - - - - - - Gets the location information for this logging event. - - - The location information for this logging event. - - - - The collected information is cached for future use. - - - See the class for more information on - supported frameworks and the different behavior in Debug and - Release builds. - - - - - - Gets the message object used to initialize this event. - - - The message object used to initialize this event. - - - - Gets the message object used to initialize this event. - Note that this event may not have a valid message object. - If the event is serialized the message object will not - be transferred. To get the text of the message the - property must be used - not this property. - - - If there is no defined message object for this event then - null will be returned. - - - - - - Gets the exception object used to initialize this event. - - - The exception object used to initialize this event. - - - - Gets the exception object used to initialize this event. - Note that this event may not have a valid exception object. - If the event is serialized the exception object will not - be transferred. To get the text of the exception the - method must be used - not this property. - - - If there is no defined exception object for this event then - null will be returned. - - - - - - The that this event was created in. - - - - The that this event was created in. - - - - - - Gets the message, rendered through the . - - - The message rendered through the . - - - - The collected information is cached for future use. - - - - - - Gets the name of the current thread. - - - The name of the current thread, or the thread ID when - the name is not available. - - - - The collected information is cached for future use. - - - - - - Gets the name of the current user. - - - The name of the current user, or NOT AVAILABLE when the - underlying runtime has no support for retrieving the name of the - current user. - - - - Calls WindowsIdentity.GetCurrent().Name to get the name of - the current windows user. - - - To improve performance, we could cache the string representation of - the name, and reuse that as long as the identity stayed constant. - Once the identity changed, we would need to re-assign and re-render - the string. - - - However, the WindowsIdentity.GetCurrent() call seems to - return different objects every time, so the current implementation - doesn't do this type of caching. - - - Timing for these operations: - - - - Method - Results - - - WindowsIdentity.GetCurrent() - 10000 loops, 00:00:00.2031250 seconds - - - WindowsIdentity.GetCurrent().Name - 10000 loops, 00:00:08.0468750 seconds - - - - This means we could speed things up almost 40 times by caching the - value of the WindowsIdentity.GetCurrent().Name property, since - this takes (8.04-0.20) = 7.84375 seconds. - - - - - - Gets the identity of the current thread principal. - - - The string name of the identity of the current thread principal. - - - - Calls System.Threading.Thread.CurrentPrincipal.Identity.Name to get - the name of the current thread principal. - - - - - - Gets the AppDomain friendly name. - - - The AppDomain friendly name. - - - - Gets the AppDomain friendly name. - - - - - - Additional event specific properties. - - - Additional event specific properties. - - - - A logger or an appender may attach additional - properties to specific events. These properties - have a string key and an object value. - - - This property is for events that have been added directly to - this event. The aggregate properties (which include these - event properties) can be retrieved using - and . - - - Once the properties have been fixed this property - returns the combined cached properties. This ensures that updates to - this property are always reflected in the underlying storage. When - returning the combined properties there may be more keys in the - Dictionary than expected. - - - - - - The fixed fields in this event - - - The set of fields that are fixed in this event - - - - Fields will not be fixed if they have previously been fixed. - It is not possible to 'unfix' a field. - - - - - - Implementation of wrapper interface. - - - - This implementation of the interface - forwards to the held by the base class. - - - This logger has methods to allow the caller to log at the following - levels: - - - - DEBUG - - The and methods log messages - at the DEBUG level. That is the level with that name defined in the - repositories . The default value - for this level is . The - property tests if this level is enabled for logging. - - - - INFO - - The and methods log messages - at the INFO level. That is the level with that name defined in the - repositories . The default value - for this level is . The - property tests if this level is enabled for logging. - - - - WARN - - The and methods log messages - at the WARN level. That is the level with that name defined in the - repositories . The default value - for this level is . The - property tests if this level is enabled for logging. - - - - ERROR - - The and methods log messages - at the ERROR level. That is the level with that name defined in the - repositories . The default value - for this level is . The - property tests if this level is enabled for logging. - - - - FATAL - - The and methods log messages - at the FATAL level. That is the level with that name defined in the - repositories . The default value - for this level is . The - property tests if this level is enabled for logging. - - - - - The values for these levels and their semantic meanings can be changed by - configuring the for the repository. - - - Nicko Cadell - Gert Driesen - - - - The ILog interface is use by application to log messages into - the log4net framework. - - - - Use the to obtain logger instances - that implement this interface. The - static method is used to get logger instances. - - - This class contains methods for logging at different levels and also - has properties for determining if those logging levels are - enabled in the current configuration. - - - This interface can be implemented in different ways. This documentation - specifies reasonable behavior that a caller can expect from the actual - implementation, however different implementations reserve the right to - do things differently. - - - Simple example of logging messages - - ILog log = LogManager.GetLogger("application-log"); - - log.Info("Application Start"); - log.Debug("This is a debug message"); - - if (log.IsDebugEnabled) - { - log.Debug("This is another debug message"); - } - - - - - Nicko Cadell - Gert Driesen - - - Log a message object with the level. - - Log a message object with the level. - - The message object to log. - - - This method first checks if this logger is DEBUG - enabled by comparing the level of this logger with the - level. If this logger is - DEBUG enabled, then it converts the message object - (passed as parameter) to a string by invoking the appropriate - . It then - proceeds to call all the registered appenders in this logger - and also higher in the hierarchy depending on the value of - the additivity flag. - - WARNING Note that passing an - to this method will print the name of the - but no stack trace. To print a stack trace use the - form instead. - - - - - - - - Log a message object with the level including - the stack trace of the passed - as a parameter. - - The message object to log. - The exception to log, including its stack trace. - - - See the form for more detailed information. - - - - - - - Log a formatted string with the level. - - Logs a formatted message string with the level. - - A String containing zero or more format items - An Object array containing zero or more objects to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - - Logs a formatted message string with the level. - - A String containing zero or more format items - An Object to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - - Logs a formatted message string with the level. - - A String containing zero or more format items - An Object to format - An Object to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - - Logs a formatted message string with the level. - - A String containing zero or more format items - An Object to format - An Object to format - An Object to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - - Logs a formatted message string with the level. - - An that supplies culture-specific formatting information - A String containing zero or more format items - An Object array containing zero or more objects to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - Log a message object with the level. - - Logs a message object with the level. - - - - This method first checks if this logger is INFO - enabled by comparing the level of this logger with the - level. If this logger is - INFO enabled, then it converts the message object - (passed as parameter) to a string by invoking the appropriate - . It then - proceeds to call all the registered appenders in this logger - and also higher in the hierarchy depending on the value of the - additivity flag. - - WARNING Note that passing an - to this method will print the name of the - but no stack trace. To print a stack trace use the - form instead. - - - The message object to log. - - - - - - Logs a message object with the INFO level including - the stack trace of the passed - as a parameter. - - The message object to log. - The exception to log, including its stack trace. - - - See the form for more detailed information. - - - - - - - Log a formatted message string with the level. - - Logs a formatted message string with the level. - - A String containing zero or more format items - An Object array containing zero or more objects to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - - Logs a formatted message string with the level. - - A String containing zero or more format items - An Object to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - - Logs a formatted message string with the level. - - A String containing zero or more format items - An Object to format - An Object to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - - Logs a formatted message string with the level. - - A String containing zero or more format items - An Object to format - An Object to format - An Object to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - - Logs a formatted message string with the level. - - An that supplies culture-specific formatting information - A String containing zero or more format items - An Object array containing zero or more objects to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - Log a message object with the level. - - Log a message object with the level. - - - - This method first checks if this logger is WARN - enabled by comparing the level of this logger with the - level. If this logger is - WARN enabled, then it converts the message object - (passed as parameter) to a string by invoking the appropriate - . It then - proceeds to call all the registered appenders in this logger - and also higher in the hierarchy depending on the value of the - additivity flag. - - WARNING Note that passing an - to this method will print the name of the - but no stack trace. To print a stack trace use the - form instead. - - - The message object to log. - - - - - - Log a message object with the level including - the stack trace of the passed - as a parameter. - - The message object to log. - The exception to log, including its stack trace. - - - See the form for more detailed information. - - - - - - - Log a formatted message string with the level. - - Logs a formatted message string with the level. - - A String containing zero or more format items - An Object array containing zero or more objects to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - - Logs a formatted message string with the level. - - A String containing zero or more format items - An Object to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - - Logs a formatted message string with the level. - - A String containing zero or more format items - An Object to format - An Object to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - - Logs a formatted message string with the level. - - A String containing zero or more format items - An Object to format - An Object to format - An Object to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - - Logs a formatted message string with the level. - - An that supplies culture-specific formatting information - A String containing zero or more format items - An Object array containing zero or more objects to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - Log a message object with the level. - - Logs a message object with the level. - - The message object to log. - - - This method first checks if this logger is ERROR - enabled by comparing the level of this logger with the - level. If this logger is - ERROR enabled, then it converts the message object - (passed as parameter) to a string by invoking the appropriate - . It then - proceeds to call all the registered appenders in this logger - and also higher in the hierarchy depending on the value of the - additivity flag. - - WARNING Note that passing an - to this method will print the name of the - but no stack trace. To print a stack trace use the - form instead. - - - - - - - - Log a message object with the level including - the stack trace of the passed - as a parameter. - - The message object to log. - The exception to log, including its stack trace. - - - See the form for more detailed information. - - - - - - - Log a formatted message string with the level. - - Logs a formatted message string with the level. - - A String containing zero or more format items - An Object array containing zero or more objects to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - - Logs a formatted message string with the level. - - A String containing zero or more format items - An Object to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - - Logs a formatted message string with the level. - - A String containing zero or more format items - An Object to format - An Object to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - - Logs a formatted message string with the level. - - A String containing zero or more format items - An Object to format - An Object to format - An Object to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - - Logs a formatted message string with the level. - - An that supplies culture-specific formatting information - A String containing zero or more format items - An Object array containing zero or more objects to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - Log a message object with the level. - - Log a message object with the level. - - - - This method first checks if this logger is FATAL - enabled by comparing the level of this logger with the - level. If this logger is - FATAL enabled, then it converts the message object - (passed as parameter) to a string by invoking the appropriate - . It then - proceeds to call all the registered appenders in this logger - and also higher in the hierarchy depending on the value of the - additivity flag. - - WARNING Note that passing an - to this method will print the name of the - but no stack trace. To print a stack trace use the - form instead. - - - The message object to log. - - - - - - Log a message object with the level including - the stack trace of the passed - as a parameter. - - The message object to log. - The exception to log, including its stack trace. - - - See the form for more detailed information. - - - - - - - Log a formatted message string with the level. - - Logs a formatted message string with the level. - - A String containing zero or more format items - An Object array containing zero or more objects to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - - Logs a formatted message string with the level. - - A String containing zero or more format items - An Object to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - - Logs a formatted message string with the level. - - A String containing zero or more format items - An Object to format - An Object to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - - Logs a formatted message string with the level. - - A String containing zero or more format items - An Object to format - An Object to format - An Object to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - - Logs a formatted message string with the level. - - An that supplies culture-specific formatting information - A String containing zero or more format items - An Object array containing zero or more objects to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - - Checks if this logger is enabled for the level. - - - true if this logger is enabled for events, false otherwise. - - - - This function is intended to lessen the computational cost of - disabled log debug statements. - - For some ILog interface log, when you write: - - log.Debug("This is entry number: " + i ); - - - You incur the cost constructing the message, string construction and concatenation in - this case, regardless of whether the message is logged or not. - - - If you are worried about speed (who isn't), then you should write: - - - if (log.IsDebugEnabled) - { - log.Debug("This is entry number: " + i ); - } - - - This way you will not incur the cost of parameter - construction if debugging is disabled for log. On - the other hand, if the log is debug enabled, you - will incur the cost of evaluating whether the logger is debug - enabled twice. Once in and once in - the . This is an insignificant overhead - since evaluating a logger takes about 1% of the time it - takes to actually log. This is the preferred style of logging. - - Alternatively if your logger is available statically then the is debug - enabled state can be stored in a static variable like this: - - - private static readonly bool isDebugEnabled = log.IsDebugEnabled; - - - Then when you come to log you can write: - - - if (isDebugEnabled) - { - log.Debug("This is entry number: " + i ); - } - - - This way the debug enabled state is only queried once - when the class is loaded. Using a private static readonly - variable is the most efficient because it is a run time constant - and can be heavily optimized by the JIT compiler. - - - Of course if you use a static readonly variable to - hold the enabled state of the logger then you cannot - change the enabled state at runtime to vary the logging - that is produced. You have to decide if you need absolute - speed or runtime flexibility. - - - - - - - - Checks if this logger is enabled for the level. - - - true if this logger is enabled for events, false otherwise. - - - For more information see . - - - - - - - - Checks if this logger is enabled for the level. - - - true if this logger is enabled for events, false otherwise. - - - For more information see . - - - - - - - - Checks if this logger is enabled for the level. - - - true if this logger is enabled for events, false otherwise. - - - For more information see . - - - - - - - - Checks if this logger is enabled for the level. - - - true if this logger is enabled for events, false otherwise. - - - For more information see . - - - - - - - - Construct a new wrapper for the specified logger. - - The logger to wrap. - - - Construct a new wrapper for the specified logger. - - - - - - Virtual method called when the configuration of the repository changes - - the repository holding the levels - - - Virtual method called when the configuration of the repository changes - - - - - - Logs a message object with the DEBUG level. - - The message object to log. - - - This method first checks if this logger is DEBUG - enabled by comparing the level of this logger with the - DEBUG level. If this logger is - DEBUG enabled, then it converts the message object - (passed as parameter) to a string by invoking the appropriate - . It then - proceeds to call all the registered appenders in this logger - and also higher in the hierarchy depending on the value of the - additivity flag. - - - WARNING Note that passing an - to this method will print the name of the - but no stack trace. To print a stack trace use the - form instead. - - - - - - Logs a message object with the DEBUG level - - The message object to log. - The exception to log, including its stack trace. - - - Logs a message object with the DEBUG level including - the stack trace of the passed - as a parameter. - - - See the form for more detailed information. - - - - - - - Logs a formatted message string with the DEBUG level. - - A String containing zero or more format items - An Object array containing zero or more objects to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - The string is formatted using the - format provider. To specify a localized provider use the - method. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Logs a formatted message string with the DEBUG level. - - A String containing zero or more format items - An Object to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - The string is formatted using the - format provider. To specify a localized provider use the - method. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Logs a formatted message string with the DEBUG level. - - A String containing zero or more format items - An Object to format - An Object to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - The string is formatted using the - format provider. To specify a localized provider use the - method. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Logs a formatted message string with the DEBUG level. - - A String containing zero or more format items - An Object to format - An Object to format - An Object to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - The string is formatted using the - format provider. To specify a localized provider use the - method. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Logs a formatted message string with the DEBUG level. - - An that supplies culture-specific formatting information - A String containing zero or more format items - An Object array containing zero or more objects to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Logs a message object with the INFO level. - - The message object to log. - - - This method first checks if this logger is INFO - enabled by comparing the level of this logger with the - INFO level. If this logger is - INFO enabled, then it converts the message object - (passed as parameter) to a string by invoking the appropriate - . It then - proceeds to call all the registered appenders in this logger - and also higher in the hierarchy depending on the value of - the additivity flag. - - - WARNING Note that passing an - to this method will print the name of the - but no stack trace. To print a stack trace use the - form instead. - - - - - - Logs a message object with the INFO level. - - The message object to log. - The exception to log, including its stack trace. - - - Logs a message object with the INFO level including - the stack trace of the - passed as a parameter. - - - See the form for more detailed information. - - - - - - - Logs a formatted message string with the INFO level. - - A String containing zero or more format items - An Object array containing zero or more objects to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - The string is formatted using the - format provider. To specify a localized provider use the - method. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Logs a formatted message string with the INFO level. - - A String containing zero or more format items - An Object to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - The string is formatted using the - format provider. To specify a localized provider use the - method. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Logs a formatted message string with the INFO level. - - A String containing zero or more format items - An Object to format - An Object to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - The string is formatted using the - format provider. To specify a localized provider use the - method. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Logs a formatted message string with the INFO level. - - A String containing zero or more format items - An Object to format - An Object to format - An Object to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - The string is formatted using the - format provider. To specify a localized provider use the - method. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Logs a formatted message string with the INFO level. - - An that supplies culture-specific formatting information - A String containing zero or more format items - An Object array containing zero or more objects to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Logs a message object with the WARN level. - - the message object to log - - - This method first checks if this logger is WARN - enabled by comparing the level of this logger with the - WARN level. If this logger is - WARN enabled, then it converts the message object - (passed as parameter) to a string by invoking the appropriate - . It then - proceeds to call all the registered appenders in this logger and - also higher in the hierarchy depending on the value of the - additivity flag. - - - WARNING Note that passing an to this - method will print the name of the but no - stack trace. To print a stack trace use the - form instead. - - - - - - Logs a message object with the WARN level - - The message object to log. - The exception to log, including its stack trace. - - - Logs a message object with the WARN level including - the stack trace of the - passed as a parameter. - - - See the form for more detailed information. - - - - - - - Logs a formatted message string with the WARN level. - - A String containing zero or more format items - An Object array containing zero or more objects to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - The string is formatted using the - format provider. To specify a localized provider use the - method. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Logs a formatted message string with the WARN level. - - A String containing zero or more format items - An Object to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - The string is formatted using the - format provider. To specify a localized provider use the - method. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Logs a formatted message string with the WARN level. - - A String containing zero or more format items - An Object to format - An Object to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - The string is formatted using the - format provider. To specify a localized provider use the - method. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Logs a formatted message string with the WARN level. - - A String containing zero or more format items - An Object to format - An Object to format - An Object to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - The string is formatted using the - format provider. To specify a localized provider use the - method. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Logs a formatted message string with the WARN level. - - An that supplies culture-specific formatting information - A String containing zero or more format items - An Object array containing zero or more objects to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Logs a message object with the ERROR level. - - The message object to log. - - - This method first checks if this logger is ERROR - enabled by comparing the level of this logger with the - ERROR level. If this logger is - ERROR enabled, then it converts the message object - (passed as parameter) to a string by invoking the appropriate - . It then - proceeds to call all the registered appenders in this logger and - also higher in the hierarchy depending on the value of the - additivity flag. - - - WARNING Note that passing an to this - method will print the name of the but no - stack trace. To print a stack trace use the - form instead. - - - - - - Logs a message object with the ERROR level - - The message object to log. - The exception to log, including its stack trace. - - - Logs a message object with the ERROR level including - the stack trace of the - passed as a parameter. - - - See the form for more detailed information. - - - - - - - Logs a formatted message string with the ERROR level. - - A String containing zero or more format items - An Object array containing zero or more objects to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - The string is formatted using the - format provider. To specify a localized provider use the - method. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Logs a formatted message string with the ERROR level. - - A String containing zero or more format items - An Object to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - The string is formatted using the - format provider. To specify a localized provider use the - method. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Logs a formatted message string with the ERROR level. - - A String containing zero or more format items - An Object to format - An Object to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - The string is formatted using the - format provider. To specify a localized provider use the - method. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Logs a formatted message string with the ERROR level. - - A String containing zero or more format items - An Object to format - An Object to format - An Object to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - The string is formatted using the - format provider. To specify a localized provider use the - method. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Logs a formatted message string with the ERROR level. - - An that supplies culture-specific formatting information - A String containing zero or more format items - An Object array containing zero or more objects to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Logs a message object with the FATAL level. - - The message object to log. - - - This method first checks if this logger is FATAL - enabled by comparing the level of this logger with the - FATAL level. If this logger is - FATAL enabled, then it converts the message object - (passed as parameter) to a string by invoking the appropriate - . It then - proceeds to call all the registered appenders in this logger and - also higher in the hierarchy depending on the value of the - additivity flag. - - - WARNING Note that passing an to this - method will print the name of the but no - stack trace. To print a stack trace use the - form instead. - - - - - - Logs a message object with the FATAL level - - The message object to log. - The exception to log, including its stack trace. - - - Logs a message object with the FATAL level including - the stack trace of the - passed as a parameter. - - - See the form for more detailed information. - - - - - - - Logs a formatted message string with the FATAL level. - - A String containing zero or more format items - An Object array containing zero or more objects to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - The string is formatted using the - format provider. To specify a localized provider use the - method. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Logs a formatted message string with the FATAL level. - - A String containing zero or more format items - An Object to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - The string is formatted using the - format provider. To specify a localized provider use the - method. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Logs a formatted message string with the FATAL level. - - A String containing zero or more format items - An Object to format - An Object to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - The string is formatted using the - format provider. To specify a localized provider use the - method. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Logs a formatted message string with the FATAL level. - - A String containing zero or more format items - An Object to format - An Object to format - An Object to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - The string is formatted using the - format provider. To specify a localized provider use the - method. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Logs a formatted message string with the FATAL level. - - An that supplies culture-specific formatting information - A String containing zero or more format items - An Object array containing zero or more objects to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Event handler for the event - - the repository - Empty - - - - The fully qualified name of this declaring type not the type of any subclass. - - - - - Checks if this logger is enabled for the DEBUG - level. - - - true if this logger is enabled for DEBUG events, - false otherwise. - - - - This function is intended to lessen the computational cost of - disabled log debug statements. - - - For some log Logger object, when you write: - - - log.Debug("This is entry number: " + i ); - - - You incur the cost constructing the message, concatenation in - this case, regardless of whether the message is logged or not. - - - If you are worried about speed, then you should write: - - - if (log.IsDebugEnabled()) - { - log.Debug("This is entry number: " + i ); - } - - - This way you will not incur the cost of parameter - construction if debugging is disabled for log. On - the other hand, if the log is debug enabled, you - will incur the cost of evaluating whether the logger is debug - enabled twice. Once in IsDebugEnabled and once in - the Debug. This is an insignificant overhead - since evaluating a logger takes about 1% of the time it - takes to actually log. - - - - - - Checks if this logger is enabled for the INFO level. - - - true if this logger is enabled for INFO events, - false otherwise. - - - - See for more information and examples - of using this method. - - - - - - - Checks if this logger is enabled for the WARN level. - - - true if this logger is enabled for WARN events, - false otherwise. - - - - See for more information and examples - of using this method. - - - - - - - Checks if this logger is enabled for the ERROR level. - - - true if this logger is enabled for ERROR events, - false otherwise. - - - - See for more information and examples of using this method. - - - - - - - Checks if this logger is enabled for the FATAL level. - - - true if this logger is enabled for FATAL events, - false otherwise. - - - - See for more information and examples of using this method. - - - - - - - A SecurityContext used by log4net when interacting with protected resources - - - - A SecurityContext used by log4net when interacting with protected resources - for example with operating system services. This can be used to impersonate - a principal that has been granted privileges on the system resources. - - - Nicko Cadell - - - - Impersonate this SecurityContext - - State supplied by the caller - An instance that will - revoke the impersonation of this SecurityContext, or null - - - Impersonate this security context. Further calls on the current - thread should now be made in the security context provided - by this object. When the result - method is called the security - context of the thread should be reverted to the state it was in - before was called. - - - - - - The providers default instances. - - - - A configured component that interacts with potentially protected system - resources uses a to provide the elevated - privileges required. If the object has - been not been explicitly provided to the component then the component - will request one from this . - - - By default the is - an instance of which returns only - objects. This is a reasonable default - where the privileges required are not know by the system. - - - This default behavior can be overridden by subclassing the - and overriding the method to return - the desired objects. The default provider - can be replaced by programmatically setting the value of the - property. - - - An alternative is to use the log4net.Config.SecurityContextProviderAttribute - This attribute can be applied to an assembly in the same way as the - log4net.Config.XmlConfiguratorAttribute". The attribute takes - the type to use as the as an argument. - - - Nicko Cadell - - - - The default provider - - - - - Protected default constructor to allow subclassing - - - - Protected default constructor to allow subclassing - - - - - - Create a SecurityContext for a consumer - - The consumer requesting the SecurityContext - An impersonation context - - - The default implementation is to return a . - - - Subclasses should override this method to provide their own - behavior. - - - - - - Gets or sets the default SecurityContextProvider - - - The default SecurityContextProvider - - - - The default provider is used by configured components that - require a and have not had one - given to them. - - - By default this is an instance of - that returns objects. - - - The default provider can be set programmatically by setting - the value of this property to a sub class of - that has the desired behavior. - - - - - - Delegate used to handle creation of new wrappers. - - The logger to wrap in a wrapper. - - - Delegate used to handle creation of new wrappers. This delegate - is called from the - method to construct the wrapper for the specified logger. - - - The delegate to use is supplied to the - constructor. - - - - - - Maps between logger objects and wrapper objects. - - - - This class maintains a mapping between objects and - objects. Use the method to - lookup the for the specified . - - - New wrapper instances are created by the - method. The default behavior is for this method to delegate construction - of the wrapper to the delegate supplied - to the constructor. This allows specialization of the behavior without - requiring subclassing of this type. - - - Nicko Cadell - Gert Driesen - - - - Initializes a new instance of the - - The handler to use to create the wrapper objects. - - - Initializes a new instance of the class with - the specified handler to create the wrapper objects. - - - - - - Gets the wrapper object for the specified logger. - - The wrapper object for the specified logger - - - If the logger is null then the corresponding wrapper is null. - - - Looks up the wrapper it it has previously been requested and - returns it. If the wrapper has never been requested before then - the virtual method is - called. - - - - - - Creates the wrapper object for the specified logger. - - The logger to wrap in a wrapper. - The wrapper object for the logger. - - - This implementation uses the - passed to the constructor to create the wrapper. This method - can be overridden in a subclass. - - - - - - Called when a monitored repository shutdown event is received. - - The that is shutting down - - - This method is called when a that this - is holding loggers for has signaled its shutdown - event . The default - behavior of this method is to release the references to the loggers - and their wrappers generated for this repository. - - - - - - Event handler for repository shutdown event. - - The sender of the event. - The event args. - - - - Map of logger repositories to hashtables of ILogger to ILoggerWrapper mappings - - - - - The handler to use to create the extension wrapper objects. - - - - - Internal reference to the delegate used to register for repository shutdown events. - - - - - Gets the map of logger repositories. - - - Map of logger repositories. - - - - Gets the hashtable that is keyed on . The - values are hashtables keyed on with the - value being the corresponding . - - - - - - Formats a as "HH:mm:ss,fff". - - - - Formats a in the format "HH:mm:ss,fff" for example, "15:49:37,459". - - - Nicko Cadell - Gert Driesen - - - - Render a as a string. - - - - Interface to abstract the rendering of a - instance into a string. - - - The method is used to render the - date to a text writer. - - - Nicko Cadell - Gert Driesen - - - - Formats the specified date as a string. - - The date to format. - The writer to write to. - - - Format the as a string and write it - to the provided. - - - - - - String constant used to specify AbsoluteTimeDateFormat in layouts. Current value is ABSOLUTE. - - - - - String constant used to specify DateTimeDateFormat in layouts. Current value is DATE. - - - - - String constant used to specify ISO8601DateFormat in layouts. Current value is ISO8601. - - - - - Renders the date into a string. Format is "HH:mm:ss". - - The date to render into a string. - The string builder to write to. - - - Subclasses should override this method to render the date - into a string using a precision up to the second. This method - will be called at most once per second and the result will be - reused if it is needed again during the same second. - - - - - - Renders the date into a string. Format is "HH:mm:ss,fff". - - The date to render into a string. - The writer to write to. - - - Uses the method to generate the - time string up to the seconds and then appends the current - milliseconds. The results from are - cached and is called at most once - per second. - - - Sub classes should override - rather than . - - - - - - Last stored time with precision up to the second. - - - - - Last stored time with precision up to the second, formatted - as a string. - - - - - Last stored time with precision up to the second, formatted - as a string. - - - - - Formats a as "dd MMM yyyy HH:mm:ss,fff" - - - - Formats a in the format - "dd MMM yyyy HH:mm:ss,fff" for example, - "06 Nov 1994 15:49:37,459". - - - Nicko Cadell - Gert Driesen - Angelika Schnagl - - - - Default constructor. - - - - Initializes a new instance of the class. - - - - - - Formats the date without the milliseconds part - - The date to format. - The string builder to write to. - - - Formats a DateTime in the format "dd MMM yyyy HH:mm:ss" - for example, "06 Nov 1994 15:49:37". - - - The base class will append the ",fff" milliseconds section. - This method will only be called at most once per second. - - - - - - The format info for the invariant culture. - - - - - Formats the as "yyyy-MM-dd HH:mm:ss,fff". - - - - Formats the specified as a string: "yyyy-MM-dd HH:mm:ss,fff". - - - Nicko Cadell - Gert Driesen - - - - Default constructor - - - - Initializes a new instance of the class. - - - - - - Formats the date without the milliseconds part - - The date to format. - The string builder to write to. - - - Formats the date specified as a string: "yyyy-MM-dd HH:mm:ss". - - - The base class will append the ",fff" milliseconds section. - This method will only be called at most once per second. - - - - - - Formats the using the method. - - - - Formats the using the method. - - - Nicko Cadell - Gert Driesen - - - - Constructor - - The format string. - - - Initializes a new instance of the class - with the specified format string. - - - The format string must be compatible with the options - that can be supplied to . - - - - - - Formats the date using . - - The date to convert to a string. - The writer to write to. - - - Uses the date format string supplied to the constructor to call - the method to format the date. - - - - - - The format string used to format the . - - - - The format string must be compatible with the options - that can be supplied to . - - - - - - This filter drops all . - - - - You can add this filter to the end of a filter chain to - switch from the default "accept all unless instructed otherwise" - filtering behavior to a "deny all unless instructed otherwise" - behavior. - - - Nicko Cadell - Gert Driesen - - - - Subclass this type to implement customized logging event filtering - - - - Users should extend this class to implement customized logging - event filtering. Note that and - , the parent class of all standard - appenders, have built-in filtering rules. It is suggested that you - first use and understand the built-in rules before rushing to write - your own custom filters. - - - This abstract class assumes and also imposes that filters be - organized in a linear chain. The - method of each filter is called sequentially, in the order of their - addition to the chain. - - - The method must return one - of the integer constants , - or . - - - If the value is returned, then the log event is dropped - immediately without consulting with the remaining filters. - - - If the value is returned, then the next filter - in the chain is consulted. If there are no more filters in the - chain, then the log event is logged. Thus, in the presence of no - filters, the default behavior is to log all logging events. - - - If the value is returned, then the log - event is logged without consulting the remaining filters. - - - The philosophy of log4net filters is largely inspired from the - Linux ipchains. - - - Nicko Cadell - Gert Driesen - - - - Implement this interface to provide customized logging event filtering - - - - Users should implement this interface to implement customized logging - event filtering. Note that and - , the parent class of all standard - appenders, have built-in filtering rules. It is suggested that you - first use and understand the built-in rules before rushing to write - your own custom filters. - - - This abstract class assumes and also imposes that filters be - organized in a linear chain. The - method of each filter is called sequentially, in the order of their - addition to the chain. - - - The method must return one - of the integer constants , - or . - - - If the value is returned, then the log event is dropped - immediately without consulting with the remaining filters. - - - If the value is returned, then the next filter - in the chain is consulted. If there are no more filters in the - chain, then the log event is logged. Thus, in the presence of no - filters, the default behavior is to log all logging events. - - - If the value is returned, then the log - event is logged without consulting the remaining filters. - - - The philosophy of log4net filters is largely inspired from the - Linux ipchains. - - - Nicko Cadell - Gert Driesen - - - - Decide if the logging event should be logged through an appender. - - The LoggingEvent to decide upon - The decision of the filter - - - If the decision is , then the event will be - dropped. If the decision is , then the next - filter, if any, will be invoked. If the decision is then - the event will be logged without consulting with other filters in - the chain. - - - - - - Property to get and set the next filter - - - The next filter in the chain - - - - Filters are typically composed into chains. This property allows the next filter in - the chain to be accessed. - - - - - - Points to the next filter in the filter chain. - - - - See for more information. - - - - - - Initialize the filter with the options set - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - Typically filter's options become active immediately on set, - however this method must still be called. - - - - - - Decide if the should be logged through an appender. - - The to decide upon - The decision of the filter - - - If the decision is , then the event will be - dropped. If the decision is , then the next - filter, if any, will be invoked. If the decision is then - the event will be logged without consulting with other filters in - the chain. - - - This method is marked abstract and must be implemented - in a subclass. - - - - - - Property to get and set the next filter - - - The next filter in the chain - - - - Filters are typically composed into chains. This property allows the next filter in - the chain to be accessed. - - - - - - Default constructor - - - - - Always returns the integer constant - - the LoggingEvent to filter - Always returns - - - Ignores the event being logged and just returns - . This can be used to change the default filter - chain behavior from to . This filter - should only be used as the last filter in the chain - as any further filters will be ignored! - - - - - - The return result from - - - - The return result from - - - - - - The log event must be dropped immediately without - consulting with the remaining filters, if any, in the chain. - - - - - This filter is neutral with respect to the log event. - The remaining filters, if any, should be consulted for a final decision. - - - - - The log event must be logged immediately without - consulting with the remaining filters, if any, in the chain. - - - - - This is a very simple filter based on matching. - - - - The filter admits two options and - . If there is an exact match between the value - of the option and the of the - , then the method returns in - case the option value is set - to true, if it is false then - is returned. If the does not match then - the result will be . - - - Nicko Cadell - Gert Driesen - - - - flag to indicate if the filter should on a match - - - - - the to match against - - - - - Default constructor - - - - - Tests if the of the logging event matches that of the filter - - the event to filter - see remarks - - - If the of the event matches the level of the - filter then the result of the function depends on the - value of . If it is true then - the function will return , it it is false then it - will return . If the does not match then - the result will be . - - - - - - when matching - - - - The property is a flag that determines - the behavior when a matching is found. If the - flag is set to true then the filter will the - logging event, otherwise it will the event. - - - The default is true i.e. to the event. - - - - - - The that the filter will match - - - - The level that this filter will attempt to match against the - level. If a match is found then - the result depends on the value of . - - - - - - This is a simple filter based on matching. - - - - The filter admits three options and - that determine the range of priorities that are matched, and - . If there is a match between the range - of priorities and the of the , then the - method returns in case the - option value is set to true, if it is false - then is returned. If there is no match, is returned. - - - Nicko Cadell - Gert Driesen - - - - Flag to indicate the behavior when matching a - - - - - the minimum value to match - - - - - the maximum value to match - - - - - Default constructor - - - - - Check if the event should be logged. - - the logging event to check - see remarks - - - If the of the logging event is outside the range - matched by this filter then - is returned. If the is matched then the value of - is checked. If it is true then - is returned, otherwise - is returned. - - - - - - when matching and - - - - The property is a flag that determines - the behavior when a matching is found. If the - flag is set to true then the filter will the - logging event, otherwise it will the event. - - - The default is true i.e. to the event. - - - - - - Set the minimum matched - - - - The minimum level that this filter will attempt to match against the - level. If a match is found then - the result depends on the value of . - - - - - - Sets the maximum matched - - - - The maximum level that this filter will attempt to match against the - level. If a match is found then - the result depends on the value of . - - - - - - Simple filter to match a string in the event's logger name. - - - - The works very similar to the . It admits two - options and . If the - of the starts - with the value of the option, then the - method returns in - case the option value is set to true, - if it is false then is returned. - - - Daniel Cazzulino - - - - Flag to indicate the behavior when we have a match - - - - - The logger name string to substring match against the event - - - - - Default constructor - - - - - Check if this filter should allow the event to be logged - - the event being logged - see remarks - - - The rendered message is matched against the . - If the equals the beginning of - the incoming () - then a match will have occurred. If no match occurs - this function will return - allowing other filters to check the event. If a match occurs then - the value of is checked. If it is - true then is returned otherwise - is returned. - - - - - - when matching - - - - The property is a flag that determines - the behavior when a matching is found. If the - flag is set to true then the filter will the - logging event, otherwise it will the event. - - - The default is true i.e. to the event. - - - - - - The that the filter will match - - - - This filter will attempt to match this value against logger name in - the following way. The match will be done against the beginning of the - logger name (using ). The match is - case sensitive. If a match is found then - the result depends on the value of . - - - - - - Simple filter to match a keyed string in the - - - - Simple filter to match a keyed string in the - - - As the MDC has been replaced with layered properties the - should be used instead. - - - Nicko Cadell - Gert Driesen - - - - Simple filter to match a string an event property - - - - Simple filter to match a string in the value for a - specific event property - - - Nicko Cadell - - - - Simple filter to match a string in the rendered message - - - - Simple filter to match a string in the rendered message - - - Nicko Cadell - Gert Driesen - - - - Flag to indicate the behavior when we have a match - - - - - The string to substring match against the message - - - - - A string regex to match - - - - - A regex object to match (generated from m_stringRegexToMatch) - - - - - Default constructor - - - - - Initialize and precompile the Regex if required - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - - - - Check if this filter should allow the event to be logged - - the event being logged - see remarks - - - The rendered message is matched against the . - If the occurs as a substring within - the message then a match will have occurred. If no match occurs - this function will return - allowing other filters to check the event. If a match occurs then - the value of is checked. If it is - true then is returned otherwise - is returned. - - - - - - when matching or - - - - The property is a flag that determines - the behavior when a matching is found. If the - flag is set to true then the filter will the - logging event, otherwise it will the event. - - - The default is true i.e. to the event. - - - - - - Sets the static string to match - - - - The string that will be substring matched against - the rendered message. If the message contains this - string then the filter will match. If a match is found then - the result depends on the value of . - - - One of or - must be specified. - - - - - - Sets the regular expression to match - - - - The regular expression pattern that will be matched against - the rendered message. If the message matches this - pattern then the filter will match. If a match is found then - the result depends on the value of . - - - One of or - must be specified. - - - - - - The key to use to lookup the string from the event properties - - - - - Default constructor - - - - - Check if this filter should allow the event to be logged - - the event being logged - see remarks - - - The event property for the is matched against - the . - If the occurs as a substring within - the property value then a match will have occurred. If no match occurs - this function will return - allowing other filters to check the event. If a match occurs then - the value of is checked. If it is - true then is returned otherwise - is returned. - - - - - - The key to lookup in the event properties and then match against. - - - - The key name to use to lookup in the properties map of the - . The match will be performed against - the value of this property if it exists. - - - - - - Simple filter to match a string in the - - - - Simple filter to match a string in the - - - As the MDC has been replaced with named stacks stored in the - properties collections the should - be used instead. - - - Nicko Cadell - Gert Driesen - - - - Default constructor - - - - Sets the to "NDC". - - - - - - Write the event appdomain name to the output - - - - Writes the to the output writer. - - - Daniel Cazzulino - Nicko Cadell - - - - Abstract class that provides the formatting functionality that - derived classes need. - - - Conversion specifiers in a conversion patterns are parsed to - individual PatternConverters. Each of which is responsible for - converting a logging event in a converter specific manner. - - Nicko Cadell - - - - Abstract class that provides the formatting functionality that - derived classes need. - - - - Conversion specifiers in a conversion patterns are parsed to - individual PatternConverters. Each of which is responsible for - converting a logging event in a converter specific manner. - - - Nicko Cadell - Gert Driesen - - - - Initial buffer size - - - - - Maximum buffer size before it is recycled - - - - - Protected constructor - - - - Initializes a new instance of the class. - - - - - - Evaluate this pattern converter and write the output to a writer. - - that will receive the formatted result. - The state object on which the pattern converter should be executed. - - - Derived pattern converters must override this method in order to - convert conversion specifiers in the appropriate way. - - - - - - Set the next pattern converter in the chains - - the pattern converter that should follow this converter in the chain - the next converter - - - The PatternConverter can merge with its neighbor during this method (or a sub class). - Therefore the return value may or may not be the value of the argument passed in. - - - - - - Write the pattern converter to the writer with appropriate formatting - - that will receive the formatted result. - The state object on which the pattern converter should be executed. - - - This method calls to allow the subclass to perform - appropriate conversion of the pattern converter. If formatting options have - been specified via the then this method will - apply those formattings before writing the output. - - - - - - Fast space padding method. - - to which the spaces will be appended. - The number of spaces to be padded. - - - Fast space padding method. - - - - - - The option string to the converter - - - - - Write an dictionary to a - - the writer to write to - a to use for object conversion - the value to write to the writer - - - Writes the to a writer in the form: - - - {key1=value1, key2=value2, key3=value3} - - - If the specified - is not null then it is used to render the key and value to text, otherwise - the object's ToString method is called. - - - - - - Write an object to a - - the writer to write to - a to use for object conversion - the value to write to the writer - - - Writes the Object to a writer. If the specified - is not null then it is used to render the object to text, otherwise - the object's ToString method is called. - - - - - - Get the next pattern converter in the chain - - - the next pattern converter in the chain - - - - Get the next pattern converter in the chain - - - - - - Gets or sets the formatting info for this converter - - - The formatting info for this converter - - - - Gets or sets the formatting info for this converter - - - - - - Gets or sets the option value for this converter - - - The option for this converter - - - - Gets or sets the option value for this converter - - - - - - Initializes a new instance of the class. - - - - - Derived pattern converters must override this method in order to - convert conversion specifiers in the correct way. - - that will receive the formatted result. - The on which the pattern converter should be executed. - - - - Derived pattern converters must override this method in order to - convert conversion specifiers in the correct way. - - that will receive the formatted result. - The state object on which the pattern converter should be executed. - - - - Flag indicating if this converter handles exceptions - - - false if this converter handles exceptions - - - - - Flag indicating if this converter handles the logging event exception - - false if this converter handles the logging event exception - - - If this converter handles the exception object contained within - , then this property should be set to - false. Otherwise, if the layout ignores the exception - object, then the property should be set to true. - - - Set this value to override a this default setting. The default - value is true, this converter does not handle the exception. - - - - - - Write the event appdomain name to the output - - that will receive the formatted result. - the event being logged - - - Writes the to the output . - - - - - - Date pattern converter, uses a to format - the date of a . - - - - Render the to the writer as a string. - - - The value of the determines - the formatting of the date. The following values are allowed: - - - Option value - Output - - - ISO8601 - - Uses the formatter. - Formats using the "yyyy-MM-dd HH:mm:ss,fff" pattern. - - - - DATE - - Uses the formatter. - Formats using the "dd MMM yyyy HH:mm:ss,fff" for example, "06 Nov 1994 15:49:37,459". - - - - ABSOLUTE - - Uses the formatter. - Formats using the "HH:mm:ss,yyyy" for example, "15:49:37,459". - - - - other - - Any other pattern string uses the formatter. - This formatter passes the pattern string to the - method. - For details on valid patterns see - DateTimeFormatInfo Class. - - - - - - The is in the local time zone and is rendered in that zone. - To output the time in Universal time see . - - - Nicko Cadell - - - - The used to render the date to a string - - - - The used to render the date to a string - - - - - - Initialize the converter pattern based on the property. - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - - - - Convert the pattern into the rendered message - - that will receive the formatted result. - the event being logged - - - Pass the to the - for it to render it to the writer. - - - The passed is in the local time zone. - - - - - - Write the exception text to the output - - - - If an exception object is stored in the logging event - it will be rendered into the pattern output with a - trailing newline. - - - If there is no exception then nothing will be output - and no trailing newline will be appended. - It is typical to put a newline before the exception - and to have the exception as the last data in the pattern. - - - Nicko Cadell - - - - Default constructor - - - - - Write the exception text to the output - - that will receive the formatted result. - the event being logged - - - If an exception object is stored in the logging event - it will be rendered into the pattern output with a - trailing newline. - - - If there is no exception then nothing will be output - and no trailing newline will be appended. - It is typical to put a newline before the exception - and to have the exception as the last data in the pattern. - - - - - - Writes the caller location file name to the output - - - - Writes the value of the for - the event to the output writer. - - - Nicko Cadell - - - - Write the caller location file name to the output - - that will receive the formatted result. - the event being logged - - - Writes the value of the for - the to the output . - - - - - - Write the caller location info to the output - - - - Writes the to the output writer. - - - Nicko Cadell - - - - Write the caller location info to the output - - that will receive the formatted result. - the event being logged - - - Writes the to the output writer. - - - - - - Writes the event identity to the output - - - - Writes the value of the to - the output writer. - - - Daniel Cazzulino - Nicko Cadell - - - - Writes the event identity to the output - - that will receive the formatted result. - the event being logged - - - Writes the value of the - to - the output . - - - - - - Write the event level to the output - - - - Writes the display name of the event - to the writer. - - - Nicko Cadell - - - - Write the event level to the output - - that will receive the formatted result. - the event being logged - - - Writes the of the - to the . - - - - - - Write the caller location line number to the output - - - - Writes the value of the for - the event to the output writer. - - - Nicko Cadell - - - - Write the caller location line number to the output - - that will receive the formatted result. - the event being logged - - - Writes the value of the for - the to the output . - - - - - - Converter for logger name - - - - Outputs the of the event. - - - Nicko Cadell - - - - Converter to output and truncate '.' separated strings - - - - This abstract class supports truncating a '.' separated string - to show a specified number of elements from the right hand side. - This is used to truncate class names that are fully qualified. - - - Subclasses should override the method to - return the fully qualified string. - - - Nicko Cadell - - - - Initialize the converter - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - - - - Get the fully qualified string data - - the event being logged - the fully qualified name - - - Overridden by subclasses to get the fully qualified name before the - precision is applied to it. - - - Return the fully qualified '.' (dot/period) separated string. - - - - - - Convert the pattern to the rendered message - - that will receive the formatted result. - the event being logged - - Render the to the precision - specified by the property. - - - - - Gets the fully qualified name of the logger - - the event being logged - The fully qualified logger name - - - Returns the of the . - - - - - - Writes the event message to the output - - - - Uses the method - to write out the event message. - - - Nicko Cadell - - - - Writes the event message to the output - - that will receive the formatted result. - the event being logged - - - Uses the method - to write out the event message. - - - - - - Write the method name to the output - - - - Writes the caller location to - the output. - - - Nicko Cadell - - - - Write the method name to the output - - that will receive the formatted result. - the event being logged - - - Writes the caller location to - the output. - - - - - - Converter to include event NDC - - - - Outputs the value of the event property named NDC. - - - The should be used instead. - - - Nicko Cadell - - - - Write the event NDC to the output - - that will receive the formatted result. - the event being logged - - - As the thread context stacks are now stored in named event properties - this converter simply looks up the value of the NDC property. - - - The should be used instead. - - - - - - Property pattern converter - - - - Writes out the value of a named property. The property name - should be set in the - property. - - - If the is set to null - then all the properties are written as key value pairs. - - - Nicko Cadell - - - - Write the property value to the output - - that will receive the formatted result. - the event being logged - - - Writes out the value of a named property. The property name - should be set in the - property. - - - If the is set to null - then all the properties are written as key value pairs. - - - - - - Converter to output the relative time of the event - - - - Converter to output the time of the event relative to the start of the program. - - - Nicko Cadell - - - - Write the relative time to the output - - that will receive the formatted result. - the event being logged - - - Writes out the relative time of the event in milliseconds. - That is the number of milliseconds between the event - and the . - - - - - - Helper method to get the time difference between two DateTime objects - - start time (in the current local time zone) - end time (in the current local time zone) - the time difference in milliseconds - - - - Converter to include event thread name - - - - Writes the to the output. - - - Nicko Cadell - - - - Write the ThreadName to the output - - that will receive the formatted result. - the event being logged - - - Writes the to the . - - - - - - Pattern converter for the class name - - - - Outputs the of the event. - - - Nicko Cadell - - - - Gets the fully qualified name of the class - - the event being logged - The fully qualified type name for the caller location - - - Returns the of the . - - - - - - Converter to include event user name - - Douglas de la Torre - Nicko Cadell - - - - Convert the pattern to the rendered message - - that will receive the formatted result. - the event being logged - - - - Write the TimeStamp to the output - - - - Date pattern converter, uses a to format - the date of a . - - - Uses a to format the - in Universal time. - - - See the for details on the date pattern syntax. - - - - Nicko Cadell - - - - Write the TimeStamp to the output - - that will receive the formatted result. - the event being logged - - - Pass the to the - for it to render it to the writer. - - - The passed is in the local time zone, this is converted - to Universal time before it is rendered. - - - - - - - A Layout that renders only the Exception text from the logging event - - - - A Layout that renders only the Exception text from the logging event. - - - This Layout should only be used with appenders that utilize multiple - layouts (e.g. ). - - - Nicko Cadell - Gert Driesen - - - - Extend this abstract class to create your own log layout format. - - - - This is the base implementation of the - interface. Most layout objects should extend this class. - - - - - - Subclasses must implement the - method. - - - Subclasses should set the in their default - constructor. - - - - Nicko Cadell - Gert Driesen - - - - Interface implemented by layout objects - - - - An object is used to format a - as text. The method is called by an - appender to transform the into a string. - - - The layout can also supply and - text that is appender before any events and after all the events respectively. - - - Nicko Cadell - Gert Driesen - - - - Implement this method to create your own layout format. - - The TextWriter to write the formatted event to - The event to format - - - This method is called by an appender to format - the as text and output to a writer. - - - If the caller does not have a and prefers the - event to be formatted as a then the following - code can be used to format the event into a . - - - StringWriter writer = new StringWriter(); - Layout.Format(writer, loggingEvent); - string formattedEvent = writer.ToString(); - - - - - - The content type output by this layout. - - The content type - - - The content type output by this layout. - - - This is a MIME type e.g. "text/plain". - - - - - - The header for the layout format. - - the layout header - - - The Header text will be appended before any logging events - are formatted and appended. - - - - - - The footer for the layout format. - - the layout footer - - - The Footer text will be appended after all the logging events - have been formatted and appended. - - - - - - Flag indicating if this layout handle exceptions - - false if this layout handles exceptions - - - If this layout handles the exception object contained within - , then the layout should return - false. Otherwise, if the layout ignores the exception - object, then the layout should return true. - - - - - - The header text - - - - See for more information. - - - - - - The footer text - - - - See for more information. - - - - - - Flag indicating if this layout handles exceptions - - - - false if this layout handles exceptions - - - - - - Empty default constructor - - - - Empty default constructor - - - - - - Activate component options - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - This method must be implemented by the subclass. - - - - - - Implement this method to create your own layout format. - - The TextWriter to write the formatted event to - The event to format - - - This method is called by an appender to format - the as text. - - - - - - The content type output by this layout. - - The content type is "text/plain" - - - The content type output by this layout. - - - This base class uses the value "text/plain". - To change this value a subclass must override this - property. - - - - - - The header for the layout format. - - the layout header - - - The Header text will be appended before any logging events - are formatted and appended. - - - - - - The footer for the layout format. - - the layout footer - - - The Footer text will be appended after all the logging events - have been formatted and appended. - - - - - - Flag indicating if this layout handles exceptions - - false if this layout handles exceptions - - - If this layout handles the exception object contained within - , then the layout should return - false. Otherwise, if the layout ignores the exception - object, then the layout should return true. - - - Set this value to override a this default setting. The default - value is true, this layout does not handle the exception. - - - - - - Default constructor - - - - Constructs a ExceptionLayout - - - - - - Activate component options - - - - Part of the component activation - framework. - - - This method does nothing as options become effective immediately. - - - - - - Gets the exception text from the logging event - - The TextWriter to write the formatted event to - the event being logged - - - Write the exception string to the . - The exception string is retrieved from . - - - - - - Interface for raw layout objects - - - - Interface used to format a - to an object. - - - This interface should not be confused with the - interface. This interface is used in - only certain specialized situations where a raw object is - required rather than a formatted string. The - is not generally useful than this interface. - - - Nicko Cadell - Gert Driesen - - - - Implement this method to create your own layout format. - - The event to format - returns the formatted event - - - Implement this method to create your own layout format. - - - - - - Adapts any to a - - - - Where an is required this adapter - allows a to be specified. - - - Nicko Cadell - Gert Driesen - - - - The layout to adapt - - - - - Construct a new adapter - - the layout to adapt - - - Create the adapter for the specified . - - - - - - Format the logging event as an object. - - The event to format - returns the formatted event - - - Format the logging event as an object. - - - Uses the object supplied to - the constructor to perform the formatting. - - - - - - A flexible layout configurable with pattern string. - - - - The goal of this class is to a - as a string. The results - depend on the conversion pattern. - - - The conversion pattern is closely related to the conversion - pattern of the printf function in C. A conversion pattern is - composed of literal text and format control expressions called - conversion specifiers. - - - You are free to insert any literal text within the conversion - pattern. - - - Each conversion specifier starts with a percent sign (%) and is - followed by optional format modifiers and a conversion - pattern name. The conversion pattern name specifies the type of - data, e.g. logger, level, date, thread name. The format - modifiers control such things as field width, padding, left and - right justification. The following is a simple example. - - - Let the conversion pattern be "%-5level [%thread]: %message%newline" and assume - that the log4net environment was set to use a PatternLayout. Then the - statements - - - ILog log = LogManager.GetLogger(typeof(TestApp)); - log.Debug("Message 1"); - log.Warn("Message 2"); - - would yield the output - - DEBUG [main]: Message 1 - WARN [main]: Message 2 - - - Note that there is no explicit separator between text and - conversion specifiers. The pattern parser knows when it has reached - the end of a conversion specifier when it reads a conversion - character. In the example above the conversion specifier - %-5level means the level of the logging event should be left - justified to a width of five characters. - - - The recognized conversion pattern names are: - - - - Conversion Pattern Name - Effect - - - a - Equivalent to appdomain - - - appdomain - - Used to output the friendly name of the AppDomain where the - logging event was generated. - - - - c - Equivalent to logger - - - C - Equivalent to type - - - class - Equivalent to type - - - d - Equivalent to date - - - date - - - Used to output the date of the logging event in the local time zone. - To output the date in universal time use the %utcdate pattern. - The date conversion - specifier may be followed by a date format specifier enclosed - between braces. For example, %date{HH:mm:ss,fff} or - %date{dd MMM yyyy HH:mm:ss,fff}. If no date format specifier is - given then ISO8601 format is - assumed (). - - - The date format specifier admits the same syntax as the - time pattern string of the . - - - For better results it is recommended to use the log4net date - formatters. These can be specified using one of the strings - "ABSOLUTE", "DATE" and "ISO8601" for specifying - , - and respectively - . For example, - %date{ISO8601} or %date{ABSOLUTE}. - - - These dedicated date formatters perform significantly - better than . - - - - - exception - - - Used to output the exception passed in with the log message. - - - If an exception object is stored in the logging event - it will be rendered into the pattern output with a - trailing newline. - If there is no exception then nothing will be output - and no trailing newline will be appended. - It is typical to put a newline before the exception - and to have the exception as the last data in the pattern. - - - - - F - Equivalent to file - - - file - - - Used to output the file name where the logging request was - issued. - - - WARNING Generating caller location information is - extremely slow. Its use should be avoided unless execution speed - is not an issue. - - - See the note below on the availability of caller location information. - - - - - identity - - - Used to output the user name for the currently active user - (Principal.Identity.Name). - - - WARNING Generating caller information is - extremely slow. Its use should be avoided unless execution speed - is not an issue. - - - - - l - Equivalent to location - - - L - Equivalent to line - - - location - - - Used to output location information of the caller which generated - the logging event. - - - The location information depends on the CLI implementation but - usually consists of the fully qualified name of the calling - method followed by the callers source the file name and line - number between parentheses. - - - The location information can be very useful. However, its - generation is extremely slow. Its use should be avoided - unless execution speed is not an issue. - - - See the note below on the availability of caller location information. - - - - - level - - - Used to output the level of the logging event. - - - - - line - - - Used to output the line number from where the logging request - was issued. - - - WARNING Generating caller location information is - extremely slow. Its use should be avoided unless execution speed - is not an issue. - - - See the note below on the availability of caller location information. - - - - - logger - - - Used to output the logger of the logging event. The - logger conversion specifier can be optionally followed by - precision specifier, that is a decimal constant in - brackets. - - - If a precision specifier is given, then only the corresponding - number of right most components of the logger name will be - printed. By default the logger name is printed in full. - - - For example, for the logger name "a.b.c" the pattern - %logger{2} will output "b.c". - - - - - m - Equivalent to message - - - M - Equivalent to method - - - message - - - Used to output the application supplied message associated with - the logging event. - - - - - mdc - - - The MDC (old name for the ThreadContext.Properties) is now part of the - combined event properties. This pattern is supported for compatibility - but is equivalent to property. - - - - - method - - - Used to output the method name where the logging request was - issued. - - - WARNING Generating caller location information is - extremely slow. Its use should be avoided unless execution speed - is not an issue. - - - See the note below on the availability of caller location information. - - - - - n - Equivalent to newline - - - newline - - - Outputs the platform dependent line separator character or - characters. - - - This conversion pattern offers the same performance as using - non-portable line separator strings such as "\n", or "\r\n". - Thus, it is the preferred way of specifying a line separator. - - - - - ndc - - - Used to output the NDC (nested diagnostic context) associated - with the thread that generated the logging event. - - - - - p - Equivalent to level - - - P - Equivalent to property - - - properties - Equivalent to property - - - property - - - Used to output the an event specific property. The key to - lookup must be specified within braces and directly following the - pattern specifier, e.g. %property{user} would include the value - from the property that is keyed by the string 'user'. Each property value - that is to be included in the log must be specified separately. - Properties are added to events by loggers or appenders. By default - the log4net:HostName property is set to the name of machine on - which the event was originally logged. - - - If no key is specified, e.g. %property then all the keys and their - values are printed in a comma separated list. - - - The properties of an event are combined from a number of different - contexts. These are listed below in the order in which they are searched. - - - - the event properties - - The event has that can be set. These - properties are specific to this event only. - - - - the thread properties - - The that are set on the current - thread. These properties are shared by all events logged on this thread. - - - - the global properties - - The that are set globally. These - properties are shared by all the threads in the AppDomain. - - - - - - - - r - Equivalent to timestamp - - - t - Equivalent to thread - - - timestamp - - - Used to output the number of milliseconds elapsed since the start - of the application until the creation of the logging event. - - - - - thread - - - Used to output the name of the thread that generated the - logging event. Uses the thread number if no name is available. - - - - - type - - - Used to output the fully qualified type name of the caller - issuing the logging request. This conversion specifier - can be optionally followed by precision specifier, that - is a decimal constant in brackets. - - - If a precision specifier is given, then only the corresponding - number of right most components of the class name will be - printed. By default the class name is output in fully qualified form. - - - For example, for the class name "log4net.Layout.PatternLayout", the - pattern %type{1} will output "PatternLayout". - - - WARNING Generating the caller class information is - slow. Thus, its use should be avoided unless execution speed is - not an issue. - - - See the note below on the availability of caller location information. - - - - - u - Equivalent to identity - - - username - - - Used to output the WindowsIdentity for the currently - active user. - - - WARNING Generating caller WindowsIdentity information is - extremely slow. Its use should be avoided unless execution speed - is not an issue. - - - - - utcdate - - - Used to output the date of the logging event in universal time. - The date conversion - specifier may be followed by a date format specifier enclosed - between braces. For example, %utcdate{HH:mm:ss,fff} or - %utcdate{dd MMM yyyy HH:mm:ss,fff}. If no date format specifier is - given then ISO8601 format is - assumed (). - - - The date format specifier admits the same syntax as the - time pattern string of the . - - - For better results it is recommended to use the log4net date - formatters. These can be specified using one of the strings - "ABSOLUTE", "DATE" and "ISO8601" for specifying - , - and respectively - . For example, - %utcdate{ISO8601} or %utcdate{ABSOLUTE}. - - - These dedicated date formatters perform significantly - better than . - - - - - w - Equivalent to username - - - x - Equivalent to ndc - - - X - Equivalent to mdc - - - % - - - The sequence %% outputs a single percent sign. - - - - - - The single letter patterns are deprecated in favor of the - longer more descriptive pattern names. - - - By default the relevant information is output as is. However, - with the aid of format modifiers it is possible to change the - minimum field width, the maximum field width and justification. - - - The optional format modifier is placed between the percent sign - and the conversion pattern name. - - - The first optional format modifier is the left justification - flag which is just the minus (-) character. Then comes the - optional minimum field width modifier. This is a decimal - constant that represents the minimum number of characters to - output. If the data item requires fewer characters, it is padded on - either the left or the right until the minimum width is - reached. The default is to pad on the left (right justify) but you - can specify right padding with the left justification flag. The - padding character is space. If the data item is larger than the - minimum field width, the field is expanded to accommodate the - data. The value is never truncated. - - - This behavior can be changed using the maximum field - width modifier which is designated by a period followed by a - decimal constant. If the data item is longer than the maximum - field, then the extra characters are removed from the - beginning of the data item and not from the end. For - example, it the maximum field width is eight and the data item is - ten characters long, then the first two characters of the data item - are dropped. This behavior deviates from the printf function in C - where truncation is done from the end. - - - Below are various format modifier examples for the logger - conversion specifier. - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Format modifierleft justifyminimum widthmaximum widthcomment
%20loggerfalse20none - - Left pad with spaces if the logger name is less than 20 - characters long. - -
%-20loggertrue20none - - Right pad with spaces if the logger - name is less than 20 characters long. - -
%.30loggerNAnone30 - - Truncate from the beginning if the logger - name is longer than 30 characters. - -
%20.30loggerfalse2030 - - Left pad with spaces if the logger name is shorter than 20 - characters. However, if logger name is longer than 30 characters, - then truncate from the beginning. - -
%-20.30loggertrue2030 - - Right pad with spaces if the logger name is shorter than 20 - characters. However, if logger name is longer than 30 characters, - then truncate from the beginning. - -
-
- - Note about caller location information.
- The following patterns %type %file %line %method %location %class %C %F %L %l %M - all generate caller location information. - Location information uses the System.Diagnostics.StackTrace class to generate - a call stack. The caller's information is then extracted from this stack. -
- - - The System.Diagnostics.StackTrace class is not supported on the - .NET Compact Framework 1.0 therefore caller location information is not - available on that framework. - - - - - The System.Diagnostics.StackTrace class has this to say about Release builds: - - - "StackTrace information will be most informative with Debug build configurations. - By default, Debug builds include debug symbols, while Release builds do not. The - debug symbols contain most of the file, method name, line number, and column - information used in constructing StackFrame and StackTrace objects. StackTrace - might not report as many method calls as expected, due to code transformations - that occur during optimization." - - - This means that in a Release build the caller information may be incomplete or may - not exist at all! Therefore caller location information cannot be relied upon in a Release build. - - - - Additional pattern converters may be registered with a specific - instance using the method. - -
- - This is a more detailed pattern. - %timestamp [%thread] %level %logger %ndc - %message%newline - - - A similar pattern except that the relative time is - right padded if less than 6 digits, thread name is right padded if - less than 15 characters and truncated if longer and the logger - name is left padded if shorter than 30 characters and truncated if - longer. - %-6timestamp [%15.15thread] %-5level %30.30logger %ndc - %message%newline - - Nicko Cadell - Gert Driesen - Douglas de la Torre - Daniel Cazzulino -
- - - Default pattern string for log output. - - - - Default pattern string for log output. - Currently set to the string "%message%newline" - which just prints the application supplied message. - - - - - - A detailed conversion pattern - - - - A conversion pattern which includes Time, Thread, Logger, and Nested Context. - Current value is %timestamp [%thread] %level %logger %ndc - %message%newline. - - - - - - Internal map of converter identifiers to converter types. - - - - This static map is overridden by the m_converterRegistry instance map - - - - - - the pattern - - - - - the head of the pattern converter chain - - - - - patterns defined on this PatternLayout only - - - - - Initialize the global registry - - - - Defines the builtin global rules. - - - - - - Constructs a PatternLayout using the DefaultConversionPattern - - - - The default pattern just produces the application supplied message. - - - Note to Inheritors: This constructor calls the virtual method - . If you override this method be - aware that it will be called before your is called constructor. - - - As per the contract the - method must be called after the properties on this object have been - configured. - - - - - - Constructs a PatternLayout using the supplied conversion pattern - - the pattern to use - - - Note to Inheritors: This constructor calls the virtual method - . If you override this method be - aware that it will be called before your is called constructor. - - - When using this constructor the method - need not be called. This may not be the case when using a subclass. - - - - - - Create the pattern parser instance - - the pattern to parse - The that will format the event - - - Creates the used to parse the conversion string. Sets the - global and instance rules on the . - - - - - - Initialize layout options - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - - - - Produces a formatted string as specified by the conversion pattern. - - the event being logged - The TextWriter to write the formatted event to - - - Parse the using the patter format - specified in the property. - - - - - - Add a converter to this PatternLayout - - the converter info - - - This version of the method is used by the configurator. - Programmatic users should use the alternative method. - - - - - - Add a converter to this PatternLayout - - the name of the conversion pattern for this converter - the type of the converter - - - Add a named pattern converter to this instance. This - converter will be used in the formatting of the event. - This method must be called before . - - - The specified must extend the - type. - - - - - - The pattern formatting string - - - - The ConversionPattern option. This is the string which - controls formatting and consists of a mix of literal content and - conversion specifiers. - - - - - - Wrapper class used to map converter names to converter types - - - - Pattern converter info class used during configuration to - pass to the - method. - - - - - - default constructor - - - - - Gets or sets the name of the conversion pattern - - - - The name of the pattern in the format string - - - - - - Gets or sets the type of the converter - - - - The value specified must extend the - type. - - - - - - Type converter for the interface - - - - Used to convert objects to the interface. - Supports converting from the interface to - the interface using the . - - - Nicko Cadell - Gert Driesen - - - - Interface supported by type converters - - - - This interface supports conversion from arbitrary types - to a single target type. See . - - - Nicko Cadell - Gert Driesen - - - - Can the source type be converted to the type supported by this object - - the type to convert - true if the conversion is possible - - - Test if the can be converted to the - type supported by this converter. - - - - - - Convert the source object to the type supported by this object - - the object to convert - the converted object - - - Converts the to the type supported - by this converter. - - - - - - Can the sourceType be converted to an - - the source to be to be converted - true if the source type can be converted to - - - Test if the can be converted to a - . Only is supported - as the . - - - - - - Convert the value to a object - - the value to convert - the object - - - Convert the object to a - object. If the object - is a then the - is used to adapt between the two interfaces, otherwise an - exception is thrown. - - - - - - Extract the value of a property from the - - - - Extract the value of a property from the - - - Nicko Cadell - - - - Constructs a RawPropertyLayout - - - - - Lookup the property for - - The event to format - returns property value - - - Looks up and returns the object value of the property - named . If there is no property defined - with than name then null will be returned. - - - - - - The name of the value to lookup in the LoggingEvent Properties collection. - - - Value to lookup in the LoggingEvent Properties collection - - - - String name of the property to lookup in the . - - - - - - Extract the date from the - - - - Extract the date from the - - - Nicko Cadell - Gert Driesen - - - - Constructs a RawTimeStampLayout - - - - - Gets the as a . - - The event to format - returns the time stamp - - - Gets the as a . - - - The time stamp is in local time. To format the time stamp - in universal time use . - - - - - - Extract the date from the - - - - Extract the date from the - - - Nicko Cadell - Gert Driesen - - - - Constructs a RawUtcTimeStampLayout - - - - - Gets the as a . - - The event to format - returns the time stamp - - - Gets the as a . - - - The time stamp is in universal time. To format the time stamp - in local time use . - - - - - - A very simple layout - - - - SimpleLayout consists of the level of the log statement, - followed by " - " and then the log message itself. For example, - - DEBUG - Hello world - - - - Nicko Cadell - Gert Driesen - - - - Constructs a SimpleLayout - - - - - Initialize layout options - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - - - - Produces a simple formatted output. - - the event being logged - The TextWriter to write the formatted event to - - - Formats the event as the level of the even, - followed by " - " and then the log message itself. The - output is terminated by a newline. - - - - - - Layout that formats the log events as XML elements. - - - - The output of the consists of a series of - log4net:event elements. It does not output a complete well-formed XML - file. The output is designed to be included as an external entity - in a separate file to form a correct XML file. - - - For example, if abc is the name of the file where - the output goes, then a well-formed XML file would - be: - - - <?xml version="1.0" ?> - - <!DOCTYPE log4net:events SYSTEM "log4net-events.dtd" [<!ENTITY data SYSTEM "abc">]> - - <log4net:events version="1.2" xmlns:log4net="http://logging.apache.org/log4net/schemas/log4net-events-1.2> - &data; - </log4net:events> - - - This approach enforces the independence of the - and the appender where it is embedded. - - - The version attribute helps components to correctly - interpret output generated by . The value of - this attribute should be "1.2" for release 1.2 and later. - - - Alternatively the Header and Footer properties can be - configured to output the correct XML header, open tag and close tag. - When setting the Header and Footer properties it is essential - that the underlying data store not be appendable otherwise the data - will become invalid XML. - - - Nicko Cadell - Gert Driesen - - - - Layout that formats the log events as XML elements. - - - - This is an abstract class that must be subclassed by an implementation - to conform to a specific schema. - - - Deriving classes must implement the method. - - - Nicko Cadell - Gert Driesen - - - - Protected constructor to support subclasses - - - - Initializes a new instance of the class - with no location info. - - - - - - Protected constructor to support subclasses - - - - The parameter determines whether - location information will be output by the layout. If - is set to true, then the - file name and line number of the statement at the origin of the log - statement will be output. - - - If you are embedding this layout within an SMTPAppender - then make sure to set the LocationInfo option of that - appender as well. - - - - - - Initialize layout options - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - - - - Produces a formatted string. - - The event being logged. - The TextWriter to write the formatted event to - - - Format the and write it to the . - - - This method creates an that writes to the - . The is passed - to the method. Subclasses should override the - method rather than this method. - - - - - - Does the actual writing of the XML. - - The writer to use to output the event to. - The event to write. - - - Subclasses should override this method to format - the as XML. - - - - - - Flag to indicate if location information should be included in - the XML events. - - - - - Writer adapter that ignores Close - - - - - The string to replace invalid chars with - - - - - Gets a value indicating whether to include location information in - the XML events. - - - true if location information should be included in the XML - events; otherwise, false. - - - - If is set to true, then the file - name and line number of the statement at the origin of the log - statement will be output. - - - If you are embedding this layout within an SMTPAppender - then make sure to set the LocationInfo option of that - appender as well. - - - - - - The string to replace characters that can not be expressed in XML with. - - - Not all characters may be expressed in XML. This property contains the - string to replace those that can not with. This defaults to a ?. Set it - to the empty string to simply remove offending characters. For more - details on the allowed character ranges see http://www.w3.org/TR/REC-xml/#charsets - Character replacement will occur in the log message, the property names - and the property values. - - - - - - - Gets the content type output by this layout. - - - As this is the XML layout, the value is always "text/xml". - - - - As this is the XML layout, the value is always "text/xml". - - - - - - Constructs an XmlLayout - - - - - Constructs an XmlLayout. - - - - The LocationInfo option takes a boolean value. By - default, it is set to false which means there will be no location - information output by this layout. If the the option is set to - true, then the file name and line number of the statement - at the origin of the log statement will be output. - - - If you are embedding this layout within an SmtpAppender - then make sure to set the LocationInfo option of that - appender as well. - - - - - - Initialize layout options - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - Builds a cache of the element names - - - - - - Does the actual writing of the XML. - - The writer to use to output the event to. - The event to write. - - - Override the base class method - to write the to the . - - - - - - The prefix to use for all generated element names - - - - - The prefix to use for all element names - - - - The default prefix is log4net. Set this property - to change the prefix. If the prefix is set to an empty string - then no prefix will be written. - - - - - - Set whether or not to base64 encode the message. - - - - By default the log message will be written as text to the xml - output. This can cause problems when the message contains binary - data. By setting this to true the contents of the message will be - base64 encoded. If this is set then invalid character replacement - (see ) will not be performed - on the log message. - - - - - - Set whether or not to base64 encode the property values. - - - - By default the properties will be written as text to the xml - output. This can cause problems when one or more properties contain - binary data. By setting this to true the values of the properties - will be base64 encoded. If this is set then invalid character replacement - (see ) will not be performed - on the property values. - - - - - - Layout that formats the log events as XML elements compatible with the log4j schema - - - - Formats the log events according to the http://logging.apache.org/log4j schema. - - - Nicko Cadell - - - - The 1st of January 1970 in UTC - - - - - Constructs an XMLLayoutSchemaLog4j - - - - - Constructs an XMLLayoutSchemaLog4j. - - - - The LocationInfo option takes a boolean value. By - default, it is set to false which means there will be no location - information output by this layout. If the the option is set to - true, then the file name and line number of the statement - at the origin of the log statement will be output. - - - If you are embedding this layout within an SMTPAppender - then make sure to set the LocationInfo option of that - appender as well. - - - - - - Actually do the writing of the xml - - the writer to use - the event to write - - - Generate XML that is compatible with the log4j schema. - - - - - - The version of the log4j schema to use. - - - - Only version 1.2 of the log4j schema is supported. - - - - - - The default object Renderer. - - - - The default renderer supports rendering objects and collections to strings. - - - See the method for details of the output. - - - Nicko Cadell - Gert Driesen - - - - Implement this interface in order to render objects as strings - - - - Certain types require special case conversion to - string form. This conversion is done by an object renderer. - Object renderers implement the - interface. - - - Nicko Cadell - Gert Driesen - - - - Render the object to a string - - The map used to lookup renderers - The object to render - The writer to render to - - - Render the object to a - string. - - - The parameter is - provided to lookup and render other objects. This is - very useful where contains - nested objects of unknown type. The - method can be used to render these objects. - - - - - - Default constructor - - - - Default constructor - - - - - - Render the object to a string - - The map used to lookup renderers - The object to render - The writer to render to - - - Render the object to a string. - - - The parameter is - provided to lookup and render other objects. This is - very useful where contains - nested objects of unknown type. The - method can be used to render these objects. - - - The default renderer supports rendering objects to strings as follows: - - - - Value - Rendered String - - - null - - "(null)" - - - - - - - For a one dimensional array this is the - array type name, an open brace, followed by a comma - separated list of the elements (using the appropriate - renderer), followed by a close brace. - - - For example: int[] {1, 2, 3}. - - - If the array is not one dimensional the - Array.ToString() is returned. - - - - - , & - - - Rendered as an open brace, followed by a comma - separated list of the elements (using the appropriate - renderer), followed by a close brace. - - - For example: {a, b, c}. - - - All collection classes that implement its subclasses, - or generic equivalents all implement the interface. - - - - - - - - Rendered as the key, an equals sign ('='), and the value (using the appropriate - renderer). - - - For example: key=value. - - - - - other - - Object.ToString() - - - - - - - - Render the array argument into a string - - The map used to lookup renderers - the array to render - The writer to render to - - - For a one dimensional array this is the - array type name, an open brace, followed by a comma - separated list of the elements (using the appropriate - renderer), followed by a close brace. For example: - int[] {1, 2, 3}. - - - If the array is not one dimensional the - Array.ToString() is returned. - - - - - - Render the enumerator argument into a string - - The map used to lookup renderers - the enumerator to render - The writer to render to - - - Rendered as an open brace, followed by a comma - separated list of the elements (using the appropriate - renderer), followed by a close brace. For example: - {a, b, c}. - - - - - - Render the DictionaryEntry argument into a string - - The map used to lookup renderers - the DictionaryEntry to render - The writer to render to - - - Render the key, an equals sign ('='), and the value (using the appropriate - renderer). For example: key=value. - - - - - - Map class objects to an . - - - - Maintains a mapping between types that require special - rendering and the that - is used to render them. - - - The method is used to render an - object using the appropriate renderers defined in this map. - - - Nicko Cadell - Gert Driesen - - - - Default Constructor - - - - Default constructor. - - - - - - Render using the appropriate renderer. - - the object to render to a string - the object rendered as a string - - - This is a convenience method used to render an object to a string. - The alternative method - should be used when streaming output to a . - - - - - - Render using the appropriate renderer. - - the object to render to a string - The writer to render to - - - Find the appropriate renderer for the type of the - parameter. This is accomplished by calling the - method. Once a renderer is found, it is - applied on the object and the result is returned - as a . - - - - - - Gets the renderer for the specified object type - - the object to lookup the renderer for - the renderer for - - - Gets the renderer for the specified object type. - - - Syntactic sugar method that calls - with the type of the object parameter. - - - - - - Gets the renderer for the specified type - - the type to lookup the renderer for - the renderer for the specified type - - - Returns the renderer for the specified type. - If no specific renderer has been defined the - will be returned. - - - - - - Internal function to recursively search interfaces - - the type to lookup the renderer for - the renderer for the specified type - - - - Clear the map of renderers - - - - Clear the custom renderers defined by using - . The - cannot be removed. - - - - - - Register an for . - - the type that will be rendered by - the renderer for - - - Register an object renderer for a specific source type. - This renderer will be returned from a call to - specifying the same as an argument. - - - - - - Get the default renderer instance - - the default renderer - - - Get the default renderer - - - - - - Interface implemented by logger repository plugins. - - - - Plugins define additional behavior that can be associated - with a . - The held by the - property is used to store the plugins for a repository. - - - The log4net.Config.PluginAttribute can be used to - attach plugins to repositories created using configuration - attributes. - - - Nicko Cadell - Gert Driesen - - - - Attaches the plugin to the specified . - - The that this plugin should be attached to. - - - A plugin may only be attached to a single repository. - - - This method is called when the plugin is attached to the repository. - - - - - - Is called when the plugin is to shutdown. - - - - This method is called to notify the plugin that - it should stop operating and should detach from - the repository. - - - - - - Gets the name of the plugin. - - - The name of the plugin. - - - - Plugins are stored in the - keyed by name. Each plugin instance attached to a - repository must be a unique name. - - - - - - A strongly-typed collection of objects. - - Nicko Cadell - - - - Creates a read-only wrapper for a PluginCollection instance. - - list to create a readonly wrapper arround - - A PluginCollection wrapper that is read-only. - - - - - Initializes a new instance of the PluginCollection class - that is empty and has the default initial capacity. - - - - - Initializes a new instance of the PluginCollection class - that has the specified initial capacity. - - - The number of elements that the new PluginCollection is initially capable of storing. - - - - - Initializes a new instance of the PluginCollection class - that contains elements copied from the specified PluginCollection. - - The PluginCollection whose elements are copied to the new collection. - - - - Initializes a new instance of the PluginCollection class - that contains elements copied from the specified array. - - The array whose elements are copied to the new list. - - - - Initializes a new instance of the PluginCollection class - that contains elements copied from the specified collection. - - The collection whose elements are copied to the new list. - - - - Allow subclasses to avoid our default constructors - - - - - - - Copies the entire PluginCollection to a one-dimensional - array. - - The one-dimensional array to copy to. - - - - Copies the entire PluginCollection to a one-dimensional - array, starting at the specified index of the target array. - - The one-dimensional array to copy to. - The zero-based index in at which copying begins. - - - - Adds a to the end of the PluginCollection. - - The to be added to the end of the PluginCollection. - The index at which the value has been added. - - - - Removes all elements from the PluginCollection. - - - - - Creates a shallow copy of the . - - A new with a shallow copy of the collection data. - - - - Determines whether a given is in the PluginCollection. - - The to check for. - true if is found in the PluginCollection; otherwise, false. - - - - Returns the zero-based index of the first occurrence of a - in the PluginCollection. - - The to locate in the PluginCollection. - - The zero-based index of the first occurrence of - in the entire PluginCollection, if found; otherwise, -1. - - - - - Inserts an element into the PluginCollection at the specified index. - - The zero-based index at which should be inserted. - The to insert. - - is less than zero - -or- - is equal to or greater than . - - - - - Removes the first occurrence of a specific from the PluginCollection. - - The to remove from the PluginCollection. - - The specified was not found in the PluginCollection. - - - - - Removes the element at the specified index of the PluginCollection. - - The zero-based index of the element to remove. - - is less than zero. - -or- - is equal to or greater than . - - - - - Returns an enumerator that can iterate through the PluginCollection. - - An for the entire PluginCollection. - - - - Adds the elements of another PluginCollection to the current PluginCollection. - - The PluginCollection whose elements should be added to the end of the current PluginCollection. - The new of the PluginCollection. - - - - Adds the elements of a array to the current PluginCollection. - - The array whose elements should be added to the end of the PluginCollection. - The new of the PluginCollection. - - - - Adds the elements of a collection to the current PluginCollection. - - The collection whose elements should be added to the end of the PluginCollection. - The new of the PluginCollection. - - - - Sets the capacity to the actual number of elements. - - - - - is less than zero. - -or- - is equal to or greater than . - - - - - is less than zero. - -or- - is equal to or greater than . - - - - - Gets the number of elements actually contained in the PluginCollection. - - - - - Gets a value indicating whether access to the collection is synchronized (thread-safe). - - true if access to the ICollection is synchronized (thread-safe); otherwise, false. - - - - Gets an object that can be used to synchronize access to the collection. - - - An object that can be used to synchronize access to the collection. - - - - - Gets or sets the at the specified index. - - - The at the specified index. - - The zero-based index of the element to get or set. - - is less than zero. - -or- - is equal to or greater than . - - - - - Gets a value indicating whether the collection has a fixed size. - - true if the collection has a fixed size; otherwise, false. The default is false. - - - - Gets a value indicating whether the IList is read-only. - - true if the collection is read-only; otherwise, false. The default is false. - - - - Gets or sets the number of elements the PluginCollection can contain. - - - The number of elements the PluginCollection can contain. - - - - - Supports type-safe iteration over a . - - - - - - Advances the enumerator to the next element in the collection. - - - true if the enumerator was successfully advanced to the next element; - false if the enumerator has passed the end of the collection. - - - The collection was modified after the enumerator was created. - - - - - Sets the enumerator to its initial position, before the first element in the collection. - - - - - Gets the current element in the collection. - - - - - Type visible only to our subclasses - Used to access protected constructor - - - - - - A value - - - - - Supports simple iteration over a . - - - - - - Initializes a new instance of the Enumerator class. - - - - - - Advances the enumerator to the next element in the collection. - - - true if the enumerator was successfully advanced to the next element; - false if the enumerator has passed the end of the collection. - - - The collection was modified after the enumerator was created. - - - - - Sets the enumerator to its initial position, before the first element in the collection. - - - - - Gets the current element in the collection. - - - The current element in the collection. - - - - - - - - Map of repository plugins. - - - - This class is a name keyed map of the plugins that are - attached to a repository. - - - Nicko Cadell - Gert Driesen - - - - Constructor - - The repository that the plugins should be attached to. - - - Initialize a new instance of the class with a - repository that the plugins should be attached to. - - - - - - Adds a to the map. - - The to add to the map. - - - The will be attached to the repository when added. - - - If there already exists a plugin with the same name - attached to the repository then the old plugin will - be and replaced with - the new plugin. - - - - - - Removes a from the map. - - The to remove from the map. - - - Remove a specific plugin from this map. - - - - - - Gets a by name. - - The name of the to lookup. - - The from the map with the name specified, or - null if no plugin is found. - - - - Lookup a plugin by name. If the plugin is not found null - will be returned. - - - - - - Gets all possible plugins as a list of objects. - - All possible plugins as a list of objects. - - - Get a collection of all the plugins defined in this map. - - - - - - Base implementation of - - - - Default abstract implementation of the - interface. This base class can be used by implementors - of the interface. - - - Nicko Cadell - Gert Driesen - - - - Constructor - - the name of the plugin - - Initializes a new Plugin with the specified name. - - - - - Attaches this plugin to a . - - The that this plugin should be attached to. - - - A plugin may only be attached to a single repository. - - - This method is called when the plugin is attached to the repository. - - - - - - Is called when the plugin is to shutdown. - - - - This method is called to notify the plugin that - it should stop operating and should detach from - the repository. - - - - - - The name of this plugin. - - - - - The repository this plugin is attached to. - - - - - Gets or sets the name of the plugin. - - - The name of the plugin. - - - - Plugins are stored in the - keyed by name. Each plugin instance attached to a - repository must be a unique name. - - - The name of the plugin must not change one the - plugin has been attached to a repository. - - - - - - The repository for this plugin - - - The that this plugin is attached to. - - - - Gets or sets the that this plugin is - attached to. - - - - - - Plugin that listens for events from the - - - - This plugin publishes an instance of - on a specified . This listens for logging events delivered from - a remote . - - - When an event is received it is relogged within the attached repository - as if it had been raised locally. - - - Nicko Cadell - Gert Driesen - - - - Default constructor - - - - Initializes a new instance of the class. - - - The property must be set. - - - - - - Construct with sink Uri. - - The name to publish the sink under in the remoting infrastructure. - See for more details. - - - Initializes a new instance of the class - with specified name. - - - - - - Attaches this plugin to a . - - The that this plugin should be attached to. - - - A plugin may only be attached to a single repository. - - - This method is called when the plugin is attached to the repository. - - - - - - Is called when the plugin is to shutdown. - - - - When the plugin is shutdown the remote logging - sink is disconnected. - - - - - - Gets or sets the URI of this sink. - - - The URI of this sink. - - - - This is the name under which the object is marshaled. - - - - - - - Delivers objects to a remote sink. - - - - Internal class used to listen for logging events - and deliver them to the local repository. - - - - - - Constructor - - The repository to log to. - - - Initializes a new instance of the for the - specified . - - - - - - Logs the events to the repository. - - The events to log. - - - The events passed are logged to the - - - - - - Obtains a lifetime service object to control the lifetime - policy for this instance. - - null to indicate that this instance should live forever. - - - Obtains a lifetime service object to control the lifetime - policy for this instance. This object should live forever - therefore this implementation returns null. - - - - - - The underlying that events should - be logged to. - - - - - Default implementation of - - - - This default implementation of the - interface is used to create the default subclass - of the object. - - - Nicko Cadell - Gert Driesen - - - - Interface abstracts creation of instances - - - - This interface is used by the to - create new objects. - - - The method is called - to create a named . - - - Implement this interface to create new subclasses of . - - - Nicko Cadell - Gert Driesen - - - - Create a new instance - - The name of the . - The instance for the specified name. - - - Create a new instance with the - specified name. - - - Called by the to create - new named instances. - - - If the is null then the root logger - must be returned. - - - - - - Default constructor - - - - Initializes a new instance of the class. - - - - - - Create a new instance - - The name of the . - The instance for the specified name. - - - Create a new instance with the - specified name. - - - Called by the to create - new named instances. - - - If the is null then the root logger - must be returned. - - - - - - Default internal subclass of - - - - This subclass has no additional behavior over the - class but does allow instances - to be created. - - - - - - Implementation of used by - - - - Internal class used to provide implementation of - interface. Applications should use to get - logger instances. - - - This is one of the central classes in the log4net implementation. One of the - distinctive features of log4net are hierarchical loggers and their - evaluation. The organizes the - instances into a rooted tree hierarchy. - - - The class is abstract. Only concrete subclasses of - can be created. The - is used to create instances of this type for the . - - - Nicko Cadell - Gert Driesen - Aspi Havewala - Douglas de la Torre - - - - This constructor created a new instance and - sets its name. - - The name of the . - - - This constructor is protected and designed to be used by - a subclass that is not abstract. - - - Loggers are constructed by - objects. See for the default - logger creator. - - - - - - Add to the list of appenders of this - Logger instance. - - An appender to add to this logger - - - Add to the list of appenders of this - Logger instance. - - - If is already in the list of - appenders, then it won't be added again. - - - - - - Look for the appender named as name - - The name of the appender to lookup - The appender with the name specified, or null. - - - Returns the named appender, or null if the appender is not found. - - - - - - Remove all previously added appenders from this Logger instance. - - - - Remove all previously added appenders from this Logger instance. - - - This is useful when re-reading configuration information. - - - - - - Remove the appender passed as parameter form the list of appenders. - - The appender to remove - The appender removed from the list - - - Remove the appender passed as parameter form the list of appenders. - The appender removed is not closed. - If you are discarding the appender you must call - on the appender removed. - - - - - - Remove the appender passed as parameter form the list of appenders. - - The name of the appender to remove - The appender removed from the list - - - Remove the named appender passed as parameter form the list of appenders. - The appender removed is not closed. - If you are discarding the appender you must call - on the appender removed. - - - - - - This generic form is intended to be used by wrappers. - - The declaring type of the method that is - the stack boundary into the logging system for this call. - The level of the message to be logged. - The message object to log. - The exception to log, including its stack trace. - - - Generate a logging event for the specified using - the and . - - - This method must not throw any exception to the caller. - - - - - - This is the most generic printing method that is intended to be used - by wrappers. - - The event being logged. - - - Logs the specified logging event through this logger. - - - This method must not throw any exception to the caller. - - - - - - Checks if this logger is enabled for a given passed as parameter. - - The level to check. - - true if this logger is enabled for level, otherwise false. - - - - Test if this logger is going to log events of the specified . - - - This method must not throw any exception to the caller. - - - - - - Deliver the to the attached appenders. - - The event to log. - - - Call the appenders in the hierarchy starting at - this. If no appenders could be found, emit a - warning. - - - This method calls all the appenders inherited from the - hierarchy circumventing any evaluation of whether to log or not - to log the particular log request. - - - - - - Closes all attached appenders implementing the interface. - - - - Used to ensure that the appenders are correctly shutdown. - - - - - - This is the most generic printing method. This generic form is intended to be used by wrappers - - The level of the message to be logged. - The message object to log. - The exception to log, including its stack trace. - - - Generate a logging event for the specified using - the . - - - - - - Creates a new logging event and logs the event without further checks. - - The declaring type of the method that is - the stack boundary into the logging system for this call. - The level of the message to be logged. - The message object to log. - The exception to log, including its stack trace. - - - Generates a logging event and delivers it to the attached - appenders. - - - - - - Creates a new logging event and logs the event without further checks. - - The event being logged. - - - Delivers the logging event to the attached appenders. - - - - - - The fully qualified type of the Logger class. - - - - - The name of this logger. - - - - - The assigned level of this logger. - - - - The level variable need not be - assigned a value in which case it is inherited - form the hierarchy. - - - - - - The parent of this logger. - - - - The parent of this logger. - All loggers have at least one ancestor which is the root logger. - - - - - - Loggers need to know what Hierarchy they are in. - - - - Loggers need to know what Hierarchy they are in. - The hierarchy that this logger is a member of is stored - here. - - - - - - Helper implementation of the interface - - - - - Flag indicating if child loggers inherit their parents appenders - - - - Additivity is set to true by default, that is children inherit - the appenders of their ancestors by default. If this variable is - set to false then the appenders found in the - ancestors of this logger are not used. However, the children - of this logger will inherit its appenders, unless the children - have their additivity flag set to false too. See - the user manual for more details. - - - - - - Lock to protect AppenderAttachedImpl variable m_appenderAttachedImpl - - - - - Gets or sets the parent logger in the hierarchy. - - - The parent logger in the hierarchy. - - - - Part of the Composite pattern that makes the hierarchy. - The hierarchy is parent linked rather than child linked. - - - - - - Gets or sets a value indicating if child loggers inherit their parent's appenders. - - - true if child loggers inherit their parent's appenders. - - - - Additivity is set to true by default, that is children inherit - the appenders of their ancestors by default. If this variable is - set to false then the appenders found in the - ancestors of this logger are not used. However, the children - of this logger will inherit its appenders, unless the children - have their additivity flag set to false too. See - the user manual for more details. - - - - - - Gets the effective level for this logger. - - The nearest level in the logger hierarchy. - - - Starting from this logger, searches the logger hierarchy for a - non-null level and returns it. Otherwise, returns the level of the - root logger. - - The Logger class is designed so that this method executes as - quickly as possible. - - - - - Gets or sets the where this - Logger instance is attached to. - - The hierarchy that this logger belongs to. - - - This logger must be attached to a single . - - - - - - Gets or sets the assigned , if any, for this Logger. - - - The of this logger. - - - - The assigned can be null. - - - - - - Get the appenders contained in this logger as an - . - - A collection of the appenders in this logger - - - Get the appenders contained in this logger as an - . If no appenders - can be found, then a is returned. - - - - - - Gets the logger name. - - - The name of the logger. - - - - The name of this logger - - - - - - Gets the where this - Logger instance is attached to. - - - The that this logger belongs to. - - - - Gets the where this - Logger instance is attached to. - - - - - - Construct a new Logger - - the name of the logger - - - Initializes a new instance of the class - with the specified name. - - - - - - Delegate used to handle logger creation event notifications. - - The in which the has been created. - The event args that hold the instance that has been created. - - - Delegate used to handle logger creation event notifications. - - - - - - Provides data for the event. - - - - A event is raised every time a - is created. - - - - - - The created - - - - - Constructor - - The that has been created. - - - Initializes a new instance of the event argument - class,with the specified . - - - - - - Gets the that has been created. - - - The that has been created. - - - - The that has been created. - - - - - - Hierarchical organization of loggers - - - - The casual user should not have to deal with this class - directly. - - - This class is specialized in retrieving loggers by name and - also maintaining the logger hierarchy. Implements the - interface. - - - The structure of the logger hierarchy is maintained by the - method. The hierarchy is such that children - link to their parent but parents do not have any references to their - children. Moreover, loggers can be instantiated in any order, in - particular descendant before ancestor. - - - In case a descendant is created before a particular ancestor, - then it creates a provision node for the ancestor and adds itself - to the provision node. Other descendants of the same ancestor add - themselves to the previously created provision node. - - - Nicko Cadell - Gert Driesen - - - - Base implementation of - - - - Default abstract implementation of the interface. - - - Skeleton implementation of the interface. - All types can extend this type. - - - Nicko Cadell - Gert Driesen - - - - Interface implemented by logger repositories. - - - - This interface is implemented by logger repositories. e.g. - . - - - This interface is used by the - to obtain interfaces. - - - Nicko Cadell - Gert Driesen - - - - Check if the named logger exists in the repository. If so return - its reference, otherwise returns null. - - The name of the logger to lookup - The Logger object with the name specified - - - If the names logger exists it is returned, otherwise - null is returned. - - - - - - Returns all the currently defined loggers as an Array. - - All the defined loggers - - - Returns all the currently defined loggers as an Array. - - - - - - Returns a named logger instance - - The name of the logger to retrieve - The logger object with the name specified - - - Returns a named logger instance. - - - If a logger of that name already exists, then it will be - returned. Otherwise, a new logger will be instantiated and - then linked with its existing ancestors as well as children. - - - - - Shutdown the repository - - - Shutting down a repository will safely close and remove - all appenders in all loggers including the root logger. - - - Some appenders need to be closed before the - application exists. Otherwise, pending logging events might be - lost. - - - The method is careful to close nested - appenders before closing regular appenders. This is allows - configurations where a regular appender is attached to a logger - and again to a nested appender. - - - - - - Reset the repositories configuration to a default state - - - - Reset all values contained in this instance to their - default state. - - - Existing loggers are not removed. They are just reset. - - - This method should be used sparingly and with care as it will - block all logging until it is completed. - - - - - - Log the through this repository. - - the event to log - - - This method should not normally be used to log. - The interface should be used - for routine logging. This interface can be obtained - using the method. - - - The logEvent is delivered to the appropriate logger and - that logger is then responsible for logging the event. - - - - - - Returns all the Appenders that are configured as an Array. - - All the Appenders - - - Returns all the Appenders that are configured as an Array. - - - - - - The name of the repository - - - The name of the repository - - - - The name of the repository. - - - - - - RendererMap accesses the object renderer map for this repository. - - - RendererMap accesses the object renderer map for this repository. - - - - RendererMap accesses the object renderer map for this repository. - - - The RendererMap holds a mapping between types and - objects. - - - - - - The plugin map for this repository. - - - The plugin map for this repository. - - - - The plugin map holds the instances - that have been attached to this repository. - - - - - - Get the level map for the Repository. - - - - Get the level map for the Repository. - - - The level map defines the mappings between - level names and objects in - this repository. - - - - - - The threshold for all events in this repository - - - The threshold for all events in this repository - - - - The threshold for all events in this repository. - - - - - - Flag indicates if this repository has been configured. - - - Flag indicates if this repository has been configured. - - - - Flag indicates if this repository has been configured. - - - - - - Event to notify that the repository has been shutdown. - - - Event to notify that the repository has been shutdown. - - - - Event raised when the repository has been shutdown. - - - - - - Event to notify that the repository has had its configuration reset. - - - Event to notify that the repository has had its configuration reset. - - - - Event raised when the repository's configuration has been - reset to default. - - - - - - Event to notify that the repository has had its configuration changed. - - - Event to notify that the repository has had its configuration changed. - - - - Event raised when the repository's configuration has been changed. - - - - - - Repository specific properties - - - Repository specific properties - - - - These properties can be specified on a repository specific basis. - - - - - - Default Constructor - - - - Initializes the repository with default (empty) properties. - - - - - - Construct the repository using specific properties - - the properties to set for this repository - - - Initializes the repository with specified properties. - - - - - - Test if logger exists - - The name of the logger to lookup - The Logger object with the name specified - - - Check if the named logger exists in the repository. If so return - its reference, otherwise returns null. - - - - - - Returns all the currently defined loggers in the repository - - All the defined loggers - - - Returns all the currently defined loggers in the repository as an Array. - - - - - - Return a new logger instance - - The name of the logger to retrieve - The logger object with the name specified - - - Return a new logger instance. - - - If a logger of that name already exists, then it will be - returned. Otherwise, a new logger will be instantiated and - then linked with its existing ancestors as well as children. - - - - - - Shutdown the repository - - - - Shutdown the repository. Can be overridden in a subclass. - This base class implementation notifies the - listeners and all attached plugins of the shutdown event. - - - - - - Reset the repositories configuration to a default state - - - - Reset all values contained in this instance to their - default state. - - - Existing loggers are not removed. They are just reset. - - - This method should be used sparingly and with care as it will - block all logging until it is completed. - - - - - - Log the logEvent through this repository. - - the event to log - - - This method should not normally be used to log. - The interface should be used - for routine logging. This interface can be obtained - using the method. - - - The logEvent is delivered to the appropriate logger and - that logger is then responsible for logging the event. - - - - - - Returns all the Appenders that are configured as an Array. - - All the Appenders - - - Returns all the Appenders that are configured as an Array. - - - - - - Adds an object renderer for a specific class. - - The type that will be rendered by the renderer supplied. - The object renderer used to render the object. - - - Adds an object renderer for a specific class. - - - - - - Notify the registered listeners that the repository is shutting down - - Empty EventArgs - - - Notify any listeners that this repository is shutting down. - - - - - - Notify the registered listeners that the repository has had its configuration reset - - Empty EventArgs - - - Notify any listeners that this repository's configuration has been reset. - - - - - - Notify the registered listeners that the repository has had its configuration changed - - Empty EventArgs - - - Notify any listeners that this repository's configuration has changed. - - - - - - Raise a configuration changed event on this repository - - EventArgs.Empty - - - Applications that programmatically change the configuration of the repository should - raise this event notification to notify listeners. - - - - - - The name of the repository - - - The string name of the repository - - - - The name of this repository. The name is - used to store and lookup the repositories - stored by the . - - - - - - The threshold for all events in this repository - - - The threshold for all events in this repository - - - - The threshold for all events in this repository - - - - - - RendererMap accesses the object renderer map for this repository. - - - RendererMap accesses the object renderer map for this repository. - - - - RendererMap accesses the object renderer map for this repository. - - - The RendererMap holds a mapping between types and - objects. - - - - - - The plugin map for this repository. - - - The plugin map for this repository. - - - - The plugin map holds the instances - that have been attached to this repository. - - - - - - Get the level map for the Repository. - - - - Get the level map for the Repository. - - - The level map defines the mappings between - level names and objects in - this repository. - - - - - - Flag indicates if this repository has been configured. - - - Flag indicates if this repository has been configured. - - - - Flag indicates if this repository has been configured. - - - - - - Event to notify that the repository has been shutdown. - - - Event to notify that the repository has been shutdown. - - - - Event raised when the repository has been shutdown. - - - - - - Event to notify that the repository has had its configuration reset. - - - Event to notify that the repository has had its configuration reset. - - - - Event raised when the repository's configuration has been - reset to default. - - - - - - Event to notify that the repository has had its configuration changed. - - - Event to notify that the repository has had its configuration changed. - - - - Event raised when the repository's configuration has been changed. - - - - - - Repository specific properties - - - Repository specific properties - - - These properties can be specified on a repository specific basis - - - - - Basic Configurator interface for repositories - - - - Interface used by basic configurator to configure a - with a default . - - - A should implement this interface to support - configuration by the . - - - Nicko Cadell - Gert Driesen - - - - Initialize the repository using the specified appender - - the appender to use to log all logging events - - - Configure the repository to route all logging events to the - specified appender. - - - - - - Configure repository using XML - - - - Interface used by Xml configurator to configure a . - - - A should implement this interface to support - configuration by the . - - - Nicko Cadell - Gert Driesen - - - - Initialize the repository using the specified config - - the element containing the root of the config - - - The schema for the XML configuration data is defined by - the implementation. - - - - - - Default constructor - - - - Initializes a new instance of the class. - - - - - - Construct with properties - - The properties to pass to this repository. - - - Initializes a new instance of the class. - - - - - - Construct with a logger factory - - The factory to use to create new logger instances. - - - Initializes a new instance of the class with - the specified . - - - - - - Construct with properties and a logger factory - - The properties to pass to this repository. - The factory to use to create new logger instances. - - - Initializes a new instance of the class with - the specified . - - - - - - Test if a logger exists - - The name of the logger to lookup - The Logger object with the name specified - - - Check if the named logger exists in the hierarchy. If so return - its reference, otherwise returns null. - - - - - - Returns all the currently defined loggers in the hierarchy as an Array - - All the defined loggers - - - Returns all the currently defined loggers in the hierarchy as an Array. - The root logger is not included in the returned - enumeration. - - - - - - Return a new logger instance named as the first parameter using - the default factory. - - - - Return a new logger instance named as the first parameter using - the default factory. - - - If a logger of that name already exists, then it will be - returned. Otherwise, a new logger will be instantiated and - then linked with its existing ancestors as well as children. - - - The name of the logger to retrieve - The logger object with the name specified - - - - Shutting down a hierarchy will safely close and remove - all appenders in all loggers including the root logger. - - - - Shutting down a hierarchy will safely close and remove - all appenders in all loggers including the root logger. - - - Some appenders need to be closed before the - application exists. Otherwise, pending logging events might be - lost. - - - The Shutdown method is careful to close nested - appenders before closing regular appenders. This is allows - configurations where a regular appender is attached to a logger - and again to a nested appender. - - - - - - Reset all values contained in this hierarchy instance to their default. - - - - Reset all values contained in this hierarchy instance to their - default. This removes all appenders from all loggers, sets - the level of all non-root loggers to null, - sets their additivity flag to true and sets the level - of the root logger to . Moreover, - message disabling is set its default "off" value. - - - Existing loggers are not removed. They are just reset. - - - This method should be used sparingly and with care as it will - block all logging until it is completed. - - - - - - Log the logEvent through this hierarchy. - - the event to log - - - This method should not normally be used to log. - The interface should be used - for routine logging. This interface can be obtained - using the method. - - - The logEvent is delivered to the appropriate logger and - that logger is then responsible for logging the event. - - - - - - Returns all the Appenders that are currently configured - - An array containing all the currently configured appenders - - - Returns all the instances that are currently configured. - All the loggers are searched for appenders. The appenders may also be containers - for appenders and these are also searched for additional loggers. - - - The list returned is unordered but does not contain duplicates. - - - - - - Collect the appenders from an . - The appender may also be a container. - - - - - - - Collect the appenders from an container - - - - - - - Initialize the log4net system using the specified appender - - the appender to use to log all logging events - - - - Initialize the log4net system using the specified appender - - the appender to use to log all logging events - - - This method provides the same functionality as the - method implemented - on this object, but it is protected and therefore can be called by subclasses. - - - - - - Initialize the log4net system using the specified config - - the element containing the root of the config - - - - Initialize the log4net system using the specified config - - the element containing the root of the config - - - This method provides the same functionality as the - method implemented - on this object, but it is protected and therefore can be called by subclasses. - - - - - - Test if this hierarchy is disabled for the specified . - - The level to check against. - - true if the repository is disabled for the level argument, false otherwise. - - - - If this hierarchy has not been configured then this method will - always return true. - - - This method will return true if this repository is - disabled for level object passed as parameter and - false otherwise. - - - See also the property. - - - - - - Clear all logger definitions from the internal hashtable - - - - This call will clear all logger definitions from the internal - hashtable. Invoking this method will irrevocably mess up the - logger hierarchy. - - - You should really know what you are doing before - invoking this method. - - - - - - Return a new logger instance named as the first parameter using - . - - The name of the logger to retrieve - The factory that will make the new logger instance - The logger object with the name specified - - - If a logger of that name already exists, then it will be - returned. Otherwise, a new logger will be instantiated by the - parameter and linked with its existing - ancestors as well as children. - - - - - - Sends a logger creation event to all registered listeners - - The newly created logger - - Raises the logger creation event. - - - - - Updates all the parents of the specified logger - - The logger to update the parents for - - - This method loops through all the potential parents of - . There 3 possible cases: - - - - No entry for the potential parent of exists - - We create a ProvisionNode for this potential - parent and insert in that provision node. - - - - The entry is of type Logger for the potential parent. - - The entry is 's nearest existing parent. We - update 's parent field with this entry. We also break from - he loop because updating our parent's parent is our parent's - responsibility. - - - - The entry is of type ProvisionNode for this potential parent. - - We add to the list of children for this - potential parent. - - - - - - - - Replace a with a in the hierarchy. - - - - - - We update the links for all the children that placed themselves - in the provision node 'pn'. The second argument 'log' is a - reference for the newly created Logger, parent of all the - children in 'pn'. - - - We loop on all the children 'c' in 'pn'. - - - If the child 'c' has been already linked to a child of - 'log' then there is no need to update 'c'. - - - Otherwise, we set log's parent field to c's parent and set - c's parent field to log. - - - - - - Define or redefine a Level using the values in the argument - - the level values - - - Define or redefine a Level using the values in the argument - - - Supports setting levels via the configuration file. - - - - - - Set a Property using the values in the argument - - the property value - - - Set a Property using the values in the argument. - - - Supports setting property values via the configuration file. - - - - - - Event used to notify that a logger has been created. - - - - Event raised when a logger is created. - - - - - - Has no appender warning been emitted - - - - Flag to indicate if we have already issued a warning - about not having an appender warning. - - - - - - Get the root of this hierarchy - - - - Get the root of this hierarchy. - - - - - - Gets or sets the default instance. - - The default - - - The logger factory is used to create logger instances. - - - - - - A class to hold the value, name and display name for a level - - - - A class to hold the value, name and display name for a level - - - - - - Override Object.ToString to return sensible debug info - - string info about this object - - - - Value of the level - - - - If the value is not set (defaults to -1) the value will be looked - up for the current level with the same name. - - - - - - Name of the level - - - The name of the level - - - - The name of the level. - - - - - - Display name for the level - - - The display name of the level - - - - The display name of the level. - - - - - - A class to hold the key and data for a property set in the config file - - - - A class to hold the key and data for a property set in the config file - - - - - - Override Object.ToString to return sensible debug info - - string info about this object - - - - Property Key - - - Property Key - - - - Property Key. - - - - - - Property Value - - - Property Value - - - - Property Value. - - - - - - Used internally to accelerate hash table searches. - - - - Internal class used to improve performance of - string keyed hashtables. - - - The hashcode of the string is cached for reuse. - The string is stored as an interned value. - When comparing two objects for equality - the reference equality of the interned strings is compared. - - - Nicko Cadell - Gert Driesen - - - - Construct key with string name - - - - Initializes a new instance of the class - with the specified name. - - - Stores the hashcode of the string and interns - the string key to optimize comparisons. - - - The Compact Framework 1.0 the - method does not work. On the Compact Framework - the string keys are not interned nor are they - compared by reference. - - - The name of the logger. - - - - Returns a hash code for the current instance. - - A hash code for the current instance. - - - Returns the cached hashcode. - - - - - - Determines whether two instances - are equal. - - The to compare with the current . - - true if the specified is equal to the current ; otherwise, false. - - - - Compares the references of the interned strings. - - - - - - Provision nodes are used where no logger instance has been specified - - - - instances are used in the - when there is no specified - for that node. - - - A provision node holds a list of child loggers on behalf of - a logger that does not exist. - - - Nicko Cadell - Gert Driesen - - - - Create a new provision node with child node - - A child logger to add to this node. - - - Initializes a new instance of the class - with the specified child logger. - - - - - - The sits at the root of the logger hierarchy tree. - - - - The is a regular except - that it provides several guarantees. - - - First, it cannot be assigned a null - level. Second, since the root logger cannot have a parent, the - property always returns the value of the - level field without walking the hierarchy. - - - Nicko Cadell - Gert Driesen - - - - Construct a - - The level to assign to the root logger. - - - Initializes a new instance of the class with - the specified logging level. - - - The root logger names itself as "root". However, the root - logger cannot be retrieved by name. - - - - - - Gets the assigned level value without walking the logger hierarchy. - - The assigned level value without walking the logger hierarchy. - - - Because the root logger cannot have a parent and its level - must not be null this property just returns the - value of . - - - - - - Gets or sets the assigned for the root logger. - - - The of the root logger. - - - - Setting the level of the root logger to a null reference - may have catastrophic results. We prevent this here. - - - - - - Initializes the log4net environment using an XML DOM. - - - - Configures a using an XML DOM. - - - Nicko Cadell - Gert Driesen - - - - Construct the configurator for a hierarchy - - The hierarchy to build. - - - Initializes a new instance of the class - with the specified . - - - - - - Configure the hierarchy by parsing a DOM tree of XML elements. - - The root element to parse. - - - Configure the hierarchy by parsing a DOM tree of XML elements. - - - - - - Parse appenders by IDREF. - - The appender ref element. - The instance of the appender that the ref refers to. - - - Parse an XML element that represents an appender and return - the appender. - - - - - - Parses an appender element. - - The appender element. - The appender instance or null when parsing failed. - - - Parse an XML element that represents an appender and return - the appender instance. - - - - - - Parses a logger element. - - The logger element. - - - Parse an XML element that represents a logger. - - - - - - Parses the root logger element. - - The root element. - - - Parse an XML element that represents the root logger. - - - - - - Parses the children of a logger element. - - The category element. - The logger instance. - Flag to indicate if the logger is the root logger. - - - Parse the child elements of a <logger> element. - - - - - - Parses an object renderer. - - The renderer element. - - - Parse an XML element that represents a renderer. - - - - - - Parses a level element. - - The level element. - The logger object to set the level on. - Flag to indicate if the logger is the root logger. - - - Parse an XML element that represents a level. - - - - - - Sets a parameter on an object. - - The parameter element. - The object to set the parameter on. - - The parameter name must correspond to a writable property - on the object. The value of the parameter is a string, - therefore this function will attempt to set a string - property first. If unable to set a string property it - will inspect the property and its argument type. It will - attempt to call a static method called Parse on the - type of the property. This method will take a single - string argument and return a value that can be used to - set the property. - - - - - Test if an element has no attributes or child elements - - the element to inspect - true if the element has any attributes or child elements, false otherwise - - - - Test if a is constructible with Activator.CreateInstance. - - the type to inspect - true if the type is creatable using a default constructor, false otherwise - - - - Look for a method on the that matches the supplied - - the type that has the method - the name of the method - the method info found - - - The method must be a public instance method on the . - The method must be named or "Add" followed by . - The method must take a single parameter. - - - - - - Converts a string value to a target type. - - The type of object to convert the string to. - The string value to use as the value of the object. - - - An object of type with value or - null when the conversion could not be performed. - - - - - - Creates an object as specified in XML. - - The XML element that contains the definition of the object. - The object type to use if not explicitly specified. - The type that the returned object must be or must inherit from. - The object or null - - - Parse an XML element and create an object instance based on the configuration - data. - - - The type of the instance may be specified in the XML. If not - specified then the is used - as the type. However the type is specified it must support the - type. - - - - - - key: appenderName, value: appender. - - - - - The Hierarchy being configured. - - - - - Delegate used to handle logger repository shutdown event notifications - - The that is shutting down. - Empty event args - - - Delegate used to handle logger repository shutdown event notifications. - - - - - - Delegate used to handle logger repository configuration reset event notifications - - The that has had its configuration reset. - Empty event args - - - Delegate used to handle logger repository configuration reset event notifications. - - - - - - Delegate used to handle event notifications for logger repository configuration changes. - - The that has had its configuration changed. - Empty event arguments. - - - Delegate used to handle event notifications for logger repository configuration changes. - - - - - - Write the name of the current AppDomain to the output - - - - Write the name of the current AppDomain to the output writer - - - Nicko Cadell - - - - Write the name of the current AppDomain to the output - - the writer to write to - null, state is not set - - - Writes name of the current AppDomain to the output . - - - - - - Write the current date to the output - - - - Date pattern converter, uses a to format - the current date and time to the writer as a string. - - - The value of the determines - the formatting of the date. The following values are allowed: - - - Option value - Output - - - ISO8601 - - Uses the formatter. - Formats using the "yyyy-MM-dd HH:mm:ss,fff" pattern. - - - - DATE - - Uses the formatter. - Formats using the "dd MMM yyyy HH:mm:ss,fff" for example, "06 Nov 1994 15:49:37,459". - - - - ABSOLUTE - - Uses the formatter. - Formats using the "HH:mm:ss,fff" for example, "15:49:37,459". - - - - other - - Any other pattern string uses the formatter. - This formatter passes the pattern string to the - method. - For details on valid patterns see - DateTimeFormatInfo Class. - - - - - - The date and time is in the local time zone and is rendered in that zone. - To output the time in Universal time see . - - - Nicko Cadell - - - - The used to render the date to a string - - - - The used to render the date to a string - - - - - - Initialize the converter options - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - - - - Write the current date to the output - - that will receive the formatted result. - null, state is not set - - - Pass the current date and time to the - for it to render it to the writer. - - - The date and time passed is in the local time zone. - - - - - - Write an environment variable to the output - - - - Write an environment variable to the output writer. - The value of the determines - the name of the variable to output. - - - Nicko Cadell - - - - Write an environment variable to the output - - the writer to write to - null, state is not set - - - Writes the environment variable to the output . - The name of the environment variable to output must be set - using the - property. - - - - - - Write the current thread identity to the output - - - - Write the current thread identity to the output writer - - - Nicko Cadell - - - - Write the current thread identity to the output - - the writer to write to - null, state is not set - - - Writes the current thread identity to the output . - - - - - - Pattern converter for literal string instances in the pattern - - - - Writes the literal string value specified in the - property to - the output. - - - Nicko Cadell - - - - Set the next converter in the chain - - The next pattern converter in the chain - The next pattern converter - - - Special case the building of the pattern converter chain - for instances. Two adjacent - literals in the pattern can be represented by a single combined - pattern converter. This implementation detects when a - is added to the chain - after this converter and combines its value with this converter's - literal value. - - - - - - Write the literal to the output - - the writer to write to - null, not set - - - Override the formatting behavior to ignore the FormattingInfo - because we have a literal instead. - - - Writes the value of - to the output . - - - - - - Convert this pattern into the rendered message - - that will receive the formatted result. - null, not set - - - This method is not used. - - - - - - Writes a newline to the output - - - - Writes the system dependent line terminator to the output. - This behavior can be overridden by setting the : - - - - Option Value - Output - - - DOS - DOS or Windows line terminator "\r\n" - - - UNIX - UNIX line terminator "\n" - - - - Nicko Cadell - - - - Initialize the converter - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - - - - Write the current process ID to the output - - - - Write the current process ID to the output writer - - - Nicko Cadell - - - - Write the current process ID to the output - - the writer to write to - null, state is not set - - - Write the current process ID to the output . - - - - - - Property pattern converter - - - - This pattern converter reads the thread and global properties. - The thread properties take priority over global properties. - See for details of the - thread properties. See for - details of the global properties. - - - If the is specified then that will be used to - lookup a single property. If no is specified - then all properties will be dumped as a list of key value pairs. - - - Nicko Cadell - - - - Write the property value to the output - - that will receive the formatted result. - null, state is not set - - - Writes out the value of a named property. The property name - should be set in the - property. - - - If the is set to null - then all the properties are written as key value pairs. - - - - - - A Pattern converter that generates a string of random characters - - - - The converter generates a string of random characters. By default - the string is length 4. This can be changed by setting the - to the string value of the length required. - - - The random characters in the string are limited to uppercase letters - and numbers only. - - - The random number generator used by this class is not cryptographically secure. - - - Nicko Cadell - - - - Shared random number generator - - - - - Length of random string to generate. Default length 4. - - - - - Initialize the converter options - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - - - - Write a randoim string to the output - - the writer to write to - null, state is not set - - - Write a randoim string to the output . - - - - - - Write the current threads username to the output - - - - Write the current threads username to the output writer - - - Nicko Cadell - - - - Write the current threads username to the output - - the writer to write to - null, state is not set - - - Write the current threads username to the output . - - - - - - Write the UTC date time to the output - - - - Date pattern converter, uses a to format - the current date and time in Universal time. - - - See the for details on the date pattern syntax. - - - - Nicko Cadell - - - - Write the current date and time to the output - - that will receive the formatted result. - null, state is not set - - - Pass the current date and time to the - for it to render it to the writer. - - - The date is in Universal time when it is rendered. - - - - - - - Type converter for Boolean. - - - - Supports conversion from string to bool type. - - - - - - Nicko Cadell - Gert Driesen - - - - Can the source type be converted to the type supported by this object - - the type to convert - true if the conversion is possible - - - Returns true if the is - the type. - - - - - - Convert the source object to the type supported by this object - - the object to convert - the converted object - - - Uses the method to convert the - argument to a . - - - - The object cannot be converted to the - target type. To check for this condition use the - method. - - - - - Exception base type for conversion errors. - - - - This type extends . It - does not add any new functionality but does differentiate the - type of exception being thrown. - - - Nicko Cadell - Gert Driesen - - - - Constructor - - - - Initializes a new instance of the class. - - - - - - Constructor - - A message to include with the exception. - - - Initializes a new instance of the class - with the specified message. - - - - - - Constructor - - A message to include with the exception. - A nested exception to include. - - - Initializes a new instance of the class - with the specified message and inner exception. - - - - - - Serialization constructor - - The that holds the serialized object data about the exception being thrown. - The that contains contextual information about the source or destination. - - - Initializes a new instance of the class - with serialized data. - - - - - - Creates a new instance of the class. - - The conversion destination type. - The value to convert. - An instance of the . - - - Creates a new instance of the class. - - - - - - Creates a new instance of the class. - - The conversion destination type. - The value to convert. - A nested exception to include. - An instance of the . - - - Creates a new instance of the class. - - - - - - Register of type converters for specific types. - - - - Maintains a registry of type converters used to convert between - types. - - - Use the and - methods to register new converters. - The and methods - lookup appropriate converters to use. - - - - - Nicko Cadell - Gert Driesen - - - - Private constructor - - - Initializes a new instance of the class. - - - - - Static constructor. - - - - This constructor defines the intrinsic type converters. - - - - - - Adds a converter for a specific type. - - The type being converted to. - The type converter to use to convert to the destination type. - - - Adds a converter instance for a specific type. - - - - - - Adds a converter for a specific type. - - The type being converted to. - The type of the type converter to use to convert to the destination type. - - - Adds a converter for a specific type. - - - - - - Gets the type converter to use to convert values to the destination type. - - The type being converted from. - The type being converted to. - - The type converter instance to use for type conversions or null - if no type converter is found. - - - - Gets the type converter to use to convert values to the destination type. - - - - - - Gets the type converter to use to convert values to the destination type. - - The type being converted to. - - The type converter instance to use for type conversions or null - if no type converter is found. - - - - Gets the type converter to use to convert values to the destination type. - - - - - - Lookups the type converter to use as specified by the attributes on the - destination type. - - The type being converted to. - - The type converter instance to use for type conversions or null - if no type converter is found. - - - - - Creates the instance of the type converter. - - The type of the type converter. - - The type converter instance to use for type conversions or null - if no type converter is found. - - - - The type specified for the type converter must implement - the or interfaces - and must have a public default (no argument) constructor. - - - - - - Mapping from to type converter. - - - - - Supports conversion from string to type. - - - - Supports conversion from string to type. - - - - - - Nicko Cadell - Gert Driesen - - - - Can the source type be converted to the type supported by this object - - the type to convert - true if the conversion is possible - - - Returns true if the is - the type. - - - - - - Overrides the ConvertFrom method of IConvertFrom. - - the object to convert to an encoding - the encoding - - - Uses the method to - convert the argument to an . - - - - The object cannot be converted to the - target type. To check for this condition use the - method. - - - - - Interface supported by type converters - - - - This interface supports conversion from a single type to arbitrary types. - See . - - - Nicko Cadell - - - - Returns whether this converter can convert the object to the specified type - - A Type that represents the type you want to convert to - true if the conversion is possible - - - Test if the type supported by this converter can be converted to the - . - - - - - - Converts the given value object to the specified type, using the arguments - - the object to convert - The Type to convert the value parameter to - the converted object - - - Converts the (which must be of the type supported - by this converter) to the specified.. - - - - - - Supports conversion from string to type. - - - - Supports conversion from string to type. - - - - - Nicko Cadell - - - - Can the source type be converted to the type supported by this object - - the type to convert - true if the conversion is possible - - - Returns true if the is - the type. - - - - - - Overrides the ConvertFrom method of IConvertFrom. - - the object to convert to an IPAddress - the IPAddress - - - Uses the method to convert the - argument to an . - If that fails then the string is resolved as a DNS hostname. - - - - The object cannot be converted to the - target type. To check for this condition use the - method. - - - - - Valid characters in an IPv4 or IPv6 address string. (Does not support subnets) - - - - - Supports conversion from string to type. - - - - Supports conversion from string to type. - - - The string is used as the - of the . - - - - - - Nicko Cadell - - - - Can the source type be converted to the type supported by this object - - the type to convert - true if the conversion is possible - - - Returns true if the is - the type. - - - - - - Overrides the ConvertFrom method of IConvertFrom. - - the object to convert to a PatternLayout - the PatternLayout - - - Creates and returns a new using - the as the - . - - - - The object cannot be converted to the - target type. To check for this condition use the - method. - - - - - Convert between string and - - - - Supports conversion from string to type, - and from a type to a string. - - - The string is used as the - of the . - - - - - - Nicko Cadell - - - - Can the target type be converted to the type supported by this object - - A that represents the type you want to convert to - true if the conversion is possible - - - Returns true if the is - assignable from a type. - - - - - - Converts the given value object to the specified type, using the arguments - - the object to convert - The Type to convert the value parameter to - the converted object - - - Uses the method to convert the - argument to a . - - - - The object cannot be converted to the - . To check for this condition use the - method. - - - - - Can the source type be converted to the type supported by this object - - the type to convert - true if the conversion is possible - - - Returns true if the is - the type. - - - - - - Overrides the ConvertFrom method of IConvertFrom. - - the object to convert to a PatternString - the PatternString - - - Creates and returns a new using - the as the - . - - - - The object cannot be converted to the - target type. To check for this condition use the - method. - - - - - Supports conversion from string to type. - - - - Supports conversion from string to type. - - - - - - Nicko Cadell - - - - Can the source type be converted to the type supported by this object - - the type to convert - true if the conversion is possible - - - Returns true if the is - the type. - - - - - - Overrides the ConvertFrom method of IConvertFrom. - - the object to convert to a Type - the Type - - - Uses the method to convert the - argument to a . - Additional effort is made to locate partially specified types - by searching the loaded assemblies. - - - - The object cannot be converted to the - target type. To check for this condition use the - method. - - - - - Attribute used to associate a type converter - - - - Class and Interface level attribute that specifies a type converter - to use with the associated type. - - - To associate a type converter with a target type apply a - TypeConverterAttribute to the target type. Specify the - type of the type converter on the attribute. - - - Nicko Cadell - Gert Driesen - - - - The string type name of the type converter - - - - - Default constructor - - - - Default constructor - - - - - - Create a new type converter attribute for the specified type name - - The string type name of the type converter - - - The type specified must implement the - or the interfaces. - - - - - - Create a new type converter attribute for the specified type - - The type of the type converter - - - The type specified must implement the - or the interfaces. - - - - - - The string type name of the type converter - - - The string type name of the type converter - - - - The type specified must implement the - or the interfaces. - - - - - - A straightforward implementation of the interface. - - - - This is the default implementation of the - interface. Implementors of the interface - should aggregate an instance of this type. - - - Nicko Cadell - Gert Driesen - - - - Constructor - - - - Initializes a new instance of the class. - - - - - - Append on on all attached appenders. - - The event being logged. - The number of appenders called. - - - Calls the method on all - attached appenders. - - - - - - Append on on all attached appenders. - - The array of events being logged. - The number of appenders called. - - - Calls the method on all - attached appenders. - - - - - - Calls the DoAppende method on the with - the objects supplied. - - The appender - The events - - - If the supports the - interface then the will be passed - through using that interface. Otherwise the - objects in the array will be passed one at a time. - - - - - - Attaches an appender. - - The appender to add. - - - If the appender is already in the list it won't be added again. - - - - - - Gets an attached appender with the specified name. - - The name of the appender to get. - - The appender with the name specified, or null if no appender with the - specified name is found. - - - - Lookup an attached appender by name. - - - - - - Removes all attached appenders. - - - - Removes and closes all attached appenders - - - - - - Removes the specified appender from the list of attached appenders. - - The appender to remove. - The appender removed from the list - - - The appender removed is not closed. - If you are discarding the appender you must call - on the appender removed. - - - - - - Removes the appender with the specified name from the list of appenders. - - The name of the appender to remove. - The appender removed from the list - - - The appender removed is not closed. - If you are discarding the appender you must call - on the appender removed. - - - - - - List of appenders - - - - - Array of appenders, used to cache the m_appenderList - - - - - Gets all attached appenders. - - - A collection of attached appenders, or null if there - are no attached appenders. - - - - The read only collection of all currently attached appenders. - - - - - - This class aggregates several PropertiesDictionary collections together. - - - - Provides a dictionary style lookup over an ordered list of - collections. - - - Nicko Cadell - - - - Constructor - - - - Initializes a new instance of the class. - - - - - - Add a Properties Dictionary to this composite collection - - the properties to add - - - Properties dictionaries added first take precedence over dictionaries added - later. - - - - - - Flatten this composite collection into a single properties dictionary - - the flattened dictionary - - - Reduces the collection of ordered dictionaries to a single dictionary - containing the resultant values for the keys. - - - - - - Gets the value of a property - - - The value for the property with the specified key - - - - Looks up the value for the specified. - The collections are searched - in the order in which they were added to this collection. The value - returned is the value held by the first collection that contains - the specified key. - - - If none of the collections contain the specified key then - null is returned. - - - - - - Base class for Context Properties implementations - - - - This class defines a basic property get set accessor - - - Nicko Cadell - - - - Gets or sets the value of a property - - - The value for the property with the specified key - - - - Gets or sets the value of a property - - - - - - Subclass of that maintains a count of - the number of bytes written. - - - - This writer counts the number of bytes written. - - - Nicko Cadell - Gert Driesen - - - - that does not leak exceptions - - - - does not throw exceptions when things go wrong. - Instead, it delegates error handling to its . - - - Nicko Cadell - Gert Driesen - - - - Adapter that extends and forwards all - messages to an instance of . - - - - Adapter that extends and forwards all - messages to an instance of . - - - Nicko Cadell - - - - The writer to forward messages to - - - - - Create an instance of that forwards all - messages to a . - - The to forward to - - - Create an instance of that forwards all - messages to a . - - - - - - Closes the writer and releases any system resources associated with the writer - - - - - - - - - Dispose this writer - - flag indicating if we are being disposed - - - Dispose this writer - - - - - - Flushes any buffered output - - - - Clears all buffers for the writer and causes any buffered data to be written - to the underlying device - - - - - - Writes a character to the wrapped TextWriter - - the value to write to the TextWriter - - - Writes a character to the wrapped TextWriter - - - - - - Writes a character buffer to the wrapped TextWriter - - the data buffer - the start index - the number of characters to write - - - Writes a character buffer to the wrapped TextWriter - - - - - - Writes a string to the wrapped TextWriter - - the value to write to the TextWriter - - - Writes a string to the wrapped TextWriter - - - - - - Gets or sets the underlying . - - - The underlying . - - - - Gets or sets the underlying . - - - - - - The Encoding in which the output is written - - - The - - - - The Encoding in which the output is written - - - - - - Gets an object that controls formatting - - - The format provider - - - - Gets an object that controls formatting - - - - - - Gets or sets the line terminator string used by the TextWriter - - - The line terminator to use - - - - Gets or sets the line terminator string used by the TextWriter - - - - - - Constructor - - the writer to actually write to - the error handler to report error to - - - Create a new QuietTextWriter using a writer and error handler - - - - - - Writes a character to the underlying writer - - the char to write - - - Writes a character to the underlying writer - - - - - - Writes a buffer to the underlying writer - - the buffer to write - the start index to write from - the number of characters to write - - - Writes a buffer to the underlying writer - - - - - - Writes a string to the output. - - The string data to write to the output. - - - Writes a string to the output. - - - - - - Closes the underlying output writer. - - - - Closes the underlying output writer. - - - - - - The error handler instance to pass all errors to - - - - - Flag to indicate if this writer is closed - - - - - Gets or sets the error handler that all errors are passed to. - - - The error handler that all errors are passed to. - - - - Gets or sets the error handler that all errors are passed to. - - - - - - Gets a value indicating whether this writer is closed. - - - true if this writer is closed, otherwise false. - - - - Gets a value indicating whether this writer is closed. - - - - - - Constructor - - The to actually write to. - The to report errors to. - - - Creates a new instance of the class - with the specified and . - - - - - - Writes a character to the underlying writer and counts the number of bytes written. - - the char to write - - - Overrides implementation of . Counts - the number of bytes written. - - - - - - Writes a buffer to the underlying writer and counts the number of bytes written. - - the buffer to write - the start index to write from - the number of characters to write - - - Overrides implementation of . Counts - the number of bytes written. - - - - - - Writes a string to the output and counts the number of bytes written. - - The string data to write to the output. - - - Overrides implementation of . Counts - the number of bytes written. - - - - - - Total number of bytes written. - - - - - Gets or sets the total number of bytes written. - - - The total number of bytes written. - - - - Gets or sets the total number of bytes written. - - - - - - A fixed size rolling buffer of logging events. - - - - An array backed fixed size leaky bucket. - - - Nicko Cadell - Gert Driesen - - - - Constructor - - The maximum number of logging events in the buffer. - - - Initializes a new instance of the class with - the specified maximum number of buffered logging events. - - - The argument is not a positive integer. - - - - Appends a to the buffer. - - The event to append to the buffer. - The event discarded from the buffer, if the buffer is full, otherwise null. - - - Append an event to the buffer. If the buffer still contains free space then - null is returned. If the buffer is full then an event will be dropped - to make space for the new event, the event dropped is returned. - - - - - - Get and remove the oldest event in the buffer. - - The oldest logging event in the buffer - - - Gets the oldest (first) logging event in the buffer and removes it - from the buffer. - - - - - - Pops all the logging events from the buffer into an array. - - An array of all the logging events in the buffer. - - - Get all the events in the buffer and clear the buffer. - - - - - - Clear the buffer - - - - Clear the buffer of all events. The events in the buffer are lost. - - - - - - Gets the th oldest event currently in the buffer. - - The th oldest event currently in the buffer. - - - If is outside the range 0 to the number of events - currently in the buffer, then null is returned. - - - - - - Gets the maximum size of the buffer. - - The maximum size of the buffer. - - - Gets the maximum size of the buffer - - - - - - Gets the number of logging events in the buffer. - - The number of logging events in the buffer. - - - This number is guaranteed to be in the range 0 to - (inclusive). - - - - - - An always empty . - - - - A singleton implementation of the - interface that always represents an empty collection. - - - Nicko Cadell - Gert Driesen - - - - Initializes a new instance of the class. - - - - Uses a private access modifier to enforce the singleton pattern. - - - - - - Copies the elements of the to an - , starting at a particular Array index. - - The one-dimensional - that is the destination of the elements copied from - . The Array must have zero-based - indexing. - The zero-based index in array at which - copying begins. - - - As the collection is empty no values are copied into the array. - - - - - - Returns an enumerator that can iterate through a collection. - - - An that can be used to - iterate through the collection. - - - - As the collection is empty a is returned. - - - - - - The singleton instance of the empty collection. - - - - - Gets the singleton instance of the empty collection. - - The singleton instance of the empty collection. - - - Gets the singleton instance of the empty collection. - - - - - - Gets a value indicating if access to the is synchronized (thread-safe). - - - true if access to the is synchronized (thread-safe); otherwise, false. - - - - For the this property is always true. - - - - - - Gets the number of elements contained in the . - - - The number of elements contained in the . - - - - As the collection is empty the is always 0. - - - - - - Gets an object that can be used to synchronize access to the . - - - An object that can be used to synchronize access to the . - - - - As the collection is empty and thread safe and synchronized this instance is also - the object. - - - - - - An always empty . - - - - A singleton implementation of the - interface that always represents an empty collection. - - - Nicko Cadell - Gert Driesen - - - - Initializes a new instance of the class. - - - - Uses a private access modifier to enforce the singleton pattern. - - - - - - Copies the elements of the to an - , starting at a particular Array index. - - The one-dimensional - that is the destination of the elements copied from - . The Array must have zero-based - indexing. - The zero-based index in array at which - copying begins. - - - As the collection is empty no values are copied into the array. - - - - - - Returns an enumerator that can iterate through a collection. - - - An that can be used to - iterate through the collection. - - - - As the collection is empty a is returned. - - - - - - Adds an element with the provided key and value to the - . - - The to use as the key of the element to add. - The to use as the value of the element to add. - - - As the collection is empty no new values can be added. A - is thrown if this method is called. - - - This dictionary is always empty and cannot be modified. - - - - Removes all elements from the . - - - - As the collection is empty no values can be removed. A - is thrown if this method is called. - - - This dictionary is always empty and cannot be modified. - - - - Determines whether the contains an element - with the specified key. - - The key to locate in the . - false - - - As the collection is empty the method always returns false. - - - - - - Returns an enumerator that can iterate through a collection. - - - An that can be used to - iterate through the collection. - - - - As the collection is empty a is returned. - - - - - - Removes the element with the specified key from the . - - The key of the element to remove. - - - As the collection is empty no values can be removed. A - is thrown if this method is called. - - - This dictionary is always empty and cannot be modified. - - - - The singleton instance of the empty dictionary. - - - - - Gets the singleton instance of the . - - The singleton instance of the . - - - Gets the singleton instance of the . - - - - - - Gets a value indicating if access to the is synchronized (thread-safe). - - - true if access to the is synchronized (thread-safe); otherwise, false. - - - - For the this property is always true. - - - - - - Gets the number of elements contained in the - - - The number of elements contained in the . - - - - As the collection is empty the is always 0. - - - - - - Gets an object that can be used to synchronize access to the . - - - An object that can be used to synchronize access to the . - - - - As the collection is empty and thread safe and synchronized this instance is also - the object. - - - - - - Gets a value indicating whether the has a fixed size. - - true - - - As the collection is empty always returns true. - - - - - - Gets a value indicating whether the is read-only. - - true - - - As the collection is empty always returns true. - - - - - - Gets an containing the keys of the . - - An containing the keys of the . - - - As the collection is empty a is returned. - - - - - - Gets an containing the values of the . - - An containing the values of the . - - - As the collection is empty a is returned. - - - - - - Gets or sets the element with the specified key. - - The key of the element to get or set. - null - - - As the collection is empty no values can be looked up or stored. - If the index getter is called then null is returned. - A is thrown if the setter is called. - - - This dictionary is always empty and cannot be modified. - - - - Contain the information obtained when parsing formatting modifiers - in conversion modifiers. - - - - Holds the formatting information extracted from the format string by - the . This is used by the - objects when rendering the output. - - - Nicko Cadell - Gert Driesen - - - - Defaut Constructor - - - - Initializes a new instance of the class. - - - - - - Constructor - - - - Initializes a new instance of the class - with the specified parameters. - - - - - - Gets or sets the minimum value. - - - The minimum value. - - - - Gets or sets the minimum value. - - - - - - Gets or sets the maximum value. - - - The maximum value. - - - - Gets or sets the maximum value. - - - - - - Gets or sets a flag indicating whether left align is enabled - or not. - - - A flag indicating whether left align is enabled or not. - - - - Gets or sets a flag indicating whether left align is enabled or not. - - - - - - Implementation of Properties collection for the - - - - This class implements a properties collection that is thread safe and supports both - storing properties and capturing a read only copy of the current propertied. - - - This class is optimized to the scenario where the properties are read frequently - and are modified infrequently. - - - Nicko Cadell - - - - The read only copy of the properties. - - - - This variable is declared volatile to prevent the compiler and JIT from - reordering reads and writes of this thread performed on different threads. - - - - - - Lock object used to synchronize updates within this instance - - - - - Constructor - - - - Initializes a new instance of the class. - - - - - - Remove a property from the global context - - the key for the entry to remove - - - Removing an entry from the global context properties is relatively expensive compared - with reading a value. - - - - - - Clear the global context properties - - - - - Get a readonly immutable copy of the properties - - the current global context properties - - - This implementation is fast because the GlobalContextProperties class - stores a readonly copy of the properties. - - - - - - Gets or sets the value of a property - - - The value for the property with the specified key - - - - Reading the value for a key is faster than setting the value. - When the value is written a new read only copy of - the properties is created. - - - - - - Manages a mapping from levels to - - - - Manages an ordered mapping from instances - to subclasses. - - - Nicko Cadell - - - - Default constructor - - - - Initialise a new instance of . - - - - - - Add a to this mapping - - the entry to add - - - If a has previously been added - for the same then that entry will be - overwritten. - - - - - - Lookup the mapping for the specified level - - the level to lookup - the for the level or null if no mapping found - - - Lookup the value for the specified level. Finds the nearest - mapping value for the level that is equal to or less than the - specified. - - - If no mapping could be found then null is returned. - - - - - - Initialize options - - - - Caches the sorted list of in an array - - - - - - Implementation of Properties collection for the - - - - Class implements a collection of properties that is specific to each thread. - The class is not synchronized as each thread has its own . - - - Nicko Cadell - - - - Constructor - - - - Initializes a new instance of the class. - - - - - - Remove a property - - the key for the entry to remove - - - Remove the value for the specified from the context. - - - - - - Clear all the context properties - - - - Clear all the context properties - - - - - - Get the PropertiesDictionary stored in the LocalDataStoreSlot for this thread. - - create the dictionary if it does not exist, otherwise return null if is does not exist - the properties for this thread - - - The collection returned is only to be used on the calling thread. If the - caller needs to share the collection between different threads then the - caller must clone the collection before doings so. - - - - - - Gets or sets the value of a property - - - The value for the property with the specified key - - - - Get or set the property value for the specified. - - - - - - Outputs log statements from within the log4net assembly. - - - - Log4net components cannot make log4net logging calls. However, it is - sometimes useful for the user to learn about what log4net is - doing. - - - All log4net internal debug calls go to the standard output stream - whereas internal error messages are sent to the standard error output - stream. - - - Nicko Cadell - Gert Driesen - - - - Initializes a new instance of the class. - - - - Uses a private access modifier to prevent instantiation of this class. - - - - - - Static constructor that initializes logging by reading - settings from the application configuration file. - - - - The log4net.Internal.Debug application setting - controls internal debugging. This setting should be set - to true to enable debugging. - - - The log4net.Internal.Quiet application setting - suppresses all internal logging including error messages. - This setting should be set to true to enable message - suppression. - - - - - - Writes log4net internal debug messages to the - standard output stream. - - The message to log. - - - All internal debug messages are prepended with - the string "log4net: ". - - - - - - Writes log4net internal debug messages to the - standard output stream. - - The message to log. - An exception to log. - - - All internal debug messages are prepended with - the string "log4net: ". - - - - - - Writes log4net internal warning messages to the - standard error stream. - - The message to log. - - - All internal warning messages are prepended with - the string "log4net:WARN ". - - - - - - Writes log4net internal warning messages to the - standard error stream. - - The message to log. - An exception to log. - - - All internal warning messages are prepended with - the string "log4net:WARN ". - - - - - - Writes log4net internal error messages to the - standard error stream. - - The message to log. - - - All internal error messages are prepended with - the string "log4net:ERROR ". - - - - - - Writes log4net internal error messages to the - standard error stream. - - The message to log. - An exception to log. - - - All internal debug messages are prepended with - the string "log4net:ERROR ". - - - - - - Writes output to the standard output stream. - - The message to log. - - - Writes to both Console.Out and System.Diagnostics.Trace. - Note that the System.Diagnostics.Trace is not supported - on the Compact Framework. - - - If the AppDomain is not configured with a config file then - the call to System.Diagnostics.Trace may fail. This is only - an issue if you are programmatically creating your own AppDomains. - - - - - - Writes output to the standard error stream. - - The message to log. - - - Writes to both Console.Error and System.Diagnostics.Trace. - Note that the System.Diagnostics.Trace is not supported - on the Compact Framework. - - - If the AppDomain is not configured with a config file then - the call to System.Diagnostics.Trace may fail. This is only - an issue if you are programmatically creating your own AppDomains. - - - - - - Default debug level - - - - - In quietMode not even errors generate any output. - - - - - Gets or sets a value indicating whether log4net internal logging - is enabled or disabled. - - - true if log4net internal logging is enabled, otherwise - false. - - - - When set to true, internal debug level logging will be - displayed. - - - This value can be set by setting the application setting - log4net.Internal.Debug in the application configuration - file. - - - The default value is false, i.e. debugging is - disabled. - - - - - The following example enables internal debugging using the - application configuration file : - - - - - - - - - - - - - Gets or sets a value indicating whether log4net should generate no output - from internal logging, not even for errors. - - - true if log4net should generate no output at all from internal - logging, otherwise false. - - - - When set to true will cause internal logging at all levels to be - suppressed. This means that no warning or error reports will be logged. - This option overrides the setting and - disables all debug also. - - This value can be set by setting the application setting - log4net.Internal.Quiet in the application configuration file. - - - The default value is false, i.e. internal logging is not - disabled. - - - - The following example disables internal logging using the - application configuration file : - - - - - - - - - - - - Test if LogLog.Debug is enabled for output. - - - true if Debug is enabled - - - - Test if LogLog.Debug is enabled for output. - - - - - - Test if LogLog.Warn is enabled for output. - - - true if Warn is enabled - - - - Test if LogLog.Warn is enabled for output. - - - - - - Test if LogLog.Error is enabled for output. - - - true if Error is enabled - - - - Test if LogLog.Error is enabled for output. - - - - - - Represents a native error code and message. - - - - Represents a Win32 platform native error. - - - Nicko Cadell - Gert Driesen - - - - Create an instance of the class with the specified - error number and message. - - The number of the native error. - The message of the native error. - - - Create an instance of the class with the specified - error number and message. - - - - - - Create a new instance of the class for the last Windows error. - - - An instance of the class for the last windows error. - - - - The message for the error number is lookup up using the - native Win32 FormatMessage function. - - - - - - Create a new instance of the class. - - the error number for the native error - - An instance of the class for the specified - error number. - - - - The message for the specified error number is lookup up using the - native Win32 FormatMessage function. - - - - - - Retrieves the message corresponding with a Win32 message identifier. - - Message identifier for the requested message. - - The message corresponding with the specified message identifier. - - - - The message will be searched for in system message-table resource(s) - using the native FormatMessage function. - - - - - - Return error information string - - error information string - - - Return error information string - - - - - - Formats a message string. - - Formatting options, and how to interpret the parameter. - Location of the message definition. - Message identifier for the requested message. - Language identifier for the requested message. - If includes FORMAT_MESSAGE_ALLOCATE_BUFFER, the function allocates a buffer using the LocalAlloc function, and places the pointer to the buffer at the address specified in . - If the FORMAT_MESSAGE_ALLOCATE_BUFFER flag is not set, this parameter specifies the maximum number of TCHARs that can be stored in the output buffer. If FORMAT_MESSAGE_ALLOCATE_BUFFER is set, this parameter specifies the minimum number of TCHARs to allocate for an output buffer. - Pointer to an array of values that are used as insert values in the formatted message. - - - The function requires a message definition as input. The message definition can come from a - buffer passed into the function. It can come from a message table resource in an - already-loaded module. Or the caller can ask the function to search the system's message - table resource(s) for the message definition. The function finds the message definition - in a message table resource based on a message identifier and a language identifier. - The function copies the formatted message text to an output buffer, processing any embedded - insert sequences if requested. - - - To prevent the usage of unsafe code, this stub does not support inserting values in the formatted message. - - - - - If the function succeeds, the return value is the number of TCHARs stored in the output - buffer, excluding the terminating null character. - - - If the function fails, the return value is zero. To get extended error information, - call . - - - - - - Gets the number of the native error. - - - The number of the native error. - - - - Gets the number of the native error. - - - - - - Gets the message of the native error. - - - The message of the native error. - - - - - Gets the message of the native error. - - - - - An always empty . - - - - A singleton implementation of the over a collection - that is empty and not modifiable. - - - Nicko Cadell - Gert Driesen - - - - Initializes a new instance of the class. - - - - Uses a private access modifier to enforce the singleton pattern. - - - - - - Test if the enumerator can advance, if so advance. - - false as the cannot advance. - - - As the enumerator is over an empty collection its - value cannot be moved over a valid position, therefore - will always return false. - - - - - - Resets the enumerator back to the start. - - - - As the enumerator is over an empty collection does nothing. - - - - - - The singleton instance of the . - - - - - Gets the singleton instance of the . - - The singleton instance of the . - - - Gets the singleton instance of the . - - - - - - Gets the current object from the enumerator. - - - Throws an because the - never has a current value. - - - - As the enumerator is over an empty collection its - value cannot be moved over a valid position, therefore - will throw an . - - - The collection is empty and - cannot be positioned over a valid location. - - - - Gets the current key from the enumerator. - - - Throws an exception because the - never has a current value. - - - - As the enumerator is over an empty collection its - value cannot be moved over a valid position, therefore - will throw an . - - - The collection is empty and - cannot be positioned over a valid location. - - - - Gets the current value from the enumerator. - - The current value from the enumerator. - - Throws an because the - never has a current value. - - - - As the enumerator is over an empty collection its - value cannot be moved over a valid position, therefore - will throw an . - - - The collection is empty and - cannot be positioned over a valid location. - - - - Gets the current entry from the enumerator. - - - Throws an because the - never has a current entry. - - - - As the enumerator is over an empty collection its - value cannot be moved over a valid position, therefore - will throw an . - - - The collection is empty and - cannot be positioned over a valid location. - - - - An always empty . - - - - A singleton implementation of the over a collection - that is empty and not modifiable. - - - Nicko Cadell - Gert Driesen - - - - Initializes a new instance of the class. - - - - Uses a private access modifier to enforce the singleton pattern. - - - - - - Test if the enumerator can advance, if so advance - - false as the cannot advance. - - - As the enumerator is over an empty collection its - value cannot be moved over a valid position, therefore - will always return false. - - - - - - Resets the enumerator back to the start. - - - - As the enumerator is over an empty collection does nothing. - - - - - - The singleton instance of the . - - - - - Get the singleton instance of the . - - The singleton instance of the . - - - Gets the singleton instance of the . - - - - - - Gets the current object from the enumerator. - - - Throws an because the - never has a current value. - - - - As the enumerator is over an empty collection its - value cannot be moved over a valid position, therefore - will throw an . - - - The collection is empty and - cannot be positioned over a valid location. - - - - A SecurityContext used when a SecurityContext is not required - - - - The is a no-op implementation of the - base class. It is used where a - is required but one has not been provided. - - - Nicko Cadell - - - - Singleton instance of - - - - Singleton instance of - - - - - - Private constructor - - - - Private constructor for singleton pattern. - - - - - - Impersonate this SecurityContext - - State supplied by the caller - null - - - No impersonation is done and null is always returned. - - - - - - Implements log4net's default error handling policy which consists - of emitting a message for the first error in an appender and - ignoring all subsequent errors. - - - - The error message is printed on the standard error output stream. - - - This policy aims at protecting an otherwise working application - from being flooded with error messages when logging fails. - - - Nicko Cadell - Gert Driesen - - - - Default Constructor - - - - Initializes a new instance of the class. - - - - - - Constructor - - The prefix to use for each message. - - - Initializes a new instance of the class - with the specified prefix. - - - - - - Log an Error - - The error message. - The exception. - The internal error code. - - - Prints the message and the stack trace of the exception on the standard - error output stream. - - - - - - Log an Error - - The error message. - The exception. - - - Prints the message and the stack trace of the exception on the standard - error output stream. - - - - - - Log an error - - The error message. - - - Print a the error message passed as parameter on the standard - error output stream. - - - - - - Flag to indicate if it is the first error - - - - - String to prefix each message with - - - - - Is error logging enabled - - - - Is error logging enabled. Logging is only enabled for the - first error delivered to the . - - - - - - A convenience class to convert property values to specific types. - - - - Utility functions for converting types and parsing values. - - - Nicko Cadell - Gert Driesen - - - - Initializes a new instance of the class. - - - - Uses a private access modifier to prevent instantiation of this class. - - - - - - Converts a string to a value. - - String to convert. - The default value. - The value of . - - - If is "true", then true is returned. - If is "false", then false is returned. - Otherwise, is returned. - - - - - - Parses a file size into a number. - - String to parse. - The default value. - The value of . - - - Parses a file size of the form: number[KB|MB|GB] into a - long value. It is scaled with the appropriate multiplier. - - - is returned when - cannot be converted to a value. - - - - - - Converts a string to an object. - - The target type to convert to. - The string to convert to an object. - - The object converted from a string or null when the - conversion failed. - - - - Converts a string to an object. Uses the converter registry to try - to convert the string value into the specified target type. - - - - - - Checks if there is an appropriate type conversion from the source type to the target type. - - The type to convert from. - The type to convert to. - true if there is a conversion from the source type to the target type. - - Checks if there is an appropriate type conversion from the source type to the target type. - - - - - - - Converts an object to the target type. - - The object to convert to the target type. - The type to convert to. - The converted object. - - - Converts an object to the target type. - - - - - - Instantiates an object given a class name. - - The fully qualified class name of the object to instantiate. - The class to which the new object should belong. - The object to return in case of non-fulfillment. - - An instance of the or - if the object could not be instantiated. - - - - Checks that the is a subclass of - . If that test fails or the object could - not be instantiated, then is returned. - - - - - - Performs variable substitution in string from the - values of keys found in . - - The string on which variable substitution is performed. - The dictionary to use to lookup variables. - The result of the substitutions. - - - The variable substitution delimiters are ${ and }. - - - For example, if props contains key=value, then the call - - - - string s = OptionConverter.SubstituteVariables("Value of key is ${key}."); - - - - will set the variable s to "Value of key is value.". - - - If no value could be found for the specified key, then substitution - defaults to an empty string. - - - For example, if system properties contains no value for the key - "nonExistentKey", then the call - - - - string s = OptionConverter.SubstituteVariables("Value of nonExistentKey is [${nonExistentKey}]"); - - - - will set s to "Value of nonExistentKey is []". - - - An Exception is thrown if contains a start - delimiter "${" which is not balanced by a stop delimiter "}". - - - - - - Converts the string representation of the name or numeric value of one or - more enumerated constants to an equivalent enumerated object. - - The type to convert to. - The enum string value. - If true, ignore case; otherwise, regard case. - An object of type whose value is represented by . - - - - Most of the work of the class - is delegated to the PatternParser class. - - - - The PatternParser processes a pattern string and - returns a chain of objects. - - - Nicko Cadell - Gert Driesen - - - - Constructor - - The pattern to parse. - - - Initializes a new instance of the class - with the specified pattern string. - - - - - - Parses the pattern into a chain of pattern converters. - - The head of a chain of pattern converters. - - - Parses the pattern into a chain of pattern converters. - - - - - - Build the unified cache of converters from the static and instance maps - - the list of all the converter names - - - Build the unified cache of converters from the static and instance maps - - - - - - Internal method to parse the specified pattern to find specified matches - - the pattern to parse - the converter names to match in the pattern - - - The matches param must be sorted such that longer strings come before shorter ones. - - - - - - Process a parsed literal - - the literal text - - - - Process a parsed converter pattern - - the name of the converter - the optional option for the converter - the formatting info for the converter - - - - Resets the internal state of the parser and adds the specified pattern converter - to the chain. - - The pattern converter to add. - - - - The first pattern converter in the chain - - - - - the last pattern converter in the chain - - - - - The pattern - - - - - Internal map of converter identifiers to converter types - - - - This map overrides the static s_globalRulesRegistry map. - - - - - - Get the converter registry used by this parser - - - The converter registry used by this parser - - - - Get the converter registry used by this parser - - - - - - Sort strings by length - - - - that orders strings by string length. - The longest strings are placed first - - - - - - This class implements a patterned string. - - - - This string has embedded patterns that are resolved and expanded - when the string is formatted. - - - This class functions similarly to the - in that it accepts a pattern and renders it to a string. Unlike the - however the PatternString - does not render the properties of a specific but - of the process in general. - - - The recognized conversion pattern names are: - - - - Conversion Pattern Name - Effect - - - appdomain - - - Used to output the friendly name of the current AppDomain. - - - - - date - - - Used to output the date of the logging event in the local time zone. - To output the date in universal time use the %utcdate pattern. - The date conversion - specifier may be followed by a date format specifier enclosed - between braces. For example, %date{HH:mm:ss,fff} or - %date{dd MMM yyyy HH:mm:ss,fff}. If no date format specifier is - given then ISO8601 format is - assumed (). - - - The date format specifier admits the same syntax as the - time pattern string of the . - - - For better results it is recommended to use the log4net date - formatters. These can be specified using one of the strings - "ABSOLUTE", "DATE" and "ISO8601" for specifying - , - and respectively - . For example, - %date{ISO8601} or %date{ABSOLUTE}. - - - These dedicated date formatters perform significantly - better than . - - - - - env - - - Used to output the a specific environment variable. The key to - lookup must be specified within braces and directly following the - pattern specifier, e.g. %env{COMPUTERNAME} would include the value - of the COMPUTERNAME environment variable. - - - The env pattern is not supported on the .NET Compact Framework. - - - - - identity - - - Used to output the user name for the currently active user - (Principal.Identity.Name). - - - - - newline - - - Outputs the platform dependent line separator character or - characters. - - - This conversion pattern name offers the same performance as using - non-portable line separator strings such as "\n", or "\r\n". - Thus, it is the preferred way of specifying a line separator. - - - - - processid - - - Used to output the system process ID for the current process. - - - - - property - - - Used to output a specific context property. The key to - lookup must be specified within braces and directly following the - pattern specifier, e.g. %property{user} would include the value - from the property that is keyed by the string 'user'. Each property value - that is to be included in the log must be specified separately. - Properties are stored in logging contexts. By default - the log4net:HostName property is set to the name of machine on - which the event was originally logged. - - - If no key is specified, e.g. %property then all the keys and their - values are printed in a comma separated list. - - - The properties of an event are combined from a number of different - contexts. These are listed below in the order in which they are searched. - - - - the thread properties - - The that are set on the current - thread. These properties are shared by all events logged on this thread. - - - - the global properties - - The that are set globally. These - properties are shared by all the threads in the AppDomain. - - - - - - - random - - - Used to output a random string of characters. The string is made up of - uppercase letters and numbers. By default the string is 4 characters long. - The length of the string can be specified within braces directly following the - pattern specifier, e.g. %random{8} would output an 8 character string. - - - - - username - - - Used to output the WindowsIdentity for the currently - active user. - - - - - utcdate - - - Used to output the date of the logging event in universal time. - The date conversion - specifier may be followed by a date format specifier enclosed - between braces. For example, %utcdate{HH:mm:ss,fff} or - %utcdate{dd MMM yyyy HH:mm:ss,fff}. If no date format specifier is - given then ISO8601 format is - assumed (). - - - The date format specifier admits the same syntax as the - time pattern string of the . - - - For better results it is recommended to use the log4net date - formatters. These can be specified using one of the strings - "ABSOLUTE", "DATE" and "ISO8601" for specifying - , - and respectively - . For example, - %utcdate{ISO8601} or %utcdate{ABSOLUTE}. - - - These dedicated date formatters perform significantly - better than . - - - - - % - - - The sequence %% outputs a single percent sign. - - - - - - Additional pattern converters may be registered with a specific - instance using or - . - - - See the for details on the - format modifiers supported by the patterns. - - - Nicko Cadell - - - - Internal map of converter identifiers to converter types. - - - - - the pattern - - - - - the head of the pattern converter chain - - - - - patterns defined on this PatternString only - - - - - Initialize the global registry - - - - - Default constructor - - - - Initialize a new instance of - - - - - - Constructs a PatternString - - The pattern to use with this PatternString - - - Initialize a new instance of with the pattern specified. - - - - - - Initialize object options - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - - - - Create the used to parse the pattern - - the pattern to parse - The - - - Returns PatternParser used to parse the conversion string. Subclasses - may override this to return a subclass of PatternParser which recognize - custom conversion pattern name. - - - - - - Produces a formatted string as specified by the conversion pattern. - - The TextWriter to write the formatted event to - - - Format the pattern to the . - - - - - - Format the pattern as a string - - the pattern formatted as a string - - - Format the pattern to a string. - - - - - - Add a converter to this PatternString - - the converter info - - - This version of the method is used by the configurator. - Programmatic users should use the alternative method. - - - - - - Add a converter to this PatternString - - the name of the conversion pattern for this converter - the type of the converter - - - Add a converter to this PatternString - - - - - - Gets or sets the pattern formatting string - - - The pattern formatting string - - - - The ConversionPattern option. This is the string which - controls formatting and consists of a mix of literal content and - conversion specifiers. - - - - - - Wrapper class used to map converter names to converter types - - - - Wrapper class used to map converter names to converter types - - - - - - default constructor - - - - - Gets or sets the name of the conversion pattern - - - The name of the conversion pattern - - - - Gets or sets the name of the conversion pattern - - - - - - Gets or sets the type of the converter - - - The type of the converter - - - - Gets or sets the type of the converter - - - - - - String keyed object map. - - - - While this collection is serializable only member - objects that are serializable will - be serialized along with this collection. - - - Nicko Cadell - Gert Driesen - - - - String keyed object map that is read only. - - - - This collection is readonly and cannot be modified. - - - While this collection is serializable only member - objects that are serializable will - be serialized along with this collection. - - - Nicko Cadell - Gert Driesen - - - - The Hashtable used to store the properties data - - - - - Constructor - - - - Initializes a new instance of the class. - - - - - - Copy Constructor - - properties to copy - - - Initializes a new instance of the class. - - - - - - Deserialization constructor - - The that holds the serialized object data. - The that contains contextual information about the source or destination. - - - Initializes a new instance of the class - with serialized data. - - - - - - Gets the key names. - - An array of all the keys. - - - Gets the key names. - - - - - - Test if the dictionary contains a specified key - - the key to look for - true if the dictionary contains the specified key - - - Test if the dictionary contains a specified key - - - - - - Serializes this object into the provided. - - The to populate with data. - The destination for this serialization. - - - Serializes this object into the provided. - - - - - - See - - - - - See - - - - - - See - - - - - - - Remove all properties from the properties collection - - - - - See - - - - - - - See - - - - - - - See - - - - - Gets or sets the value of the property with the specified key. - - - The value of the property with the specified key. - - The key of the property to get or set. - - - The property value will only be serialized if it is serializable. - If it cannot be serialized it will be silently ignored if - a serialization operation is performed. - - - - - - The hashtable used to store the properties - - - The internal collection used to store the properties - - - - The hashtable used to store the properties - - - - - - See - - - - - See - - - - - See - - - - - See - - - - - See - - - - - See - - - - - The number of properties in this collection - - - - - See - - - - - Constructor - - - - Initializes a new instance of the class. - - - - - - Constructor - - properties to copy - - - Initializes a new instance of the class. - - - - - - Initializes a new instance of the class - with serialized data. - - The that holds the serialized object data. - The that contains contextual information about the source or destination. - - - Because this class is sealed the serialization constructor is private. - - - - - - Remove the entry with the specified key from this dictionary - - the key for the entry to remove - - - Remove the entry with the specified key from this dictionary - - - - - - See - - an enumerator - - - Returns a over the contest of this collection. - - - - - - See - - the key to remove - - - Remove the entry with the specified key from this dictionary - - - - - - See - - the key to lookup in the collection - true if the collection contains the specified key - - - Test if this collection contains a specified key. - - - - - - Remove all properties from the properties collection - - - - Remove all properties from the properties collection - - - - - - See - - the key - the value to store for the key - - - Store a value for the specified . - - - Thrown if the is not a string - - - - See - - - - - - - See - - - - - Gets or sets the value of the property with the specified key. - - - The value of the property with the specified key. - - The key of the property to get or set. - - - The property value will only be serialized if it is serializable. - If it cannot be serialized it will be silently ignored if - a serialization operation is performed. - - - - - - See - - - false - - - - This collection is modifiable. This property always - returns false. - - - - - - See - - - The value for the key specified. - - - - Get or set a value for the specified . - - - Thrown if the is not a string - - - - See - - - - - See - - - - - See - - - - - See - - - - - See - - - - - A that ignores the message - - - - This writer is used in special cases where it is necessary - to protect a writer from being closed by a client. - - - Nicko Cadell - - - - Constructor - - the writer to actually write to - - - Create a new ProtectCloseTextWriter using a writer - - - - - - Attach this instance to a different underlying - - the writer to attach to - - - Attach this instance to a different underlying - - - - - - Does not close the underlying output writer. - - - - Does not close the underlying output writer. - This method does nothing. - - - - - - Defines a lock that supports single writers and multiple readers - - - - ReaderWriterLock is used to synchronize access to a resource. - At any given time, it allows either concurrent read access for - multiple threads, or write access for a single thread. In a - situation where a resource is changed infrequently, a - ReaderWriterLock provides better throughput than a simple - one-at-a-time lock, such as . - - - If a platform does not support a System.Threading.ReaderWriterLock - implementation then all readers and writers are serialized. Therefore - the caller must not rely on multiple simultaneous readers. - - - Nicko Cadell - - - - Constructor - - - - Initializes a new instance of the class. - - - - - - Acquires a reader lock - - - - blocks if a different thread has the writer - lock, or if at least one thread is waiting for the writer lock. - - - - - - Decrements the lock count - - - - decrements the lock count. When the count - reaches zero, the lock is released. - - - - - - Acquires the writer lock - - - - This method blocks if another thread has a reader lock or writer lock. - - - - - - Decrements the lock count on the writer lock - - - - ReleaseWriterLock decrements the writer lock count. - When the count reaches zero, the writer lock is released. - - - - - - A that can be and reused - - - - A that can be and reused. - This uses a single buffer for string operations. - - - Nicko Cadell - - - - Create an instance of - - the format provider to use - - - Create an instance of - - - - - - Override Dispose to prevent closing of writer - - flag - - - Override Dispose to prevent closing of writer - - - - - - Reset this string writer so that it can be reused. - - the maximum buffer capacity before it is trimmed - the default size to make the buffer - - - Reset this string writer so that it can be reused. - The internal buffers are cleared and reset. - - - - - - Utility class for system specific information. - - - - Utility class of static methods for system specific information. - - - Nicko Cadell - Gert Driesen - Alexey Solofnenko - - - - Private constructor to prevent instances. - - - - Only static methods are exposed from this type. - - - - - - Initialize default values for private static fields. - - - - Only static methods are exposed from this type. - - - - - - Gets the assembly location path for the specified assembly. - - The assembly to get the location for. - The location of the assembly. - - - This method does not guarantee to return the correct path - to the assembly. If only tries to give an indication as to - where the assembly was loaded from. - - - - - - Gets the fully qualified name of the , including - the name of the assembly from which the was - loaded. - - The to get the fully qualified name for. - The fully qualified name for the . - - - This is equivalent to the Type.AssemblyQualifiedName property, - but this method works on the .NET Compact Framework 1.0 as well as - the full .NET runtime. - - - - - - Gets the short name of the . - - The to get the name for. - The short name of the . - - - The short name of the assembly is the - without the version, culture, or public key. i.e. it is just the - assembly's file name without the extension. - - - Use this rather than Assembly.GetName().Name because that - is not available on the Compact Framework. - - - Because of a FileIOPermission security demand we cannot do - the obvious Assembly.GetName().Name. We are allowed to get - the of the assembly so we - start from there and strip out just the assembly name. - - - - - - Gets the file name portion of the , including the extension. - - The to get the file name for. - The file name of the assembly. - - - Gets the file name portion of the , including the extension. - - - - - - Loads the type specified in the type string. - - A sibling type to use to load the type. - The name of the type to load. - Flag set to true to throw an exception if the type cannot be loaded. - true to ignore the case of the type name; otherwise, false - The type loaded or null if it could not be loaded. - - - If the type name is fully qualified, i.e. if contains an assembly name in - the type name, the type will be loaded from the system using - . - - - If the type name is not fully qualified, it will be loaded from the assembly - containing the specified relative type. If the type is not found in the assembly - then all the loaded assemblies will be searched for the type. - - - - - - Loads the type specified in the type string. - - The name of the type to load. - Flag set to true to throw an exception if the type cannot be loaded. - true to ignore the case of the type name; otherwise, false - The type loaded or null if it could not be loaded. - - - If the type name is fully qualified, i.e. if contains an assembly name in - the type name, the type will be loaded from the system using - . - - - If the type name is not fully qualified it will be loaded from the - assembly that is directly calling this method. If the type is not found - in the assembly then all the loaded assemblies will be searched for the type. - - - - - - Loads the type specified in the type string. - - An assembly to load the type from. - The name of the type to load. - Flag set to true to throw an exception if the type cannot be loaded. - true to ignore the case of the type name; otherwise, false - The type loaded or null if it could not be loaded. - - - If the type name is fully qualified, i.e. if contains an assembly name in - the type name, the type will be loaded from the system using - . - - - If the type name is not fully qualified it will be loaded from the specified - assembly. If the type is not found in the assembly then all the loaded assemblies - will be searched for the type. - - - - - - Generate a new guid - - A new Guid - - - Generate a new guid - - - - - - Create an - - The name of the parameter that caused the exception - The value of the argument that causes this exception - The message that describes the error - the ArgumentOutOfRangeException object - - - Create a new instance of the class - with a specified error message, the parameter name, and the value - of the argument. - - - The Compact Framework does not support the 3 parameter constructor for the - type. This method provides an - implementation that works for all platforms. - - - - - - Parse a string into an value - - the string to parse - out param where the parsed value is placed - true if the string was able to be parsed into an integer - - - Attempts to parse the string into an integer. If the string cannot - be parsed then this method returns false. The method does not throw an exception. - - - - - - Parse a string into an value - - the string to parse - out param where the parsed value is placed - true if the string was able to be parsed into an integer - - - Attempts to parse the string into an integer. If the string cannot - be parsed then this method returns false. The method does not throw an exception. - - - - - - Lookup an application setting - - the application settings key to lookup - the value for the key, or null - - - Configuration APIs are not supported under the Compact Framework - - - - - - Convert a path into a fully qualified local file path. - - The path to convert. - The fully qualified path. - - - Converts the path specified to a fully - qualified path. If the path is relative it is - taken as relative from the application base - directory. - - - The path specified must be a local file path, a URI is not supported. - - - - - - Creates a new case-insensitive instance of the class with the default initial capacity. - - A new case-insensitive instance of the class with the default initial capacity - - - The new Hashtable instance uses the default load factor, the CaseInsensitiveHashCodeProvider, and the CaseInsensitiveComparer. - - - - - - Gets an empty array of types. - - - - The Type.EmptyTypes field is not available on - the .NET Compact Framework 1.0. - - - - - - Cache the host name for the current machine - - - - - Cache the application friendly name - - - - - Text to output when a null is encountered. - - - - - Text to output when an unsupported feature is requested. - - - - - Start time for the current process. - - - - - Gets the system dependent line terminator. - - - The system dependent line terminator. - - - - Gets the system dependent line terminator. - - - - - - Gets the base directory for this . - - The base directory path for the current . - - - Gets the base directory for this . - - - The value returned may be either a local file path or a URI. - - - - - - Gets the path to the configuration file for the current . - - The path to the configuration file for the current . - - - The .NET Compact Framework 1.0 does not have a concept of a configuration - file. For this runtime, we use the entry assembly location as the root for - the configuration file name. - - - The value returned may be either a local file path or a URI. - - - - - - Gets the path to the file that first executed in the current . - - The path to the entry assembly. - - - Gets the path to the file that first executed in the current . - - - - - - Gets the ID of the current thread. - - The ID of the current thread. - - - On the .NET framework, the AppDomain.GetCurrentThreadId method - is used to obtain the thread ID for the current thread. This is the - operating system ID for the thread. - - - On the .NET Compact Framework 1.0 it is not possible to get the - operating system thread ID for the current thread. The native method - GetCurrentThreadId is implemented inline in a header file - and cannot be called. - - - On the .NET Framework 2.0 the Thread.ManagedThreadId is used as this - gives a stable id unrelated to the operating system thread ID which may - change if the runtime is using fibers. - - - - - - Get the host name or machine name for the current machine - - - The hostname or machine name - - - - Get the host name or machine name for the current machine - - - The host name () or - the machine name (Environment.MachineName) for - the current machine, or if neither of these are available - then NOT AVAILABLE is returned. - - - - - - Get this application's friendly name - - - The friendly name of this application as a string - - - - If available the name of the application is retrieved from - the AppDomain using AppDomain.CurrentDomain.FriendlyName. - - - Otherwise the file name of the entry assembly is used. - - - - - - Get the start time for the current process. - - - - This is the time at which the log4net library was loaded into the - AppDomain. Due to reports of a hang in the call to System.Diagnostics.Process.StartTime - this is not the start time for the current process. - - - The log4net library should be loaded by an application early during its - startup, therefore this start time should be a good approximation for - the actual start time. - - - Note that AppDomains may be loaded and unloaded within the - same process without the process terminating, however this start time - will be set per AppDomain. - - - - - - Text to output when a null is encountered. - - - - Use this value to indicate a null has been encountered while - outputting a string representation of an item. - - - The default value is (null). This value can be overridden by specifying - a value for the log4net.NullText appSetting in the application's - .config file. - - - - - - Text to output when an unsupported feature is requested. - - - - Use this value when an unsupported feature is requested. - - - The default value is NOT AVAILABLE. This value can be overridden by specifying - a value for the log4net.NotAvailableText appSetting in the application's - .config file. - - - - - - Utility class that represents a format string. - - - - Utility class that represents a format string. - - - Nicko Cadell - - - - Initialise the - - An that supplies culture-specific formatting information. - A containing zero or more format items. - An array containing zero or more objects to format. - - - - Format the string and arguments - - the formatted string - - - - Replaces the format item in a specified with the text equivalent - of the value of a corresponding instance in a specified array. - A specified parameter supplies culture-specific formatting information. - - An that supplies culture-specific formatting information. - A containing zero or more format items. - An array containing zero or more objects to format. - - A copy of format in which the format items have been replaced by the - equivalent of the corresponding instances of in args. - - - - This method does not throw exceptions. If an exception thrown while formatting the result the - exception and arguments are returned in the result string. - - - - - - Process an error during StringFormat - - - - - Dump the contents of an array into a string builder - - - - - Dump an object to a string - - - - - Implementation of Properties collection for the - - - - Class implements a collection of properties that is specific to each thread. - The class is not synchronized as each thread has its own . - - - Nicko Cadell - - - - The thread local data slot to use to store a PropertiesDictionary. - - - - - Internal constructor - - - - Initializes a new instance of the class. - - - - - - Remove a property - - the key for the entry to remove - - - Remove a property - - - - - - Clear all properties - - - - Clear all properties - - - - - - Get the PropertiesDictionary for this thread. - - create the dictionary if it does not exist, otherwise return null if is does not exist - the properties for this thread - - - The collection returned is only to be used on the calling thread. If the - caller needs to share the collection between different threads then the - caller must clone the collection before doing so. - - - - - - Gets or sets the value of a property - - - The value for the property with the specified key - - - - Gets or sets the value of a property - - - - - - Implementation of Stack for the - - - - Implementation of Stack for the - - - Nicko Cadell - - - - The stack store. - - - - - Internal constructor - - - - Initializes a new instance of the class. - - - - - - Clears all the contextual information held in this stack. - - - - Clears all the contextual information held in this stack. - Only call this if you think that this tread is being reused after - a previous call execution which may not have completed correctly. - You do not need to use this method if you always guarantee to call - the method of the - returned from even in exceptional circumstances, - for example by using the using(log4net.ThreadContext.Stacks["NDC"].Push("Stack_Message")) - syntax. - - - - - - Removes the top context from this stack. - - The message in the context that was removed from the top of this stack. - - - Remove the top context from this stack, and return - it to the caller. If this stack is empty then an - empty string (not ) is returned. - - - - - - Pushes a new context message into this stack. - - The new context message. - - An that can be used to clean up the context stack. - - - - Pushes a new context onto this stack. An - is returned that can be used to clean up this stack. This - can be easily combined with the using keyword to scope the - context. - - - Simple example of using the Push method with the using keyword. - - using(log4net.ThreadContext.Stacks["NDC"].Push("Stack_Message")) - { - log.Warn("This should have an ThreadContext Stack message"); - } - - - - - - Gets the current context information for this stack. - - The current context information. - - - - Gets the current context information for this stack. - - Gets the current context information - - - Gets the current context information for this stack. - - - - - - Get a portable version of this object - - the portable instance of this object - - - Get a cross thread portable version of this object - - - - - - The number of messages in the stack - - - The current number of messages in the stack - - - - The current number of messages in the stack. That is - the number of times has been called - minus the number of times has been called. - - - - - - Gets and sets the internal stack used by this - - The internal storage stack - - - This property is provided only to support backward compatability - of the . Tytpically the internal stack should not - be modified. - - - - - - Inner class used to represent a single context frame in the stack. - - - - Inner class used to represent a single context frame in the stack. - - - - - - Constructor - - The message for this context. - The parent context in the chain. - - - Initializes a new instance of the class - with the specified message and parent context. - - - - - - Get the message. - - The message. - - - Get the message. - - - - - - Gets the full text of the context down to the root level. - - - The full text of the context down to the root level. - - - - Gets the full text of the context down to the root level. - - - - - - Struct returned from the method. - - - - This struct implements the and is designed to be used - with the pattern to remove the stack frame at the end of the scope. - - - - - - The ThreadContextStack internal stack - - - - - The depth to trim the stack to when this instance is disposed - - - - - Constructor - - The internal stack used by the ThreadContextStack. - The depth to return the stack to when this object is disposed. - - - Initializes a new instance of the class with - the specified stack and return depth. - - - - - - Returns the stack to the correct depth. - - - - Returns the stack to the correct depth. - - - - - - Implementation of Stacks collection for the - - - - Implementation of Stacks collection for the - - - Nicko Cadell - - - - Internal constructor - - - - Initializes a new instance of the class. - - - - - - Gets the named thread context stack - - - The named stack - - - - Gets the named thread context stack - - - - - - Utility class for transforming strings. - - - - Utility class for transforming strings. - - - Nicko Cadell - Gert Driesen - - - - Initializes a new instance of the class. - - - - Uses a private access modifier to prevent instantiation of this class. - - - - - - Write a string to an - - the writer to write to - the string to write - The string to replace non XML compliant chars with - - - The test is escaped either using XML escape entities - or using CDATA sections. - - - - - - Replace invalid XML characters in text string - - the XML text input string - the string to use in place of invalid characters - A string that does not contain invalid XML characters. - - - Certain Unicode code points are not allowed in the XML InfoSet, for - details see: http://www.w3.org/TR/REC-xml/#charsets. - - - This method replaces any illegal characters in the input string - with the mask string specified. - - - - - - Count the number of times that the substring occurs in the text - - the text to search - the substring to find - the number of times the substring occurs in the text - - - The substring is assumed to be non repeating within itself. - - - - - - Impersonate a Windows Account - - - - This impersonates a Windows account. - - - How the impersonation is done depends on the value of . - This allows the context to either impersonate a set of user credentials specified - using username, domain name and password or to revert to the process credentials. - - - - - - Default constructor - - - - Default constructor - - - - - - Initialize the SecurityContext based on the options set. - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - The security context will try to Logon the specified user account and - capture a primary token for impersonation. - - - The required , - or properties were not specified. - - - - Impersonate the Windows account specified by the and properties. - - caller provided state - - An instance that will revoke the impersonation of this SecurityContext - - - - Depending on the property either - impersonate a user using credentials supplied or revert - to the process credentials. - - - - - - Create a given the userName, domainName and password. - - the user name - the domain name - the password - the for the account specified - - - Uses the Windows API call LogonUser to get a principal token for the account. This - token is used to initialize the WindowsIdentity. - - - - - - Gets or sets the impersonation mode for this security context - - - The impersonation mode for this security context - - - - Impersonate either a user with user credentials or - revert this thread to the credentials of the process. - The value is one of the - enum. - - - The default value is - - - When the mode is set to - the user's credentials are established using the - , and - values. - - - When the mode is set to - no other properties need to be set. If the calling thread is - impersonating then it will be reverted back to the process credentials. - - - - - - Gets or sets the Windows username for this security context - - - The Windows username for this security context - - - - This property must be set if - is set to (the default setting). - - - - - - Gets or sets the Windows domain name for this security context - - - The Windows domain name for this security context - - - - The default value for is the local machine name - taken from the property. - - - This property must be set if - is set to (the default setting). - - - - - - Sets the password for the Windows account specified by the and properties. - - - The password for the Windows account specified by the and properties. - - - - This property must be set if - is set to (the default setting). - - - - - - The impersonation modes for the - - - - See the property for - details. - - - - - - Impersonate a user using the credentials supplied - - - - - Revert this the thread to the credentials of the process - - - - - Adds to - - - - Helper class to expose the - through the interface. - - - - - - Constructor - - the impersonation context being wrapped - - - Constructor - - - - - - Revert the impersonation - - - - Revert the impersonation - - - - - - The log4net Global Context. - - - - The GlobalContext provides a location for global debugging - information to be stored. - - - The global context has a properties map and these properties can - be included in the output of log messages. The - supports selecting and outputing these properties. - - - By default the log4net:HostName property is set to the name of - the current machine. - - - - - GlobalContext.Properties["hostname"] = Environment.MachineName; - - - - Nicko Cadell - - - - Private Constructor. - - - Uses a private access modifier to prevent instantiation of this class. - - - - - The global context properties instance - - - - - The global properties map. - - - The global properties map. - - - - The global properties map. - - - - - - The log4net Logical Thread Context. - - - - The LogicalThreadContext provides a location for specific debugging - information to be stored. - The LogicalThreadContext properties override any or - properties with the same name. - - - The Logical Thread Context has a properties map and a stack. - The properties and stack can - be included in the output of log messages. The - supports selecting and outputting these properties. - - - The Logical Thread Context provides a diagnostic context for the current call context. - This is an instrument for distinguishing interleaved log - output from different sources. Log output is typically interleaved - when a server handles multiple clients near-simultaneously. - - - The Logical Thread Context is managed on a per basis. - - - Example of using the thread context properties to store a username. - - LogicalThreadContext.Properties["user"] = userName; - log.Info("This log message has a LogicalThreadContext Property called 'user'"); - - - Example of how to push a message into the context stack - - using(LogicalThreadContext.Stacks["LDC"].Push("my context message")) - { - log.Info("This log message has a LogicalThreadContext Stack message that includes 'my context message'"); - - } // at the end of the using block the message is automatically popped - - - - Nicko Cadell - - - - Private Constructor. - - - - Uses a private access modifier to prevent instantiation of this class. - - - - - - The thread context properties instance - - - - - The thread context stacks instance - - - - - The thread properties map - - - The thread properties map - - - - The LogicalThreadContext properties override any - or properties with the same name. - - - - - - The thread stacks - - - stack map - - - - The logical thread stacks. - - - - - - This class is used by client applications to request logger instances. - - - - This class has static methods that are used by a client to request - a logger instance. The method is - used to retrieve a logger. - - - See the interface for more details. - - - Simple example of logging messages - - ILog log = LogManager.GetLogger("application-log"); - - log.Info("Application Start"); - log.Debug("This is a debug message"); - - if (log.IsDebugEnabled) - { - log.Debug("This is another debug message"); - } - - - - - Nicko Cadell - Gert Driesen - - - - Initializes a new instance of the class. - - - Uses a private access modifier to prevent instantiation of this class. - - - - Returns the named logger if it exists. - - Returns the named logger if it exists. - - - - If the named logger exists (in the default repository) then it - returns a reference to the logger, otherwise it returns null. - - - The fully qualified logger name to look for. - The logger found, or null if no logger could be found. - - - - Returns the named logger if it exists. - - - - If the named logger exists (in the specified repository) then it - returns a reference to the logger, otherwise it returns - null. - - - The repository to lookup in. - The fully qualified logger name to look for. - - The logger found, or null if the logger doesn't exist in the specified - repository. - - - - - Returns the named logger if it exists. - - - - If the named logger exists (in the repository for the specified assembly) then it - returns a reference to the logger, otherwise it returns - null. - - - The assembly to use to lookup the repository. - The fully qualified logger name to look for. - - The logger, or null if the logger doesn't exist in the specified - assembly's repository. - - - - Get the currently defined loggers. - - Returns all the currently defined loggers in the default repository. - - - The root logger is not included in the returned array. - - All the defined loggers. - - - - Returns all the currently defined loggers in the specified repository. - - The repository to lookup in. - - The root logger is not included in the returned array. - - All the defined loggers. - - - - Returns all the currently defined loggers in the specified assembly's repository. - - The assembly to use to lookup the repository. - - The root logger is not included in the returned array. - - All the defined loggers. - - - Get or create a logger. - - Retrieves or creates a named logger. - - - - Retrieves a logger named as the - parameter. If the named logger already exists, then the - existing instance will be returned. Otherwise, a new instance is - created. - - By default, loggers do not have a set level but inherit - it from the hierarchy. This is one of the central features of - log4net. - - - The name of the logger to retrieve. - The logger with the name specified. - - - - Retrieves or creates a named logger. - - - - Retrieve a logger named as the - parameter. If the named logger already exists, then the - existing instance will be returned. Otherwise, a new instance is - created. - - - By default, loggers do not have a set level but inherit - it from the hierarchy. This is one of the central features of - log4net. - - - The repository to lookup in. - The name of the logger to retrieve. - The logger with the name specified. - - - - Retrieves or creates a named logger. - - - - Retrieve a logger named as the - parameter. If the named logger already exists, then the - existing instance will be returned. Otherwise, a new instance is - created. - - - By default, loggers do not have a set level but inherit - it from the hierarchy. This is one of the central features of - log4net. - - - The assembly to use to lookup the repository. - The name of the logger to retrieve. - The logger with the name specified. - - - - Shorthand for . - - - Get the logger for the fully qualified name of the type specified. - - The full name of will be used as the name of the logger to retrieve. - The logger with the name specified. - - - - Shorthand for . - - - Gets the logger for the fully qualified name of the type specified. - - The repository to lookup in. - The full name of will be used as the name of the logger to retrieve. - The logger with the name specified. - - - - Shorthand for . - - - Gets the logger for the fully qualified name of the type specified. - - The assembly to use to lookup the repository. - The full name of will be used as the name of the logger to retrieve. - The logger with the name specified. - - - - Shuts down the log4net system. - - - - Calling this method will safely close and remove all - appenders in all the loggers including root contained in all the - default repositories. - - - Some appenders need to be closed before the application exists. - Otherwise, pending logging events might be lost. - - The shutdown method is careful to close nested - appenders before closing regular appenders. This is allows - configurations where a regular appender is attached to a logger - and again to a nested appender. - - - - - Shutdown a logger repository. - - Shuts down the default repository. - - - - Calling this method will safely close and remove all - appenders in all the loggers including root contained in the - default repository. - - Some appenders need to be closed before the application exists. - Otherwise, pending logging events might be lost. - - The shutdown method is careful to close nested - appenders before closing regular appenders. This is allows - configurations where a regular appender is attached to a logger - and again to a nested appender. - - - - - - Shuts down the repository for the repository specified. - - - - Calling this method will safely close and remove all - appenders in all the loggers including root contained in the - specified. - - - Some appenders need to be closed before the application exists. - Otherwise, pending logging events might be lost. - - The shutdown method is careful to close nested - appenders before closing regular appenders. This is allows - configurations where a regular appender is attached to a logger - and again to a nested appender. - - - The repository to shutdown. - - - - Shuts down the repository specified. - - - - Calling this method will safely close and remove all - appenders in all the loggers including root contained in the - repository. The repository is looked up using - the specified. - - - Some appenders need to be closed before the application exists. - Otherwise, pending logging events might be lost. - - - The shutdown method is careful to close nested - appenders before closing regular appenders. This is allows - configurations where a regular appender is attached to a logger - and again to a nested appender. - - - The assembly to use to lookup the repository. - - - Reset the configuration of a repository - - Resets all values contained in this repository instance to their defaults. - - - - Resets all values contained in the repository instance to their - defaults. This removes all appenders from all loggers, sets - the level of all non-root loggers to null, - sets their additivity flag to true and sets the level - of the root logger to . Moreover, - message disabling is set to its default "off" value. - - - - - - Resets all values contained in this repository instance to their defaults. - - - - Reset all values contained in the repository instance to their - defaults. This removes all appenders from all loggers, sets - the level of all non-root loggers to null, - sets their additivity flag to true and sets the level - of the root logger to . Moreover, - message disabling is set to its default "off" value. - - - The repository to reset. - - - - Resets all values contained in this repository instance to their defaults. - - - - Reset all values contained in the repository instance to their - defaults. This removes all appenders from all loggers, sets - the level of all non-root loggers to null, - sets their additivity flag to true and sets the level - of the root logger to . Moreover, - message disabling is set to its default "off" value. - - - The assembly to use to lookup the repository to reset. - - - Get the logger repository. - - Returns the default instance. - - - - Gets the for the repository specified - by the callers assembly (). - - - The instance for the default repository. - - - - Returns the default instance. - - The default instance. - - - Gets the for the repository specified - by the argument. - - - The repository to lookup in. - - - - Returns the default instance. - - The default instance. - - - Gets the for the repository specified - by the argument. - - - The assembly to use to lookup the repository. - - - Get a logger repository. - - Returns the default instance. - - - - Gets the for the repository specified - by the callers assembly (). - - - The instance for the default repository. - - - - Returns the default instance. - - The default instance. - - - Gets the for the repository specified - by the argument. - - - The repository to lookup in. - - - - Returns the default instance. - - The default instance. - - - Gets the for the repository specified - by the argument. - - - The assembly to use to lookup the repository. - - - Create a domain - - Creates a repository with the specified repository type. - - - - CreateDomain is obsolete. Use CreateRepository instead of CreateDomain. - - - The created will be associated with the repository - specified such that a call to will return - the same repository instance. - - - A that implements - and has a no arg constructor. An instance of this type will be created to act - as the for the repository specified. - The created for the repository. - - - Create a logger repository. - - Creates a repository with the specified repository type. - - A that implements - and has a no arg constructor. An instance of this type will be created to act - as the for the repository specified. - The created for the repository. - - - The created will be associated with the repository - specified such that a call to will return - the same repository instance. - - - - - - Creates a repository with the specified name. - - - - CreateDomain is obsolete. Use CreateRepository instead of CreateDomain. - - - Creates the default type of which is a - object. - - - The name must be unique. Repositories cannot be redefined. - An will be thrown if the repository already exists. - - - The name of the repository, this must be unique amongst repositories. - The created for the repository. - The specified repository already exists. - - - - Creates a repository with the specified name. - - - - Creates the default type of which is a - object. - - - The name must be unique. Repositories cannot be redefined. - An will be thrown if the repository already exists. - - - The name of the repository, this must be unique amongst repositories. - The created for the repository. - The specified repository already exists. - - - - Creates a repository with the specified name and repository type. - - - - CreateDomain is obsolete. Use CreateRepository instead of CreateDomain. - - - The name must be unique. Repositories cannot be redefined. - An will be thrown if the repository already exists. - - - The name of the repository, this must be unique to the repository. - A that implements - and has a no arg constructor. An instance of this type will be created to act - as the for the repository specified. - The created for the repository. - The specified repository already exists. - - - - Creates a repository with the specified name and repository type. - - - - The name must be unique. Repositories cannot be redefined. - An will be thrown if the repository already exists. - - - The name of the repository, this must be unique to the repository. - A that implements - and has a no arg constructor. An instance of this type will be created to act - as the for the repository specified. - The created for the repository. - The specified repository already exists. - - - - Creates a repository for the specified assembly and repository type. - - - - CreateDomain is obsolete. Use CreateRepository instead of CreateDomain. - - - The created will be associated with the repository - specified such that a call to with the - same assembly specified will return the same repository instance. - - - The assembly to use to get the name of the repository. - A that implements - and has a no arg constructor. An instance of this type will be created to act - as the for the repository specified. - The created for the repository. - - - - Creates a repository for the specified assembly and repository type. - - - - The created will be associated with the repository - specified such that a call to with the - same assembly specified will return the same repository instance. - - - The assembly to use to get the name of the repository. - A that implements - and has a no arg constructor. An instance of this type will be created to act - as the for the repository specified. - The created for the repository. - - - - Gets the list of currently defined repositories. - - - - Get an array of all the objects that have been created. - - - An array of all the known objects. - - - - Looks up the wrapper object for the logger specified. - - The logger to get the wrapper for. - The wrapper for the logger specified. - - - - Looks up the wrapper objects for the loggers specified. - - The loggers to get the wrappers for. - The wrapper objects for the loggers specified. - - - - Create the objects used by - this manager. - - The logger to wrap. - The wrapper for the logger specified. - - - - The wrapper map to use to hold the objects. - - - - - Implementation of Mapped Diagnostic Contexts. - - - - - The MDC is deprecated and has been replaced by the . - The current MDC implementation forwards to the ThreadContext.Properties. - - - - The MDC class is similar to the class except that it is - based on a map instead of a stack. It provides mapped - diagnostic contexts. A Mapped Diagnostic Context, or - MDC in short, is an instrument for distinguishing interleaved log - output from different sources. Log output is typically interleaved - when a server handles multiple clients near-simultaneously. - - - The MDC is managed on a per thread basis. - - - - Nicko Cadell - Gert Driesen - - - - Initializes a new instance of the class. - - - Uses a private access modifier to prevent instantiation of this class. - - - - - Gets the context value identified by the parameter. - - The key to lookup in the MDC. - The string value held for the key, or a null reference if no corresponding value is found. - - - - The MDC is deprecated and has been replaced by the . - The current MDC implementation forwards to the ThreadContext.Properties. - - - - If the parameter does not look up to a - previously defined context then null will be returned. - - - - - - Add an entry to the MDC - - The key to store the value under. - The value to store. - - - - The MDC is deprecated and has been replaced by the . - The current MDC implementation forwards to the ThreadContext.Properties. - - - - Puts a context value (the parameter) as identified - with the parameter into the current thread's - context map. - - - If a value is already defined for the - specified then the value will be replaced. If the - is specified as null then the key value mapping will be removed. - - - - - - Removes the key value mapping for the key specified. - - The key to remove. - - - - The MDC is deprecated and has been replaced by the . - The current MDC implementation forwards to the ThreadContext.Properties. - - - - Remove the specified entry from this thread's MDC - - - - - - Clear all entries in the MDC - - - - - The MDC is deprecated and has been replaced by the . - The current MDC implementation forwards to the ThreadContext.Properties. - - - - Remove all the entries from this thread's MDC - - - - - - Implementation of Nested Diagnostic Contexts. - - - - - The NDC is deprecated and has been replaced by the . - The current NDC implementation forwards to the ThreadContext.Stacks["NDC"]. - - - - A Nested Diagnostic Context, or NDC in short, is an instrument - to distinguish interleaved log output from different sources. Log - output is typically interleaved when a server handles multiple - clients near-simultaneously. - - - Interleaved log output can still be meaningful if each log entry - from different contexts had a distinctive stamp. This is where NDCs - come into play. - - - Note that NDCs are managed on a per thread basis. The NDC class - is made up of static methods that operate on the context of the - calling thread. - - - How to push a message into the context - - using(NDC.Push("my context message")) - { - ... all log calls will have 'my context message' included ... - - } // at the end of the using block the message is automatically removed - - - - Nicko Cadell - Gert Driesen - - - - Initializes a new instance of the class. - - - Uses a private access modifier to prevent instantiation of this class. - - - - - Clears all the contextual information held on the current thread. - - - - - The NDC is deprecated and has been replaced by the . - The current NDC implementation forwards to the ThreadContext.Stacks["NDC"]. - - - - Clears the stack of NDC data held on the current thread. - - - - - - Creates a clone of the stack of context information. - - A clone of the context info for this thread. - - - - The NDC is deprecated and has been replaced by the . - The current NDC implementation forwards to the ThreadContext.Stacks["NDC"]. - - - - The results of this method can be passed to the - method to allow child threads to inherit the context of their - parent thread. - - - - - - Inherits the contextual information from another thread. - - The context stack to inherit. - - - - The NDC is deprecated and has been replaced by the . - The current NDC implementation forwards to the ThreadContext.Stacks["NDC"]. - - - - This thread will use the context information from the stack - supplied. This can be used to initialize child threads with - the same contextual information as their parent threads. These - contexts will NOT be shared. Any further contexts that - are pushed onto the stack will not be visible to the other. - Call to obtain a stack to pass to - this method. - - - - - - Removes the top context from the stack. - - - The message in the context that was removed from the top - of the stack. - - - - - The NDC is deprecated and has been replaced by the . - The current NDC implementation forwards to the ThreadContext.Stacks["NDC"]. - - - - Remove the top context from the stack, and return - it to the caller. If the stack is empty then an - empty string (not null) is returned. - - - - - - Pushes a new context message. - - The new context message. - - An that can be used to clean up - the context stack. - - - - - The NDC is deprecated and has been replaced by the . - The current NDC implementation forwards to the ThreadContext.Stacks["NDC"]. - - - - Pushes a new context onto the context stack. An - is returned that can be used to clean up the context stack. This - can be easily combined with the using keyword to scope the - context. - - - Simple example of using the Push method with the using keyword. - - using(log4net.NDC.Push("NDC_Message")) - { - log.Warn("This should have an NDC message"); - } - - - - - - Removes the context information for this thread. It is - not required to call this method. - - - - - The NDC is deprecated and has been replaced by the . - The current NDC implementation forwards to the ThreadContext.Stacks["NDC"]. - - - - This method is not implemented. - - - - - - Forces the stack depth to be at most . - - The maximum depth of the stack - - - - The NDC is deprecated and has been replaced by the . - The current NDC implementation forwards to the ThreadContext.Stacks["NDC"]. - - - - Forces the stack depth to be at most . - This may truncate the head of the stack. This only affects the - stack in the current thread. Also it does not prevent it from - growing, it only sets the maximum depth at the time of the - call. This can be used to return to a known context depth. - - - - - - Gets the current context depth. - - The current context depth. - - - - The NDC is deprecated and has been replaced by the . - The current NDC implementation forwards to the ThreadContext.Stacks["NDC"]. - - - - The number of context values pushed onto the context stack. - - - Used to record the current depth of the context. This can then - be restored using the method. - - - - - - - The log4net Thread Context. - - - - The ThreadContext provides a location for thread specific debugging - information to be stored. - The ThreadContext properties override any - properties with the same name. - - - The thread context has a properties map and a stack. - The properties and stack can - be included in the output of log messages. The - supports selecting and outputting these properties. - - - The Thread Context provides a diagnostic context for the current thread. - This is an instrument for distinguishing interleaved log - output from different sources. Log output is typically interleaved - when a server handles multiple clients near-simultaneously. - - - The Thread Context is managed on a per thread basis. - - - Example of using the thread context properties to store a username. - - ThreadContext.Properties["user"] = userName; - log.Info("This log message has a ThreadContext Property called 'user'"); - - - Example of how to push a message into the context stack - - using(ThreadContext.Stacks["NDC"].Push("my context message")) - { - log.Info("This log message has a ThreadContext Stack message that includes 'my context message'"); - - } // at the end of the using block the message is automatically popped - - - - Nicko Cadell - - - - Private Constructor. - - - - Uses a private access modifier to prevent instantiation of this class. - - - - - - The thread context properties instance - - - - - The thread context stacks instance - - - - - The thread properties map - - - The thread properties map - - - - The ThreadContext properties override any - properties with the same name. - - - - - - The thread stacks - - - stack map - - - - The thread local stacks. - - - - - diff --git a/lib/NHibernate12/net/4.0/Castle.DynamicProxy.dll b/lib/NHibernate12/net/4.0/Castle.DynamicProxy.dll deleted file mode 100644 index 3feebda1..00000000 Binary files a/lib/NHibernate12/net/4.0/Castle.DynamicProxy.dll and /dev/null differ diff --git a/lib/NHibernate12/net/4.0/Castle.DynamicProxy.license.txt b/lib/NHibernate12/net/4.0/Castle.DynamicProxy.license.txt deleted file mode 100644 index b7530910..00000000 --- a/lib/NHibernate12/net/4.0/Castle.DynamicProxy.license.txt +++ /dev/null @@ -1,13 +0,0 @@ -Copyright 2004-2005 Castle Project - http://www.castleproject.org/ - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. diff --git a/lib/NHibernate12/net/4.0/Castle.DynamicProxy.xml b/lib/NHibernate12/net/4.0/Castle.DynamicProxy.xml deleted file mode 100644 index 4afaa733..00000000 --- a/lib/NHibernate12/net/4.0/Castle.DynamicProxy.xml +++ /dev/null @@ -1,687 +0,0 @@ - - - - Castle.DynamicProxy - - - - - Summary description for ReferenceExpression. - - - - - Summary description for Expression. - - - - - Summary description for IEmitter. - - - - - Summary description for ArgumentReference. - - - - - Summary description for TypeReference. - - - - - Summary description for Reference. - - - - - Summary description for AssignArrayStatement. - - - - - Summary description for Statement. - - - - - Summary description for AssignStatement. - - - - - Summary description for BinaryExpression. - - - - - Summary description for ConditionExpression. - - - - - Summary description for ConstructorInvocationExpression. - - - - - Summary description for ConvertExpression. - - - - - Summary description for ExpressionStatement. - - - - - Summary description for FieldReference. - - - - - Summary description for FixedReference. - - - - - Summary description for GotoStatement. - - - - - Wraps a reference that is passed ByRef and provides indirect load/store facilities. - - - - - Summary description for LabelReference. - - - - - Summary description for LoadRefArrayElementExpression. - - - - - Summary description for LocalReference. - - - - - Summary description for LockBlockExpression. - - - - - Summary description for MarkBranchStatement. - - - - - Summary description for MethodInvocationExpression. - - - - - Summary description for MethodPointerExpression. - - - - - Summary description for MethodTokenExpression. - - - - - Summary description for NewArrayExpression. - - - - - Summary description for NewInstanceExpression. - - - - - Summary description for NopStatement. - - - - - Summary description for NullExpression. - - - - - Summary description for PopValueFromStackStatement. - - - - - Summary description for ReferenceExpression. - - - - - Summary description for ReferencesToObjectArrayExpression. - - - - - Summary description for ReturnReferenceExpression. - - - - - Summary description for ReturnStatement. - - - - - Summary description for SelfReference. - - - - - Summary description for TypeTokenExpression. - - - - - Summary description for VirtualMethodInvocationExpression. - - - - - Summary description for ArgumentsUtil. - - - - - Provides appropriate Ldc.X opcode for the type of primitive value to be loaded. - - - - - Provides appropriate Ldind.X opcode for - the type of primitive value to be loaded indirectly. - - - - - Provides appropriate Stind.X opcode - for the type of primitive value to be stored indirectly. - - - - - Summary description for OpCodeUtil. - - - - - Emits a load opcode of the appropriate kind for a constant string or - primitive value. - - - - - - - Emits a load opcode of the appropriate kind for the constant default value of a - type, such as 0 for value types and null for reference types. - - - - - Emits a load indirect opcode of the appropriate type for a value or object reference. - Pops a pointer off the evaluation stack, dereferences it and loads - a value of the specified type. - - - - - - - Emits a store indirectopcode of the appropriate type for a value or object reference. - Pops a value of the specified type and a pointer off the evaluation stack, and - stores the value. - - - - - - - Summary description for AbstractCodeBuilder. - - - - - Summary description for AbstractEasyType. - - - - - Summary description for ConstructorCodeBuilder. - - - - - Summary description for ConstructorCollection. - - - - - Summary description for EasyCallable. - - - - - Summary description for EasyNested. - - - - - Summary description for EasyConstructor. - - - - - Summary description for IEasyBuilder. - - - - - Summary description for EasyDefaultConstructor. - - - - - Summary description for EasyEvent. - - - - - Summary description for EasyMethod. - - - - - Summary description for EasyProperty. - - - - - Summary description for EasyRuntimeConstructor. - - - - - Summary description for EasyRuntimeMethod. - - - - - Summary description for EasyType. - - - - - Summary description for EventsCollection. - - - - - Summary description for MethodCodeBuilder. - - - - - Summary description for MethodCollection. - - - - - Summary description for NestedTypeCollection. - - - - - Summary description for PropertiesCollection. - - - - - Summary description for Set. - - - - - Summary description for BaseCodeGenerator. - - - - - Holds instance fields which points to delegates instantiated - - - - - MethodInfo => Callable delegate - - - - - Generates one public constructor receiving - the instance and instantiating a hashtable - - - Should be overrided to provided specific semantics, if necessary - - - - - Common initializatio code for the default constructor - - - - - - - - - - - - - - - Iterates over the interfaces and generate implementation - for each method in it. - - Type class - if true, we inspect the - type for implemented interfaces - - - - Naive implementation, but valid for long namespaces - Works by using only the last piece of the namespace - - - - - Gets the name of a type, taking into consideration nested types. - - - - - Generate property implementation - - - - - - Generates implementation for each method. - - - - - - - Writes the method implementation. This - method generates the IL code for property get/set method and - ordinary methods. - - The method to implement. - being constructed. - - - - - - - - - Summary description for ClassProxyGenerator. - - - - - Generates one public constructor receiving - the instance and instantiating a hashtable - - - - - Summary description for InterfaceProxyGenerator. - - - - - From an interface method (abstract) look up - for a matching method on the target - - - - - - - Generates one public constructor receiving - the instance and instantiating a HybridCollection - - - - - Summary description for ModuleScope. - - - - - Avoid leaks caused by non disposal of generated types. - - - - - Keep track of generated types - - - - - Used to lock the module builder creation - - - - - Summary description for ProxyGenerationException. - - - - - Summary description for DefaultProxyBuilder. - - - - - Summary description for IProxyBuilder. - - - - - Summary description for GeneratorContext. - - - - - Checks if the method has the same signature as a method that was marked as - one that should generate a new vtable slot. - - - - - The implementor of IObjectReference responsible for - the deserialization and reconstruction of the proxy object - - - - - Proceed with, manipulate or find more information about the call that - is being intercepted - - - - - Proceed with the call that was intercepted. - - The arguments that will be passed onto the method. - The argument returned from the method. - - - - Get the dynamic proxy that intercepted this call. - - - - - Get or set target that will be invoked when Process() is called. - - - Changing InvocationTarget only effects this call. Any call made after - this will invoke the original target of the proxy. - - - - - Get the method that is being invoked. - - - - - Get the method on the target object that is being invoked. - - - - - - - - - - Handles the deserialization of proxies. - - - - - Usefull for test cases - - - - - Summary description for AssertUtil. - - - - - - - - - - - - - - - - - - - - - - - - - - - Generates a Java style proxy. This overrides the .Net proxy requirements - that forces one to extend MarshalByRefObject or (for a different purpose) - ContextBoundObject to have a Proxiable class. - - - The should be used to generate a class - implementing the specified interfaces. The dynamic implementation will - only calls the internal instance. - - - Please note that this proxy implementation currently doesn't not supports ref and out arguments - in methods. - Also note that only virtual methods can be proxied in a class. - - - - MyInvocationHandler interceptor = ... - ProxyGenerator generator = new ProxyGenerator(); - IInterfaceExposed proxy = - generator.CreateProxy( new Type[] { typeof(IInterfaceExposed) }, interceptor ); - - - - - - Generates a proxy implementing all the specified interfaces and - redirecting method invocations to the specifed interceptor. - - Interface to be implemented - instance of - The proxy target. - Proxy instance - - - - Generates a proxy implementing all the specified interfaces and - redirecting method invocations to the specifed interceptor. - - Array of interfaces to be implemented - instance of - The proxy target. - Proxy instance - - - - - - - - - The proxy target. - - - - - - - - - - The proxy target. - - - - - Summary description for StandardInterceptor. - - - - - - - - - - - - diff --git a/lib/NHibernate12/net/4.0/Iesi.Collections.dll b/lib/NHibernate12/net/4.0/Iesi.Collections.dll deleted file mode 100644 index c4cc0373..00000000 Binary files a/lib/NHibernate12/net/4.0/Iesi.Collections.dll and /dev/null differ diff --git a/lib/NHibernate12/net/4.0/Iesi.Collections.license.txt b/lib/NHibernate12/net/4.0/Iesi.Collections.license.txt deleted file mode 100644 index 66c4a8dc..00000000 --- a/lib/NHibernate12/net/4.0/Iesi.Collections.license.txt +++ /dev/null @@ -1,9 +0,0 @@ -Copyright © 2002-2004 by Aidant Systems, Inc., and by Jason Smith. - -Copied from http://www.codeproject.com/csharp/sets.asp#xx703510xx that was posted by JasonSmith 12:13 2 Jan '04 - -Feel free to use this code any way you want to. As a favor to me, you can leave the copyright in there. You never know when someone might recognize your name! - -If you do use the code in a commercial product, I would appreciate hearing about it. This message serves as legal notice that I won't be suing you for royalties! The code is in the public domain. - -On the other hand, I don't provide support. The code is actually simple enough that it shouldn't need it. diff --git a/lib/NHibernate12/net/4.0/Iesi.Collections.xml b/lib/NHibernate12/net/4.0/Iesi.Collections.xml deleted file mode 100644 index 587094a3..00000000 --- a/lib/NHibernate12/net/4.0/Iesi.Collections.xml +++ /dev/null @@ -1,1887 +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 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/NHibernate12/net/4.0/NHibernate.dll b/lib/NHibernate12/net/4.0/NHibernate.dll deleted file mode 100644 index 19bc3f9e..00000000 Binary files a/lib/NHibernate12/net/4.0/NHibernate.dll and /dev/null differ diff --git a/lib/NHibernate12/net/4.0/NHibernate.license.txt b/lib/NHibernate12/net/4.0/NHibernate.license.txt deleted file mode 100644 index 8a88d148..00000000 --- a/lib/NHibernate12/net/4.0/NHibernate.license.txt +++ /dev/null @@ -1,460 +0,0 @@ - GNU LESSER GENERAL PUBLIC LICENSE - Version 2.1, February 1999 - - Copyright (C) 1991, 1999 Free Software Foundation, Inc. - 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - -[This is the first released version of the Lesser GPL. It also counts - as the successor of the GNU Library Public License, version 2, hence - the version number 2.1.] - - Preamble - - The licenses for most software are designed to take away your -freedom to share and change it. By contrast, the GNU General Public -Licenses are intended to guarantee your freedom to share and change -free software--to make sure the software is free for all its users. - - This license, the Lesser General Public License, applies to some -specially designated software packages--typically libraries--of the -Free Software Foundation and other authors who decide to use it. You -can use it too, but we suggest you first think carefully about whether -this license or the ordinary General Public License is the better -strategy to use in any particular case, based on the explanations below. - - When we speak of free software, we are referring to freedom of use, -not price. Our General Public Licenses are designed to make sure that -you have the freedom to distribute copies of free software (and charge -for this service if you wish); that you receive source code or can get -it if you want it; that you can change the software and use pieces of -it in new free programs; and that you are informed that you can do -these things. - - To protect your rights, we need to make restrictions that forbid -distributors to deny you these rights or to ask you to surrender these -rights. These restrictions translate to certain responsibilities for -you if you distribute copies of the library or if you modify it. - - For example, if you distribute copies of the library, whether gratis -or for a fee, you must give the recipients all the rights that we gave -you. You must make sure that they, too, receive or can get the source -code. If you link other code with the library, you must provide -complete object files to the recipients, so that they can relink them -with the library after making changes to the library and recompiling -it. And you must show them these terms so they know their rights. - - We protect your rights with a two-step method: (1) we copyright the -library, and (2) we offer you this license, which gives you legal -permission to copy, distribute and/or modify the library. - - To protect each distributor, we want to make it very clear that -there is no warranty for the free library. Also, if the library is -modified by someone else and passed on, the recipients should know -that what they have is not the original version, so that the original -author's reputation will not be affected by problems that might be -introduced by others. - - Finally, software patents pose a constant threat to the existence of -any free program. We wish to make sure that a company cannot -effectively restrict the users of a free program by obtaining a -restrictive license from a patent holder. Therefore, we insist that -any patent license obtained for a version of the library must be -consistent with the full freedom of use specified in this license. - - Most GNU software, including some libraries, is covered by the -ordinary GNU General Public License. This license, the GNU Lesser -General Public License, applies to certain designated libraries, and -is quite different from the ordinary General Public License. We use -this license for certain libraries in order to permit linking those -libraries into non-free programs. - - When a program is linked with a library, whether statically or using -a shared library, the combination of the two is legally speaking a -combined work, a derivative of the original library. The ordinary -General Public License therefore permits such linking only if the -entire combination fits its criteria of freedom. The Lesser General -Public License permits more lax criteria for linking other code with -the library. - - We call this license the "Lesser" General Public License because it -does Less to protect the user's freedom than the ordinary General -Public License. It also provides other free software developers Less -of an advantage over competing non-free programs. These disadvantages -are the reason we use the ordinary General Public License for many -libraries. However, the Lesser license provides advantages in certain -special circumstances. - - For example, on rare occasions, there may be a special need to -encourage the widest possible use of a certain library, so that it becomes -a de-facto standard. To achieve this, non-free programs must be -allowed to use the library. A more frequent case is that a free -library does the same job as widely used non-free libraries. In this -case, there is little to gain by limiting the free library to free -software only, so we use the Lesser General Public License. - - In other cases, permission to use a particular library in non-free -programs enables a greater number of people to use a large body of -free software. For example, permission to use the GNU C Library in -non-free programs enables many more people to use the whole GNU -operating system, as well as its variant, the GNU/Linux operating -system. - - Although the Lesser General Public License is Less protective of the -users' freedom, it does ensure that the user of a program that is -linked with the Library has the freedom and the wherewithal to run -that program using a modified version of the Library. - - The precise terms and conditions for copying, distribution and -modification follow. Pay close attention to the difference between a -"work based on the library" and a "work that uses the library". The -former contains code derived from the library, whereas the latter must -be combined with the library in order to run. - - GNU LESSER GENERAL PUBLIC LICENSE - TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - - 0. This License Agreement applies to any software library or other -program which contains a notice placed by the copyright holder or -other authorized party saying it may be distributed under the terms of -this Lesser General Public License (also called "this License"). -Each licensee is addressed as "you". - - A "library" means a collection of software functions and/or data -prepared so as to be conveniently linked with application programs -(which use some of those functions and data) to form executables. - - The "Library", below, refers to any such software library or work -which has been distributed under these terms. A "work based on the -Library" means either the Library or any derivative work under -copyright law: that is to say, a work containing the Library or a -portion of it, either verbatim or with modifications and/or translated -straightforwardly into another language. (Hereinafter, translation is -included without limitation in the term "modification".) - - "Source code" for a work means the preferred form of the work for -making modifications to it. For a library, complete source code means -all the source code for all modules it contains, plus any associated -interface definition files, plus the scripts used to control compilation -and installation of the library. - - Activities other than copying, distribution and modification are not -covered by this License; they are outside its scope. The act of -running a program using the Library is not restricted, and output from -such a program is covered only if its contents constitute a work based -on the Library (independent of the use of the Library in a tool for -writing it). Whether that is true depends on what the Library does -and what the program that uses the Library does. - - 1. You may copy and distribute verbatim copies of the Library's -complete source code as you receive it, in any medium, provided that -you conspicuously and appropriately publish on each copy an -appropriate copyright notice and disclaimer of warranty; keep intact -all the notices that refer to this License and to the absence of any -warranty; and distribute a copy of this License along with the -Library. - - You may charge a fee for the physical act of transferring a copy, -and you may at your option offer warranty protection in exchange for a -fee. - - 2. You may modify your copy or copies of the Library or any portion -of it, thus forming a work based on the Library, and copy and -distribute such modifications or work under the terms of Section 1 -above, provided that you also meet all of these conditions: - - a) The modified work must itself be a software library. - - b) You must cause the files modified to carry prominent notices - stating that you changed the files and the date of any change. - - c) You must cause the whole of the work to be licensed at no - charge to all third parties under the terms of this License. - - d) If a facility in the modified Library refers to a function or a - table of data to be supplied by an application program that uses - the facility, other than as an argument passed when the facility - is invoked, then you must make a good faith effort to ensure that, - in the event an application does not supply such function or - table, the facility still operates, and performs whatever part of - its purpose remains meaningful. - - (For example, a function in a library to compute square roots has - a purpose that is entirely well-defined independent of the - application. Therefore, Subsection 2d requires that any - application-supplied function or table used by this function must - be optional: if the application does not supply it, the square - root function must still compute square roots.) - -These requirements apply to the modified work as a whole. If -identifiable sections of that work are not derived from the Library, -and can be reasonably considered independent and separate works in -themselves, then this License, and its terms, do not apply to those -sections when you distribute them as separate works. But when you -distribute the same sections as part of a whole which is a work based -on the Library, the distribution of the whole must be on the terms of -this License, whose permissions for other licensees extend to the -entire whole, and thus to each and every part regardless of who wrote -it. - -Thus, it is not the intent of this section to claim rights or contest -your rights to work written entirely by you; rather, the intent is to -exercise the right to control the distribution of derivative or -collective works based on the Library. - -In addition, mere aggregation of another work not based on the Library -with the Library (or with a work based on the Library) on a volume of -a storage or distribution medium does not bring the other work under -the scope of this License. - - 3. You may opt to apply the terms of the ordinary GNU General Public -License instead of this License to a given copy of the Library. To do -this, you must alter all the notices that refer to this License, so -that they refer to the ordinary GNU General Public License, version 2, -instead of to this License. (If a newer version than version 2 of the -ordinary GNU General Public License has appeared, then you can specify -that version instead if you wish.) Do not make any other change in -these notices. - - Once this change is made in a given copy, it is irreversible for -that copy, so the ordinary GNU General Public License applies to all -subsequent copies and derivative works made from that copy. - - This option is useful when you wish to copy part of the code of -the Library into a program that is not a library. - - 4. You may copy and distribute the Library (or a portion or -derivative of it, under Section 2) in object code or executable form -under the terms of Sections 1 and 2 above provided that you accompany -it with the complete corresponding machine-readable source code, which -must be distributed under the terms of Sections 1 and 2 above on a -medium customarily used for software interchange. - - If distribution of object code is made by offering access to copy -from a designated place, then offering equivalent access to copy the -source code from the same place satisfies the requirement to -distribute the source code, even though third parties are not -compelled to copy the source along with the object code. - - 5. A program that contains no derivative of any portion of the -Library, but is designed to work with the Library by being compiled or -linked with it, is called a "work that uses the Library". Such a -work, in isolation, is not a derivative work of the Library, and -therefore falls outside the scope of this License. - - However, linking a "work that uses the Library" with the Library -creates an executable that is a derivative of the Library (because it -contains portions of the Library), rather than a "work that uses the -library". The executable is therefore covered by this License. -Section 6 states terms for distribution of such executables. - - When a "work that uses the Library" uses material from a header file -that is part of the Library, the object code for the work may be a -derivative work of the Library even though the source code is not. -Whether this is true is especially significant if the work can be -linked without the Library, or if the work is itself a library. The -threshold for this to be true is not precisely defined by law. - - If such an object file uses only numerical parameters, data -structure layouts and accessors, and small macros and small inline -functions (ten lines or less in length), then the use of the object -file is unrestricted, regardless of whether it is legally a derivative -work. (Executables containing this object code plus portions of the -Library will still fall under Section 6.) - - Otherwise, if the work is a derivative of the Library, you may -distribute the object code for the work under the terms of Section 6. -Any executables containing that work also fall under Section 6, -whether or not they are linked directly with the Library itself. - - 6. As an exception to the Sections above, you may also combine or -link a "work that uses the Library" with the Library to produce a -work containing portions of the Library, and distribute that work -under terms of your choice, provided that the terms permit -modification of the work for the customer's own use and reverse -engineering for debugging such modifications. - - You must give prominent notice with each copy of the work that the -Library is used in it and that the Library and its use are covered by -this License. You must supply a copy of this License. If the work -during execution displays copyright notices, you must include the -copyright notice for the Library among them, as well as a reference -directing the user to the copy of this License. Also, you must do one -of these things: - - a) Accompany the work with the complete corresponding - machine-readable source code for the Library including whatever - changes were used in the work (which must be distributed under - Sections 1 and 2 above); and, if the work is an executable linked - with the Library, with the complete machine-readable "work that - uses the Library", as object code and/or source code, so that the - user can modify the Library and then relink to produce a modified - executable containing the modified Library. (It is understood - that the user who changes the contents of definitions files in the - Library will not necessarily be able to recompile the application - to use the modified definitions.) - - b) Use a suitable shared library mechanism for linking with the - Library. A suitable mechanism is one that (1) uses at run time a - copy of the library already present on the user's computer system, - rather than copying library functions into the executable, and (2) - will operate properly with a modified version of the library, if - the user installs one, as long as the modified version is - interface-compatible with the version that the work was made with. - - c) Accompany the work with a written offer, valid for at - least three years, to give the same user the materials - specified in Subsection 6a, above, for a charge no more - than the cost of performing this distribution. - - d) If distribution of the work is made by offering access to copy - from a designated place, offer equivalent access to copy the above - specified materials from the same place. - - e) Verify that the user has already received a copy of these - materials or that you have already sent this user a copy. - - For an executable, the required form of the "work that uses the -Library" must include any data and utility programs needed for -reproducing the executable from it. However, as a special exception, -the materials to be distributed need not include anything that is -normally distributed (in either source or binary form) with the major -components (compiler, kernel, and so on) of the operating system on -which the executable runs, unless that component itself accompanies -the executable. - - It may happen that this requirement contradicts the license -restrictions of other proprietary libraries that do not normally -accompany the operating system. Such a contradiction means you cannot -use both them and the Library together in an executable that you -distribute. - - 7. You may place library facilities that are a work based on the -Library side-by-side in a single library together with other library -facilities not covered by this License, and distribute such a combined -library, provided that the separate distribution of the work based on -the Library and of the other library facilities is otherwise -permitted, and provided that you do these two things: - - a) Accompany the combined library with a copy of the same work - based on the Library, uncombined with any other library - facilities. This must be distributed under the terms of the - Sections above. - - b) Give prominent notice with the combined library of the fact - that part of it is a work based on the Library, and explaining - where to find the accompanying uncombined form of the same work. - - 8. You may not copy, modify, sublicense, link with, or distribute -the Library except as expressly provided under this License. Any -attempt otherwise to copy, modify, sublicense, link with, or -distribute the Library is void, and will automatically terminate your -rights under this License. However, parties who have received copies, -or rights, from you under this License will not have their licenses -terminated so long as such parties remain in full compliance. - - 9. You are not required to accept this License, since you have not -signed it. However, nothing else grants you permission to modify or -distribute the Library or its derivative works. These actions are -prohibited by law if you do not accept this License. Therefore, by -modifying or distributing the Library (or any work based on the -Library), you indicate your acceptance of this License to do so, and -all its terms and conditions for copying, distributing or modifying -the Library or works based on it. - - 10. Each time you redistribute the Library (or any work based on the -Library), the recipient automatically receives a license from the -original licensor to copy, distribute, link with or modify the Library -subject to these terms and conditions. You may not impose any further -restrictions on the recipients' exercise of the rights granted herein. -You are not responsible for enforcing compliance by third parties with -this License. - - 11. If, as a consequence of a court judgment or allegation of patent -infringement or for any other reason (not limited to patent issues), -conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot -distribute so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you -may not distribute the Library at all. For example, if a patent -license would not permit royalty-free redistribution of the Library by -all those who receive copies directly or indirectly through you, then -the only way you could satisfy both it and this License would be to -refrain entirely from distribution of the Library. - -If any portion of this section is held invalid or unenforceable under any -particular circumstance, the balance of the section is intended to apply, -and the section as a whole is intended to apply in other circumstances. - -It is not the purpose of this section to induce you to infringe any -patents or other property right claims or to contest validity of any -such claims; this section has the sole purpose of protecting the -integrity of the free software distribution system which is -implemented by public license practices. Many people have made -generous contributions to the wide range of software distributed -through that system in reliance on consistent application of that -system; it is up to the author/donor to decide if he or she is willing -to distribute software through any other system and a licensee cannot -impose that choice. - -This section is intended to make thoroughly clear what is believed to -be a consequence of the rest of this License. - - 12. If the distribution and/or use of the Library is restricted in -certain countries either by patents or by copyrighted interfaces, the -original copyright holder who places the Library under this License may add -an explicit geographical distribution limitation excluding those countries, -so that distribution is permitted only in or among countries not thus -excluded. In such case, this License incorporates the limitation as if -written in the body of this License. - - 13. The Free Software Foundation may publish revised and/or new -versions of the Lesser General Public License from time to time. -Such new versions will be similar in spirit to the present version, -but may differ in detail to address new problems or concerns. - -Each version is given a distinguishing version number. If the Library -specifies a version number of this License which applies to it and -"any later version", you have the option of following the terms and -conditions either of that version or of any later version published by -the Free Software Foundation. If the Library does not specify a -license version number, you may choose any version ever published by -the Free Software Foundation. - - 14. If you wish to incorporate parts of the Library into other free -programs whose distribution conditions are incompatible with these, -write to the author to ask for permission. For software which is -copyrighted by the Free Software Foundation, write to the Free -Software Foundation; we sometimes make exceptions for this. Our -decision will be guided by the two goals of preserving the free status -of all derivatives of our free software and of promoting the sharing -and reuse of software generally. - - NO WARRANTY - - 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO -WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. -EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR -OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY -KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE -LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME -THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. - - 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN -WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY -AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU -FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR -CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE -LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING -RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A -FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF -SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGES. - - END OF TERMS AND CONDITIONS - diff --git a/lib/NHibernate12/net/4.0/NHibernate.xml b/lib/NHibernate12/net/4.0/NHibernate.xml deleted file mode 100644 index 39b0414c..00000000 --- a/lib/NHibernate12/net/4.0/NHibernate.xml +++ /dev/null @@ -1,29887 +0,0 @@ - - - - NHibernate - - - - - Expected row count. Valid only for batchable expectations. - - - - - 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. - - - - 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. - - - - - - 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. - - - - - A implementation that returns - , disabling reflection optimization. - - - - - An item of cached data, timestamped with the time it was cached, when it was locked, - when it was unlocked - - - - - Summary description for ILockable. - - - - - Lock the item - - - - - Is this item visible to the timestamped transaction? - - - - - - - Don't overwite 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. - - - - - A soft lock which supports concurrent locking, - timestamped with the time it was released - - - This class was named Lock in H2.1 - - - - - Marker interface, denoting a client-visible "soft lock" on a cached item. - - - - - 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 - - - - - A simple -based cache - - - - - 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 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Cache Provider plugin for NHibernate that is configured by using - hibernate.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 . - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 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. - - - - 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 sesion 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. - - - - - 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 - - - - - - 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. - - - - - 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. - - - - - - - - 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 - - - - - - The XML Namespace for the nhibernate-mapping - - - - - The XML Namespace for the nhibernate-configuration - - - - - 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 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. - - - - 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. - - - - 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 droping tables - - - - - - Generate DDL for creating tables - - - - - - 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 - otherwise. - - A configuration object initialized with the file. - - To configure NHibernate explicitly using hibernate.cfg.xml, ignoring - the application configuration file, use this code: - - configuration.Configure("path/to/hibernate.cfg.xml"); - - - - - - Configure NHibernate from an representing the root - <hibernate-configuration> element. - - Configuration node - This Configuration object - - - - 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 overwrite 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 XmlTextReader. - - The that contains the Xml to configure NHibernate. - A Configuration object initialized with the file. - - Calling Configure(XmlTextReader) 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 XmlTextReader that contains the mapping. - This Configuration object. - - - - Adds the Mappings in the after validating it - against the nhibernate-mapping-2.2 schema. - - The XmlTextReader that contains the mapping. - The name of the document to use for error reporting. May be . - This Configuration object. - - - - Allocate on first use as we are expensive in time/space - - - - Allocate on first use as we are expensive in time/space - - - - The class mappings - - - - - The collection mappings - - - - - The table mappings - - - - - The named queries - - - - - 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 - - - - - - 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 - - - - The singleton instance - - - - - Return the unqualified class name - - - - - - - Return the unqualified property name - - - - - - - Return the argument - - - - - - - Return the argument - - - - - - - Return the unqualified property name - - - - - - - - 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, <nhibernate> section in the application configuration file - corresponds to Java system-level properties; <hibernate-configuration> - section is considered to be the session-factory-level configuration. It is possible - to use the applicatoin configuration file (App.config) together with the NHibernate configuration - file (hibernate.cfg.xml) at the same time. - - - - - Used to find the .Net 2.0 named connection string - - - - - Issue warnings to user when any obsolete property names are used. - - - - - - - NHibernate version (informational). - - - - - Gets a copy of the configuration found in <nhibernate> 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. - - - - - Converts a partial class name into a fully qualified one - - - - - - - - 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 Lists, arrays, primitive arrays - > - - - - Called for Maps - - - - - - - - - Called for all collections - - - - - Summary description for ImprovedNamingStrategy. - - - - - The singleton instance - - - - - Return the unqualified class name, mixed case converted to underscores - - - - - - - Return the full property path with underscore seperators, 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 seperators, mixed case converted to underscores - - - - - - - - A collection of mappings from classes and collections to relational database tables. - - Represents a single <hibernate-mapping> element. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Adds an import to allow for the full class name Namespace.Entity - 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 - automattically 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 classes outside this resource - needed by the classes in this resource. - - An of - - - - Settings that affect the behavior of NHibernate at runtime. - - - - - 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. - The interface closely resembles bag semantics, - however NHibernate for .NET 1.1 used so - is used to ensure the easiest transition - to generics. - - The type of the element the bag should hold. - The underlying collection used is an - - - - 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. - - - - - - 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. - - - - - 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 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. - - - - - 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 - - - - - Called before any elements are read into the collection, - allowing appropriate initializations to occur. - - The for this persistent collection. - - - - 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. - - - - - 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. - - - - - 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. - - - - - Get the snapshot value of the given collection entry - - - - - Called after initializing from cache - - - - - Clear the dirty flag, after flushing changes - to the database. - - - - - Mark the collection as dirty - - - - - 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. - - - - - Is the initialized collection empty? - - - - - Gets a indicating if the underlying collection is directly - accessable 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 the collection dirty? Note that this is only - reliable during the flush cycle, after the - collection elements are dirty checked against - the snapshot. - - - - - Called by any read-only method of the collection interface - - - - - Called by any writer method of the collection interface - - - - - Queue an addition if the peristent collection supports it - - - if the addition was queued up, if the persistent collection - doesn't support Queued Addition. - - - - - Queue additions - - - - - After reading all existing elements from the database, - add the queued elements to the underlying collection. - - The to add. - The that - is currently loading the collection. - - The default implementation is to throw an - because most collections do not support delayed addition. If the collection - does then override this method. - - - - - 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. - - - - - Not called by Hibernate, but used by non-NET serialization, eg. SOAP libraries. - - - - - 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 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 - - - - Read the state of the collection from a disassembled cached value. - - - - - - - - Iterate all collection entries, during update of the database - - - - - - 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. - - - - Get the index of the given collection entry - - - - - - - - Called before any elements are read into the collection, - allowing appropriate initializations to occur. - - - - - - Does the current state exactly match the snapshot? - - - - - - - Return a new snapshot of the current state - - The for this Collection. - - - - - Disassemble the collection, ready for the cache - - - - - - - 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. - - - - - 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? - - - - - - - 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 - - - - - Is the initialized collection empty? - - - - - Is the collection currently connected to an open session? - - - - - Is this collection in a state that would allow us to "queue" additions? - - - - - Gets a indicating if the underlying collection is directly - accessable 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 . - - - - - - - - - - - - - - - - - - - - Initializes an instance of the - in the . - - The the bag is in. - - - - Initializes an instance of the - that wraps an existing in the . - - The the bag is in. - The to wrap. - - - - Gets a indicating if this Bag needs to be recreated - in the database. - - The for this Collection. - - 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. - - - - - 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 number of occurrences of the element in the list. - - - - - Is this the wrapper for the given underlying bag instance? - - The bag that might be wrapped. - - if the is equal to the - wrapped collection by object reference. - - - - - Is the initialized GenericBag empty? - - if the bag has a Count==0, otherwise. - - - - 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". - - - - - - 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 - - - - 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 bag is in. - The to wrap. - - - - Does the current state of the list exactly match the snapshot? - - The to compare the elements of the Collection. - - if the wrapped list is different than the snapshot - of the list or if one of the elements in the collection is - dirty. - - - - - Return a new snapshot of the current state. - - The for this Collection. - - A new that contains Deep Copies of the - Elements stored in this wrapped collection. - - - - - Get all "orphaned" elements. - - The snapshot of the collection. - The type of the entities the collection - is supposed to contain. - - An that contains all of the elements - that have been orphaned. - - - - - 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. - - - - Initializes an instance of the - in the . - - The the map is in. - - - - Initializes an instance of the - that wraps an existing in the - . - - The the bag is in. - The to wrap. - - - - .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 set is being - populated from the database. - - - This is necessary to ensure that the object being added to the set doesn't - have its and - methods called during the load process. - - - - - Returns a Hashtable where the Key & the Value are both a Copy of the - same object. - - - - - - - This constructor is NOT meant to be called from user code. - - - - - Creates a new PersistentGenericSet initialized to the values in the Map. - This constructor is NOT meant to be called from user code. - - - Only call this constructor if you consider the map initialized. - - - - - Initializes this PersistentGenericSet from the cached values. - - The CollectionPersister to use to reassemble the set. - The disassembled set. - 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 - that was populated during and writes it to the underlying - set. - - - - - - - - - - - - - - - - - - - - A persistent wrapper for an array. lazy initialization is NOT supported - - - - - The that NHibernate is wrapping. - - - - - A temporary list that holds the objects while the PersistentArrayHolder is being - populated from the database. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 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. - - - - Returns the user-visible portion of the NHibernate PersistentArrayHolder. - - - The array that contains the data, not the NHibernate wrapper. - - - - - - - - - - - - - - - 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. - - - - - 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 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 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 underlying collection used in an . - - - - - Return a new snapshot of the current state. - - The for this Collection. - - A new that contains Deep Copies of the - Elements stored in this wrapped collection. - - - - - Does the current state of the list exactly match the snapshot? - - The to compare the elements of the Collection. - - if the wrapped list is different than the snapshot - of the list or if one of the elements in the collection is - dirty. - - - - - 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 . - - - - - 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. - - - - - 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. - - - - - Returns a Hashtable where the Key & the Value are both a Copy of the - same object. - - - - - - - This constructor is NOT meant to be called from user code. - - - - - Creates a new PersistentSet initialized to the values in the Map. - This constructor is NOT meant to be called from user code. - - - Only call this constructor if you consider the map initialized. - - - - - 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. - - - - - - - - - - - - - - - - - - - - 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. - - - - - Initializes a new instance of the class. - - - - - 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 . - Works only with Web Applications. - - - - - 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 each . Works only with web applications. - - - - - Used to show a better debug display for dictionaries - - - - - ANSI-SQL substring - Documented in: - ANSI X3.135-1992 - American National Standard for Information Systems - Database Language - SQL - - - Syntax: - ::= - SUBSTRING FROM < start position> - [ FOR ] - ]]> - - - - - 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? - - - - - 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 - - - - - 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). - - - - - Applies the template to passed in arguments. - - args function arguments - generated SQL function call - - - - - 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. - - - - Support for slightly more general templating than StandardSQLFunction, - with an unlimited number of arguments. - - - - - An SQL dialect for DB2 on iSeries OS/400. - - - The DB2400Dialect defaults the following configuration properties: - - - Property - Default Value - - - hibernate.connection.driver_class - - - - - - - - An SQL dialect for DB2. - - - The DB2Dialect defaults the following configuration properties: - - - Property - Default Value - - - hibernate.connection.driver_class - - - - - - - - Represents a dialect of SQL implemented by a particular RDBMS. Sublcasses - 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 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 length of the SqlType - The database type name used by ddl. - - - - - - - - - - - Subclasses register a typename for the given type code and maximum - column length. $1 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. $1 in the - typename will be replaced by the column length (if appropriate). - - The typecode - The database type name - - - - - - - - - - - - - - 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 used to add a primary key constraint to a table - - - - - - 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. - - - - - Generate SQL to get the identifier of an inserted row. - If the returned value is not null, the caller will prepare a statement from it, - set SQL parameters just as it would for insertSQL, and execute it as a query - which is expected to return the identifier of the inserted row. - If the returned value is null, the caller will execute insertSQL as an update - and then execute IdentitySelectString as a query. - The default implementation (in this class) returns . - - a parameterized SQL statement to insert a row into a table. - The column for which the identity generator was specified. - The name of the table the row is being inserted in. - a SQL statement that has the same effect as insertSQL - and also gets the identifier of the inserted row. - Return if this dialect doesn't support this feature. - - - - - The syntax that returns the identity value of the last insert, if native - key generation is supported - - - - - The syntax that fetches the next value of a sequence, if sequences are supported. - - The name of the sequence - - - - - The syntax used to create a sequence, if sequences are supported - - - - - - - The syntax used to drop a sequence, if sequences are supported - - - - - - - - - - - - - - - - - - - - Create an JoinFragment for this dialect - - - - - - Create an CaseFragment for this dialect - - - - - - Add a LIMIT clause to the given SQL SELECT - - A Query in the form of a SqlString. - Offset of the first row is not zero - A new SqlString 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. - - - - Return SQL needed to drop the named table. May (and should) use - some form of "if exists" clause, and cascade constraints. - - - - - - - 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 - - - - - 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. - - - - - 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. -

-
-
- - - 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? - - - - - How we seperate the queries when we use multiply queries. - - - - - Retrieves the FOR UPDATE syntax specific to this dialect - - The appropriate FOR UPDATE clause string. - - - - Retrieves the FOR UPDATE NOWAIT syntax specific to this dialect - - The appropriate FOR UPDATE NOWAIT clause string. - - - - Does this dialect support subselects? - - - - - Does this dialect support the UNIQUE column syntax? - - - - - The syntax used to add a column to a table. Note this is deprecated - - - - - The keyword used to specify a nullable column - - - - - Does this dialect support identity column key generation? - - - - - Does this dialect support sequences? - - - - - The keyword used to specify an identity column, if native key generation is supported - - - - - The keyword used to insert a generated value into an identity column (or null) - - - - - The keyword used to insert a row without specifying any column values - - - - - Retrieve a set of default Hibernate properties for this database. - - - - - Completely optional cascading drop clause - - - - - The name of the SQL function that transforms a string to lowercase - - - - - 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? - - false, unless overridden - - - - The opening quote for a quoted identifier. - - - - - The closing quote for a quoted identifier. - - - - - Whether this dialect has an identity clause added to the data type or a - completely seperate identity data type. - - - - - 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. - - - - - Does the dialect support the syntax 'drop table if exists NAME' - - - - - Does the dialect support the syntax 'drop table NAME if exists' - - - - - 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. - - - - - - - - - - - - - - - - - - - - - Add a LIMIT clause to the given SQL SELECT - - A Query in the form of a SqlString. - Offset of the first row is not zero - A new SqlString that contains the LIMIT clause. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Summary description for FirebirdDialect. - - - The FirebirdDialect defaults the following configuration properties: - - - Property - Default Value - - - hibernate.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. - - - The InformixDialect defaults the following configuration properties: - - - Property - Default Value - - - hibernate.connection.driver_class - - - - - - - - - - - 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 - - - - - Whether this dialect have an Identity clause added to the data type or a - completely seperate identity data type - - - - - An SQL dialect for IngresSQL. - - - The IngresDialect defaults the following configuration properties: - - - Property - Default Value - - - hibernate.use_outer_join - - - - hibernate.connection.driver_class - - - - - - - - An SQL dialect compatible with Microsoft SQL Server 2000. - - - The MsSql2000Dialect defaults the following configuration properties: - - - Property - Default Value - - - hibernate.use_outer_join - - - - hibernate.connection.driver_class - - - - hibernate.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 of. - 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 with the LIMIT clause applied. - - The LIMIT SQL will look like - - - SELECT TOP last (columns) FROM ( - SELECT ROW_NUMBER() OVER(ORDER BY __hibernate_sort_expr_1__ {sort direction 1} [, __hibernate_sort_expr_2__ {sort direction 2}, ...]) as row, (query.columns) FROM ( - {original select query part}, {sort field 1} as __hibernate_sort_expr_1__ [, {sort field 2} as __hibernate_sort_expr_2__, ...] - {remainder of original query minus the order by clause} - ) query - ) page WHERE page.row > offset - - - - Note that we need to add explicitly specify the columns, because we need to be able to use them - in a paged subselect. NH-1155 - - - - - 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 - - - hibernate.use_outer_join - - - - hibernate.connection.driver_class - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 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. - - - - - - - - - - - - - - - - - - - - - - - - - It's a immature version, it just work. - An SQL dialect for Oracle 9 - - - The Oracle9Dialect defaults the following configuration properties: - - - Property - Default Value - - - hibernate.use_outer_join - - - - hibernate.connection.driver_class - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - An SQL dialect for Oracle, compatible with Oracle 8. - - - - - - - - - - - - - - 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 - - - hibernate.use_outer_join - - - - hibernate.connection.driver_class - - - - - - - - - - - - - - Offset of the first row to process in the result set is non-zero - - - - - - - - - - - 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. - - not used - not used - - - - - 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); - - - - - 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. - This dialect uses serial - - - - - The sql syntax to insert a row without specifying any column in PostgreSQL is - INSERT INTO table DEFAULT VALUES; - - - - - 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 -

-
-
- - - - - - - - - - - - - This is a subclass of SybaseDialect for sybase 11 databases (specifically tested against 11.9.2). 11.9.2 does not support ANSI JOINs - therefore we have to provide a special join fragment for left/right joins (*= and =* respectively). - - - - - An SQL dialect compatible with Sybase. - - -

- 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 SybaseDialect defaults the following configuration properties: - - - Property - Default Value - - - hibernate.use_outer_join - - - - hibernate.connection.driver_class - - - - hibernate.prepare_sql - - - -
-
- - - - - - - - - Sybase does not support quoted aliases, this function thus returns - aliasName as is. - - - - - - - - - - - - - - - - - - - - - - - - - - This class is basically a port of the hibernate 3.2 Sybase 11 join fragment. It usees concepts from that join fragment and the Oracle join fragment in NHibernate - - - - - Represents a SQL JOIN - - - - - 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 SybaseAnywhereDialect defaults the following configuration properties: - - - Property - Default Value - - - hibernate.use_outer_join - - - - hibernate.connection.driver_class - - - - hibernate.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 - - - - - 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($1)" ); - Names.Put(DbType, 65534, "LONGVARCHAR($1)" ); - - 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($1)" ); - - would result in - - Names.Get(DbType) // --> "VARCHAR($1)" (will cause trouble) - Names.Get(DbType,100) // --> "VARCHAR(100)" - Names.Get(DbType,1000) // --> "VARCHAR(1000)" - Names.Get(DbType,10000) // --> "VARCHAR(10000)" - - - - - - Constructor. - - String to be replaced by actual size/length in type names - - - - 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 (maximum) type size/length - - 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 9.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 hibernate.connection.driver_class should be - set to the assembly-qualified name of the driver class. - - - key="hibernate.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. - - - - - - Create an instance of according to the configuration - and the capabilities of the driver - - The connection manager for the batcher. - - - - - 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? - - - - - 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. - - - - Create an instance 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 need to override this method and return their own batcher. - - - - - 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. - - - - 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 the class. - - - Thrown when the ASA.Data.AseClient 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. - - - - - 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 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://gborg.postgresql.org/project/npgsql/projdisplay.php. -

-
-
- - - 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. - - - - - Create an instance 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 need to override this method and return their own batcher. - - - - - 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. - - - - Create an instance 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 need to override this method and return their own batcher. - - - - - 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. - - - - - The SybaseClientDriver Driver provides a database driver for Sybase. - - - It has been reported to work with the . - - - - - Initializes a new instance of the class. - - - Thrown when the Sybase.Data.AseClient assembly can not be loaded. - - - - - Sybase.Data.AseClient uses named parameters in the sql. - - - Sybase uses @ in the sql. - - - - - - - Sybase.Data.AseClient use the @ to locate parameters in sql. - - @ is used to locate parameters in sql. - - - - 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. - - - - - 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 - 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 - 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 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 copying from a transient parent entity into the object in the session cache - - - - - Summary description for Cascades. - - - - - Cascade an action to the child or children - - - - - - - - - - - - - - - - - - - - - - Cascade an action from the parent object to all its children. - - - - - - - - - - - Cascade to the collection elements - - - - - - - - - - - - - A session action that may be cascaded from parent entity to its children - - - - - - - - Cascade the action to the child object - - - - - The children to whom we should cascade. - - - - - Do we need to handle orphan delete for this action? - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Should the given action be cascaded? - - - - - - - Save / Delete / Update / Evict / Lock / Replicate + delete orphans - - - - - Save / Delete / Update / Evict / Lock / Replicate - - - - - Save / Update / Lock / Replicate - - - - - Delete - - - - - Delete + delete orphans - - - - - No Cascades - - - - - Do we delete orphans automatically? - - - - - 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. - - - - - 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 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 - - - - - - - - - - The user-visible identifier - - - - - - - - - - - - - - - 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. - - - - 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. - - - - 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. - - - - 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. - - - - 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. - - - - - 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). - - - - - Defines a complete "snapshot" of a particular collection. - - - - - Gets the identifier of the Entity that owns this Collection. - - - - - Gets the role that identifies this Collection. - - - - - Gets the snapshot copy of the Collection's elements. - - - In most cases this is the same collection type as the one being snapshotted. - ie - the snapshot of an IList will return an IList. - - - - - Gets a indicating if the collection was at one time - associated with an Entity and then later dereferenced during a Flush(). - - - - - 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 - - - - - - Create a new databinder. - - - - - - Get the ClassMetadata associated with the given entity class - - - - - - - Get the CollectionMetadata associated with the named collection role - - - - - - - Get all ClassMetadata as a IDictionary from Type - to metadata object - - - - - - 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 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. - - - - - - 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 used. - - - - - Get the SQL Dialect - - - - - Obtain a set of the names of all filters defined on this SessionFactory. - - The set of filter names. - - - - This collections allows external libraries - to add their own configuration to the NHibernate session factory. - This is needed in such cases where the library is tightly coupled to NHibernate, such - as the case of NHibernate Search - - - - - Get the persister for a class - - - - - Get the persister for the named class - - The name of the class that is persisted. - The for the class. - If no can be found. - - - - Get the persister for the named class - - The name of the class that is persisted. - Whether to throw an exception if the class is not found, - or just return - The for the class. - If no can be found - and throwIfNotFound is true. - - - - Get the persister object for a collection role - - - - - - - Get the return types 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 - - - - Obtain an ADO.NET connection - - - - - - Release an ADO.NET connection - - - - - - Get the identifier generator for the hierarchy - - - - - Open a session conforming to the given parameters. For use mainly by - implementations. - - The external ADO.NET connection to use, if any (i.e., optional). - The release mode for managed database connections. - An appropriate session. - - - - - Is outerjoin fetching enabled? - - - - - Are scrollable ResultSets supported? - - - - - Is PreparedStatement.getGeneratedKeys supported (Java-specific?) - - - - - Get the database schema specified in hibernate.default_schema - - - - - - - - - - - - - - - Maximum depth of outer join fetching - - - - - Are we logging SQL to the console? - - - - - Get the default query cache - - - - - Is query caching enabled? - - - - - Gets the IsolationLevel an IDbTransaction should be set to. - - - This is only applicable to manually controlled NHibernate Transactions. - - - - - Gets a boolean indicating if the sql statement should be prepared. The value - is calculated from hibernate.adonet.batch_size if the value exists and greater than 0. - - - - - 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 - - - - - The main runtime interface between a Java application and Hibernate. 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 Find(), 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 deteced 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, - 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 - - - - 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. - - - - - - - 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 - - - - 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 - - - - 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 - - - - 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 - - - - Execute a query - - A query expressed in Hibernate's query language - A distinct list of instances - See for implications of cache usage. - - - - Execute a query, binding a value to a "?" parameter in the query string. - - The query string - A value to be bound to a "?" placeholder - The Hibernate type of the value - A distinct list of instances - See for implications of cache usage. - - - - Execute a query, binding an array of values to a "?" parameters in the query string. - - The query string - An array of values to be bound to the "?" placeholders - An array of Hibernate types of the values - A distinct list of instances - See for implications of cache usage. - - - - Execute a query and return the results in an interator. - - - - If the query has multiple return values, values will be returned in an array of - type object[]. - - - Entities returned as results are initialized on demand. The first SQL query returns - identifiers only. So Enumerator() is usually a less efficient way to retrieve - object than Find(). - - - The query string - An enumerator - - - - Execute a query and return the results in an interator, - binding a value to a "?" parameter in the query string. - - - - If the query has multiple return values, values will be returned in an array of - type object[]. - - - Entities returned as results are initialized on demand. The first SQL query returns - identifiers only. So Enumerator() is usually a less efficient way to retrieve - object than Find(). - - - The query string - A value to be written to a "?" placeholder in the query string - The hibernate type of the value - An enumerator - - - - Execute a query and return the results in an interator, - binding the values to "?"s parameters in the query string. - - - - If the query has multiple return values, values will be returned in an array of - type object[]. - - - Entities returned as results are initialized on demand. The first SQL query returns - identifiers only. So Enumerator() is usually a less efficient way to retrieve - object than Find(). - - - The query string - A list of values to be written to "?" placeholders in the query - A list of hibernate types of the values - An enumerator - - - - Apply a filter to a persistent collection. - - - A filter is a Hibernate query that may refer to this, the collection element. - Filters allow efficient access to very large lazy collections. (Executing the filter - does not initialize the collection.) - - A persistent collection to filter - A filter query string - The resulting collection - - - - Apply a filter to a persistent collection, binding the given parameter to a "?" placeholder - - - A filter is a Hibernate query that may refer to this, the collection element. - Filters allow efficient access to very large lazy collections. (Executing the filter - does not initialize the collection.) - - A persistent collection to filter - A filter query string - A value to be written to a "?" placeholder in the query - The hibernate type of value - A collection - - - - Apply a filter to a persistent collection, binding the given parameters to "?" placeholders. - - - A filter is a Hibernate query that may refer to this, the collection element. - Filters allow efficient access to very large lazy collections. (Executing the filter - does not initialize the collection.) - - A persistent collection to filter - A filter query string - The values to be written to "?" placeholders in the query - The hibernate types of the values - A collection - - - - 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 - - - - 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 hibernate.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 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 instance of Query for the given query string - - A hibernate query string - 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 IQuery for the given SQL string. - - a query expressed in SQL - a table alias that appears inside {} in the SQL string - the returned persistent class - An from the SQL string - - - - Create a new instance of for the given SQL string. - - a query expressed in SQL - an array of table aliases that appear inside {} in the SQL string - the returned persistent classes - An from the SQL string - - - - Create a new instance of for the given SQL query 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 - - - - Strongly-typed version of - - - - - Strongly-typed version of - - - - - Enable the named filter for this current session. - - The name of the filter to be enabled. - The Filter instance representing the enabled fiter. - - - - Retrieve a currently enabled filter by name. - - The name of the filter to be retrieved. - The Filter instance representing the enabled fiter. - - - - 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. - - - - - 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 - - - - - 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). - - - - - 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 pre-flush identifier of the collection - - - - - - - Get the snapshot of the pre-flush collection state - - - - - Get the object for an array - - - - - Register a object for an array - - - - - Initialize the collection (if not already initialized) - - - - - - - Is this the "inverse" end of a bidirectional association? - - - - - - - new in h2.1 and no javadoc - - - - - - - - - new in h2.1 and no javadoc - - - - - new in h2.1 and no javadoc - - - - - new in h2.1 and no javadoc - - - - - new in h2.1 and no javadoc - - - - - Gets the NHibernate collection wrapper from the ISession. - - - - - - A NHibernate wrapped collection. - - - - - 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 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. - - - - - - - - Load an instance by a unique key that is not the primary key. - - - - - - - - - After actually deleting a row, record the fact that the instance no longer exists on the - database (needed for identity-column key generation) - - - - - - Execute a Find() 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 IEntityPersister for an object - - - - - - - Add an uninitialized instance of an entity class, as a placeholder to ensure object identity. - Must be called before PostHydrate() - - - - - Register the "hydrated" state of an entity instance, after the first step of 2-phase loading - - - - - Perform the second step of 2-phase load (ie. fully initialize the entity instance) - - - - - Get the entity instance associated with the given EntityKey - - - - - Return the existing proxy associated with the given EntityKey, or the second - argument (the entity associated with the key) if no proxy exists. - - The to see if it should be Proxied. - The that identifies the entity. - - Returns a the Proxy for the class or the parameter impl. - - - - Return the existing proxy associated with the given object. (Slower than the form above) - - - - - 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 shold release cache softlocks). May be called multiple times during the transaction - completion process. - - - - - Return the identifier of the persistent object, or null if transient - - - - - Return the identifer of the persistent or transient object, or throw - an exception if the instance is "unsaved" - - - - - Instantiate the entity class, initializing with the given identifier - - - - - Set the lock mode of the entity to the given lock mode - - - - - Get the current version of the entity - - - - - Get the lock mode of the entity - - - - - Execute an SQL Query - - - - - Strongly-typed version of - - - - - new in 2.1 no javadoc - - - - - - new in 2.1 no javadoc - - - - - - - - new in 2.1 no javadoc - - - - - - - - Retrieve the representation of the given entity. - - The entity for which to locate the EntityEntry. - The EntityEntry for the given entity. - - - - Retreive the currently set value for a filter parameter. - - The filter parameter name in the format - {FILTER_NAME.PARAMETER_NAME}. - The filter parameter value. - - - - Retreive the type for a given filter parrameter. - - The filter parameter name in the format - {FILTER_NAME.PARAMETER_NAME}. - The filter parameter type. - - - - 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 {@link org.hibernate.impl.FilterImpl} - instance. - - The currently enabled filters. - - - - 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 - - - - - 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 - - - - - Get the columns of the associated table which are to - be used in the join - - - - - Container for data that is used during the NHibernate query/load process. - - - - - Initializes an instance of the class. - - An array of objects for the parameters. - An array of objects for the parameters. - - - - Initializes an instance of the class. - - An array of objects for the parameters. - An array of objects for the parameters. - An that is parameter name keyed to a value. - An that is hql alias keyed to a LockMode value. - - - - - - - - - - - - - - - - Ensure the Types and Values are the same length. - - - If the Lengths of and - are not equal. - - - - - - - - Gets or sets an that contains the named - parameter as the key and the as the value. - - An of 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. - - - - - - - - - - - - - - - - - - - - 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. - - - - Gets the value of the version. - - 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. - The value of the version. - - - - Sets the value of the version. - - 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 index of the version property in the fields parameter. - The of the versioned property. - - - - 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? - - - - - Converts the given SQLException into NHibernate's ADOException hierarchy, as well as performing - appropriate logging. - - - The exception to convert. - An optional error message. - The converted ADOException. - - - - 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. - - - - 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. - - - - 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 - - - - - 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 - - - - - Render the SQL Fragment. - - - - - - - - - Render the SQL Fragment to be used in the Group By Clause. - - - - - - - - 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 - - - - - - - - Get the user-visible aliases for this projection (ie. the ones that will be passed to the ResultTransformer) - - - - - Does this projection specify grouping attributes? - - - - - 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 arry 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. - - - - - 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. - - - - - - - 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. - - - - - 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 " - - - - A Count - - - - - 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. - - - - An that Junctions together multiple - s with an or - - - - - Get the Sql operator to put between multiple s. - - The string " or " - - - - An that represents an "equal" constraint. - - - - - 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. - - - - 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 . - - - - - 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. - Use case-insensitive comparison - - - - 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. - - - - Get the Sql operator to use for the . - - The string " = " - - - - An that represents an "equal" constraint - between two properties. - - - - - Superclass for an that represents a - constraint between two properties (with SQL binary operators). - - - - - Initialize a new instance of the class - that compares two mapped properties. - - 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 property expression. - - - - - 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. - - - - - 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. - - - - - The Expression 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 to the named property - - The name of the Property in the class. - The value for the Property. - An . - - - - Apply a "like" constraint to the named property - - The name of the Property in the class. - The value for the Property. - A . - - - - A case-insensitive "like", similar to Postgres "ilike" operator - - The name of the Property in the class. - 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. - A . - - - - Apply a "less than" constraint to the named property - - The name of the Property in the class. - The value for the Property. - A . - - - - Apply a "less than or equal" constraint to the named property - - The name of the Property in the class. - The value for the Property. - A . - - - - Apply a "greater than or equal" constraint to the named property - - The name of the Property in the class. - The value for the Property. - A . - - - - 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 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 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 "is null" constraint to the named property - - The name of the Property in the class. - A . - - - - Apply an "equal" constraint to two properties - - The lhs Property Name - The rhs Property Name - A . - - - - Apply an "not equal" constraint to two properties - - The lhs Property Name - The rhs Property Name - A . - - - - Apply a "greater than" 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 Property Name - The rhs Property Name - A . - - - - Apply a "less than" constraint to two properties - - The lhs Property Name - The rhs Property Name - A . - - - - Apply a "less than or equal" constraint to two properties - - The lhs Property Name - The rhs Property Name - A . - - - - Apply an "is not null" 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 . - - - - Apply an "is not empty" constraint to the named property - - The name of the Property in the class. - A . - - - - Return the conjuction 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 . - - - - 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 - - - - - - - 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 - - - - - An that represents an "greater than or equal" constraint. - - - - - 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. - - - - Get the Sql operator to use for the . - - The string " >= " - - - - An that represents an "greater than or equal" constraint - between two properties. - - - - - 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 " < " - - - - An that represents an "greater than" constraint. - - - - - 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. - - - - Get the Sql operator to use for the . - - The string " > " - - - - An that represents an "greater than" constraint - between two properties. - - - - - 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 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... - - - - - - - - - - - - - - - An that represents an "like" constraint - that is not case sensitive. - - - - - 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. - - - - - 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. - - - - Get the Sql operator to use for the . - - The string " <= " - - - - An that represents an "less than or equal" constraint - between two properties. - - - - - 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. - - - - - 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. - - - - Get the Sql operator to use for the . - - The string " like " - - - - An that represents an "less than" constraint. - - - - - 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. - - - - Get the Sql operator to use for the . - - The string " < " - - - - An that represents an "less than" constraint - between two properties. - - - - - 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. - - - - - 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. - - - - - 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. - - - - - Constructor for Order. - - - - - - - Render the SQL fragment - - - - - Ascending 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" - - - - 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(*) - - - - - - A property value count - - - - - - - A distinct property value count - - - - - - - A property maximum value - - - - - - - A property minimum value - - - - - - - A property average value - - - - - - - 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 projected property value - - - - - - - A projected identifier value - - - - - - Assign an alias to a projection, by wrapping it - - - - - - - - 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 - - - - - 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. - - - - - Factory class for AbstractCriterion instances that represent - involving subqueries. - Expression - Projection - AbstractCriterion - - - - - Generates translators which uses the older hand-written parser to perform the translation. - - - - - 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 an HQL filter string. - - The query string to be translated - Currently enabled filters - The session factory - An appropriate translator. - - - - 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 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 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. - - - - - 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 vesrion 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 - - - - - Unmarshall the fields of a persistent instance from a result set, - without resolving associations or collections - - - - - - - - - - - - Advance the cursor to the first required row of the IDataReader - - - - - - - Should we pre-process the SQL string, adding a dialect-specific - LIMIT clause. - - - - - - - - Bind positional parameter values to the IDbCommand - (these are parameters specified by ?). - - - - - - - - - - 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 maximum last row number, - others require the maximum returned row count. - - - - - 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 - - - - 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 . - The to load in. - An IDataReader advanced to the first record in RowSelection. - - - - Bind named parameters to the IDbCommand - - The that contains the parameters. - The named parameters (key) and the values to set. - The this Loader is using. - - - - - 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. - - - - of - - - - 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 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") - - - - - An (optional) persister for a collection to be initialized; only collection loaders - return a non-null value - - - - - 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 SQL table aliases of entities whose - associations are subselect-loadable, returning - null if this loader does not support subselect - loading - - - - - Get the result set descriptor - - - - - 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. - - - - - 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? - - - - 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 - - - - Used for collection filters - - - - - - - Persisters for the return values of a Find 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. - - - - - Provides utility methods for generating HQL / SQL names. - Shared by both the 'classic' and 'new' query translators. - - - - - 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. - - - - Handle Hibernate "implicit" polymorphism, by translating the query string into - several "concrete" queries against mapped classes. - - - - - - - - - An that returns the current identifier - assigned to an instance. - - -

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

-
-
- - - 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 - - - - - - - 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. - - - - - 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. - - - - 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 - - - - hilo - - - - identity - - - - native - - Chooses between , - , and based on the - 's capabilities. - - - - seqhilo - - - - sequence - - - - uuid.hex - - - - uuid.string - - - -
-
- - - 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. -

-
-
- - - 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 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. - - - - - - An that requires creation of database objects - All s that also implement - An have access to a special mapping parameter: schema - - - - - 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 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 name of the schema parameter. - - - - - 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 . - - - - 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. -

-
-
- - - The name of the column parameter. - - - - - The name of the table parameter. - - - - - The name of the schema parameter. - - - - - 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 , , 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 . - - - - 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. - - - - 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 . - - - - 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.Find(); - - - A particulare 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 . - - - - - 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 - - - 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 forceable refresh of - the query cache? - - - - The timeout for the underlying ADO query - - - - - - 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 - - - - - Bind a value to an indexed parameter. - - Postion 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 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 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. - - - - - The query string - - - - - The Hibernate types of the query result set. - - - - - The names of all named parameters of the query - - The parameter names, in no particular order - - - - 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. - - - - - 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 . - - - - - - - Visit a property value. Dispatch to the correct handler - for the property type. - - - - - - - - Walk the tree starting from the given entity. - - - - - - - Visit a collection. Default superclass implementation is a no-op. - - - - - - - - Visit a many-to-one or one-to-one associated entity. Default - superclass implementation is a no-op. - - - - - - - - Manages prepared statements and batching. Class exists to enforce separation of concerns - - - - - 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 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 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 the the Batcher was - created in. - - - The the Batcher was - created in. - - - - - Gets the for this batcher. - - - - - A cached instance of a persistent class - - - - - - - - - - - - - - - - - - - - - - - - - We need an entry to tell us all about the current state - of a collection with respect to its persistent state - - - - - 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. - - - - - 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. - - - - session-start/post-flush persistent state - - - allow the snapshot to be serialized - - - - Initializes a new instance of . - - - The CollectionEntry is for a Collection that is not dirty and - has already been initialized. - - - - - Initializes a new instance of for collections just loaded from the database. - - The that persists this Collection type. - The identifier of the Entity that is the owner of this Collection. - A boolean indicating whether to ignore the collection during current (or next) flush. - - - - Initializes a new instance of for initialized detached collections. - - The from another . - The that created this . - - This takes an from another and - creates an entry for it in this by copying the values from the - cs parameter. - - - - - 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. - - - - - - - - - - - - - - Manages the database connection and transaction for an . - - - This class corresponds to ConnectionManager and JDBCContext in Hibernate, - combined. - - - - - 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(); - - - Hibernate's query language is much more general and should be used for non-simple cases. - - - This is an experimental API. - - - - - - Set a limit upon the number of objects to be retrieved - - - - - - Set the first result to be retrieved - - - - - - Set a timeout for the underlying ADO.NET query - - - - - - - Add an Expression to constrain the results to be retrieved. - - - - - - - An an Order to the result set - - - - - - Get the results - - - - - - Get the results and fill the - - The list to fill with the results. - - - - Strongly-typed version of . - - - - - 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 - - If there is more than one matching result - - - - - 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. - - - - - 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) - - - - Create a new , "rooted" at the associated entity - - - - - - - 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, - using the specified join type. - - A dot-seperated property path - The type of join to use - The created "sub criteria" - - - - Set a strategy for handling the query results. This determines the - "shape" of the query result set. - - - - - - - - - - Set the lock mode of the current entity - - the lock mode - - - - - Set the lock mode of the aliased entity - - an alias - the lock mode - - - - - 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 - - - - - 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. - - - - - - Get the alias of the entity encapsulated by this criteria instance. - - The alias for the encapsulated entity. - - - - 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 - - - - - - Executes the batch - - - This seems to be returning the total number of affected rows in all queries - - - - - Return the batch command to be executed - - - - - The number of commands batched in this instance - - - - - 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 - - - - - 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. - - - - 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 updating the database, update the snapshot information, - and escalate the lock mode. - - - - - 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 reponsible 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. - - - - - - - - - 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 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 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. - - - - - Evict any collections referenced by the object from the ISession cache. - - - This will NOT pick up any collections that were dereferenced, so - they will be deleted (suboptimal but not exactly incorrect). - - - - - - - - - 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. - - - - - An action that can Execute during a - Flush. - - - - - - - - - - Execute the action required to write changes to the database. - - - - - Called after the Transaction has been completed. - - - - Actions should make sure that the Cache is notified about - what just happened. - - - - - Does the executable have an AfterTransactionCompletion process - - - - - The spaces (tables) that are affectd by this Executable action. - - - This is used to determine if the ISession needs to be flushed before - a query is executed so stale data is not returned. - - - - - 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] - - - - When implemented by a class, disassembles the object into a cacheable representation. - The value to disassemble.The sesionThe disassembled, deep cloned state of the object - - - - When implemented by a class, reconstructs the object from its - cached "disassembled" state. - The disassembled state from the cacheThe sessiontThe parent Entity objectThe assembled object. - - - - Combines sevaral queries into a single database call - - - - - Get all the - - - - - Add the specified HQL query to the multi query - - - - - Add the specified HQL query to the multi query - - - - - Add a named query to the multi query - - - - - 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 - - - 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 forceable refresh of - the query cache? - - - - The timeout for the underlying ADO query - - - - - - Bind a value to a named query parameter - - The name of the parameter - The possibly null parameter value - The NHibernate . - - - - 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 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 a named parameter - using an NHibernate . - - The name of the parameter - A non-null instance of a array. - - - - 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 name of the parameter - 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 . - - A non-null instance of a . - The name of the parameter - - - - 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 name of the parameter - A non-null instance of a . - - - - 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 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 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 name of the parameter - 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 name of the parameter - 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 name of the parameter - 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 . - - - - 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. - - - - - Return the query results of all the queries - - - - - 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. - - - - - - When a transient entity is passed to , 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. - - - - - 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 - - - - - When an entity is passed to Update(), all its collections must be - inspected and: - - - - Associate any uninitialized PersistentCollections with this Session. - - - - - Associate any initialized PersistentCollections with this Session, using the - existing snapshot. - - - - - Execute a collection removal (SQL DELETE) for each null collection property - or "new" collection. - - - - - - - - Summary description for OracleDataClientBatchingBatcher. - By Tomer Avissar - - - - - - - an actual entity object, not a proxy! - - - - - Implementation of the interface for collection filters. - - - - - - - - - - - - - The base class for a scheduled action to perform on a Collection during a - flush. - - - - - Initializes a new instance of . - - The that is responsible for the persisting the Collection. - The identifier of the Collection owner. - The that the Action is occuring in. - - - - - - - - - - - - - - - - - - Gets the that is responsible for persisting the Collection. - - - - - Gets the identifier of the Collection owner. - - - - - Gets the the action is executing in. - - - - - - - - A scheduled recreation of the Collection in the database. - - - - - Initializes a new instance of . - - The to recreate. - The that is responsible for the persisting the Collection. - The identifier of the Collection owner. - The that the Action is occuring in. - - - - - - - A scheduled removal of the Collection from the database. - - - This Collection is not represented in the database anymore. - - - - - Initializes a new instance of . - - The that is being removed. - The that is responsible for the persisting the Collection. - The identifier of the Collection owner. - Indicates if the Collection was empty when it was loaded. - The that the Action is occuring in. - - - - - - - A scheduled update of the Collection in the database. - - - Entities in the Collection or the contents of the Collection have been modified - and the database should be updated accordingly. - - - - - Initializes a new instance of . - - The to update. - The that is responsible for the persisting the Collection. - The identifier of the Collection owner. - Indicates if the Collection was empty when it was loaded. - The that the Action is occuring in. - - - - - - - A scheduled deletion of an object. - - - - - The base class for a scheduled action to perform on an entity during a - flush. - - - - - Initializes a new instance of . - - The that the Action is occuring in. - The identifier of the object. - The actual object instance. - The that is responsible for the persisting the object. - - - - - - Not supported for a non-collection entity - - - - Called when the Transaction this action occurred in has completed. - - - - - - Execute the action using the . - - - - - Gets the the action is executing in. - - - - - Gets the identifier of the object. - - - - - Gets the that is responsible for persisting the object. - - - - - Gets the object that is having the scheduled action performed against it. - - - - - - - - - - - - - Initializes a new instance of . - - The identifier of the object. - The version of the object being deleted. - The actual object instance. - The that is responsible for the persisting the object. - The that the Action is occuring in. - - - - - - - - - - Summary description for ScheduledIdentityInsertion. - - - - - - - - - - - - - - - - - - - - - - - - - A scheduled insertion of an object. - - - - - Initializes a new instance of . - - The identifier of the object. - An object array that contains the state of the object being inserted. - The actual object instance. - The version of the object instance. - The that is responsible for the persisting the object. - The that the Action is occuring in. - - - - - - - - - - A scheduled update of an object. - - - - - Initializes a new instance of . - - The identifier of the object. - An array of objects that contains the value of each Property. - An array that contains the indexes of the dirty Properties. - Whether the object contains a dirty collection. - - The current version of the object. - The version the object should be after update. - The actual object instance. - The that is responsible for the persisting the object. - The that the Action is occuring in. - - - - - - - - - - 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. - - - - - - - - - - - - - - - - - - - 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. - - - - - - - - - - - - - - - - - - - - - - - - - - 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. - - - - - - - Added to solve a problem with SessionImpl.Find( CriteriaImpl ), - see the comment there for an explanation. - - - - - - - - - - - - - Closes the session factory, releasing all held resources. - - cleans up used cache regions and "stops" the cache provider. - close the ADO.NET connection - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Gets the ICurrentSessionContext instance attached to this session factory. - - - - - A class that can be used as a Key in a Hashtable for - a Query Cache. - - - - - A class that can be used as a Key in a Hashtable for - a Query Cache. - - - - - 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. - - - TODO: verify that the AppDomain statements are correct. - - - - - - - - - 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. - - - - 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 - - - - - Indicates if the Session has been closed. - - - (by default) if the Session is Open and can be used, - if the Session has had the methods Close() or - Dispose() invoked. - - - - An with the as the key - and an as the value. - - - - - An with the as the key - and an as the value. - - - - - An with the as the key - and an as the value. - - - - - An with the as the key - and an as the value. - - - - - An with the as the key - and an as the value. - - - - - An with the as the key - and an as the value. - - - - - An of objects of the deleted entities. - - - - - 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. - - - - - - - - - Ensure that the locks are downgraded to - and that all of the softlocks in the have - been released. - - - - - Mark the Session as being closed and Clear out the HashTables of - entities and proxies along with the Identity Maps for entries, array - holders, collections, and nullifiables. - - - - - - - - - - - - - - - - - - - Save a transient object. An id is generated, assigned to the object and returned - - - - - - - Save a transient object with a manually assigned ID - - - - - - - If the parameter value is an unitialized proxy then it will be reassociated - with the session. - - A persistable object, proxy, persistent collection or null - - when an uninitialized proxy was passed into this method, otherwise. - - - - - associate a proxy that was instantiated by another session with this session - - - - - - - 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" - - - - - - - - - Delete a persistent object - - - - - - Checks to see if there are any Properties that should not be null - are references to null or to a transient object. - - An object array of values that should be validated. - The that describes which values can be null. - A indicating if this is an Update operation. - - Thrown when a non-nullable property contains a value that would - persist the value of null to the database. - - - - - Reattach a detached (disassociated) initialized or uninitialized collection wrapper - - - - - - - Used only by Replicate - - - - - - - - - - Retrieve a list of persistent objects using a Hibernate query - - - - - - - - - - - - - - - - - - - - - - Obtain an instance of for a named query string defined in the - mapping file. - - The name of a query defined externally. - An fro a named query string. - - The query can be either in hql or sql format. - - - - - Give the interceptor an opportunity to override the default instantiation - - - - - - - - detect in-memory changes, determine if the changes are to tables - named in the query and, if so, complete execution the flush - - - - - - - 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. - - - - - - - - - - Grab the existing proxy for an instance, if one exists. - (otherwise return the instance) - - - - - - - - - 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. - - - - - - - - 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 ADO datareader we are currently processing - - - - - - - - - - Load the data for the object with the specified id into a newly created object. - 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. - - - - - Load the data for the object with the specified id into the supplied - instance. A new key will be assigned to the object. If there is an - existing uninitialized proxy, this will break identity equals as far - as the application is concerned. - - - - - Load the data for the object with the specified id into a newly created - object. A new key will be assigned to the object. If the class supports - lazy initialization, return a proxy instead, leaving the real work for - later. This should return an existing proxy where appropriate. - - The of the object to load. - The identifier of the object in the database. - - A boolean indicating if NHiberate should check if the object has or has not been deleted. - - A boolean indicating if it is allowed to return a Proxy instead of an instance of the . - - An loaded instance of the object or a proxy of the object is proxies are allowed. - - - If the parameter checkDeleted is it is possible to return an object that has - been deleted by the user in this . If the parameter checkDeleted is - and the object has been deleted then an will be - thrown. - - - - - 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 method always hits the db, and does not create proxies. It should return - an existing proxy where appropriate. - - - - - - - - - - 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. - - - - - - - - - Actually do all the hard work of loading up an object - - - - - - - - - 1. see if it is already loaded - 2. see if it is cached - 3. actually go to the database - - - - - 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 - - - - - - - - - This can be called from commit() or at the start of a Find() 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 - - - - - Execute all SQL and second-level cache updates, in a - special order so that foreign-key constraints cannot - be violated: -
    -
  1. Inserts, in the order they were performed
  2. -
  3. Updates
  4. -
  5. Deletion of collection elements
  6. -
  7. Insertion of collection elements
  8. -
  9. Deletes, in the order they were performed
  10. -
-
- - - 1. detect any dirty entities - 2. schedule any entity updates - 3. search out any reachable collections - - - - - Process cascade save/update at the start of a flush to discover - any newly referenced entity that must be passed to - and also apply orphan delete - - - - - 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(). - - - - - - - - - - - - - - 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). - - - - - - - process any unreferenced collections and then inspect all known collections, - scheduling creates/removes/updates - - - - - 1. Recreate the collection key -> collection map - 2. rebuild the collection entries - 3. call Interceptor.postFlush() - - - - - Initialize the flags of the CollectionEntry, including the - dirty check. - - - - - Initialize the role of the collection. - The CollectionEntry.reached stuff is just to detect any silly users who set up - circular or shared references between/to collections. - - - - - - - - record the fact that this collection was dereferenced - - - - - - 1. record the collection role that this collection is referenced by - 2. decide if the collection needs deleting/creating/updating (but - don't actually schedule the action yet) - - - - - - - add a collection we just loaded up (still needs initializing) - - - - - - - - add a collection we just pulled out of the cache (does not need initializing) - - - - - - - - Add a new collection (i.e. a newly created one, just instantiated by - the application, with no database state or snapshot) - - - - - - - Add an (initialized) collection that was created by another session and passed - into update() (i.e. one with a snapshot and existing state on the database) - - - - - - - - - - - - - - associate a holder with an array - called after loading an array - - - - - - called by a collection that wants to initialize itself - - - - - - - - - - A flag to indicate if Dispose() has been called. - - - - - Finalizer that ensures the object is correctly disposed of. - - - - - Just in case the user forgot to Commit() or Close() - - - - - 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. - - - - - 1. determine the collection role of the given collection (this may require a flush, if the collection is recorded as unreferenced) - 2. obtain a compiled filter query - 3. autoflush if necessary - - - - - - - - - - Get the collection entry for a collection passed to filter, - which might be a collection wrapper, an array, or an unwrapped - collection. Return if there is no entry. - - - - - - - remove any hard references to the entity that are held by the infrastructure - (references held by application or other persistant instances are okay) - - - - - - Evict collections from the factory-level cache - - - - - - - - - - - - - - - - - - - - - - - - - - - - Instantiate a collection wrapper (called when loading an object) - - - - - - - - - Try to initialize a Collection from the cache. - - - - - - if the collection was initialized from the cache, otherwise . - - - - - - - - - - - - - - - - - - - - - - - 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. - - - - - 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 - - - - - 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 - - - - - 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. - - - - - Wrap collections in a NHibernate collection wrapper. - - - - - 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 - - - - - 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 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 aliases of the columns constrained - by this criterion (for use in ORDER BY clause). - - - - - Get the a typed value for the given property value. - - - - - 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 collumns - 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 collumns 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 aliases for the property columns - - - - - The result set column alias for the Oracle row id - - - - - Calculate and cache select-clause suffixes. - - - - - Optional, may return - - - - Substitues JDBC 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. - - @param sqlString The query string. - @return The SQL query with parameter substitution complete. - - - - 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 return defined as part of - a native sql query. - - - - - Returns the class owning the collection. - - - - - Returns 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. - - - - - 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. - - - - - Abstract superclass for entity loaders that use outer joins - - - - - - - - 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 - - - - - 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 collumns 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 - - - - - 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. - - - - - 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. - - - Author: Gavin King - - - - - 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 - - - - - - - - Get or set the metatype - - - - - 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. - - - - - A bag permits duplicates, so it has no primary key - - - - - Initializes a new instance of the class. - - The that contains this bag mapping. - - - - - - Should we create an index on the key columns? - - - - Gets the appropriate that is - specialized for this bag mapping. - - - - - Represents the mapping to a column in a database. - - - - - - - - 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 an Alias for the column name. - - The that contains the rules for Aliasing. - A string to use as the suffix for the Alias. - - A string that can be used as the alias for this Column. - - - - - Initializes a new instance of . - - The NHibernate that reads from and writes to the column. - The index of the column in the . - - - - Gets the of the column based on the . - - - - The of the column based on the . - - - - - 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. - - The value of Name.GetHashCode(). - - - - Gets or sets the length of the datatype in the database. - - The length of the datatype in the database. - - - - Gets or sets the NHibernate of the column. - - - The NHibernate of the column. - - - - - 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 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. - - - - - A Foreign Key constraint in the database. - - - - - Initializes a new instance of the class. - - - - - 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. - - - - - 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. - - - - - Gets or sets the that this Foreign Key is referencing. - - - The that this Foreign Key is referencing. - - - - - 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. - - - - - - - - - - - - - - - - - - - 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. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 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 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 heirarchy must define a unique discriminator-value. The default value - is the class name if no value is supplied. - - - - - Gets a boolean indicating if this PersistentClass has any subclasses. - - if this PeristentClass has any subclasses. - - - - Gets the number of subclasses that inherit either directly or indirectly. - - The number of subclasses that inherit from this PersistentClass. - - - - Gets the Collection of Subclasses for this PersistentClass. - - - It will recursively go through Subclasses so that if a Subclass 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. - - - - - 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. - - - - - Gets an of objects. - - - An of objects. - - - - - 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 the fully qualified name of the type being persisted. - - The fully qualified name of the type being persisted. - - - - 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 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 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 a boolean indicating if the mapped class - has a version property. - - if there is a <version> property. - - - - 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 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 TableClosureCollection and the subclassTables into the ICollection. - - - - 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 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. - - - - - - - - - - - - - - - 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 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. - - - - - 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. - - - - - - - - - - - - - - - Build a collection of properties which are "referenceable". - - - See for a discussion of "referenceable". - - - - - 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. - - - - - - - - - - - - - - Mapping for a property of a .NET class (entity - or component). - - - - - 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. - - - - - - - - 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-sublcass, 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 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 a boolean indicating if this mapped class is inherited from another. - - - because this is the root mapped class. - - - - - 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 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 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. - - - - - Gets or sets the that is used as the version. - - The that is used as the version. - - - - Gets a boolean indicating if the mapped class has a version property. - - if there is a Property for a version. - - - - 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 or sets the cache region name. - - The region name used with the Cache. - - - - Gets or set a boolean indicating if the mapped class has properties that can be changed. - - if the object is mutable. - - - - 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 of the Persister. - - The of the Persister. - - - - Gets the of the class - that is mapped in the class element. - - - The of the class this mapped class. - - - - - 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 Subclass 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. - - - - - - - - - - - - - - - A Set with no nullable element columns will have a primary - key consisting of all table columns (ie - key columns + - element columns). - - - - - Declaration of a System.Type mapped with the <subclass> or - <joined-subclass> 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 Subclass Properties. - - - - - Adds a that is implemented by a subclass. - - The implemented by a subclass. - - This also adds the to the Superclass' collection - of Subclass Properties. - - - - - Adds a that a subclass is stored in. - - The the subclass is stored in. - - This also adds the to the Superclass' collection - of Subclass Tables. - - - - - - - - - - - - - - - - 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 a boolean indicating if this mapped class is inherited from another. - - - because this is a Subclass. - - - - - 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 this class is stored in. - - The this class is stored in. - - This also adds the to the Superclass' collection - of Subclass Tables. - - - - - 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 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 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 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 - Subclass, only the RootClass. - - - - - - - - - - - - - - - Represents a Table in a database that an object gets mapped against. - - - - - Initializes a new instance of . - - - - - 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 Qualifier to use when accessing the table. - A String representing the Qualified name. - If this were used with MSSQL it would return a dbo.table_name. - - - - 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. - - - - - 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. - - - - - - - - - - - - - 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 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. - - - - - - - - - - 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. - - - - 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 - - - - - Create a class instance initialized with the given identifier - - - - - - - Get the type of a particular (named) property - - - - - - - Get the value of a particular (named) property - - - - - - - - Set the value of a particular (named) property - - - - - - - - Return the values of the mapped properties of the object - - - - - - 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) - - - - - - - Get the version number (or timestamp) from the object's version property - (or return null if not versioned) - - - - - - - The persistent class - - - - - 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 - - - - - Does the class implement the ILifecycle interface? - - - - - Does the class implement the IValidatable inteface? - - - - - Does the class support dynamic proxies? - - - - - 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 - - - - - Does the class have an identifier property? - - - - - 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? - - - - - 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 query alias and a property path, return the qualified column name - - - - - - - - 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 table to join to. - - - - - The columns to join on. - - - - - Is this instance actually a ICollectionPersister? - - - - - Is this instance actually a many-to-many association? - - - - -

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 - - - - - Is this collection role cacheable - - - - - 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 an "indexed" collection? (list or map) - - - - - Is this collection lazyily 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 entity class that "owns" this collection - - - - - Get the surrogate key generation strategy (optional operation) - - - - - Get the type of the surrogate key - - - - - 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.) - - - - - Get the "space" that holds the persistent state - - - - - Generate a list of collection index and element columns - - - - - 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 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? - - - - - 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? - - - - - 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. - - - - Gets just the Identifier of the Element for the Collection. - - - - - - - This was created in addition to ReadElement because ADO.NET does not allow - for 2 IDataReaders to be open against a single IDbConnection at one time. - - When a Collection is loaded it was recursively opening IDbDataReaders to resolve - the Element for the Collection while the IDbDataReader was open that contained the - record for the Collection. - - - - - 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 (preferrably immutable) and must provide a constructor of type - (PersistentClass, SessionFactoryImplementor) - - - - - Finish the initialization of this object, once all ClassPersisters have been - instantiated. Called only once, before any other method. - - - - - Create a new proxy instance - - - - - - - - Is this a new transient instance? - - - - - - - Set the given values to the mapped properties of the given object - - - - - - - Return the values of the mapped properties of the object - - - - - - - Set the value of a particular property - - - - - - - - Get the value of a particular property - - - - - - - - Get the value of a particular property - - - - - - - - Get the type of a particular property - - - - - - - Compare two snapshots of the state of an instance to determine if the persistent state - was modified - - - - - - or the indices of the dirty properties - - - - Compare the state of an instance to the current database state - - - - - - return or the indicies of the modified properties - - - - 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. - - - - 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 - - - - - - - Load an insatance 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 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. - - - - - - - - - - - NHibernate-specific feature, not present in H2.1 - - - - Determines whether the specified entity is an instance of the class - managed by this persister. - - The entity. - - if the specified entity is an instance; otherwise, . - - - - - 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. - - - - Returns an object that identifies the space in which identifiers of this class hierarchy - are unique. eg. a table name, etc. - - - - - Returns an array of objects that identifies spaces in which properties of this class - instance are persisted. eg. table names. - - - - - - The persistent class - - - - - The classname of the persistent class (used only for messages) - - - - - Does the class implement the ILifecycle inteface? - - - - - Does the class implement the IValidatable interface? - - - - - Does this class support dynamic proxies? - - - - - Get the proxy interface that instances of this concrete class will be cast to - - - - - Do instances of this class contain collections? - - - - - Does this class declare any cascading save/update/deletes? - - - - - Are instances of this class mutable? - - - - - 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. - - - - - Does the class have a property holding the identifier value? - - - - - Gets if the Type has a Property for the <id> or uses a <composite-id> - to store the id. - - true if there is a Identifier Property or Composite Identifier. - - - - 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) - - - - - 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 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. - - - - - 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 - - - - - 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. - - - - - 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 - - - - - Does this class have a cache? - - - - - Get the cache (optional operation) - - - - - Get the user-visible metadata for the class (optional operation) - - - - - Is batch loading enabled? - - - - - Returns an array of objects that identify spaces in which properties of this class are persisted, - for instances of this class and its subclasses. - - - - - The session factory this instance is associated with. - - - - - Does this entity contain a version property that is defined - to be database generated? - - - - - 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 - - - - - Does the persistent class have subclasses? - - - - - The discriminator type - - - - - Get the names of columns used to persist the identifier - - - - - Get the name of the column used as a discriminator - - - - - Does this entity own any collections which are fetchable by subselect? - - - - - 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) - - - - - - - Generate a list of collection index and element columns - - - - - - - - Get the column names for the given property path - - - - - Get the table name for the given property path - - - - - Extends the generic ILoadable contract to add operations required by HQL - - - - - Get the where clause fragment, give a query alias - - SQL alias to use for column names in the returned query - - - - - - - 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. - - - - - - - - Is this class mapped as a subclass of another class? - - - - - 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 value in the hbm) - - - - - 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). - - - - - - - - All columns to select, when loading. - - - - - Get the type - - - - - Set the given values to the mapped properties of the given object - - - Use the access optimizer if available - - - - - Return the values of the mapped properties of the object - - - Uses the access optimizer, if available. - - - - - Get the value of the numbered property - - - - - - - - Set the value of the numbered property - - - - - - - - Determine if the given field values are dirty. - - - - - - - - - - Determine if the given field values are dirty. - - - - - - - - - - Return a new instance initialized with the given identifier. - - - - - - - Returns the SQL used to get the Identity value from the last insert. - - This is not a NHibernate Command because the SQL contains no parameters. - - - - Must be called by subclasses, at the end of their constructors - - - - - - Retrieve the version number - - - - - - - - Do a version check - - - - - Generate the SQL that selects the version number by id - - - - - - Transform the array of property indexes to an array of booleans - - - - - Get the column names for the numbered property of this class - - - - - Decide which tables need to be updated - - - - - Persist an object, using a natively generated identifier - - - - - 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. - - - - - Load an instance using the appropriate loader (as determined by - - - - - Delete an object. - - - - - Persist an object - - - - - Determines whether the specified entity is an instance of the class - managed by this persister. - - The entity. - - 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 query that insert a row into the root table, letting the database generate an id - - - - - The queries that update rows by id (and version) - - - - - A IEntityPersister implementing the normalized "table-per-subclass" mapping strategy - - - - - Generate the SQL that pessimistic locks a row by id (and version) - - An existing SqlString to copy for then new SqlString. - - A new SqlString - - The parameter sqlString does not get modified. It is Cloned to make a new SqlString. - If the parametersqlString is null a new one will be created. - - - - - Constructs the NormalizedEntityPerister for the PersistentClass. - - The PeristentClass to create the EntityPersister for. - The configured . - The SessionFactory that this EntityPersister will be stored in. - The mapping used to retrieve type information. - - - - Create a new one dimensional array sorted in the Reverse order of the original array. - - The original array. - A new array in the reverse order of the original array. - - - - Create a new two dimensional array sorted in the Reverse order of the original array. The - second dimension is not reversed. - - The original array. - A new array in the reverse order of the original array. - - - - 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 - - - - Constants from interface. - - - - - 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 using FOR UPDATE - - - - - - Generate the SQL that selects a row by id using FOR UPDATE NOWAIT - - - - - - Generates an SqlString that selects a row by id - - SQL containing FOR UPDATE clauses - to append at the end of the query (optional) - - - - - Generate the SQL that updates a row by id, excluding subclasses - - - - - - - Generates the SQL that pessimistically locks a row by id (and version) - - An existing SqlString to copy for then new SqlString. - - A new SqlString - - The parameter sqlString does not get modified. It is Cloned to make a new SqlString. - If the parametersqlString is null a new one will be created. - - - - - - - - - - - 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. - - - - - An for a Property get. - - - - - 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. - - - - - 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. - - - - - 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. - - - - - Accesses mapped property values via a get/set pair, which may be nonpublic. - The default (and recommended strategy). - - - - - 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 . - - - - - 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 set. - - - - - 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. - - - - - 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 - - - - - 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. - - - - 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. - - - - 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. - - - - 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 retreive the value and will use the field - to set the value. This is a good option for <id> Properties because this access method - allow's users of the Class to get the value of the Id but not set the value. - - - - 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 whould have to be from Foo as foo where foo._someProperty - (assuming CamelCase with an underscore field naming strategy is used). - - - - - - A for use with the Castle Dynamic Class Generator. - - - - - Provides the base functionallity 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. - - - - - 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 Class to Proxy. - 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. - - - - - 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. - - - - - 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 . - - - - - - - - - - - - - - - - Initializes a new object. - - The Class to Proxy. - The Id of the Object we are Proxying. - - - The ISession this Proxy is in. - - - - Invoke the actual Property/Method using the Proxy or instantiate the actual - object and use it when the Proxy can't handle the method. - - The from the generated Castle.DynamicProxy. - The parameters for the Method/Property - The result just like the actual object was called. - - - - Called immediately after instantiation - - - - - - - - - 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. - - - - Build a proxy using the Castle.DynamicProxy library. - - The value for the Id. - The Session the proxy is in. - A fully built INHibernateProxy. - - - - 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 seperate DLL than NHibernate. - - - - - - NHibernateProxyHelper provides convenience methods for working with - objects that might be instances of Classes or the Proxied version of - the Class. - - - - - Gets the that is used by the Proxy. - - The Proxy object - - A reference to that contains the details - of the Proxied object. - - - - - Convenience method to figure out the underlying type for the object regardless of it - is a Proxied object or the real object. - - 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 - - - - - Validates whether can be specified as the base class - (or an interface) for a dynamically-generated proxy. - - - A collection of errors, if any, or if none were found. - - The type to validate. - - - - 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. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Represents an SQL case when ... then ... end as ... - - This class looks StringHelper.SqlParameter safe... - - - - Represents an SQL case when ... then ... end as ... - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - An ANSI-style Join. - - - - - - - - Sets the op - - The op to set - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Represents an SQL decode(pkvalue, key1, 1, key2, 2, ..., 0) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Represents an SQL for update of ... nowait statement - - - - - Represents an ... in (...) expression - - - - - Add a value to the value list. Value may be a string, - a , or one of special values - or . - - - - - - - - - - - - - - - - - - - - - - - - - - Builds a SqlString from the internal data. - - A valid SqlString that can be converted into an IDbCommand - - - - - - - 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 wierd if this - was a normal join condition, but is natural - for a filter. - - - - - A placeholder for an ADO.NET parameter in an . - - - - - Used as a placeholder when parsing HQL or SQL queries. - - - - - Generates an array of parameters for the given SqlTypes. - - The number of parameters to generate. - An array of objects - - - - Determines wether 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. - - - - - 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 - - - - - 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 - - - - - - - A class that builds an INSERT sql statement. - - - - - - - - - - - - - - - - - - Adds the Property's columns to the INSERT sql - - An array of the column names for the Property - The IType of the property. - The SqlInsertBuilder. - - - - 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. - - - - - - - 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 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 - - - - - - - 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. - - - - Sets the For Update Fragment to the Select Command - - The fragment to set. - 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 SqlStringBuilder 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 occurence 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 occurence 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 - - - - 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 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 SqlUpdateBuilder. - - - - 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 SqlUpdateBuilder. - - - - Adds columns with a specific value to the INSERT sql - - The names of the Column sto add. - A valid sql string to set as the value of the 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. - - - - 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 WhereFragement - - 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 - - - - Initializes a new instance of the class. - - - - - 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. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 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 and the format parameter to true. - - - - - 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 and format 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. - if the ddl should be nicely formatted instead of one statement per line. - - 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. - if the ddl should be nicely formatted instead of one statement per line. - - This method allows for both the drop and create ddl script to be executed. - - - - - Format an SQL statement using simple rules - - The string containing the sql to format. - A string that contains formatted sql. - - The simple rules to used when formatting are: - - - Insert a newline after each comma - - - Indent three spaces after each inserted newline - - - - If the statement contains single/double quotes return unchanged because - it is too complex and could be broken by simple formatting. - - - - - - - - An abstract factory for ITransaction instances. - - - - - Configure from the given properties - - - - - - Create a new transaction and return it without starting it. - - - - - 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. - - - - - 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. - - - - - Implementors define a strategy for transforming criteria query - results into the actual application-visible query result list. - - - - - - - - - - - - - - - - - - - - - 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]; - - - - - - Each row of results is a map () from alias to values/entities - - - - - Creates a resulttransformer that will inject aliased values into instances - of via property methods or fields. - - - - - 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. - - - Author: Steve Ebersole - - - - - 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. - - - - 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. - - - - 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. - - - - 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, compare two instances of the class mapped by this - IType for persistence "equality" - ie. Equality of persistent state. - The left hand side object.The right hand side object.True if the two objects contain the same values. - - - - Get a hashcode, consistent with persistence "equality" - - - - - 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. - - - - Parse the XML representation of an instance - an instance of the type - - - - When implemented by a class, returns a deep copy of the persistent - state, stopping at entities and at collections. - A Collection element or Entity fieldA deep copy of the object. - - - - When implemented by a class, 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 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. - - - - - - - - Determines whether the specified value is represented as in the database. - - The value, may be . - - if the specified value is represented as in the database; - otherwise, . - - - - - 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 - - - - - - - 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 abbreviated name of the type. - The NHibernate type name. - - - - 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 whether or not this IType contains - s that implement well-behaived Equals() method. - true if a well-behaived Equals() is implemented. - - Strickly, if this method returns true then x.Equals(y) implies - IType.Equals(x, y) and also IType.Equals(x, y) implies that - probably x.Equals(y) - - - In the default implementations s are assumed to have - HaveNiceEquals==true and s are assumed to have - HaveNiceEquals==false. - - - This code doesn't look like it is used anywhere internally because I did a search - on ".HasNiceEquals" and found no results. So it looks like it is used for a description - of the IType only. - - - - - - Disassembles the object into a cacheable representation. - - The value to disassemble. - The is not used by this method. - 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 fieldA 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, compare two instances of the class mapped by this - IType for persistence "equality" - ie. Equality of persistent state. - The left hand side object.The right hand side object.True if the two objects contain the same values. - - - - Determines whether the specified value is represented as in the database. - - The value, may be . - - if the specified value is ; otherwise, . - - - - - - - - - - - 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. - - - - Parse the XML representation of an instance - an instance of the type - - - - 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 whether or not this IType contains - s that implement well-behaived Equals() method. - true if a well-behaived Equals() is implemented. - - Strickly, if this method returns true then x.Equals(y) implies - IType.Equals(x, y) and also IType.Equals(x, y) implies that - probably x.Equals(y) - - - In the default implementations s are assumed to have - HaveNiceEquals==true and s are assumed to have - HaveNiceEquals==false. - - - This code doesn't look like it is used anywhere internally because I did a search - on ".HasNiceEquals" and found no results. So it looks like it is used for a description - of the IType only. - - - - - - 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 - - - - - Maps a Property - to a DbType.AnsiStringFixedLength column. - - - - - Common base class for and . - - - - - Superclass of types. - - - - - Superclass of nullable immutable 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 . - - - - - 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 - - - - - Parse the XML representation of an instance - an instance of the type - - - This implementation forwards the call to if the parameter - value is not empty. - - - 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 . - - - - - - 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 implemenation 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 retreiving 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 implemenation 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 implemenation 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. - - - - - When implemented by a class, returns a deep copy of the persistent state. - - The value to deep copy. - A deep copy of the object. - - Most of the built in NullableTypes will just return the same object - passed into it. - - - - - When implemented by a class, returns a deep copy of the persistent - state, stopping at entities and at collections. - A Collection element or Entity fieldA deep copy of the object. - - - This implemenation 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 . - - - - - - 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 ImmutableType class using a - . - - The underlying . - - - - Returns a deep copy of the persistent state. - - The value to deep copy. - A deep copy of the object. - - A is considered immutable because a boxed version - of the is being stored by NHibernate. So any changes - made to it would require the to be unboxed and - then reboxed. - - - - - 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 . - - - - - Gets whether or not this IType contains - s that implement well-behaived Equals() method. - - - true - it is assumed that a ImmutableType implements a - well-behaived Equals(). - - - There is no concrete rule that s implement - a well-behaived Equals(). If the does - not implement the Equals() then set this to . - - - - - 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 containts a well formed SQL Statement. - - - - Initialize a new instance of the ValueTypeType class using a - . - - The underlying . - - - - Compare two instances of the class mapped by this - IType for persistence "equality" - ie. Equality of persistent state. - - The left hand side object. - The right hand side object. - True if the two objects contain the same values. - - - - 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. - - TODO: figure out if this is used to build Xml strings or will have encoding - done automattically. - - - - - 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. - - - - 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. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 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 "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. - - - - Returns a reference to the elements in the collection. - - The object that holds the ICollection. - An ICollection of the Elements(classes) in the Collection. - - By default the parameter collection is just cast to an ICollection. Collections - such as Maps and Sets should override this so that the Elements are returned - not a - DictionaryEntry. - - - - - Wraps a collection from System.Collections or Iesi.Collections inside one of the - NHibernate collections. - - The for the collection to be a part of. - The unwrapped collection. - - 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 - - - - - Instantiate an empty instance of the "underlying" collection (not a wrapper) - - - - - We always need to dirty check the collection because we sometimes - need to incremement 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. - - - - - Superclass for mutable nullable types. - - - - - 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 . - - - - - Gets whether or not this IType contains - s that implement well-behaived Equals() method. - - - false - it is assumed that a MutableType does not implement a - well-behaved Equals(). - - - There is no concrete rule that s don't implement - a well-behaved Equals(). If the does implement - the Equals() then set this to . - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 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. - - - - - 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. - Returns an instance of the - - - - 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. - - - - - Get a comparator for the version numbers - - - - - Maps a Property - to a column. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Maps a Property - to a DbType.StringFixedLength column. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Use the access optimizer if available - - - - - Use the access optimizer if available - - - - - - - - - - - - - - - - - - - - - - - - - - - This method does not populate the component parent - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Summary description for CompositeCustomType. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Maps a Property - to a column. - - - CultureInfoType stores the culture name (not the Culture ID) of the - in the DB. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - A custom type for mapping user-written classes that implement - . - - - - - - - Adapts IUserType to the generic IType interface. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 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 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Maps the Year, Month, and Day of a Property to a - column - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Maps a Property - to a column. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Maps a Property - to a column. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Handles "dynamic" components, represented as <map>s - - - - - A reference to an entity class - - - - - 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. - - - - - Resolves the identifier to the actual object. - - - - - Resolve an identifier or unique key value - - - - - - - - - - - - - - - - - - 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? - - - - - 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 - - - - - - - - Should we cascade at this cascade point? - - - - - A foreign key from child to parent - - - - - A foreign key from parent to child - - - - - 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. - - - - - - 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 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 . - - - - - 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 occuring 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 - - - - - - - - - - - Determines what the NHibernate SqlType should be based on the - values contain in the Enum - - The Enumeration class to get the values from. - The SqlType for this EnumClass - - - - 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. - 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. - - - - 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 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 an DateTime column that only stores the - Hours, Minutes, and Seconds of the DateTime as significant. - - - - 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 diffently 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. - - - - - - - - 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. - - - - - 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. - - An 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. - - A 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. - - 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. - - 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. - - 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. - - 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. - - 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. - - 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. - - A 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. - - The to use to create the - with. - - - A for the specified role. - - - - - Creates a new for an - with identifier - 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. - - The to use to create the - with. - - - A for the specified role. - - - - - Creates a new for an - with list - 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. - - The to use to create the - with. - - - 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. - - The to use as the TKey to create the - with. - - - The to use as the TValue to create the - with. - - - 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. - The type of the set elements. - A for the specified role. - - - - Creates a new for a sorted . - - 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 for the set. - The type of the elements in the set. - A for the specified role. - - - - Deep copy values in the first array into the second - - - - - Determine if any of the given field values are dirty, - returning an array containing indexes of - the dirty fields or null if no fields are dirty. - - - - - Determine if any of the given field values are modified, - returning an array containing indexes of - the dirty fields or null if no fields are 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. - - - - - - - - - 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 inteface to be implemented by user-defined types. - - - - The inteface abstracts user code from future changes to the inteface, - simplifies the implementation of custom types and hides certain "internal interfaces from - user code. - - - Implemenators 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 intefaces 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 - - - - - A custom type with certain not- values represented as - in the database. - - Implementing this interface is useful if a property of the type - is used in a class with dynamic-update or dynamic-insert - set to . - - - - - Determines whether the specified value is represented as in the database. - - The value, may be . - - if the specified value is represented as in the database; - otherwise, . - - - - - 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. - - - - - 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) - - - - - 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. - - - - - 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 - . - - - - - - - - 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. - - - - - Compares two objects for Equality using "==" instead of Object.Equals - - - Only for use in IdentityMap. - - - - - Performs a null safe comparison using "==" instead of Object.Equals() - - First object to compare. - Second object to compare. - - 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. - - - Unlike the standard IComparer interface this will not return a 1 or -1 - to indicate which is Greater Than or Less Than. It always returns -1 to - indicate the two are not Equal. - - - - - Combines multiple objects implementing into one. - - - - - Creates an IEnumerable object from multiple IEnumerables. - - The IEnumerables to join together. - - - - - - - - - - - - - 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 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. - - - - - - - - Summary description for ObjectUtils. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Extracts a set of param child nodes from the specified node - <param name="theName" value="theValue"/> - - Parent element. - null if no parameters are found - - - - 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. - - - - Returns a reference to the Type. - - The name of the class or a fully qualified name. - The Type for the Class. - - - - 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. - - - - 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 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 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 seperators in the tokens. - - - This is more powerful than Split because you have the option of including or - not including the seperators in the tokens. - - - - - - - - - - - - - - - - - - - - Takes a fully qualified type name and returns the full name of the - Class - includes namespaces. - - - - - - - Takes a fully qualifed 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 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Count of elements in the collection. Unreliable! - - - - - 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. - - - - - 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. - - - - - - - - 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. - - - - - Contains static declarations from Criteria interface in Hibernate. - - - - - The alias that refers to the "root" entity of the criteria query. - - - - - Each row of results is an IDictionary 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 - - - - - 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. - - 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 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 - - - - - 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 - - A mapped type - The identifier of the new instance - An instance of the class, or to choose default behaviour - - - - 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 a session-scoped (and only session scoped) interceptor is attached - to a session - - - - - 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") - - - - - 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. - - - - - 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 hibernate.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 - - - - 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 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 - - - - - Attempty 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(). - - - - - 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. - - - - - 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 decimal type - - - - - NHibernate double type - - - - - 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 Timestamp type - - - - - NHibernate TrueFalse type - - - - - NHibernate YesNo type - - - - - NHibernate class type - - - - - NHibernate serializable type - - - - - NHibernate System.Object type - - - - - Cannot be instantiated. - - - - - 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 NHibernate 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. - - - - - 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 of the object attempted to be loaded. - - - - 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. - - - - - 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 - - - - - - - - - - Overwrite existing rows when a row already exists - - - - - - - - - - When a row already exists, choose the latest version - - - - - - - - - - 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 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 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. - - - - - 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 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 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/NHibernate12/net/4.0/log4net.dll b/lib/NHibernate12/net/4.0/log4net.dll deleted file mode 100644 index ffc57e11..00000000 Binary files a/lib/NHibernate12/net/4.0/log4net.dll and /dev/null differ diff --git a/lib/NHibernate12/net/4.0/log4net.xml b/lib/NHibernate12/net/4.0/log4net.xml deleted file mode 100644 index fab7af26..00000000 --- a/lib/NHibernate12/net/4.0/log4net.xml +++ /dev/null @@ -1,28655 +0,0 @@ - - - - log4net - - - - - Appender that logs to a database. - - - - appends logging events to a table within a - database. The appender can be configured to specify the connection - string by setting the property. - The connection type (provider) can be specified by setting the - property. For more information on database connection strings for - your specific database see http://www.connectionstrings.com/. - - - Records are written into the database either using a prepared - statement or a stored procedure. The property - is set to (System.Data.CommandType.Text) to specify a prepared statement - or to (System.Data.CommandType.StoredProcedure) to specify a stored - procedure. - - - The prepared statement text or the name of the stored procedure - must be set in the property. - - - The prepared statement or stored procedure can take a number - of parameters. Parameters are added using the - method. This adds a single to the - ordered list of parameters. The - type may be subclassed if required to provide database specific - functionality. The specifies - the parameter name, database type, size, and how the value should - be generated using a . - - - - An example of a SQL Server table that could be logged to: - - CREATE TABLE [dbo].[Log] ( - [ID] [int] IDENTITY (1, 1) NOT NULL , - [Date] [datetime] NOT NULL , - [Thread] [varchar] (255) NOT NULL , - [Level] [varchar] (20) NOT NULL , - [Logger] [varchar] (255) NOT NULL , - [Message] [varchar] (4000) NOT NULL - ) ON [PRIMARY] - - - - An example configuration to log to the above table: - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Julian Biddle - Nicko Cadell - Gert Driesen - Lance Nehring - - - - Abstract base class implementation of that - buffers events in a fixed size buffer. - - - - This base class should be used by appenders that need to buffer a - number of events before logging them. For example the - buffers events and then submits the entire contents of the buffer to - the underlying database in one go. - - - Subclasses should override the - method to deliver the buffered events. - - The BufferingAppenderSkeleton maintains a fixed size cyclic - buffer of events. The size of the buffer is set using - the property. - - A is used to inspect - each event as it arrives in the appender. If the - triggers, then the current buffer is sent immediately - (see ). Otherwise the event - is stored in the buffer. For example, an evaluator can be used to - deliver the events immediately when an ERROR event arrives. - - - The buffering appender can be configured in a mode. - By default the appender is NOT lossy. When the buffer is full all - the buffered events are sent with . - If the property is set to true then the - buffer will not be sent when it is full, and new events arriving - in the appender will overwrite the oldest event in the buffer. - In lossy mode the buffer will only be sent when the - triggers. This can be useful behavior when you need to know about - ERROR events but not about events with a lower level, configure an - evaluator that will trigger when an ERROR event arrives, the whole - buffer will be sent which gives a history of events leading up to - the ERROR event. - - - Nicko Cadell - Gert Driesen - - - - Abstract base class implementation of . - - - - This class provides the code for common functionality, such - as support for threshold filtering and support for general filters. - - - Appenders can also implement the interface. Therefore - they would require that the method - be called after the appenders properties have been configured. - - - Nicko Cadell - Gert Driesen - - - - Implement this interface for your own strategies for printing log statements. - - - - Implementors should consider extending the - class which provides a default implementation of this interface. - - - Appenders can also implement the interface. Therefore - they would require that the method - be called after the appenders properties have been configured. - - - Nicko Cadell - Gert Driesen - - - - Closes the appender and releases resources. - - - - Releases any resources allocated within the appender such as file handles, - network connections, etc. - - - It is a programming error to append to a closed appender. - - - - - - Log the logging event in Appender specific way. - - The event to log - - - This method is called to log a message into this appender. - - - - - - Gets or sets the name of this appender. - - The name of the appender. - - The name uniquely identifies the appender. - - - - - Interface for appenders that support bulk logging. - - - - This interface extends the interface to - support bulk logging of objects. Appenders - should only implement this interface if they can bulk log efficiently. - - - Nicko Cadell - - - - Log the array of logging events in Appender specific way. - - The events to log - - - This method is called to log an array of events into this appender. - - - - - - Interface used to delay activate a configured object. - - - - This allows an object to defer activation of its options until all - options have been set. This is required for components which have - related options that remain ambiguous until all are set. - - - If a component implements this interface then the method - must be called by the container after its all the configured properties have been set - and before the component can be used. - - - Nicko Cadell - - - - Activate the options that were previously set with calls to properties. - - - - This allows an object to defer activation of its options until all - options have been set. This is required for components which have - related options that remain ambiguous until all are set. - - - If a component implements this interface then this method must be called - after its properties have been set before the component can be used. - - - - - - Initial buffer size - - - - - Maximum buffer size before it is recycled - - - - - Default constructor - - - Empty default constructor - - - - - Finalizes this appender by calling the implementation's - method. - - - - If this appender has not been closed then the Finalize method - will call . - - - - - - Initialize the appender based on the options set - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - - - - Closes the appender and release resources. - - - - Release any resources allocated within the appender such as file handles, - network connections, etc. - - - It is a programming error to append to a closed appender. - - - This method cannot be overridden by subclasses. This method - delegates the closing of the appender to the - method which must be overridden in the subclass. - - - - - - Performs threshold checks and invokes filters before - delegating actual logging to the subclasses specific - method. - - The event to log. - - - This method cannot be overridden by derived classes. A - derived class should override the method - which is called by this method. - - - The implementation of this method is as follows: - - - - - - Checks that the severity of the - is greater than or equal to the of this - appender. - - - - Checks that the chain accepts the - . - - - - - Calls and checks that - it returns true. - - - - - If all of the above steps succeed then the - will be passed to the abstract method. - - - - - - Performs threshold checks and invokes filters before - delegating actual logging to the subclasses specific - method. - - The array of events to log. - - - This method cannot be overridden by derived classes. A - derived class should override the method - which is called by this method. - - - The implementation of this method is as follows: - - - - - - Checks that the severity of the - is greater than or equal to the of this - appender. - - - - Checks that the chain accepts the - . - - - - - Calls and checks that - it returns true. - - - - - If all of the above steps succeed then the - will be passed to the method. - - - - - - Test if the logging event should we output by this appender - - the event to test - true if the event should be output, false if the event should be ignored - - - This method checks the logging event against the threshold level set - on this appender and also against the filters specified on this - appender. - - - The implementation of this method is as follows: - - - - - - Checks that the severity of the - is greater than or equal to the of this - appender. - - - - Checks that the chain accepts the - . - - - - - - - - - Adds a filter to the end of the filter chain. - - the filter to add to this appender - - - The Filters are organized in a linked list. - - - Setting this property causes the new filter to be pushed onto the - back of the filter chain. - - - - - - Clears the filter list for this appender. - - - - Clears the filter list for this appender. - - - - - - Checks if the message level is below this appender's threshold. - - to test against. - - - If there is no threshold set, then the return value is always true. - - - - true if the meets the - requirements of this appender. - - - - - Is called when the appender is closed. Derived classes should override - this method if resources need to be released. - - - - Releases any resources allocated within the appender such as file handles, - network connections, etc. - - - It is a programming error to append to a closed appender. - - - - - - Subclasses of should implement this method - to perform actual logging. - - The event to append. - - - A subclass must implement this method to perform - logging of the . - - This method will be called by - if all the conditions listed for that method are met. - - - To restrict the logging of events in the appender - override the method. - - - - - - Append a bulk array of logging events. - - the array of logging events - - - This base class implementation calls the - method for each element in the bulk array. - - - A sub class that can better process a bulk array of events should - override this method in addition to . - - - - - - Called before as a precondition. - - - - This method is called by - before the call to the abstract method. - - - This method can be overridden in a subclass to extend the checks - made before the event is passed to the method. - - - A subclass should ensure that they delegate this call to - this base class if it is overridden. - - - true if the call to should proceed. - - - - Renders the to a string. - - The event to render. - The event rendered as a string. - - - Helper method to render a to - a string. This appender must have a - set to render the to - a string. - - If there is exception data in the logging event and - the layout does not process the exception, this method - will append the exception text to the rendered string. - - - Where possible use the alternative version of this method - . - That method streams the rendering onto an existing Writer - which can give better performance if the caller already has - a open and ready for writing. - - - - - - Renders the to a string. - - The event to render. - The TextWriter to write the formatted event to - - - Helper method to render a to - a string. This appender must have a - set to render the to - a string. - - If there is exception data in the logging event and - the layout does not process the exception, this method - will append the exception text to the rendered string. - - - Use this method in preference to - where possible. If, however, the caller needs to render the event - to a string then does - provide an efficient mechanism for doing so. - - - - - - The layout of this appender. - - - See for more information. - - - - - The name of this appender. - - - See for more information. - - - - - The level threshold of this appender. - - - - There is no level threshold filtering by default. - - - See for more information. - - - - - - It is assumed and enforced that errorHandler is never null. - - - - It is assumed and enforced that errorHandler is never null. - - - See for more information. - - - - - - The first filter in the filter chain. - - - - Set to null initially. - - - See for more information. - - - - - - The last filter in the filter chain. - - - See for more information. - - - - - Flag indicating if this appender is closed. - - - See for more information. - - - - - The guard prevents an appender from repeatedly calling its own DoAppend method - - - - - StringWriter used to render events - - - - - Gets or sets the threshold of this appender. - - - The threshold of the appender. - - - - All log events with lower level than the threshold level are ignored - by the appender. - - - In configuration files this option is specified by setting the - value of the option to a level - string, such as "DEBUG", "INFO" and so on. - - - - - - Gets or sets the for this appender. - - The of the appender - - - The provides a default - implementation for the property. - - - - - - The filter chain. - - The head of the filter chain filter chain. - - - Returns the head Filter. The Filters are organized in a linked list - and so all Filters on this Appender are available through the result. - - - - - - Gets or sets the for this appender. - - The layout of the appender. - - - See for more information. - - - - - - - Gets or sets the name of this appender. - - The name of the appender. - - - The name uniquely identifies the appender. - - - - - - Tests if this appender requires a to be set. - - - - In the rather exceptional case, where the appender - implementation admits a layout but can also work without it, - then the appender should return true. - - - This default implementation always returns true. - - - - true if the appender requires a layout object, otherwise false. - - - - - The default buffer size. - - - The default size of the cyclic buffer used to store events. - This is set to 512 by default. - - - - - Initializes a new instance of the class. - - - - Protected default constructor to allow subclassing. - - - - - - Initializes a new instance of the class. - - the events passed through this appender must be - fixed by the time that they arrive in the derived class' SendBuffer method. - - - Protected constructor to allow subclassing. - - - The should be set if the subclass - expects the events delivered to be fixed even if the - is set to zero, i.e. when no buffering occurs. - - - - - - Flush the currently buffered events - - - - Flushes any events that have been buffered. - - - If the appender is buffering in mode then the contents - of the buffer will NOT be flushed to the appender. - - - - - - Flush the currently buffered events - - set to true to flush the buffer of lossy events - - - Flushes events that have been buffered. If is - false then events will only be flushed if this buffer is non-lossy mode. - - - If the appender is buffering in mode then the contents - of the buffer will only be flushed if is true. - In this case the contents of the buffer will be tested against the - and if triggering will be output. All other buffered - events will be discarded. - - - If is true then the buffer will always - be emptied by calling this method. - - - - - - Initialize the appender based on the options set - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - - - - Close this appender instance. - - - - Close this appender instance. If this appender is marked - as not then the remaining events in - the buffer must be sent when the appender is closed. - - - - - - This method is called by the method. - - the event to log - - - Stores the in the cyclic buffer. - - - The buffer will be sent (i.e. passed to the - method) if one of the following conditions is met: - - - - The cyclic buffer is full and this appender is - marked as not lossy (see ) - - - An is set and - it is triggered for the - specified. - - - - Before the event is stored in the buffer it is fixed - (see ) to ensure that - any data referenced by the event will be valid when the buffer - is processed. - - - - - - Sends the contents of the buffer. - - The first logging event. - The buffer containing the events that need to be send. - - - The subclass must override . - - - - - - Sends the events. - - The events that need to be send. - - - The subclass must override this method to process the buffered events. - - - - - - The size of the cyclic buffer used to hold the logging events. - - - Set to by default. - - - - - The cyclic buffer used to store the logging events. - - - - - The triggering event evaluator that causes the buffer to be sent immediately. - - - The object that is used to determine if an event causes the entire - buffer to be sent immediately. This field can be null, which - indicates that event triggering is not to be done. The evaluator - can be set using the property. If this appender - has the ( property) set to - true then an must be set. - - - - - Indicates if the appender should overwrite events in the cyclic buffer - when it becomes full, or if the buffer should be flushed when the - buffer is full. - - - If this field is set to true then an must - be set. - - - - - The triggering event evaluator filters discarded events. - - - The object that is used to determine if an event that is discarded should - really be discarded or if it should be sent to the appenders. - This field can be null, which indicates that all discarded events will - be discarded. - - - - - Value indicating which fields in the event should be fixed - - - By default all fields are fixed - - - - - The events delivered to the subclass must be fixed. - - - - - Gets or sets a value that indicates whether the appender is lossy. - - - true if the appender is lossy, otherwise false. The default is false. - - - - This appender uses a buffer to store logging events before - delivering them. A triggering event causes the whole buffer - to be send to the remote sink. If the buffer overruns before - a triggering event then logging events could be lost. Set - to false to prevent logging events - from being lost. - - If is set to true then an - must be specified. - - - - - Gets or sets the size of the cyclic buffer used to hold the - logging events. - - - The size of the cyclic buffer used to hold the logging events. - - - - The option takes a positive integer - representing the maximum number of logging events to collect in - a cyclic buffer. When the is reached, - oldest events are deleted as new events are added to the - buffer. By default the size of the cyclic buffer is 512 events. - - - If the is set to a value less than - or equal to 1 then no buffering will occur. The logging event - will be delivered synchronously (depending on the - and properties). Otherwise the event will - be buffered. - - - - - - Gets or sets the that causes the - buffer to be sent immediately. - - - The that causes the buffer to be - sent immediately. - - - - The evaluator will be called for each event that is appended to this - appender. If the evaluator triggers then the current buffer will - immediately be sent (see ). - - If is set to true then an - must be specified. - - - - - Gets or sets the value of the to use. - - - The value of the to use. - - - - The evaluator will be called for each event that is discarded from this - appender. If the evaluator triggers then the current buffer will immediately - be sent (see ). - - - - - - Gets or sets a value indicating if only part of the logging event data - should be fixed. - - - true if the appender should only fix part of the logging event - data, otherwise false. The default is false. - - - - Setting this property to true will cause only part of the - event data to be fixed and serialized. This will improve performance. - - - See for more information. - - - - - - Gets or sets a the fields that will be fixed in the event - - - The event fields that will be fixed before the event is buffered - - - - The logging event needs to have certain thread specific values - captured before it can be buffered. See - for details. - - - - - - - Initializes a new instance of the class. - - - Public default constructor to initialize a new instance of this class. - - - - - Initialize the appender based on the options set - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - - - - Override the parent method to close the database - - - - Closes the database command and database connection. - - - - - - Inserts the events into the database. - - The events to insert into the database. - - - Insert all the events specified in the - array into the database. - - - - - - Adds a parameter to the command. - - The parameter to add to the command. - - - Adds a parameter to the ordered list of command parameters. - - - - - - Writes the events to the database using the transaction specified. - - The transaction that the events will be executed under. - The array of events to insert into the database. - - - The transaction argument can be null if the appender has been - configured not to use transactions. See - property for more information. - - - - - - Formats the log message into database statement text. - - The event being logged. - - This method can be overridden by subclasses to provide - more control over the format of the database statement. - - - Text that can be passed to a . - - - - - Connects to the database. - - - - - Retrieves the class type of the ADO.NET provider. - - - - Gets the Type of the ADO.NET provider to use to connect to the - database. This method resolves the type specified in the - property. - - - Subclasses can override this method to return a different type - if necessary. - - - The of the ADO.NET provider - - - - Prepares the database command and initialize the parameters. - - - - - Flag to indicate if we are using a command object - - - - Set to true when the appender is to use a prepared - statement or stored procedure to insert into the database. - - - - - - The list of objects. - - - - The list of objects. - - - - - - The security context to use for privileged calls - - - - - The that will be used - to insert logging events into a database. - - - - - The database command. - - - - - Database connection string. - - - - - String type name of the type name. - - - - - The text of the command. - - - - - The command type. - - - - - Indicates whether to use transactions when writing to the database. - - - - - Indicates whether to use transactions when writing to the database. - - - - - Gets or sets the database connection string that is used to connect to - the database. - - - The database connection string used to connect to the database. - - - - The connections string is specific to the connection type. - See for more information. - - - Connection string for MS Access via ODBC: - "DSN=MS Access Database;UID=admin;PWD=;SystemDB=C:\data\System.mdw;SafeTransactions = 0;FIL=MS Access;DriverID = 25;DBQ=C:\data\train33.mdb" - - Another connection string for MS Access via ODBC: - "Driver={Microsoft Access Driver (*.mdb)};DBQ=C:\Work\cvs_root\log4net-1.2\access.mdb;UID=;PWD=;" - - Connection string for MS Access via OLE DB: - "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Work\cvs_root\log4net-1.2\access.mdb;User Id=;Password=;" - - - - - Gets or sets the type name of the connection - that should be created. - - - The type name of the connection. - - - - The type name of the ADO.NET provider to use. - - - The default is to use the OLE DB provider. - - - Use the OLE DB Provider. This is the default value. - System.Data.OleDb.OleDbConnection, System.Data, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - Use the MS SQL Server Provider. - System.Data.SqlClient.SqlConnection, System.Data, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - Use the ODBC Provider. - Microsoft.Data.Odbc.OdbcConnection,Microsoft.Data.Odbc,version=1.0.3300.0,publicKeyToken=b77a5c561934e089,culture=neutral - This is an optional package that you can download from - http://msdn.microsoft.com/downloads - search for ODBC .NET Data Provider. - - Use the Oracle Provider. - System.Data.OracleClient.OracleConnection, System.Data.OracleClient, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - This is an optional package that you can download from - http://msdn.microsoft.com/downloads - search for .NET Managed Provider for Oracle. - - - - - Gets or sets the command text that is used to insert logging events - into the database. - - - The command text used to insert logging events into the database. - - - - Either the text of the prepared statement or the - name of the stored procedure to execute to write into - the database. - - - The property determines if - this text is a prepared statement or a stored procedure. - - - - - - Gets or sets the command type to execute. - - - The command type to execute. - - - - This value may be either (System.Data.CommandType.Text) to specify - that the is a prepared statement to execute, - or (System.Data.CommandType.StoredProcedure) to specify that the - property is the name of a stored procedure - to execute. - - - The default value is (System.Data.CommandType.Text). - - - - - - Should transactions be used to insert logging events in the database. - - - true if transactions should be used to insert logging events in - the database, otherwise false. The default value is true. - - - - Gets or sets a value that indicates whether transactions should be used - to insert logging events in the database. - - - When set a single transaction will be used to insert the buffered events - into the database. Otherwise each event will be inserted without using - an explicit transaction. - - - - - - Gets or sets the used to call the NetSend method. - - - The used to call the NetSend method. - - - - Unless a specified here for this appender - the is queried for the - security context to use. The default behavior is to use the security context - of the current thread. - - - - - - Should this appender try to reconnect to the database on error. - - - true if the appender should try to reconnect to the database after an - error has occurred, otherwise false. The default value is false, - i.e. not to try to reconnect. - - - - The default behaviour is for the appender not to try to reconnect to the - database if an error occurs. Subsequent logging events are discarded. - - - To force the appender to attempt to reconnect to the database set this - property to true. - - - When the appender attempts to connect to the database there may be a - delay of up to the connection timeout specified in the connection string. - This delay will block the calling application's thread. - Until the connection can be reestablished this potential delay may occur multiple times. - - - - - - Gets or sets the underlying . - - - The underlying . - - - creates a to insert - logging events into a database. Classes deriving from - can use this property to get or set this . Use the - underlying returned from if - you require access beyond that which provides. - - - - - Parameter type used by the . - - - - This class provides the basic database parameter properties - as defined by the interface. - - This type can be subclassed to provide database specific - functionality. The two methods that are called externally are - and . - - - - - - Initializes a new instance of the class. - - - Default constructor for the AdoNetAppenderParameter class. - - - - - Prepare the specified database command object. - - The command to prepare. - - - Prepares the database command object by adding - this parameter to its collection of parameters. - - - - - - Renders the logging event and set the parameter value in the command. - - The command containing the parameter. - The event to be rendered. - - - Renders the logging event using this parameters layout - object. Sets the value of the parameter on the command object. - - - - - - The name of this parameter. - - - - - The database type for this parameter. - - - - - Flag to infer type rather than use the DbType - - - - - The precision for this parameter. - - - - - The scale for this parameter. - - - - - The size for this parameter. - - - - - The to use to render the - logging event into an object for this parameter. - - - - - Gets or sets the name of this parameter. - - - The name of this parameter. - - - - The name of this parameter. The parameter name - must match up to a named parameter to the SQL stored procedure - or prepared statement. - - - - - - Gets or sets the database type for this parameter. - - - The database type for this parameter. - - - - The database type for this parameter. This property should - be set to the database type from the - enumeration. See . - - - This property is optional. If not specified the ADO.NET provider - will attempt to infer the type from the value. - - - - - - - Gets or sets the precision for this parameter. - - - The precision for this parameter. - - - - The maximum number of digits used to represent the Value. - - - This property is optional. If not specified the ADO.NET provider - will attempt to infer the precision from the value. - - - - - - - Gets or sets the scale for this parameter. - - - The scale for this parameter. - - - - The number of decimal places to which Value is resolved. - - - This property is optional. If not specified the ADO.NET provider - will attempt to infer the scale from the value. - - - - - - - Gets or sets the size for this parameter. - - - The size for this parameter. - - - - The maximum size, in bytes, of the data within the column. - - - This property is optional. If not specified the ADO.NET provider - will attempt to infer the size from the value. - - - - - - - Gets or sets the to use to - render the logging event into an object for this - parameter. - - - The used to render the - logging event into an object for this parameter. - - - - The that renders the value for this - parameter. - - - The can be used to adapt - any into a - for use in the property. - - - - - - Appends logging events to the terminal using ANSI color escape sequences. - - - - AnsiColorTerminalAppender appends log events to the standard output stream - or the error output stream using a layout specified by the - user. It also allows the color of a specific level of message to be set. - - - This appender expects the terminal to understand the VT100 control set - in order to interpret the color codes. If the terminal or console does not - understand the control codes the behavior is not defined. - - - By default, all output is written to the console's standard output stream. - The property can be set to direct the output to the - error stream. - - - NOTE: This appender writes each message to the System.Console.Out or - System.Console.Error that is set at the time the event is appended. - Therefore it is possible to programmatically redirect the output of this appender - (for example NUnit does this to capture program output). While this is the desired - behavior of this appender it may have security implications in your application. - - - When configuring the ANSI colored terminal appender, a mapping should be - specified to map a logging level to a color. For example: - - - - - - - - - - - - - - - The Level is the standard log4net logging level and ForeColor and BackColor can be any - of the following values: - - Blue - Green - Red - White - Yellow - Purple - Cyan - - These color values cannot be combined together to make new colors. - - - The attributes can be any combination of the following: - - Brightforeground is brighter - Dimforeground is dimmer - Underscoremessage is underlined - Blinkforeground is blinking (does not work on all terminals) - Reverseforeground and background are reversed - Hiddenoutput is hidden - Strikethroughmessage has a line through it - - While any of these attributes may be combined together not all combinations - work well together, for example setting both Bright and Dim attributes makes - no sense. - - - Patrick Wagstrom - Nicko Cadell - - - - The to use when writing to the Console - standard output stream. - - - - The to use when writing to the Console - standard output stream. - - - - - - The to use when writing to the Console - standard error output stream. - - - - The to use when writing to the Console - standard error output stream. - - - - - - Ansi code to reset terminal - - - - - Initializes a new instance of the class. - - - The instance of the class is set up to write - to the standard output stream. - - - - - Add a mapping of level to color - - The mapping to add - - - Add a mapping to this appender. - Each mapping defines the foreground and background colours - for a level. - - - - - - This method is called by the method. - - The event to log. - - - Writes the event to the console. - - - The format of the output will depend on the appender's layout. - - - - - - Initialize the options for this appender - - - - Initialize the level to color mappings set on this appender. - - - - - - Flag to write output to the error stream rather than the standard output stream - - - - - Mapping from level object to color value - - - - - Target is the value of the console output stream. - - - Target is the value of the console output stream. - This is either "Console.Out" or "Console.Error". - - - - Target is the value of the console output stream. - This is either "Console.Out" or "Console.Error". - - - - - - This appender requires a to be set. - - true - - - This appender requires a to be set. - - - - - - The enum of possible display attributes - - - - The following flags can be combined together to - form the ANSI color attributes. - - - - - - - text is bright - - - - - text is dim - - - - - text is underlined - - - - - text is blinking - - - Not all terminals support this attribute - - - - - text and background colors are reversed - - - - - text is hidden - - - - - text is displayed with a strikethrough - - - - - The enum of possible foreground or background color values for - use with the color mapping method - - - - The output can be in one for the following ANSI colors. - - - - - - - color is black - - - - - color is red - - - - - color is green - - - - - color is yellow - - - - - color is blue - - - - - color is magenta - - - - - color is cyan - - - - - color is white - - - - - A class to act as a mapping between the level that a logging call is made at and - the color it should be displayed as. - - - - Defines the mapping between a level and the color it should be displayed in. - - - - - - An entry in the - - - - This is an abstract base class for types that are stored in the - object. - - - Nicko Cadell - - - - Default protected constructor - - - - Default protected constructor - - - - - - Initialize any options defined on this entry - - - - Should be overridden by any classes that need to initialise based on their options - - - - - - The level that is the key for this mapping - - - The that is the key for this mapping - - - - Get or set the that is the key for this - mapping subclass. - - - - - - Initialize the options for the object - - - - Combine the and together - and append the attributes. - - - - - - The mapped foreground color for the specified level - - - - Required property. - The mapped foreground color for the specified level - - - - - - The mapped background color for the specified level - - - - Required property. - The mapped background color for the specified level - - - - - - The color attributes for the specified level - - - - Required property. - The color attributes for the specified level - - - - - - The combined , and - suitable for setting the ansi terminal color. - - - - - A strongly-typed collection of objects. - - Nicko Cadell - - - - Creates a read-only wrapper for a AppenderCollection instance. - - list to create a readonly wrapper arround - - An AppenderCollection wrapper that is read-only. - - - - - An empty readonly static AppenderCollection - - - - - Initializes a new instance of the AppenderCollection class - that is empty and has the default initial capacity. - - - - - Initializes a new instance of the AppenderCollection class - that has the specified initial capacity. - - - The number of elements that the new AppenderCollection is initially capable of storing. - - - - - Initializes a new instance of the AppenderCollection class - that contains elements copied from the specified AppenderCollection. - - The AppenderCollection whose elements are copied to the new collection. - - - - Initializes a new instance of the AppenderCollection class - that contains elements copied from the specified array. - - The array whose elements are copied to the new list. - - - - Initializes a new instance of the AppenderCollection class - that contains elements copied from the specified collection. - - The collection whose elements are copied to the new list. - - - - Allow subclasses to avoid our default constructors - - - - - - - Copies the entire AppenderCollection to a one-dimensional - array. - - The one-dimensional array to copy to. - - - - Copies the entire AppenderCollection to a one-dimensional - array, starting at the specified index of the target array. - - The one-dimensional array to copy to. - The zero-based index in at which copying begins. - - - - Adds a to the end of the AppenderCollection. - - The to be added to the end of the AppenderCollection. - The index at which the value has been added. - - - - Removes all elements from the AppenderCollection. - - - - - Creates a shallow copy of the . - - A new with a shallow copy of the collection data. - - - - Determines whether a given is in the AppenderCollection. - - The to check for. - true if is found in the AppenderCollection; otherwise, false. - - - - Returns the zero-based index of the first occurrence of a - in the AppenderCollection. - - The to locate in the AppenderCollection. - - The zero-based index of the first occurrence of - in the entire AppenderCollection, if found; otherwise, -1. - - - - - Inserts an element into the AppenderCollection at the specified index. - - The zero-based index at which should be inserted. - The to insert. - - is less than zero - -or- - is equal to or greater than . - - - - - Removes the first occurrence of a specific from the AppenderCollection. - - The to remove from the AppenderCollection. - - The specified was not found in the AppenderCollection. - - - - - Removes the element at the specified index of the AppenderCollection. - - The zero-based index of the element to remove. - - is less than zero - -or- - is equal to or greater than . - - - - - Returns an enumerator that can iterate through the AppenderCollection. - - An for the entire AppenderCollection. - - - - Adds the elements of another AppenderCollection to the current AppenderCollection. - - The AppenderCollection whose elements should be added to the end of the current AppenderCollection. - The new of the AppenderCollection. - - - - Adds the elements of a array to the current AppenderCollection. - - The array whose elements should be added to the end of the AppenderCollection. - The new of the AppenderCollection. - - - - Adds the elements of a collection to the current AppenderCollection. - - The collection whose elements should be added to the end of the AppenderCollection. - The new of the AppenderCollection. - - - - Sets the capacity to the actual number of elements. - - - - - Return the collection elements as an array - - the array - - - - is less than zero - -or- - is equal to or greater than . - - - - - is less than zero - -or- - is equal to or greater than . - - - - - Gets the number of elements actually contained in the AppenderCollection. - - - - - Gets a value indicating whether access to the collection is synchronized (thread-safe). - - true if access to the ICollection is synchronized (thread-safe); otherwise, false. - - - - Gets an object that can be used to synchronize access to the collection. - - - - - Gets or sets the at the specified index. - - The zero-based index of the element to get or set. - - is less than zero - -or- - is equal to or greater than . - - - - - Gets a value indicating whether the collection has a fixed size. - - true if the collection has a fixed size; otherwise, false. The default is false - - - - Gets a value indicating whether the IList is read-only. - - true if the collection is read-only; otherwise, false. The default is false - - - - Gets or sets the number of elements the AppenderCollection can contain. - - - - - Supports type-safe iteration over a . - - - - - - Advances the enumerator to the next element in the collection. - - - true if the enumerator was successfully advanced to the next element; - false if the enumerator has passed the end of the collection. - - - The collection was modified after the enumerator was created. - - - - - Sets the enumerator to its initial position, before the first element in the collection. - - - - - Gets the current element in the collection. - - - - - Type visible only to our subclasses - Used to access protected constructor - - - - - - A value - - - - - Supports simple iteration over a . - - - - - - Initializes a new instance of the Enumerator class. - - - - - - Advances the enumerator to the next element in the collection. - - - true if the enumerator was successfully advanced to the next element; - false if the enumerator has passed the end of the collection. - - - The collection was modified after the enumerator was created. - - - - - Sets the enumerator to its initial position, before the first element in the collection. - - - - - Gets the current element in the collection. - - - - - - - - - Appends log events to the ASP.NET system. - - - - - Diagnostic information and tracing messages that you specify are appended to the output - of the page that is sent to the requesting browser. Optionally, you can view this information - from a separate trace viewer (Trace.axd) that displays trace information for every page in a - given application. - - - Trace statements are processed and displayed only when tracing is enabled. You can control - whether tracing is displayed to a page, to the trace viewer, or both. - - - The logging event is passed to the or - method depending on the level of the logging event. - - - Nicko Cadell - Gert Driesen - - - - Initializes a new instance of the class. - - - - Default constructor. - - - - - - Write the logging event to the ASP.NET trace - - the event to log - - - Write the logging event to the ASP.NET trace - HttpContext.Current.Trace - (). - - - - - - This appender requires a to be set. - - true - - - This appender requires a to be set. - - - - - - Buffers events and then forwards them to attached appenders. - - - - The events are buffered in this appender until conditions are - met to allow the appender to deliver the events to the attached - appenders. See for the - conditions that cause the buffer to be sent. - - The forwarding appender can be used to specify different - thresholds and filters for the same appender at different locations - within the hierarchy. - - - Nicko Cadell - Gert Driesen - - - - Interface for attaching appenders to objects. - - - - Interface for attaching, removing and retrieving appenders. - - - Nicko Cadell - Gert Driesen - - - - Attaches an appender. - - The appender to add. - - - Add the specified appender. The implementation may - choose to allow or deny duplicate appenders. - - - - - - Gets an attached appender with the specified name. - - The name of the appender to get. - - The appender with the name specified, or null if no appender with the - specified name is found. - - - - Returns an attached appender with the specified. - If no appender with the specified name is found null will be - returned. - - - - - - Removes all attached appenders. - - - - Removes and closes all attached appenders - - - - - - Removes the specified appender from the list of attached appenders. - - The appender to remove. - The appender removed from the list - - - The appender removed is not closed. - If you are discarding the appender you must call - on the appender removed. - - - - - - Removes the appender with the specified name from the list of appenders. - - The name of the appender to remove. - The appender removed from the list - - - The appender removed is not closed. - If you are discarding the appender you must call - on the appender removed. - - - - - - Gets all attached appenders. - - - A collection of attached appenders. - - - - Gets a collection of attached appenders. - If there are no attached appenders the - implementation should return an empty - collection rather than null. - - - - - - Initializes a new instance of the class. - - - - Default constructor. - - - - - - Closes the appender and releases resources. - - - - Releases any resources allocated within the appender such as file handles, - network connections, etc. - - - It is a programming error to append to a closed appender. - - - - - - Send the events. - - The events that need to be send. - - - Forwards the events to the attached appenders. - - - - - - Adds an to the list of appenders of this - instance. - - The to add to this appender. - - - If the specified is already in the list of - appenders, then it won't be added again. - - - - - - Looks for the appender with the specified name. - - The name of the appender to lookup. - - The appender with the specified name, or null. - - - - Get the named appender attached to this buffering appender. - - - - - - Removes all previously added appenders from this appender. - - - - This is useful when re-reading configuration information. - - - - - - Removes the specified appender from the list of appenders. - - The appender to remove. - The appender removed from the list - - The appender removed is not closed. - If you are discarding the appender you must call - on the appender removed. - - - - - Removes the appender with the specified name from the list of appenders. - - The name of the appender to remove. - The appender removed from the list - - The appender removed is not closed. - If you are discarding the appender you must call - on the appender removed. - - - - - Implementation of the interface - - - - - Gets the appenders contained in this appender as an - . - - - If no appenders can be found, then an - is returned. - - - A collection of the appenders in this appender. - - - - - Appends logging events to the console. - - - - ColoredConsoleAppender appends log events to the standard output stream - or the error output stream using a layout specified by the - user. It also allows the color of a specific type of message to be set. - - - By default, all output is written to the console's standard output stream. - The property can be set to direct the output to the - error stream. - - - NOTE: This appender writes directly to the application's attached console - not to the System.Console.Out or System.Console.Error TextWriter. - The System.Console.Out and System.Console.Error streams can be - programmatically redirected (for example NUnit does this to capture program output). - This appender will ignore these redirections because it needs to use Win32 - API calls to colorize the output. To respect these redirections the - must be used. - - - When configuring the colored console appender, mapping should be - specified to map a logging level to a color. For example: - - - - - - - - - - - - - - The Level is the standard log4net logging level and ForeColor and BackColor can be any - combination of the following values: - - Blue - Green - Red - White - Yellow - Purple - Cyan - HighIntensity - - - - Rick Hobbs - Nicko Cadell - - - - The to use when writing to the Console - standard output stream. - - - - The to use when writing to the Console - standard output stream. - - - - - - The to use when writing to the Console - standard error output stream. - - - - The to use when writing to the Console - standard error output stream. - - - - - - Initializes a new instance of the class. - - - The instance of the class is set up to write - to the standard output stream. - - - - - Initializes a new instance of the class - with the specified layout. - - the layout to use for this appender - - The instance of the class is set up to write - to the standard output stream. - - - - - Initializes a new instance of the class - with the specified layout. - - the layout to use for this appender - flag set to true to write to the console error stream - - When is set to true, output is written to - the standard error output stream. Otherwise, output is written to the standard - output stream. - - - - - Add a mapping of level to color - done by the config file - - The mapping to add - - - Add a mapping to this appender. - Each mapping defines the foreground and background colors - for a level. - - - - - - This method is called by the method. - - The event to log. - - - Writes the event to the console. - - - The format of the output will depend on the appender's layout. - - - - - - Initialize the options for this appender - - - - Initialize the level to color mappings set on this appender. - - - - - - Flag to write output to the error stream rather than the standard output stream - - - - - Mapping from level object to color value - - - - - The console output stream writer to write to - - - - This writer is not thread safe. - - - - - - Target is the value of the console output stream. - This is either "Console.Out" or "Console.Error". - - - Target is the value of the console output stream. - This is either "Console.Out" or "Console.Error". - - - - Target is the value of the console output stream. - This is either "Console.Out" or "Console.Error". - - - - - - This appender requires a to be set. - - true - - - This appender requires a to be set. - - - - - - The enum of possible color values for use with the color mapping method - - - - The following flags can be combined together to - form the colors. - - - - - - - color is blue - - - - - color is green - - - - - color is red - - - - - color is white - - - - - color is yellow - - - - - color is purple - - - - - color is cyan - - - - - color is intensified - - - - - A class to act as a mapping between the level that a logging call is made at and - the color it should be displayed as. - - - - Defines the mapping between a level and the color it should be displayed in. - - - - - - Initialize the options for the object - - - - Combine the and together. - - - - - - The mapped foreground color for the specified level - - - - Required property. - The mapped foreground color for the specified level. - - - - - - The mapped background color for the specified level - - - - Required property. - The mapped background color for the specified level. - - - - - - The combined and suitable for - setting the console color. - - - - - Appends logging events to the console. - - - - ConsoleAppender appends log events to the standard output stream - or the error output stream using a layout specified by the - user. - - - By default, all output is written to the console's standard output stream. - The property can be set to direct the output to the - error stream. - - - NOTE: This appender writes each message to the System.Console.Out or - System.Console.Error that is set at the time the event is appended. - Therefore it is possible to programmatically redirect the output of this appender - (for example NUnit does this to capture program output). While this is the desired - behavior of this appender it may have security implications in your application. - - - Nicko Cadell - Gert Driesen - - - - The to use when writing to the Console - standard output stream. - - - - The to use when writing to the Console - standard output stream. - - - - - - The to use when writing to the Console - standard error output stream. - - - - The to use when writing to the Console - standard error output stream. - - - - - - Initializes a new instance of the class. - - - The instance of the class is set up to write - to the standard output stream. - - - - - Initializes a new instance of the class - with the specified layout. - - the layout to use for this appender - - The instance of the class is set up to write - to the standard output stream. - - - - - Initializes a new instance of the class - with the specified layout. - - the layout to use for this appender - flag set to true to write to the console error stream - - When is set to true, output is written to - the standard error output stream. Otherwise, output is written to the standard - output stream. - - - - - This method is called by the method. - - The event to log. - - - Writes the event to the console. - - - The format of the output will depend on the appender's layout. - - - - - - Target is the value of the console output stream. - This is either "Console.Out" or "Console.Error". - - - Target is the value of the console output stream. - This is either "Console.Out" or "Console.Error". - - - - Target is the value of the console output stream. - This is either "Console.Out" or "Console.Error". - - - - - - This appender requires a to be set. - - true - - - This appender requires a to be set. - - - - - - Appends log events to the system. - - - - The application configuration file can be used to control what listeners - are actually used. See the MSDN documentation for the - class for details on configuring the - debug system. - - - Events are written using the - method. The event's logger name is passed as the value for the category name to the Write method. - - - Nicko Cadell - - - - Initializes a new instance of the . - - - - Default constructor. - - - - - - Initializes a new instance of the - with a specified layout. - - The layout to use with this appender. - - - Obsolete constructor. - - - - - - Writes the logging event to the system. - - The event to log. - - - Writes the logging event to the system. - If is true then the - is called. - - - - - - Immediate flush means that the underlying writer or output stream - will be flushed at the end of each append operation. - - - - Immediate flush is slower but ensures that each append request is - actually written. If is set to - false, then there is a good chance that the last few - logs events are not actually written to persistent media if and - when the application crashes. - - - The default value is true. - - - - - Gets or sets a value that indicates whether the appender will - flush at the end of each write. - - - The default behavior is to flush at the end of each - write. If the option is set tofalse, then the underlying - stream can defer writing to physical medium to a later time. - - - Avoiding the flush operation at the end of each append results - in a performance gain of 10 to 20 percent. However, there is safety - trade-off involved in skipping flushing. Indeed, when flushing is - skipped, then it is likely that the last few log events will not - be recorded on disk when the application exits. This is a high - price to pay even for a 20% performance gain. - - - - - - This appender requires a to be set. - - true - - - This appender requires a to be set. - - - - - - Writes events to the system event log. - - - - The EventID of the event log entry can be - set using the EventLogEventID property () - on the . - - - There is a limit of 32K characters for an event log message - - - When configuring the EventLogAppender a mapping can be - specified to map a logging level to an event log entry type. For example: - - - <mapping> - <level value="ERROR" /> - <eventLogEntryType value="Error" /> - </mapping> - <mapping> - <level value="DEBUG" /> - <eventLogEntryType value="Information" /> - </mapping> - - - The Level is the standard log4net logging level and eventLogEntryType can be any value - from the enum, i.e.: - - Erroran error event - Warninga warning event - Informationan informational event - - - - Aspi Havewala - Douglas de la Torre - Nicko Cadell - Gert Driesen - Thomas Voss - - - - Initializes a new instance of the class. - - - - Default constructor. - - - - - - Initializes a new instance of the class - with the specified . - - The to use with this appender. - - - Obsolete constructor. - - - - - - Add a mapping of level to - done by the config file - - The mapping to add - - - Add a mapping to this appender. - Each mapping defines the event log entry type for a level. - - - - - - Initialize the appender based on the options set - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - - - - Create an event log source - - - Uses different API calls under NET_2_0 - - - - - This method is called by the - method. - - the event to log - - Writes the event to the system event log using the - . - - If the event has an EventID property (see ) - set then this integer will be used as the event log event id. - - - There is a limit of 32K characters for an event log message - - - - - - Get the equivalent for a - - the Level to convert to an EventLogEntryType - The equivalent for a - - Because there are fewer applicable - values to use in logging levels than there are in the - this is a one way mapping. There is - a loss of information during the conversion. - - - - - The log name is the section in the event logs where the messages - are stored. - - - - - Name of the application to use when logging. This appears in the - application column of the event log named by . - - - - - The name of the machine which holds the event log. This is - currently only allowed to be '.' i.e. the current machine. - - - - - Mapping from level object to EventLogEntryType - - - - - The security context to use for privileged calls - - - - - The name of the log where messages will be stored. - - - The string name of the log where messages will be stored. - - - This is the name of the log as it appears in the Event Viewer - tree. The default value is to log into the Application - log, this is where most applications write their events. However - if you need a separate log for your application (or applications) - then you should set the appropriately. - This should not be used to distinguish your event log messages - from those of other applications, the - property should be used to distinguish events. This property should be - used to group together events into a single log. - - - - - - Property used to set the Application name. This appears in the - event logs when logging. - - - The string used to distinguish events from different sources. - - - Sets the event log source property. - - - - - This property is used to return the name of the computer to use - when accessing the event logs. Currently, this is the current - computer, denoted by a dot "." - - - The string name of the machine holding the event log that - will be logged into. - - - This property cannot be changed. It is currently set to '.' - i.e. the local machine. This may be changed in future. - - - - - Gets or sets the used to write to the EventLog. - - - The used to write to the EventLog. - - - - The system security context used to write to the EventLog. - - - Unless a specified here for this appender - the is queried for the - security context to use. The default behavior is to use the security context - of the current thread. - - - - - - This appender requires a to be set. - - true - - - This appender requires a to be set. - - - - - - A class to act as a mapping between the level that a logging call is made at and - the color it should be displayed as. - - - - Defines the mapping between a level and its event log entry type. - - - - - - The for this entry - - - - Required property. - The for this entry - - - - - - Appends logging events to a file. - - - - Logging events are sent to the file specified by - the property. - - - The file can be opened in either append or overwrite mode - by specifying the property. - If the file path is relative it is taken as relative from - the application base directory. The file encoding can be - specified by setting the property. - - - The layout's and - values will be written each time the file is opened and closed - respectively. If the property is - then the file may contain multiple copies of the header and footer. - - - This appender will first try to open the file for writing when - is called. This will typically be during configuration. - If the file cannot be opened for writing the appender will attempt - to open the file again each time a message is logged to the appender. - If the file cannot be opened for writing when a message is logged then - the message will be discarded by this appender. - - - The supports pluggable file locking models via - the property. - The default behavior, implemented by - is to obtain an exclusive write lock on the file until this appender is closed. - The alternative model, , only holds a - write lock while the appender is writing a logging event. - - - Nicko Cadell - Gert Driesen - Rodrigo B. de Oliveira - Douglas de la Torre - Niall Daley - - - - Sends logging events to a . - - - - An Appender that writes to a . - - - This appender may be used stand alone if initialized with an appropriate - writer, however it is typically used as a base class for an appender that - can open a to write to. - - - Nicko Cadell - Gert Driesen - Douglas de la Torre - - - - Initializes a new instance of the class. - - - - Default constructor. - - - - - - Initializes a new instance of the class and - sets the output destination to a new initialized - with the specified . - - The layout to use with this appender. - The to output to. - - - Obsolete constructor. - - - - - - Initializes a new instance of the class and sets - the output destination to the specified . - - The layout to use with this appender - The to output to - - The must have been previously opened. - - - - Obsolete constructor. - - - - - - This method determines if there is a sense in attempting to append. - - - - This method checked if an output target has been set and if a - layout has been set. - - - false if any of the preconditions fail. - - - - This method is called by the - method. - - The event to log. - - - Writes a log statement to the output stream if the output stream exists - and is writable. - - - The format of the output will depend on the appender's layout. - - - - - - This method is called by the - method. - - The array of events to log. - - - This method writes all the bulk logged events to the output writer - before flushing the stream. - - - - - - Close this appender instance. The underlying stream or writer is also closed. - - - Closed appenders cannot be reused. - - - - - Writes the footer and closes the underlying . - - - - Writes the footer and closes the underlying . - - - - - - Closes the underlying . - - - - Closes the underlying . - - - - - - Clears internal references to the underlying - and other variables. - - - - Subclasses can override this method for an alternate closing behavior. - - - - - - Writes a footer as produced by the embedded layout's property. - - - - Writes a footer as produced by the embedded layout's property. - - - - - - Writes a header produced by the embedded layout's property. - - - - Writes a header produced by the embedded layout's property. - - - - - - Called to allow a subclass to lazily initialize the writer - - - - This method is called when an event is logged and the or - have not been set. This allows a subclass to - attempt to initialize the writer multiple times. - - - - - - This is the where logging events - will be written to. - - - - - Immediate flush means that the underlying - or output stream will be flushed at the end of each append operation. - - - - Immediate flush is slower but ensures that each append request is - actually written. If is set to - false, then there is a good chance that the last few - logging events are not actually persisted if and when the application - crashes. - - - The default value is true. - - - - - - Gets or set whether the appender will flush at the end - of each append operation. - - - - The default behavior is to flush at the end of each - append operation. - - - If this option is set to false, then the underlying - stream can defer persisting the logging event to a later - time. - - - - Avoiding the flush operation at the end of each append results in - a performance gain of 10 to 20 percent. However, there is safety - trade-off involved in skipping flushing. Indeed, when flushing is - skipped, then it is likely that the last few log events will not - be recorded on disk when the application exits. This is a high - price to pay even for a 20% performance gain. - - - - - Sets the where the log output will go. - - - - The specified must be open and writable. - - - The will be closed when the appender - instance is closed. - - - Note: Logging to an unopened will fail. - - - - - - Gets or set the and the underlying - , if any, for this appender. - - - The for this appender. - - - - - This appender requires a to be set. - - true - - - This appender requires a to be set. - - - - - - Gets or sets the where logging events - will be written to. - - - The where logging events are written. - - - - This is the where logging events - will be written to. - - - - - - Default constructor - - - - Default constructor - - - - - - Construct a new appender using the layout, file and append mode. - - the layout to use with this appender - the full path to the file to write to - flag to indicate if the file should be appended to - - - Obsolete constructor. - - - - - - Construct a new appender using the layout and file specified. - The file will be appended to. - - the layout to use with this appender - the full path to the file to write to - - - Obsolete constructor. - - - - - - Activate the options on the file appender. - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - This will cause the file to be opened. - - - - - - Closes any previously opened file and calls the parent's . - - - - Resets the filename and the file stream. - - - - - - Called to initialize the file writer - - - - Will be called for each logged message until the file is - successfully opened. - - - - - - This method is called by the - method. - - The event to log. - - - Writes a log statement to the output stream if the output stream exists - and is writable. - - - The format of the output will depend on the appender's layout. - - - - - - This method is called by the - method. - - The array of events to log. - - - Acquires the output file locks once before writing all the events to - the stream. - - - - - - Writes a footer as produced by the embedded layout's property. - - - - Writes a footer as produced by the embedded layout's property. - - - - - - Writes a header produced by the embedded layout's property. - - - - Writes a header produced by the embedded layout's property. - - - - - - Closes the underlying . - - - - Closes the underlying . - - - - - - Closes the previously opened file. - - - - Writes the to the file and then - closes the file. - - - - - - Sets and opens the file where the log output will go. The specified file must be writable. - - The path to the log file. Must be a fully qualified path. - If true will append to fileName. Otherwise will truncate fileName - - - Calls but guarantees not to throw an exception. - Errors are passed to the . - - - - - - Sets and opens the file where the log output will go. The specified file must be writable. - - The path to the log file. Must be a fully qualified path. - If true will append to fileName. Otherwise will truncate fileName - - - If there was already an opened file, then the previous file - is closed first. - - - This method will ensure that the directory structure - for the specified exists. - - - - - - Sets the quiet writer used for file output - - the file stream that has been opened for writing - - - This implementation of creates a - over the and passes it to the - method. - - - This method can be overridden by sub classes that want to wrap the - in some way, for example to encrypt the output - data using a System.Security.Cryptography.CryptoStream. - - - - - - Sets the quiet writer being used. - - the writer over the file stream that has been opened for writing - - - This method can be overridden by sub classes that want to - wrap the in some way. - - - - - - Convert a path into a fully qualified path. - - The path to convert. - The fully qualified path. - - - Converts the path specified to a fully - qualified path. If the path is relative it is - taken as relative from the application base - directory. - - - - - - Flag to indicate if we should append to the file - or overwrite the file. The default is to append. - - - - - The name of the log file. - - - - - The encoding to use for the file stream. - - - - - The security context to use for privileged calls - - - - - The stream to log to. Has added locking semantics - - - - - The locking model to use - - - - - Gets or sets the path to the file that logging will be written to. - - - The path to the file that logging will be written to. - - - - If the path is relative it is taken as relative from - the application base directory. - - - - - - Gets or sets a flag that indicates whether the file should be - appended to or overwritten. - - - Indicates whether the file should be appended to or overwritten. - - - - If the value is set to false then the file will be overwritten, if - it is set to true then the file will be appended to. - - The default value is true. - - - - - Gets or sets used to write to the file. - - - The used to write to the file. - - - - The default encoding set is - which is the encoding for the system's current ANSI code page. - - - - - - Gets or sets the used to write to the file. - - - The used to write to the file. - - - - Unless a specified here for this appender - the is queried for the - security context to use. The default behavior is to use the security context - of the current thread. - - - - - - Gets or sets the used to handle locking of the file. - - - The used to lock the file. - - - - Gets or sets the used to handle locking of the file. - - - There are two built in locking models, and . - The former locks the file from the start of logging to the end and the - later lock only for the minimal amount of time when logging each message. - - - The default locking model is the . - - - - - - Write only that uses the - to manage access to an underlying resource. - - - - - True asynchronous writes are not supported, the implementation forces a synchronous write. - - - - - Exception base type for log4net. - - - - This type extends . It - does not add any new functionality but does differentiate the - type of exception being thrown. - - - Nicko Cadell - Gert Driesen - - - - Constructor - - - - Initializes a new instance of the class. - - - - - - Constructor - - A message to include with the exception. - - - Initializes a new instance of the class with - the specified message. - - - - - - Constructor - - A message to include with the exception. - A nested exception to include. - - - Initializes a new instance of the class - with the specified message and inner exception. - - - - - - Serialization constructor - - The that holds the serialized object data about the exception being thrown. - The that contains contextual information about the source or destination. - - - Initializes a new instance of the class - with serialized data. - - - - - - Locking model base class - - - - Base class for the locking models available to the derived loggers. - - - - - - Open the output file - - The filename to use - Whether to append to the file, or overwrite - The encoding to use - - - Open the file specified and prepare for logging. - No writes will be made until is called. - Must be called before any calls to , - and . - - - - - - Close the file - - - - Close the file. No further writes will be made. - - - - - - Acquire the lock on the file - - A stream that is ready to be written to. - - - Acquire the lock on the file in preparation for writing to it. - Return a stream pointing to the file. - must be called to release the lock on the output file. - - - - - - Release the lock on the file - - - - Release the lock on the file. No further writes will be made to the - stream until is called again. - - - - - - Gets or sets the for this LockingModel - - - The for this LockingModel - - - - The file appender this locking model is attached to and working on - behalf of. - - - The file appender is used to locate the security context and the error handler to use. - - - The value of this property will be set before is - called. - - - - - - Hold an exclusive lock on the output file - - - - Open the file once for writing and hold it open until is called. - Maintains an exclusive lock on the file during this time. - - - - - - Open the file specified and prepare for logging. - - The filename to use - Whether to append to the file, or overwrite - The encoding to use - - - Open the file specified and prepare for logging. - No writes will be made until is called. - Must be called before any calls to , - and . - - - - - - Close the file - - - - Close the file. No further writes will be made. - - - - - - Acquire the lock on the file - - A stream that is ready to be written to. - - - Does nothing. The lock is already taken - - - - - - Release the lock on the file - - - - Does nothing. The lock will be released when the file is closed. - - - - - - Acquires the file lock for each write - - - - Opens the file once for each / cycle, - thus holding the lock for the minimal amount of time. This method of locking - is considerably slower than but allows - other processes to move/delete the log file whilst logging continues. - - - - - - Prepares to open the file when the first message is logged. - - The filename to use - Whether to append to the file, or overwrite - The encoding to use - - - Open the file specified and prepare for logging. - No writes will be made until is called. - Must be called before any calls to , - and . - - - - - - Close the file - - - - Close the file. No further writes will be made. - - - - - - Acquire the lock on the file - - A stream that is ready to be written to. - - - Acquire the lock on the file in preparation for writing to it. - Return a stream pointing to the file. - must be called to release the lock on the output file. - - - - - - Release the lock on the file - - - - Release the lock on the file. No further writes will be made to the - stream until is called again. - - - - - - This appender forwards logging events to attached appenders. - - - - The forwarding appender can be used to specify different thresholds - and filters for the same appender at different locations within the hierarchy. - - - Nicko Cadell - Gert Driesen - - - - Initializes a new instance of the class. - - - - Default constructor. - - - - - - Closes the appender and releases resources. - - - - Releases any resources allocated within the appender such as file handles, - network connections, etc. - - - It is a programming error to append to a closed appender. - - - - - - Forward the logging event to the attached appenders - - The event to log. - - - Delivers the logging event to all the attached appenders. - - - - - - Forward the logging events to the attached appenders - - The array of events to log. - - - Delivers the logging events to all the attached appenders. - - - - - - Adds an to the list of appenders of this - instance. - - The to add to this appender. - - - If the specified is already in the list of - appenders, then it won't be added again. - - - - - - Looks for the appender with the specified name. - - The name of the appender to lookup. - - The appender with the specified name, or null. - - - - Get the named appender attached to this appender. - - - - - - Removes all previously added appenders from this appender. - - - - This is useful when re-reading configuration information. - - - - - - Removes the specified appender from the list of appenders. - - The appender to remove. - The appender removed from the list - - The appender removed is not closed. - If you are discarding the appender you must call - on the appender removed. - - - - - Removes the appender with the specified name from the list of appenders. - - The name of the appender to remove. - The appender removed from the list - - The appender removed is not closed. - If you are discarding the appender you must call - on the appender removed. - - - - - Implementation of the interface - - - - - Gets the appenders contained in this appender as an - . - - - If no appenders can be found, then an - is returned. - - - A collection of the appenders in this appender. - - - - - Logs events to a local syslog service. - - - - This appender uses the POSIX libc library functions openlog, syslog, and closelog. - If these functions are not available on the local system then this appender will not work! - - - The functions openlog, syslog, and closelog are specified in SUSv2 and - POSIX 1003.1-2001 standards. These are used to log messages to the local syslog service. - - - This appender talks to a local syslog service. If you need to log to a remote syslog - daemon and you cannot configure your local syslog service to do this you may be - able to use the to log via UDP. - - - Syslog messages must have a facility and and a severity. The severity - is derived from the Level of the logging event. - The facility must be chosen from the set of defined syslog - values. The facilities list is predefined - and cannot be extended. - - - An identifier is specified with each log message. This can be specified - by setting the property. The identity (also know - as the tag) must not contain white space. The default value for the - identity is the application name (from ). - - - Rob Lyon - Nicko Cadell - - - - Initializes a new instance of the class. - - - This instance of the class is set up to write - to a local syslog service. - - - - - Add a mapping of level to severity - - The mapping to add - - - Adds a to this appender. - - - - - - Initialize the appender based on the options set. - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - - - - This method is called by the method. - - The event to log. - - - Writes the event to a remote syslog daemon. - - - The format of the output will depend on the appender's layout. - - - - - - Close the syslog when the appender is closed - - - - Close the syslog when the appender is closed - - - - - - Translates a log4net level to a syslog severity. - - A log4net level. - A syslog severity. - - - Translates a log4net level to a syslog severity. - - - - - - Generate a syslog priority. - - The syslog facility. - The syslog severity. - A syslog priority. - - - - The facility. The default facility is . - - - - - The message identity - - - - - Marshaled handle to the identity string. We have to hold on to the - string as the openlog and syslog APIs just hold the - pointer to the ident and dereference it for each log message. - - - - - Mapping from level object to syslog severity - - - - - Open connection to system logger. - - - - - Generate a log message. - - - - The libc syslog method takes a format string and a variable argument list similar - to the classic printf function. As this type of vararg list is not supported - by C# we need to specify the arguments explicitly. Here we have specified the - format string with a single message argument. The caller must set the format - string to "%s". - - - - - - Close descriptor used to write to system logger. - - - - - Message identity - - - - An identifier is specified with each log message. This can be specified - by setting the property. The identity (also know - as the tag) must not contain white space. The default value for the - identity is the application name (from ). - - - - - - Syslog facility - - - Set to one of the values. The list of - facilities is predefined and cannot be extended. The default value - is . - - - - - This appender requires a to be set. - - true - - - This appender requires a to be set. - - - - - - syslog severities - - - - The log4net Level maps to a syslog severity using the - method and the - class. The severity is set on . - - - - - - system is unusable - - - - - action must be taken immediately - - - - - critical conditions - - - - - error conditions - - - - - warning conditions - - - - - normal but significant condition - - - - - informational - - - - - debug-level messages - - - - - syslog facilities - - - - The syslog facility defines which subsystem the logging comes from. - This is set on the property. - - - - - - kernel messages - - - - - random user-level messages - - - - - mail system - - - - - system daemons - - - - - security/authorization messages - - - - - messages generated internally by syslogd - - - - - line printer subsystem - - - - - network news subsystem - - - - - UUCP subsystem - - - - - clock (cron/at) daemon - - - - - security/authorization messages (private) - - - - - ftp daemon - - - - - NTP subsystem - - - - - log audit - - - - - log alert - - - - - clock daemon - - - - - reserved for local use - - - - - reserved for local use - - - - - reserved for local use - - - - - reserved for local use - - - - - reserved for local use - - - - - reserved for local use - - - - - reserved for local use - - - - - reserved for local use - - - - - A class to act as a mapping between the level that a logging call is made at and - the syslog severity that is should be logged at. - - - - A class to act as a mapping between the level that a logging call is made at and - the syslog severity that is should be logged at. - - - - - - The mapped syslog severity for the specified level - - - - Required property. - The mapped syslog severity for the specified level - - - - - - Stores logging events in an array. - - - - The memory appender stores all the logging events - that are appended in an in-memory array. - - - Use the method to get - the current list of events that have been appended. - - - Use the method to clear the - current list of events. - - - Julian Biddle - Nicko Cadell - Gert Driesen - - - - Initializes a new instance of the class. - - - - Default constructor. - - - - - - Gets the events that have been logged. - - The events that have been logged - - - Gets the events that have been logged. - - - - - - This method is called by the method. - - the event to log - - Stores the in the events list. - - - - - Clear the list of events - - - Clear the list of events - - - - - The list of events that have been appended. - - - - - Value indicating which fields in the event should be fixed - - - By default all fields are fixed - - - - - Gets or sets a value indicating whether only part of the logging event - data should be fixed. - - - true if the appender should only fix part of the logging event - data, otherwise false. The default is false. - - - - Setting this property to true will cause only part of the event - data to be fixed and stored in the appender, hereby improving performance. - - - See for more information. - - - - - - Gets or sets the fields that will be fixed in the event - - - - The logging event needs to have certain thread specific values - captured before it can be buffered. See - for details. - - - - - - Logs entries by sending network messages using the - native function. - - - - You can send messages only to names that are active - on the network. If you send the message to a user name, - that user must be logged on and running the Messenger - service to receive the message. - - - The receiver will get a top most window displaying the - messages one at a time, therefore this appender should - not be used to deliver a high volume of messages. - - - The following table lists some possible uses for this appender : - - - - - Action - Property Value(s) - - - Send a message to a user account on the local machine - - - = <name of the local machine> - - - = <user name> - - - - - Send a message to a user account on a remote machine - - - = <name of the remote machine> - - - = <user name> - - - - - Send a message to a domain user account - - - = <name of a domain controller | uninitialized> - - - = <user name> - - - - - Send a message to all the names in a workgroup or domain - - - = <workgroup name | domain name>* - - - - - Send a message from the local machine to a remote machine - - - = <name of the local machine | uninitialized> - - - = <name of the remote machine> - - - - - - - Note : security restrictions apply for sending - network messages, see - for more information. - - - - - An example configuration section to log information - using this appender from the local machine, named - LOCAL_PC, to machine OPERATOR_PC : - - - - - - - - - - Nicko Cadell - Gert Driesen - - - - The DNS or NetBIOS name of the server on which the function is to execute. - - - - - The sender of the network message. - - - - - The message alias to which the message should be sent. - - - - - The security context to use for privileged calls - - - - - Initializes the appender. - - - The default constructor initializes all fields to their default values. - - - - - Initialize the appender based on the options set. - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - The appender will be ignored if no was specified. - - - The required property was not specified. - - - - This method is called by the method. - - The event to log. - - - Sends the event using a network message. - - - - - - Sends a buffer of information to a registered message alias. - - The DNS or NetBIOS name of the server on which the function is to execute. - The message alias to which the message buffer should be sent - The originator of the message. - The message text. - The length, in bytes, of the message text. - - - The following restrictions apply for sending network messages: - - - - - Platform - Requirements - - - Windows NT - - - No special group membership is required to send a network message. - - - Admin, Accounts, Print, or Server Operator group membership is required to - successfully send a network message on a remote server. - - - - - Windows 2000 or later - - - If you send a message on a domain controller that is running Active Directory, - access is allowed or denied based on the access control list (ACL) for the securable - object. The default ACL permits only Domain Admins and Account Operators to send a network message. - - - On a member server or workstation, only Administrators and Server Operators can send a network message. - - - - - - - For more information see Security Requirements for the Network Management Functions. - - - - - If the function succeeds, the return value is zero. - - - - - - Gets or sets the sender of the message. - - - The sender of the message. - - - If this property is not specified, the message is sent from the local computer. - - - - - Gets or sets the message alias to which the message should be sent. - - - The recipient of the message. - - - This property should always be specified in order to send a message. - - - - - Gets or sets the DNS or NetBIOS name of the remote server on which the function is to execute. - - - DNS or NetBIOS name of the remote server on which the function is to execute. - - - - For Windows NT 4.0 and earlier, the string should begin with \\. - - - If this property is not specified, the local computer is used. - - - - - - Gets or sets the used to call the NetSend method. - - - The used to call the NetSend method. - - - - Unless a specified here for this appender - the is queried for the - security context to use. The default behavior is to use the security context - of the current thread. - - - - - - This appender requires a to be set. - - true - - - This appender requires a to be set. - - - - - - Appends log events to the OutputDebugString system. - - - - OutputDebugStringAppender appends log events to the - OutputDebugString system. - - - The string is passed to the native OutputDebugString - function. - - - Nicko Cadell - Gert Driesen - - - - Initializes a new instance of the class. - - - - Default constructor. - - - - - - Write the logging event to the output debug string API - - the event to log - - - Write the logging event to the output debug string API - - - - - - Stub for OutputDebugString native method - - the string to output - - - Stub for OutputDebugString native method - - - - - - This appender requires a to be set. - - true - - - This appender requires a to be set. - - - - - - Logs events to a remote syslog daemon. - - - - The BSD syslog protocol is used to remotely log to - a syslog daemon. The syslogd listens for for messages - on UDP port 514. - - - The syslog UDP protocol is not authenticated. Most syslog daemons - do not accept remote log messages because of the security implications. - You may be able to use the LocalSyslogAppender to talk to a local - syslog service. - - - There is an RFC 3164 that claims to document the BSD Syslog Protocol. - This RFC can be seen here: http://www.faqs.org/rfcs/rfc3164.html. - This appender generates what the RFC calls an "Original Device Message", - i.e. does not include the TIMESTAMP or HOSTNAME fields. By observation - this format of message will be accepted by all current syslog daemon - implementations. The daemon will attach the current time and the source - hostname or IP address to any messages received. - - - Syslog messages must have a facility and and a severity. The severity - is derived from the Level of the logging event. - The facility must be chosen from the set of defined syslog - values. The facilities list is predefined - and cannot be extended. - - - An identifier is specified with each log message. This can be specified - by setting the property. The identity (also know - as the tag) must not contain white space. The default value for the - identity is the application name (from ). - - - Rob Lyon - Nicko Cadell - - - - Sends logging events as connectionless UDP datagrams to a remote host or a - multicast group using an . - - - - UDP guarantees neither that messages arrive, nor that they arrive in the correct order. - - - To view the logging results, a custom application can be developed that listens for logging - events. - - - When decoding events send via this appender remember to use the same encoding - to decode the events as was used to send the events. See the - property to specify the encoding to use. - - - - This example shows how to log receive logging events that are sent - on IP address 244.0.0.1 and port 8080 to the console. The event is - encoded in the packet as a unicode string and it is decoded as such. - - IPEndPoint remoteEndPoint = new IPEndPoint(IPAddress.Any, 0); - UdpClient udpClient; - byte[] buffer; - string loggingEvent; - - try - { - udpClient = new UdpClient(8080); - - while(true) - { - buffer = udpClient.Receive(ref remoteEndPoint); - loggingEvent = System.Text.Encoding.Unicode.GetString(buffer); - Console.WriteLine(loggingEvent); - } - } - catch(Exception e) - { - Console.WriteLine(e.ToString()); - } - - - Dim remoteEndPoint as IPEndPoint - Dim udpClient as UdpClient - Dim buffer as Byte() - Dim loggingEvent as String - - Try - remoteEndPoint = new IPEndPoint(IPAddress.Any, 0) - udpClient = new UdpClient(8080) - - While True - buffer = udpClient.Receive(ByRef remoteEndPoint) - loggingEvent = System.Text.Encoding.Unicode.GetString(buffer) - Console.WriteLine(loggingEvent) - Wend - Catch e As Exception - Console.WriteLine(e.ToString()) - End Try - - - An example configuration section to log information using this appender to the - IP 224.0.0.1 on port 8080: - - - - - - - - - - Gert Driesen - Nicko Cadell - - - - Initializes a new instance of the class. - - - The default constructor initializes all fields to their default values. - - - - - Initialize the appender based on the options set. - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - The appender will be ignored if no was specified or - an invalid remote or local TCP port number was specified. - - - The required property was not specified. - The TCP port number assigned to or is less than or greater than . - - - - This method is called by the method. - - The event to log. - - - Sends the event using an UDP datagram. - - - Exceptions are passed to the . - - - - - - Closes the UDP connection and releases all resources associated with - this instance. - - - - Disables the underlying and releases all managed - and unmanaged resources associated with the . - - - - - - Initializes the underlying connection. - - - - The underlying is initialized and binds to the - port number from which you intend to communicate. - - - Exceptions are passed to the . - - - - - - The IP address of the remote host or multicast group to which - the logging event will be sent. - - - - - The TCP port number of the remote host or multicast group to - which the logging event will be sent. - - - - - The cached remote endpoint to which the logging events will be sent. - - - - - The TCP port number from which the will communicate. - - - - - The instance that will be used for sending the - logging events. - - - - - The encoding to use for the packet. - - - - - Gets or sets the IP address of the remote host or multicast group to which - the underlying should sent the logging event. - - - The IP address of the remote host or multicast group to which the logging event - will be sent. - - - - Multicast addresses are identified by IP class D addresses (in the range 224.0.0.0 to - 239.255.255.255). Multicast packets can pass across different networks through routers, so - it is possible to use multicasts in an Internet scenario as long as your network provider - supports multicasting. - - - Hosts that want to receive particular multicast messages must register their interest by joining - the multicast group. Multicast messages are not sent to networks where no host has joined - the multicast group. Class D IP addresses are used for multicast groups, to differentiate - them from normal host addresses, allowing nodes to easily detect if a message is of interest. - - - Static multicast addresses that are needed globally are assigned by IANA. A few examples are listed in the table below: - - - - - IP Address - Description - - - 224.0.0.1 - - - Sends a message to all system on the subnet. - - - - - 224.0.0.2 - - - Sends a message to all routers on the subnet. - - - - - 224.0.0.12 - - - The DHCP server answers messages on the IP address 224.0.0.12, but only on a subnet. - - - - - - - A complete list of actually reserved multicast addresses and their owners in the ranges - defined by RFC 3171 can be found at the IANA web site. - - - The address range 239.0.0.0 to 239.255.255.255 is reserved for administrative scope-relative - addresses. These addresses can be reused with other local groups. Routers are typically - configured with filters to prevent multicast traffic in this range from flowing outside - of the local network. - - - - - - Gets or sets the TCP port number of the remote host or multicast group to which - the underlying should sent the logging event. - - - An integer value in the range to - indicating the TCP port number of the remote host or multicast group to which the logging event - will be sent. - - - The underlying will send messages to this TCP port number - on the remote host or multicast group. - - The value specified is less than or greater than . - - - - Gets or sets the TCP port number from which the underlying will communicate. - - - An integer value in the range to - indicating the TCP port number from which the underlying will communicate. - - - - The underlying will bind to this port for sending messages. - - - Setting the value to 0 (the default) will cause the udp client not to bind to - a local port. - - - The value specified is less than or greater than . - - - - Gets or sets used to write the packets. - - - The used to write the packets. - - - - The used to write the packets. - - - - - - Gets or sets the underlying . - - - The underlying . - - - creates a to send logging events - over a network. Classes deriving from can use this - property to get or set this . Use the underlying - returned from if you require access beyond that which - provides. - - - - - Gets or sets the cached remote endpoint to which the logging events should be sent. - - - The cached remote endpoint to which the logging events will be sent. - - - The method will initialize the remote endpoint - with the values of the and - properties. - - - - - This appender requires a to be set. - - true - - - This appender requires a to be set. - - - - - - Syslog port 514 - - - - - Initializes a new instance of the class. - - - This instance of the class is set up to write - to a remote syslog daemon. - - - - - Add a mapping of level to severity - - The mapping to add - - - Add a mapping to this appender. - - - - - - This method is called by the method. - - The event to log. - - - Writes the event to a remote syslog daemon. - - - The format of the output will depend on the appender's layout. - - - - - - Initialize the options for this appender - - - - Initialize the level to syslog severity mappings set on this appender. - - - - - - Translates a log4net level to a syslog severity. - - A log4net level. - A syslog severity. - - - Translates a log4net level to a syslog severity. - - - - - - Generate a syslog priority. - - The syslog facility. - The syslog severity. - A syslog priority. - - - Generate a syslog priority. - - - - - - The facility. The default facility is . - - - - - The message identity - - - - - Mapping from level object to syslog severity - - - - - Message identity - - - - An identifier is specified with each log message. This can be specified - by setting the property. The identity (also know - as the tag) must not contain white space. The default value for the - identity is the application name (from ). - - - - - - Syslog facility - - - Set to one of the values. The list of - facilities is predefined and cannot be extended. The default value - is . - - - - - syslog severities - - - - The syslog severities. - - - - - - system is unusable - - - - - action must be taken immediately - - - - - critical conditions - - - - - error conditions - - - - - warning conditions - - - - - normal but significant condition - - - - - informational - - - - - debug-level messages - - - - - syslog facilities - - - - The syslog facilities - - - - - - kernel messages - - - - - random user-level messages - - - - - mail system - - - - - system daemons - - - - - security/authorization messages - - - - - messages generated internally by syslogd - - - - - line printer subsystem - - - - - network news subsystem - - - - - UUCP subsystem - - - - - clock (cron/at) daemon - - - - - security/authorization messages (private) - - - - - ftp daemon - - - - - NTP subsystem - - - - - log audit - - - - - log alert - - - - - clock daemon - - - - - reserved for local use - - - - - reserved for local use - - - - - reserved for local use - - - - - reserved for local use - - - - - reserved for local use - - - - - reserved for local use - - - - - reserved for local use - - - - - reserved for local use - - - - - A class to act as a mapping between the level that a logging call is made at and - the syslog severity that is should be logged at. - - - - A class to act as a mapping between the level that a logging call is made at and - the syslog severity that is should be logged at. - - - - - - The mapped syslog severity for the specified level - - - - Required property. - The mapped syslog severity for the specified level - - - - - - Delivers logging events to a remote logging sink. - - - - This Appender is designed to deliver events to a remote sink. - That is any object that implements the - interface. It delivers the events using .NET remoting. The - object to deliver events to is specified by setting the - appenders property. - - The RemotingAppender buffers events before sending them. This allows it to - make more efficient use of the remoting infrastructure. - - Once the buffer is full the events are still not sent immediately. - They are scheduled to be sent using a pool thread. The effect is that - the send occurs asynchronously. This is very important for a - number of non obvious reasons. The remoting infrastructure will - flow thread local variables (stored in the ), - if they are marked as , across the - remoting boundary. If the server is not contactable then - the remoting infrastructure will clear the - objects from the . To prevent a logging failure from - having side effects on the calling application the remoting call must be made - from a separate thread to the one used by the application. A - thread is used for this. If no thread is available then - the events will block in the thread pool manager until a thread is available. - - Because the events are sent asynchronously using pool threads it is possible to close - this appender before all the queued events have been sent. - When closing the appender attempts to wait until all the queued events have been sent, but - this will timeout after 30 seconds regardless. - - If this appender is being closed because the - event has fired it may not be possible to send all the queued events. During process - exit the runtime limits the time that a - event handler is allowed to run for. If the runtime terminates the threads before - the queued events have been sent then they will be lost. To ensure that all events - are sent the appender must be closed before the application exits. See - for details on how to shutdown - log4net programmatically. - - - Nicko Cadell - Gert Driesen - Daniel Cazzulino - - - - Initializes a new instance of the class. - - - - Default constructor. - - - - - - Initialize the appender based on the options set - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - - - - Send the contents of the buffer to the remote sink. - - - The events are not sent immediately. They are scheduled to be sent - using a pool thread. The effect is that the send occurs asynchronously. - This is very important for a number of non obvious reasons. The remoting - infrastructure will flow thread local variables (stored in the ), - if they are marked as , across the - remoting boundary. If the server is not contactable then - the remoting infrastructure will clear the - objects from the . To prevent a logging failure from - having side effects on the calling application the remoting call must be made - from a separate thread to the one used by the application. A - thread is used for this. If no thread is available then - the events will block in the thread pool manager until a thread is available. - - The events to send. - - - - Override base class close. - - - - This method waits while there are queued work items. The events are - sent asynchronously using work items. These items - will be sent once a thread pool thread is available to send them, therefore - it is possible to close the appender before all the queued events have been - sent. - - This method attempts to wait until all the queued events have been sent, but this - method will timeout after 30 seconds regardless. - - If the appender is being closed because the - event has fired it may not be possible to send all the queued events. During process - exit the runtime limits the time that a - event handler is allowed to run for. - - - - - A work item is being queued into the thread pool - - - - - A work item from the thread pool has completed - - - - - Send the contents of the buffer to the remote sink. - - - This method is designed to be used with the . - This method expects to be passed an array of - objects in the state param. - - the logging events to send - - - - The URL of the remote sink. - - - - - The local proxy (.NET remoting) for the remote logging sink. - - - - - The number of queued callbacks currently waiting or executing - - - - - Event used to signal when there are no queued work items - - - This event is set when there are no queued work items. In this - state it is safe to close the appender. - - - - - Gets or sets the URL of the well-known object that will accept - the logging events. - - - The well-known URL of the remote sink. - - - - The URL of the remoting sink that will accept logging events. - The sink must implement the - interface. - - - - - - Interface used to deliver objects to a remote sink. - - - This interface must be implemented by a remoting sink - if the is to be used - to deliver logging events to the sink. - - - - - Delivers logging events to the remote sink - - Array of events to log. - - - Delivers logging events to the remote sink - - - - - - Appender that rolls log files based on size or date or both. - - - - RollingFileAppender can roll log files based on size or date or both - depending on the setting of the property. - When set to the log file will be rolled - once its size exceeds the . - When set to the log file will be rolled - once the date boundary specified in the property - is crossed. - When set to the log file will be - rolled once the date boundary specified in the property - is crossed, but within a date boundary the file will also be rolled - once its size exceeds the . - When set to the log file will be rolled when - the appender is configured. This effectively means that the log file can be - rolled once per program execution. - - - A of few additional optional features have been added: - - Attach date pattern for current log file - Backup number increments for newer files - Infinite number of backups by file size - - - - - - For large or infinite numbers of backup files a - greater than zero is highly recommended, otherwise all the backup files need - to be renamed each time a new backup is created. - - - When Date/Time based rolling is used setting - to will reduce the number of file renamings to few or none. - - - - - - Changing or without clearing - the log file directory of backup files will cause unexpected and unwanted side effects. - - - - - If Date/Time based rolling is enabled this appender will attempt to roll existing files - in the directory without a Date/Time tag based on the last write date of the base log file. - The appender only rolls the log file when a message is logged. If Date/Time based rolling - is enabled then the appender will not roll the log file at the Date/Time boundary but - at the point when the next message is logged after the boundary has been crossed. - - - - The extends the and - has the same behavior when opening the log file. - The appender will first try to open the file for writing when - is called. This will typically be during configuration. - If the file cannot be opened for writing the appender will attempt - to open the file again each time a message is logged to the appender. - If the file cannot be opened for writing when a message is logged then - the message will be discarded by this appender. - - - When rolling a backup file necessitates deleting an older backup file the - file to be deleted is moved to a temporary name before being deleted. - - - - - A maximum number of backup files when rolling on date/time boundaries is not supported. - - - - Nicko Cadell - Gert Driesen - Aspi Havewala - Douglas de la Torre - Edward Smit - - - - Initializes a new instance of the class. - - - - Default constructor. - - - - - - Sets the quiet writer being used. - - - This method can be overridden by sub classes. - - the writer to set - - - - Write out a logging event. - - the event to write to file. - - - Handles append time behavior for RollingFileAppender. This checks - if a roll over either by date (checked first) or time (checked second) - is need and then appends to the file last. - - - - - - Write out an array of logging events. - - the events to write to file. - - - Handles append time behavior for RollingFileAppender. This checks - if a roll over either by date (checked first) or time (checked second) - is need and then appends to the file last. - - - - - - Performs any required rolling before outputting the next event - - - - Handles append time behavior for RollingFileAppender. This checks - if a roll over either by date (checked first) or time (checked second) - is need and then appends to the file last. - - - - - - Creates and opens the file for logging. If - is false then the fully qualified name is determined and used. - - the name of the file to open - true to append to existing file - - This method will ensure that the directory structure - for the specified exists. - - - - - Get the current output file name - - the base file name - the output file name - - The output file name is based on the base fileName specified. - If is set then the output - file name is the same as the base file passed in. Otherwise - the output file depends on the date pattern, on the count - direction or both. - - - - - Determines curSizeRollBackups (only within the current roll point) - - - - - Generates a wildcard pattern that can be used to find all files - that are similar to the base file name. - - - - - - - Builds a list of filenames for all files matching the base filename plus a file - pattern. - - - - - - - Initiates a roll over if needed for crossing a date boundary since the last run. - - - - - Initializes based on existing conditions at time of . - - - - Initializes based on existing conditions at time of . - The following is done - - determine curSizeRollBackups (only within the current roll point) - initiates a roll over if needed for crossing a date boundary since the last run. - - - - - - - Does the work of bumping the 'current' file counter higher - to the highest count when an incremental file name is seen. - The highest count is either the first file (when count direction - is greater than 0) or the last file (when count direction less than 0). - In either case, we want to know the highest count that is present. - - - - - - - Takes a list of files and a base file name, and looks for - 'incremented' versions of the base file. Bumps the max - count up to the highest count seen. - - - - - - - Calculates the RollPoint for the datePattern supplied. - - the date pattern to calculate the check period for - The RollPoint that is most accurate for the date pattern supplied - - Essentially the date pattern is examined to determine what the - most suitable roll point is. The roll point chosen is the roll point - with the smallest period that can be detected using the date pattern - supplied. i.e. if the date pattern only outputs the year, month, day - and hour then the smallest roll point that can be detected would be - and hourly roll point as minutes could not be detected. - - - - - Initialize the appender based on the options set - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - Sets initial conditions including date/time roll over information, first check, - scheduledFilename, and calls to initialize - the current number of backups. - - - - - - Rollover the file(s) to date/time tagged file(s). - - set to true if the file to be rolled is currently open - - - Rollover the file(s) to date/time tagged file(s). - Resets curSizeRollBackups. - If fileIsOpen is set then the new file is opened (through SafeOpenFile). - - - - - - Renames file to file . - - Name of existing file to roll. - New name for file. - - - Renames file to file . It - also checks for existence of target file and deletes if it does. - - - - - - Test if a file exists at a specified path - - the path to the file - true if the file exists - - - Test if a file exists at a specified path - - - - - - Deletes the specified file if it exists. - - The file to delete. - - - Delete a file if is exists. - The file is first moved to a new filename then deleted. - This allows the file to be removed even when it cannot - be deleted, but it still can be moved. - - - - - - Implements file roll base on file size. - - - - If the maximum number of size based backups is reached - (curSizeRollBackups == maxSizeRollBackups) then the oldest - file is deleted -- its index determined by the sign of countDirection. - If countDirection < 0, then files - {File.1, ..., File.curSizeRollBackups -1} - are renamed to {File.2, ..., - File.curSizeRollBackups}. Moreover, File is - renamed File.1 and closed. - - - A new file is created to receive further log output. - - - If maxSizeRollBackups is equal to zero, then the - File is truncated with no backup files created. - - - If maxSizeRollBackups < 0, then File is - renamed if needed and no files are deleted. - - - - - - Implements file roll. - - the base name to rename - - - If the maximum number of size based backups is reached - (curSizeRollBackups == maxSizeRollBackups) then the oldest - file is deleted -- its index determined by the sign of countDirection. - If countDirection < 0, then files - {File.1, ..., File.curSizeRollBackups -1} - are renamed to {File.2, ..., - File.curSizeRollBackups}. - - - If maxSizeRollBackups is equal to zero, then the - File is truncated with no backup files created. - - - If maxSizeRollBackups < 0, then File is - renamed if needed and no files are deleted. - - - This is called by to rename the files. - - - - - - Get the start time of the next window for the current rollpoint - - the current date - the type of roll point we are working with - the start time for the next roll point an interval after the currentDateTime date - - - Returns the date of the next roll point after the currentDateTime date passed to the method. - - - The basic strategy is to subtract the time parts that are less significant - than the rollpoint from the current time. This should roll the time back to - the start of the time window for the current rollpoint. Then we add 1 window - worth of time and get the start time of the next window for the rollpoint. - - - - - - This object supplies the current date/time. Allows test code to plug in - a method to control this class when testing date/time based rolling. - - - - - The date pattern. By default, the pattern is set to ".yyyy-MM-dd" - meaning daily rollover. - - - - - The actual formatted filename that is currently being written to - or will be the file transferred to on roll over - (based on staticLogFileName). - - - - - The timestamp when we shall next recompute the filename. - - - - - Holds date of last roll over - - - - - The type of rolling done - - - - - The default maximum file size is 10MB - - - - - There is zero backup files by default - - - - - How many sized based backups have been made so far - - - - - The rolling file count direction. - - - - - The rolling mode used in this appender. - - - - - Cache flag set if we are rolling by date. - - - - - Cache flag set if we are rolling by size. - - - - - Value indicating whether to always log to the same file. - - - - - FileName provided in configuration. Used for rolling properly - - - - - The 1st of January 1970 in UTC - - - - - Gets or sets the date pattern to be used for generating file names - when rolling over on date. - - - The date pattern to be used for generating file names when rolling - over on date. - - - - Takes a string in the same format as expected by - . - - - This property determines the rollover schedule when rolling over - on date. - - - - - - Gets or sets the maximum number of backup files that are kept before - the oldest is erased. - - - The maximum number of backup files that are kept before the oldest is - erased. - - - - If set to zero, then there will be no backup files and the log file - will be truncated when it reaches . - - - If a negative number is supplied then no deletions will be made. Note - that this could result in very slow performance as a large number of - files are rolled over unless is used. - - - The maximum applies to each time based group of files and - not the total. - - - - - - Gets or sets the maximum size that the output file is allowed to reach - before being rolled over to backup files. - - - The maximum size in bytes that the output file is allowed to reach before being - rolled over to backup files. - - - - This property is equivalent to except - that it is required for differentiating the setter taking a - argument from the setter taking a - argument. - - - The default maximum file size is 10MB (10*1024*1024). - - - - - - Gets or sets the maximum size that the output file is allowed to reach - before being rolled over to backup files. - - - The maximum size that the output file is allowed to reach before being - rolled over to backup files. - - - - This property allows you to specify the maximum size with the - suffixes "KB", "MB" or "GB" so that the size is interpreted being - expressed respectively in kilobytes, megabytes or gigabytes. - - - For example, the value "10KB" will be interpreted as 10240 bytes. - - - The default maximum file size is 10MB. - - - If you have the option to set the maximum file size programmatically - consider using the property instead as this - allows you to set the size in bytes as a . - - - - - - Gets or sets the rolling file count direction. - - - The rolling file count direction. - - - - Indicates if the current file is the lowest numbered file or the - highest numbered file. - - - By default newer files have lower numbers ( < 0), - i.e. log.1 is most recent, log.5 is the 5th backup, etc... - - - >= 0 does the opposite i.e. - log.1 is the first backup made, log.5 is the 5th backup made, etc. - For infinite backups use >= 0 to reduce - rollover costs. - - The default file count direction is -1. - - - - - Gets or sets the rolling style. - - The rolling style. - - - The default rolling style is . - - - When set to this appender's - property is set to false, otherwise - the appender would append to a single file rather than rolling - the file each time it is opened. - - - - - - Gets or sets a value indicating whether to always log to - the same file. - - - true if always should be logged to the same file, otherwise false. - - - - By default file.log is always the current file. Optionally - file.log.yyyy-mm-dd for current formatted datePattern can by the currently - logging file (or file.log.curSizeRollBackup or even - file.log.yyyy-mm-dd.curSizeRollBackup). - - - This will make time based rollovers with a large number of backups - much faster as the appender it won't have to rename all the backups! - - - - - - Style of rolling to use - - - - Style of rolling to use - - - - - - Roll files once per program execution - - - - Roll files once per program execution. - Well really once each time this appender is - configured. - - - Setting this option also sets AppendToFile to - false on the RollingFileAppender, otherwise - this appender would just be a normal file appender. - - - - - - Roll files based only on the size of the file - - - - - Roll files based only on the date - - - - - Roll files based on both the size and date of the file - - - - - The code assumes that the following 'time' constants are in a increasing sequence. - - - - The code assumes that the following 'time' constants are in a increasing sequence. - - - - - - Roll the log not based on the date - - - - - Roll the log for each minute - - - - - Roll the log for each hour - - - - - Roll the log twice a day (midday and midnight) - - - - - Roll the log each day (midnight) - - - - - Roll the log each week - - - - - Roll the log each month - - - - - This interface is used to supply Date/Time information to the . - - - This interface is used to supply Date/Time information to the . - Used primarily to allow test classes to plug themselves in so they can - supply test date/times. - - - - - Gets the current time. - - The current time. - - - Gets the current time. - - - - - - Default implementation of that returns the current time. - - - - - Gets the current time. - - The current time. - - - Gets the current time. - - - - - - Send an e-mail when a specific logging event occurs, typically on errors - or fatal errors. - - - - The number of logging events delivered in this e-mail depend on - the value of option. The - keeps only the last - logging events in its - cyclic buffer. This keeps memory requirements at a reasonable level while - still delivering useful application context. - - - Authentication and setting the server Port are only available on the MS .NET 1.1 runtime. - For these features to be enabled you need to ensure that you are using a version of - the log4net assembly that is built against the MS .NET 1.1 framework and that you are - running the your application on the MS .NET 1.1 runtime. On all other platforms only sending - unauthenticated messages to a server listening on port 25 (the default) is supported. - - - Authentication is supported by setting the property to - either or . - If using authentication then the - and properties must also be set. - - - To set the SMTP server port use the property. The default port is 25. - - - Nicko Cadell - Gert Driesen - - - - Default constructor - - - - Default constructor - - - - - - Sends the contents of the cyclic buffer as an e-mail message. - - The logging events to send. - - - - Send the email message - - the body text to include in the mail - - - - Gets or sets a semicolon-delimited list of recipient e-mail addresses. - - - A semicolon-delimited list of e-mail addresses. - - - - A semicolon-delimited list of recipient e-mail addresses. - - - - - - Gets or sets the e-mail address of the sender. - - - The e-mail address of the sender. - - - - The e-mail address of the sender. - - - - - - Gets or sets the subject line of the e-mail message. - - - The subject line of the e-mail message. - - - - The subject line of the e-mail message. - - - - - - Gets or sets the name of the SMTP relay mail server to use to send - the e-mail messages. - - - The name of the e-mail relay server. If SmtpServer is not set, the - name of the local SMTP server is used. - - - - The name of the e-mail relay server. If SmtpServer is not set, the - name of the local SMTP server is used. - - - - - - Obsolete - - - Use the BufferingAppenderSkeleton Fix methods instead - - - - Obsolete property. - - - - - - The mode to use to authentication with the SMTP server - - - Authentication is only available on the MS .NET 1.1 runtime. - - Valid Authentication mode values are: , - , and . - The default value is . When using - you must specify the - and to use to authenticate. - When using the Windows credentials for the current - thread, if impersonating, or the process will be used to authenticate. - - - - - - The username to use to authenticate with the SMTP server - - - Authentication is only available on the MS .NET 1.1 runtime. - - A and must be specified when - is set to , - otherwise the username will be ignored. - - - - - - The password to use to authenticate with the SMTP server - - - Authentication is only available on the MS .NET 1.1 runtime. - - A and must be specified when - is set to , - otherwise the password will be ignored. - - - - - - The port on which the SMTP server is listening - - - Server Port is only available on the MS .NET 1.1 runtime. - - The port on which the SMTP server is listening. The default - port is 25. The Port can only be changed when running on - the MS .NET 1.1 runtime. - - - - - - Gets or sets the priority of the e-mail message - - - One of the values. - - - - Sets the priority of the e-mails generated by this - appender. The default priority is . - - - If you are using this appender to report errors then - you may want to set the priority to . - - - - - - This appender requires a to be set. - - true - - - This appender requires a to be set. - - - - - - Values for the property. - - - - SMTP authentication modes. - - - - - - No authentication - - - - - Basic authentication. - - - Requires a username and password to be supplied - - - - - Integrated authentication - - - Uses the Windows credentials from the current thread or process to authenticate. - - - - - Send an email when a specific logging event occurs, typically on errors - or fatal errors. Rather than sending via smtp it writes a file into the - directory specified by . This allows services such - as the IIS SMTP agent to manage sending the messages. - - - - The configuration for this appender is identical to that of the SMTPAppender, - except that instead of specifying the SMTPAppender.SMTPHost you specify - . - - - The number of logging events delivered in this e-mail depend on - the value of option. The - keeps only the last - logging events in its - cyclic buffer. This keeps memory requirements at a reasonable level while - still delivering useful application context. - - - Niall Daley - Nicko Cadell - - - - Default constructor - - - - Default constructor - - - - - - Sends the contents of the cyclic buffer as an e-mail message. - - The logging events to send. - - - Sends the contents of the cyclic buffer as an e-mail message. - - - - - - Activate the options on this appender. - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - - - - Convert a path into a fully qualified path. - - The path to convert. - The fully qualified path. - - - Converts the path specified to a fully - qualified path. If the path is relative it is - taken as relative from the application base - directory. - - - - - - The security context to use for privileged calls - - - - - Gets or sets a semicolon-delimited list of recipient e-mail addresses. - - - A semicolon-delimited list of e-mail addresses. - - - - A semicolon-delimited list of e-mail addresses. - - - - - - Gets or sets the e-mail address of the sender. - - - The e-mail address of the sender. - - - - The e-mail address of the sender. - - - - - - Gets or sets the subject line of the e-mail message. - - - The subject line of the e-mail message. - - - - The subject line of the e-mail message. - - - - - - Gets or sets the path to write the messages to. - - - - Gets or sets the path to write the messages to. This should be the same - as that used by the agent sending the messages. - - - - - - Gets or sets the used to write to the pickup directory. - - - The used to write to the pickup directory. - - - - Unless a specified here for this appender - the is queried for the - security context to use. The default behavior is to use the security context - of the current thread. - - - - - - This appender requires a to be set. - - true - - - This appender requires a to be set. - - - - - - Appender that allows clients to connect via Telnet to receive log messages - - - - The TelnetAppender accepts socket connections and streams logging messages - back to the client. - The output is provided in a telnet-friendly way so that a log can be monitored - over a TCP/IP socket. - This allows simple remote monitoring of application logging. - - - The default is 23 (the telnet port). - - - Keith Long - Nicko Cadell - - - - Default constructor - - - - Default constructor - - - - - - Overrides the parent method to close the socket handler - - - - Closes all the outstanding connections. - - - - - - Initialize the appender based on the options set. - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - Create the socket handler and wait for connections - - - - - - Writes the logging event to each connected client. - - The event to log. - - - Writes the logging event to each connected client. - - - - - - Gets or sets the TCP port number on which this will listen for connections. - - - An integer value in the range to - indicating the TCP port number on which this will listen for connections. - - - - The default value is 23 (the telnet port). - - - The value specified is less than - or greater than . - - - - This appender requires a to be set. - - true - - - This appender requires a to be set. - - - - - - Helper class to manage connected clients - - - - The SocketHandler class is used to accept connections from - clients. It is threaded so that clients can connect/disconnect - asynchronously. - - - - - - Opens a new server port on - - the local port to listen on for connections - - - Creates a socket handler on the specified local server port. - - - - - - Sends a string message to each of the connected clients - - the text to send - - - Sends a string message to each of the connected clients - - - - - - Add a client to the internal clients list - - client to add - - - - Remove a client from the internal clients list - - client to remove - - - - Callback used to accept a connection on the server socket - - The result of the asynchronous operation - - - On connection adds to the list of connections - if there are two many open connections you will be disconnected - - - - - - Close all network connections - - - - Make sure we close all network connections - - - - - - Test if this handler has active connections - - - true if this handler has active connections - - - - This property will be true while this handler has - active connections, that is at least one connection that - the handler will attempt to send a message to. - - - - - - Class that represents a client connected to this handler - - - - Class that represents a client connected to this handler - - - - - - Create this for the specified - - the client's socket - - - Opens a stream writer on the socket. - - - - - - Write a string to the client - - string to send - - - Write a string to the client - - - - - - Cleanup the clients connection - - - - Close the socket connection. - - - - - - Appends log events to the system. - - - - The application configuration file can be used to control what listeners - are actually used. See the MSDN documentation for the - class for details on configuring the - trace system. - - - Events are written using the System.Diagnostics.Trace.Write(string,string) - method. The event's logger name is passed as the value for the category name to the Write method. - - - Compact Framework
- The Compact Framework does not support the - class for any operation except Assert. When using the Compact Framework this - appender will write to the system rather than - the Trace system. This appender will therefore behave like the . -
-
- Douglas de la Torre - Nicko Cadell - Gert Driesen -
- - - Initializes a new instance of the . - - - - Default constructor. - - - - - - Initializes a new instance of the - with a specified layout. - - The layout to use with this appender. - - - Obsolete constructor. - - - - - - Writes the logging event to the system. - - The event to log. - - - Writes the logging event to the system. - - - - - - Immediate flush means that the underlying writer or output stream - will be flushed at the end of each append operation. - - - - Immediate flush is slower but ensures that each append request is - actually written. If is set to - false, then there is a good chance that the last few - logs events are not actually written to persistent media if and - when the application crashes. - - - The default value is true. - - - - - Gets or sets a value that indicates whether the appender will - flush at the end of each write. - - - The default behavior is to flush at the end of each - write. If the option is set tofalse, then the underlying - stream can defer writing to physical medium to a later time. - - - Avoiding the flush operation at the end of each append results - in a performance gain of 10 to 20 percent. However, there is safety - trade-off involved in skipping flushing. Indeed, when flushing is - skipped, then it is likely that the last few log events will not - be recorded on disk when the application exits. This is a high - price to pay even for a 20% performance gain. - - - - - - This appender requires a to be set. - - true - - - This appender requires a to be set. - - - - - - Assembly level attribute that specifies a domain to alias to this assembly's repository. - - - - AliasDomainAttribute is obsolete. Use AliasRepositoryAttribute instead of AliasDomainAttribute. - - - An assembly's logger repository is defined by its , - however this can be overridden by an assembly loaded before the target assembly. - - - An assembly can alias another assembly's domain to its repository by - specifying this attribute with the name of the target domain. - - - This attribute can only be specified on the assembly and may be used - as many times as necessary to alias all the required domains. - - - Nicko Cadell - Gert Driesen - - - - Assembly level attribute that specifies a repository to alias to this assembly's repository. - - - - An assembly's logger repository is defined by its , - however this can be overridden by an assembly loaded before the target assembly. - - - An assembly can alias another assembly's repository to its repository by - specifying this attribute with the name of the target repository. - - - This attribute can only be specified on the assembly and may be used - as many times as necessary to alias all the required repositories. - - - Nicko Cadell - Gert Driesen - - - - Initializes a new instance of the class with - the specified repository to alias to this assembly's repository. - - The repository to alias to this assemby's repository. - - - Initializes a new instance of the class with - the specified repository to alias to this assembly's repository. - - - - - - Gets or sets the repository to alias to this assemby's repository. - - - The repository to alias to this assemby's repository. - - - - The name of the repository to alias to this assemby's repository. - - - - - - Initializes a new instance of the class with - the specified domain to alias to this assembly's repository. - - The domain to alias to this assemby's repository. - - - Obsolete. Use instead of . - - - - - - Use this class to quickly configure a . - - - - Allows very simple programmatic configuration of log4net. - - - Only one appender can be configured using this configurator. - The appender is set at the root of the hierarchy and all logging - events will be delivered to that appender. - - - Appenders can also implement the interface. Therefore - they would require that the method - be called after the appenders properties have been configured. - - - Nicko Cadell - Gert Driesen - - - - Initializes a new instance of the class. - - - - Uses a private access modifier to prevent instantiation of this class. - - - - - - Initializes the log4net system with a default configuration. - - - - Initializes the log4net logging system using a - that will write to Console.Out. The log messages are - formatted using the layout object - with the - layout style. - - - - - - Initializes the log4net system using the specified appender. - - The appender to use to log all logging events. - - - Initializes the log4net system using the specified appender. - - - - - - Initializes the with a default configuration. - - The repository to configure. - - - Initializes the specified repository using a - that will write to Console.Out. The log messages are - formatted using the layout object - with the - layout style. - - - - - - Initializes the using the specified appender. - - The repository to configure. - The appender to use to log all logging events. - - - Initializes the using the specified appender. - - - - - - Base class for all log4net configuration attributes. - - - This is an abstract class that must be extended by - specific configurators. This attribute allows the - configurator to be parameterized by an assembly level - attribute. - - Nicko Cadell - Gert Driesen - - - - Constructor used by subclasses. - - the ordering priority for this configurator - - - The is used to order the configurator - attributes before they are invoked. Higher priority configurators are executed - before lower priority ones. - - - - - - Configures the for the specified assembly. - - The assembly that this attribute was defined on. - The repository to configure. - - - Abstract method implemented by a subclass. When this method is called - the subclass should configure the . - - - - - - Compare this instance to another ConfiguratorAttribute - - the object to compare to - see - - - Compares the priorities of the two instances. - Sorts by priority in descending order. Objects with the same priority are - randomly ordered. - - - - - - Assembly level attribute that specifies the logging domain for the assembly. - - - - DomainAttribute is obsolete. Use RepositoryAttribute instead of DomainAttribute. - - - Assemblies are mapped to logging domains. Each domain has its own - logging repository. This attribute specified on the assembly controls - the configuration of the domain. The property specifies the name - of the domain that this assembly is a part of. The - specifies the type of the repository objects to create for the domain. If - this attribute is not specified and a is not specified - then the assembly will be part of the default shared logging domain. - - - This attribute can only be specified on the assembly and may only be used - once per assembly. - - - Nicko Cadell - Gert Driesen - - - - Assembly level attribute that specifies the logging repository for the assembly. - - - - Assemblies are mapped to logging repository. This attribute specified - on the assembly controls - the configuration of the repository. The property specifies the name - of the repository that this assembly is a part of. The - specifies the type of the object - to create for the assembly. If this attribute is not specified or a - is not specified then the assembly will be part of the default shared logging repository. - - - This attribute can only be specified on the assembly and may only be used - once per assembly. - - - Nicko Cadell - Gert Driesen - - - - Initializes a new instance of the class. - - - - Default constructor. - - - - - - Initialize a new instance of the class - with the name of the repository. - - The name of the repository. - - - Initialize the attribute with the name for the assembly's repository. - - - - - - Gets or sets the name of the logging repository. - - - The string name to use as the name of the repository associated with this - assembly. - - - - This value does not have to be unique. Several assemblies can share the - same repository. They will share the logging configuration of the repository. - - - - - - Gets or sets the type of repository to create for this assembly. - - - The type of repository to create for this assembly. - - - - The type of the repository to create for the assembly. - The type must implement the - interface. - - - This will be the type of repository created when - the repository is created. If multiple assemblies reference the - same repository then the repository is only created once using the - of the first assembly to call into the - repository. - - - - - - Initializes a new instance of the class. - - - - Obsolete. Use RepositoryAttribute instead of DomainAttribute. - - - - - - Initialize a new instance of the class - with the name of the domain. - - The name of the domain. - - - Obsolete. Use RepositoryAttribute instead of DomainAttribute. - - - - - - Use this class to initialize the log4net environment using an Xml tree. - - - - DOMConfigurator is obsolete. Use XmlConfigurator instead of DOMConfigurator. - - - Configures a using an Xml tree. - - - Nicko Cadell - Gert Driesen - - - - Private constructor - - - - - Automatically configures the log4net system based on the - application's configuration settings. - - - - DOMConfigurator is obsolete. Use XmlConfigurator instead of DOMConfigurator. - - Each application has a configuration file. This has the - same name as the application with '.config' appended. - This file is XML and calling this function prompts the - configurator to look in that file for a section called - log4net that contains the configuration data. - - - - - Automatically configures the using settings - stored in the application's configuration file. - - - - DOMConfigurator is obsolete. Use XmlConfigurator instead of DOMConfigurator. - - Each application has a configuration file. This has the - same name as the application with '.config' appended. - This file is XML and calling this function prompts the - configurator to look in that file for a section called - log4net that contains the configuration data. - - The repository to configure. - - - - Configures log4net using a log4net element - - - - DOMConfigurator is obsolete. Use XmlConfigurator instead of DOMConfigurator. - - Loads the log4net configuration from the XML element - supplied as . - - The element to parse. - - - - Configures the using the specified XML - element. - - - - DOMConfigurator is obsolete. Use XmlConfigurator instead of DOMConfigurator. - - Loads the log4net configuration from the XML element - supplied as . - - The repository to configure. - The element to parse. - - - - Configures log4net using the specified configuration file. - - The XML file to load the configuration from. - - - DOMConfigurator is obsolete. Use XmlConfigurator instead of DOMConfigurator. - - - The configuration file must be valid XML. It must contain - at least one element called log4net that holds - the log4net configuration data. - - - The log4net configuration file can possible be specified in the application's - configuration file (either MyAppName.exe.config for a - normal application on Web.config for an ASP.NET application). - - - The following example configures log4net using a configuration file, of which the - location is stored in the application's configuration file : - - - using log4net.Config; - using System.IO; - using System.Configuration; - - ... - - DOMConfigurator.Configure(new FileInfo(ConfigurationSettings.AppSettings["log4net-config-file"])); - - - In the .config file, the path to the log4net can be specified like this : - - - - - - - - - - - - - Configures log4net using the specified configuration file. - - A stream to load the XML configuration from. - - - DOMConfigurator is obsolete. Use XmlConfigurator instead of DOMConfigurator. - - - The configuration data must be valid XML. It must contain - at least one element called log4net that holds - the log4net configuration data. - - - Note that this method will NOT close the stream parameter. - - - - - - Configures the using the specified configuration - file. - - The repository to configure. - The XML file to load the configuration from. - - - DOMConfigurator is obsolete. Use XmlConfigurator instead of DOMConfigurator. - - - The configuration file must be valid XML. It must contain - at least one element called log4net that holds - the configuration data. - - - The log4net configuration file can possible be specified in the application's - configuration file (either MyAppName.exe.config for a - normal application on Web.config for an ASP.NET application). - - - The following example configures log4net using a configuration file, of which the - location is stored in the application's configuration file : - - - using log4net.Config; - using System.IO; - using System.Configuration; - - ... - - DOMConfigurator.Configure(new FileInfo(ConfigurationSettings.AppSettings["log4net-config-file"])); - - - In the .config file, the path to the log4net can be specified like this : - - - - - - - - - - - - - Configures the using the specified configuration - file. - - The repository to configure. - The stream to load the XML configuration from. - - - DOMConfigurator is obsolete. Use XmlConfigurator instead of DOMConfigurator. - - - The configuration data must be valid XML. It must contain - at least one element called log4net that holds - the configuration data. - - - Note that this method will NOT close the stream parameter. - - - - - - Configures log4net using the file specified, monitors the file for changes - and reloads the configuration if a change is detected. - - The XML file to load the configuration from. - - - DOMConfigurator is obsolete. Use XmlConfigurator instead of DOMConfigurator. - - - The configuration file must be valid XML. It must contain - at least one element called log4net that holds - the configuration data. - - - The configuration file will be monitored using a - and depends on the behavior of that class. - - - For more information on how to configure log4net using - a separate configuration file, see . - - - - - - - Configures the using the file specified, - monitors the file for changes and reloads the configuration if a change - is detected. - - The repository to configure. - The XML file to load the configuration from. - - - DOMConfigurator is obsolete. Use XmlConfigurator instead of DOMConfigurator. - - - The configuration file must be valid XML. It must contain - at least one element called log4net that holds - the configuration data. - - - The configuration file will be monitored using a - and depends on the behavior of that class. - - - For more information on how to configure log4net using - a separate configuration file, see . - - - - - - - Assembly level attribute to configure the . - - - - AliasDomainAttribute is obsolete. Use AliasRepositoryAttribute instead of AliasDomainAttribute. - - - This attribute may only be used at the assembly scope and can only - be used once per assembly. - - - Use this attribute to configure the - without calling one of the - methods. - - - Nicko Cadell - Gert Driesen - - - - Assembly level attribute to configure the . - - - - This attribute may only be used at the assembly scope and can only - be used once per assembly. - - - Use this attribute to configure the - without calling one of the - methods. - - - If neither of the or - properties are set the configuration is loaded from the application's .config file. - If set the property takes priority over the - property. The property - specifies a path to a file to load the config from. The path is relative to the - application's base directory; . - The property is used as a postfix to the assembly file name. - The config file must be located in the application's base directory; . - For example in a console application setting the to - config has the same effect as not specifying the or - properties. - - - The property can be set to cause the - to watch the configuration file for changes. - - - - Log4net will only look for assembly level configuration attributes once. - When using the log4net assembly level attributes to control the configuration - of log4net you must ensure that the first call to any of the - methods is made from the assembly with the configuration - attributes. - - - If you cannot guarantee the order in which log4net calls will be made from - different assemblies you must use programmatic configuration instead, i.e. - call the method directly. - - - - Nicko Cadell - Gert Driesen - - - - Default constructor - - - - Default constructor - - - - - - Configures the for the specified assembly. - - The assembly that this attribute was defined on. - The repository to configure. - - - Configure the repository using the . - The specified must extend the - class otherwise the will not be able to - configure it. - - - The does not extend . - - - - Attempt to load configuration from the local file system - - The assembly that this attribute was defined on. - The repository to configure. - - - - Configure the specified repository using a - - The repository to configure. - the FileInfo pointing to the config file - - - - Attempt to load configuration from a URI - - The assembly that this attribute was defined on. - The repository to configure. - - - - Gets or sets the filename of the configuration file. - - - The filename of the configuration file. - - - - If specified, this is the name of the configuration file to use with - the . This file path is relative to the - application base directory (). - - - The takes priority over the . - - - - - - Gets or sets the extension of the configuration file. - - - The extension of the configuration file. - - - - If specified this is the extension for the configuration file. - The path to the config file is built by using the application - base directory (), - the assembly file name and the config file extension. - - - If the is set to MyExt then - possible config file names would be: MyConsoleApp.exe.MyExt or - MyClassLibrary.dll.MyExt. - - - The takes priority over the . - - - - - - Gets or sets a value indicating whether to watch the configuration file. - - - true if the configuration should be watched, false otherwise. - - - - If this flag is specified and set to true then the framework - will watch the configuration file and will reload the config each time - the file is modified. - - - The config file can only be watched if it is loaded from local disk. - In a No-Touch (Smart Client) deployment where the application is downloaded - from a web server the config file may not reside on the local disk - and therefore it may not be able to watch it. - - - Watching configuration is not supported on the SSCLI. - - - - - - Class to register for the log4net section of the configuration file - - - The log4net section of the configuration file needs to have a section - handler registered. This is the section handler used. It simply returns - the XML element that is the root of the section. - - - Example of registering the log4net section handler : - - - -
- - - log4net configuration XML goes here - - - - - Nicko Cadell - Gert Driesen - - - - Initializes a new instance of the class. - - - - Default constructor. - - - - - - Parses the configuration section. - - The configuration settings in a corresponding parent configuration section. - The configuration context when called from the ASP.NET configuration system. Otherwise, this parameter is reserved and is a null reference. - The for the log4net section. - The for the log4net section. - - - Returns the containing the configuration data, - - - - - - Assembly level attribute that specifies a plugin to attach to - the repository. - - - - Specifies the type of a plugin to create and attach to the - assembly's repository. The plugin type must implement the - interface. - - - Nicko Cadell - Gert Driesen - - - - Interface used to create plugins. - - - - Interface used to create a plugin. - - - Nicko Cadell - Gert Driesen - - - - Creates the plugin object. - - the new plugin instance - - - Create and return a new plugin instance. - - - - - - Initializes a new instance of the class - with the specified type. - - The type name of plugin to create. - - - Create the attribute with the plugin type specified. - - - Where possible use the constructor that takes a . - - - - - - Initializes a new instance of the class - with the specified type. - - The type of plugin to create. - - - Create the attribute with the plugin type specified. - - - - - - Creates the plugin object defined by this attribute. - - - - Creates the instance of the object as - specified by this attribute. - - - The plugin object. - - - - Returns a representation of the properties of this object. - - - - Overrides base class method to - return a representation of the properties of this object. - - - A representation of the properties of this object - - - - Gets or sets the type for the plugin. - - - The type for the plugin. - - - - The type for the plugin. - - - - - - Gets or sets the type name for the plugin. - - - The type name for the plugin. - - - - The type name for the plugin. - - - Where possible use the property instead. - - - - - - Assembly level attribute to configure the . - - - - This attribute may only be used at the assembly scope and can only - be used once per assembly. - - - Use this attribute to configure the - without calling one of the - methods. - - - Nicko Cadell - - - - Construct provider attribute with type specified - - the type of the provider to use - - - The provider specified must subclass the - class. - - - - - - Configures the SecurityContextProvider - - The assembly that this attribute was defined on. - The repository to configure. - - - Creates a provider instance from the specified. - Sets this as the default security context provider . - - - - - - Gets or sets the type of the provider to use. - - - the type of the provider to use. - - - - The provider specified must subclass the - class. - - - - - - Use this class to initialize the log4net environment using an Xml tree. - - - - Configures a using an Xml tree. - - - Nicko Cadell - Gert Driesen - - - - Private constructor - - - - - Automatically configures the log4net system based on the - application's configuration settings. - - - - Each application has a configuration file. This has the - same name as the application with '.config' appended. - This file is XML and calling this function prompts the - configurator to look in that file for a section called - log4net that contains the configuration data. - - - To use this method to configure log4net you must specify - the section - handler for the log4net configuration section. See the - for an example. - - - - - - - Automatically configures the using settings - stored in the application's configuration file. - - - - Each application has a configuration file. This has the - same name as the application with '.config' appended. - This file is XML and calling this function prompts the - configurator to look in that file for a section called - log4net that contains the configuration data. - - - To use this method to configure log4net you must specify - the section - handler for the log4net configuration section. See the - for an example. - - - The repository to configure. - - - - Configures log4net using a log4net element - - - - Loads the log4net configuration from the XML element - supplied as . - - - The element to parse. - - - - Configures the using the specified XML - element. - - - Loads the log4net configuration from the XML element - supplied as . - - The repository to configure. - The element to parse. - - - - Configures log4net using the specified configuration file. - - The XML file to load the configuration from. - - - The configuration file must be valid XML. It must contain - at least one element called log4net that holds - the log4net configuration data. - - - The log4net configuration file can possible be specified in the application's - configuration file (either MyAppName.exe.config for a - normal application on Web.config for an ASP.NET application). - - - The first element matching <configuration> will be read as the - configuration. If this file is also a .NET .config file then you must specify - a configuration section for the log4net element otherwise .NET will - complain. Set the type for the section handler to , for example: - - -
- - - - - The following example configures log4net using a configuration file, of which the - location is stored in the application's configuration file : - - - using log4net.Config; - using System.IO; - using System.Configuration; - - ... - - XmlConfigurator.Configure(new FileInfo(ConfigurationSettings.AppSettings["log4net-config-file"])); - - - In the .config file, the path to the log4net can be specified like this : - - - - - - - - - - - - - Configures log4net using the specified configuration URI. - - A URI to load the XML configuration from. - - - The configuration data must be valid XML. It must contain - at least one element called log4net that holds - the log4net configuration data. - - - The must support the URI scheme specified. - - - - - - Configures log4net using the specified configuration data stream. - - A stream to load the XML configuration from. - - - The configuration data must be valid XML. It must contain - at least one element called log4net that holds - the log4net configuration data. - - - Note that this method will NOT close the stream parameter. - - - - - - Configures the using the specified configuration - file. - - The repository to configure. - The XML file to load the configuration from. - - - The configuration file must be valid XML. It must contain - at least one element called log4net that holds - the configuration data. - - - The log4net configuration file can possible be specified in the application's - configuration file (either MyAppName.exe.config for a - normal application on Web.config for an ASP.NET application). - - - The first element matching <configuration> will be read as the - configuration. If this file is also a .NET .config file then you must specify - a configuration section for the log4net element otherwise .NET will - complain. Set the type for the section handler to , for example: - - -
- - - - - The following example configures log4net using a configuration file, of which the - location is stored in the application's configuration file : - - - using log4net.Config; - using System.IO; - using System.Configuration; - - ... - - XmlConfigurator.Configure(new FileInfo(ConfigurationSettings.AppSettings["log4net-config-file"])); - - - In the .config file, the path to the log4net can be specified like this : - - - - - - - - - - - - - Configures the using the specified configuration - URI. - - The repository to configure. - A URI to load the XML configuration from. - - - The configuration data must be valid XML. It must contain - at least one element called log4net that holds - the configuration data. - - - The must support the URI scheme specified. - - - - - - Configures the using the specified configuration - file. - - The repository to configure. - The stream to load the XML configuration from. - - - The configuration data must be valid XML. It must contain - at least one element called log4net that holds - the configuration data. - - - Note that this method will NOT close the stream parameter. - - - - - - Configures log4net using the file specified, monitors the file for changes - and reloads the configuration if a change is detected. - - The XML file to load the configuration from. - - - The configuration file must be valid XML. It must contain - at least one element called log4net that holds - the configuration data. - - - The configuration file will be monitored using a - and depends on the behavior of that class. - - - For more information on how to configure log4net using - a separate configuration file, see . - - - - - - - Configures the using the file specified, - monitors the file for changes and reloads the configuration if a change - is detected. - - The repository to configure. - The XML file to load the configuration from. - - - The configuration file must be valid XML. It must contain - at least one element called log4net that holds - the configuration data. - - - The configuration file will be monitored using a - and depends on the behavior of that class. - - - For more information on how to configure log4net using - a separate configuration file, see . - - - - - - - Configures the specified repository using a log4net element. - - The hierarchy to configure. - The element to parse. - - - Loads the log4net configuration from the XML element - supplied as . - - - This method is ultimately called by one of the Configure methods - to load the configuration from an . - - - - - - Class used to watch config files. - - - - Uses the to monitor - changes to a specified file. Because multiple change notifications - may be raised when the file is modified, a timer is used to - compress the notifications into a single event. The timer - waits for time before delivering - the event notification. If any further - change notifications arrive while the timer is waiting it - is reset and waits again for to - elapse. - - - - - - The default amount of time to wait after receiving notification - before reloading the config file. - - - - - Watch a specified config file used to configure a repository - - The repository to configure. - The configuration file to watch. - - - Watch a specified config file used to configure a repository - - - - - - Holds the FileInfo used to configure the XmlConfigurator - - - - - Holds the repository being configured. - - - - - The timer used to compress the notification events. - - - - - Initializes a new instance of the class. - - The repository to configure. - The configuration file to watch. - - - Initializes a new instance of the class. - - - - - - Event handler used by . - - The firing the event. - The argument indicates the file that caused the event to be fired. - - - This handler reloads the configuration from the file when the event is fired. - - - - - - Event handler used by . - - The firing the event. - The argument indicates the file that caused the event to be fired. - - - This handler reloads the configuration from the file when the event is fired. - - - - - - Called by the timer when the configuration has been updated. - - null - - - - The implementation of the interface suitable - for use with the compact framework - - - - This implementation is a simple - mapping between repository name and - object. - - - The .NET Compact Framework 1.0 does not support retrieving assembly - level attributes therefore unlike the DefaultRepositorySelector - this selector does not examine the calling assembly for attributes. - - - Nicko Cadell - - - - Interface used by the to select the . - - - - The uses a - to specify the policy for selecting the correct - to return to the caller. - - - Nicko Cadell - Gert Driesen - - - - Gets the for the specified assembly. - - The assembly to use to lookup to the - The for the assembly. - - - Gets the for the specified assembly. - - - How the association between and - is made is not defined. The implementation may choose any method for - this association. The results of this method must be repeatable, i.e. - when called again with the same arguments the result must be the - save value. - - - - - - Gets the named . - - The name to use to lookup to the . - The named - - Lookup a named . This is the repository created by - calling . - - - - - Creates a new repository for the assembly specified. - - The assembly to use to create the domain to associate with the . - The type of repository to create, must implement . - The repository created. - - - The created will be associated with the domain - specified such that a call to with the - same assembly specified will return the same repository instance. - - - How the association between and - is made is not defined. The implementation may choose any method for - this association. - - - - - - Creates a new repository with the name specified. - - The name to associate with the . - The type of repository to create, must implement . - The repository created. - - - The created will be associated with the name - specified such that a call to with the - same name will return the same repository instance. - - - - - - Test if a named repository exists - - the named repository to check - true if the repository exists - - - Test if a named repository exists. Use - to create a new repository and to retrieve - a repository. - - - - - - Gets an array of all currently defined repositories. - - - An array of the instances created by - this . - - - Gets an array of all of the repositories created by this selector. - - - - - - Event to notify that a logger repository has been created. - - - Event to notify that a logger repository has been created. - - - - Event raised when a new repository is created. - The event source will be this selector. The event args will - be a which - holds the newly created . - - - - - - Create a new repository selector - - the type of the repositories to create, must implement - - - Create an new compact repository selector. - The default type for repositories must be specified, - an appropriate value would be . - - - throw if is null - throw if does not implement - - - - Get the for the specified assembly - - not used - The default - - - The argument is not used. This selector does not create a - separate repository for each assembly. - - - As a named repository is not specified the default repository is - returned. The default repository is named log4net-default-repository. - - - - - - Get the named - - the name of the repository to lookup - The named - - - Get the named . The default - repository is log4net-default-repository. Other repositories - must be created using the . - If the named repository does not exist an exception is thrown. - - - throw if is null - throw if the does not exist - - - - Create a new repository for the assembly specified - - not used - the type of repository to create, must implement - the repository created - - - The argument is not used. This selector does not create a - separate repository for each assembly. - - - If the is null then the - default repository type specified to the constructor is used. - - - As a named repository is not specified the default repository is - returned. The default repository is named log4net-default-repository. - - - - - - Create a new repository for the repository specified - - the repository to associate with the - the type of repository to create, must implement . - If this param is null then the default repository type is used. - the repository created - - - The created will be associated with the repository - specified such that a call to with the - same repository specified will return the same repository instance. - - - If the named repository already exists an exception will be thrown. - - - If is null then the default - repository type specified to the constructor is used. - - - throw if is null - throw if the already exists - - - - Test if a named repository exists - - the named repository to check - true if the repository exists - - - Test if a named repository exists. Use - to create a new repository and to retrieve - a repository. - - - - - - Gets a list of objects - - an array of all known objects - - - Gets an array of all of the repositories created by this selector. - - - - - - Notify the registered listeners that the repository has been created - - The repository that has been created - - - Raises the LoggerRepositoryCreatedEvent - event. - - - - - - Event to notify that a logger repository has been created. - - - Event to notify that a logger repository has been created. - - - - Event raised when a new repository is created. - The event source will be this selector. The event args will - be a which - holds the newly created . - - - - - - The default implementation of the interface. - - - - Uses attributes defined on the calling assembly to determine how to - configure the hierarchy for the repository. - - - Nicko Cadell - Gert Driesen - - - - Creates a new repository selector. - - The type of the repositories to create, must implement - - - Create an new repository selector. - The default type for repositories must be specified, - an appropriate value would be . - - - is . - does not implement . - - - - Gets the for the specified assembly. - - The assembly use to lookup the . - - - The type of the created and the repository - to create can be overridden by specifying the - attribute on the . - - - The default values are to use the - implementation of the interface and to use the - as the name of the repository. - - - The created will be automatically configured using - any attributes defined on - the . - - - The for the assembly - is . - - - - Gets the for the specified repository. - - The repository to use to lookup the . - The for the specified repository. - - - Returns the named repository. If is null - a is thrown. If the repository - does not exist a is thrown. - - - Use to create a repository. - - - is . - does not exist. - - - - Create a new repository for the assembly specified - - the assembly to use to create the repository to associate with the . - The type of repository to create, must implement . - The repository created. - - - The created will be associated with the repository - specified such that a call to with the - same assembly specified will return the same repository instance. - - - The type of the created and - the repository to create can be overridden by specifying the - attribute on the - . The default values are to use the - implementation of the - interface and to use the - as the name of the repository. - - - The created will be automatically - configured using any - attributes defined on the . - - - If a repository for the already exists - that repository will be returned. An error will not be raised and that - repository may be of a different type to that specified in . - Also the attribute on the - assembly may be used to override the repository type specified in - . - - - is . - - - - Creates a new repository for the assembly specified. - - the assembly to use to create the repository to associate with the . - The type of repository to create, must implement . - The name to assign to the created repository - Set to true to read and apply the assembly attributes - The repository created. - - - The created will be associated with the repository - specified such that a call to with the - same assembly specified will return the same repository instance. - - - The type of the created and - the repository to create can be overridden by specifying the - attribute on the - . The default values are to use the - implementation of the - interface and to use the - as the name of the repository. - - - The created will be automatically - configured using any - attributes defined on the . - - - If a repository for the already exists - that repository will be returned. An error will not be raised and that - repository may be of a different type to that specified in . - Also the attribute on the - assembly may be used to override the repository type specified in - . - - - is . - - - - Creates a new repository for the specified repository. - - The repository to associate with the . - The type of repository to create, must implement . - If this param is then the default repository type is used. - The new repository. - - - The created will be associated with the repository - specified such that a call to with the - same repository specified will return the same repository instance. - - - is . - already exists. - - - - Test if a named repository exists - - the named repository to check - true if the repository exists - - - Test if a named repository exists. Use - to create a new repository and to retrieve - a repository. - - - - - - Gets a list of objects - - an array of all known objects - - - Gets an array of all of the repositories created by this selector. - - - - - - Aliases a repository to an existing repository. - - The repository to alias. - The repository that the repository is aliased to. - - - The repository specified will be aliased to the repository when created. - The repository must not already exist. - - - When the repository is created it must utilize the same repository type as - the repository it is aliased to, otherwise the aliasing will fail. - - - - is . - -or- - is . - - - - - Notifies the registered listeners that the repository has been created. - - The repository that has been created. - - - Raises the event. - - - - - - Gets the repository name and repository type for the specified assembly. - - The assembly that has a . - in/out param to hold the repository name to use for the assembly, caller should set this to the default value before calling. - in/out param to hold the type of the repository to create for the assembly, caller should set this to the default value before calling. - is . - - - - Configures the repository using information from the assembly. - - The assembly containing - attributes which define the configuration for the repository. - The repository to configure. - - is . - -or- - is . - - - - - Loads the attribute defined plugins on the assembly. - - The assembly that contains the attributes. - The repository to add the plugins to. - - is . - -or- - is . - - - - - Loads the attribute defined aliases on the assembly. - - The assembly that contains the attributes. - The repository to alias to. - - is . - -or- - is . - - - - - Event to notify that a logger repository has been created. - - - Event to notify that a logger repository has been created. - - - - Event raised when a new repository is created. - The event source will be this selector. The event args will - be a which - holds the newly created . - - - - - - Defined error codes that can be passed to the method. - - - - Values passed to the method. - - - Nicko Cadell - - - - A general error - - - - - Error while writing output - - - - - Failed to flush file - - - - - Failed to close file - - - - - Unable to open output file - - - - - No layout specified - - - - - Failed to parse address - - - - - Appenders may delegate their error handling to an . - - - - Error handling is a particularly tedious to get right because by - definition errors are hard to predict and to reproduce. - - - Nicko Cadell - Gert Driesen - - - - Handles the error and information about the error condition is passed as - a parameter. - - The message associated with the error. - The that was thrown when the error occurred. - The error code associated with the error. - - - Handles the error and information about the error condition is passed as - a parameter. - - - - - - Prints the error message passed as a parameter. - - The message associated with the error. - The that was thrown when the error occurred. - - - See . - - - - - - Prints the error message passed as a parameter. - - The message associated with the error. - - - See . - - - - - - Interface for objects that require fixing. - - - - Interface that indicates that the object requires fixing before it - can be taken outside the context of the appender's - method. - - - When objects that implement this interface are stored - in the context properties maps - and - are fixed - (see ) the - method will be called. - - - Nicko Cadell - - - - Get a portable version of this object - - the portable instance of this object - - - Get a portable instance object that represents the current - state of this object. The portable object can be stored - and logged from any thread with identical results. - - - - - - Interface that all loggers implement - - - - This interface supports logging events and testing if a level - is enabled for logging. - - - These methods will not throw exceptions. Note to implementor, ensure - that the implementation of these methods cannot allow an exception - to be thrown to the caller. - - - Nicko Cadell - Gert Driesen - - - - This generic form is intended to be used by wrappers. - - The declaring type of the method that is - the stack boundary into the logging system for this call. - The level of the message to be logged. - The message object to log. - the exception to log, including its stack trace. Pass null to not log an exception. - - - Generates a logging event for the specified using - the and . - - - - - - This is the most generic printing method that is intended to be used - by wrappers. - - The event being logged. - - - Logs the specified logging event through this logger. - - - - - - Checks if this logger is enabled for a given passed as parameter. - - The level to check. - - true if this logger is enabled for level, otherwise false. - - - - Test if this logger is going to log events of the specified . - - - - - - Gets the name of the logger. - - - The name of the logger. - - - - The name of this logger - - - - - - Gets the where this - Logger instance is attached to. - - - The that this logger belongs to. - - - - Gets the where this - Logger instance is attached to. - - - - - - Base interface for all wrappers - - - - Base interface for all wrappers. - - - All wrappers must implement this interface. - - - Nicko Cadell - - - - Get the implementation behind this wrapper object. - - - The object that in implementing this object. - - - - The object that in implementing this - object. The Logger object may not - be the same object as this object because of logger decorators. - This gets the actual underlying objects that is used to process - the log events. - - - - - - Delegate used to handle logger repository creation event notifications - - The which created the repository. - The event args - that holds the instance that has been created. - - - Delegate used to handle logger repository creation event notifications. - - - - - - Provides data for the event. - - - - A - event is raised every time a is created. - - - - - - The created - - - - - Construct instance using specified - - the that has been created - - - Construct instance using specified - - - - - - The that has been created - - - The that has been created - - - - The that has been created - - - - - - Test if an triggers an action - - - - Implementations of this interface allow certain appenders to decide - when to perform an appender specific action. - - - The action or behavior triggered is defined by the implementation. - - - Nicko Cadell - - - - Test if this event triggers the action - - The event to check - true if this event triggers the action, otherwise false - - - Return true if this event triggers the action - - - - - - Defines the default set of levels recognized by the system. - - - - Each has an associated . - - - Levels have a numeric that defines the relative - ordering between levels. Two Levels with the same - are deemed to be equivalent. - - - The levels that are recognized by log4net are set for each - and each repository can have different levels defined. The levels are stored - in the on the repository. Levels are - looked up by name from the . - - - When logging at level INFO the actual level used is not but - the value of LoggerRepository.LevelMap["INFO"]. The default value for this is - , but this can be changed by reconfiguring the level map. - - - Each level has a in addition to its . The - is the string that is written into the output log. By default - the display name is the same as the level name, but this can be used to alias levels - or to localize the log output. - - - Some of the predefined levels recognized by the system are: - - - - . - - - . - - - . - - - . - - - . - - - . - - - . - - - - Nicko Cadell - Gert Driesen - - - - Constructor - - Integer value for this level, higher values represent more severe levels. - The string name of this level. - The display name for this level. This may be localized or otherwise different from the name - - - Initializes a new instance of the class with - the specified level name and value. - - - - - - Constructor - - Integer value for this level, higher values represent more severe levels. - The string name of this level. - - - Initializes a new instance of the class with - the specified level name and value. - - - - - - Returns the representation of the current - . - - - A representation of the current . - - - - Returns the level . - - - - - - Compares levels. - - The object to compare against. - true if the objects are equal. - - - Compares the levels of instances, and - defers to base class if the target object is not a - instance. - - - - - - Returns a hash code - - A hash code for the current . - - - Returns a hash code suitable for use in hashing algorithms and data - structures like a hash table. - - - Returns the hash code of the level . - - - - - - Compares this instance to a specified object and returns an - indication of their relative values. - - A instance or to compare with this instance. - - A 32-bit signed integer that indicates the relative order of the - values compared. The return value has these meanings: - - - Value - Meaning - - - Less than zero - This instance is less than . - - - Zero - This instance is equal to . - - - Greater than zero - - This instance is greater than . - -or- - is . - - - - - - - must be an instance of - or ; otherwise, an exception is thrown. - - - is not a . - - - - Returns a value indicating whether a specified - is greater than another specified . - - A - A - - true if is greater than - ; otherwise, false. - - - - Compares two levels. - - - - - - Returns a value indicating whether a specified - is less than another specified . - - A - A - - true if is less than - ; otherwise, false. - - - - Compares two levels. - - - - - - Returns a value indicating whether a specified - is greater than or equal to another specified . - - A - A - - true if is greater than or equal to - ; otherwise, false. - - - - Compares two levels. - - - - - - Returns a value indicating whether a specified - is less than or equal to another specified . - - A - A - - true if is less than or equal to - ; otherwise, false. - - - - Compares two levels. - - - - - - Returns a value indicating whether two specified - objects have the same value. - - A or . - A or . - - true if the value of is the same as the - value of ; otherwise, false. - - - - Compares two levels. - - - - - - Returns a value indicating whether two specified - objects have different values. - - A or . - A or . - - true if the value of is different from - the value of ; otherwise, false. - - - - Compares two levels. - - - - - - Compares two specified instances. - - The first to compare. - The second to compare. - - A 32-bit signed integer that indicates the relative order of the - two values compared. The return value has these meanings: - - - Value - Meaning - - - Less than zero - is less than . - - - Zero - is equal to . - - - Greater than zero - is greater than . - - - - - - Compares two levels. - - - - - - The level designates a higher level than all the rest. - - - - - The level designates very severe error events. - System unusable, emergencies. - - - - - The level designates very severe error events - that will presumably lead the application to abort. - - - - - The level designates very severe error events. - Take immediate action, alerts. - - - - - The level designates very severe error events. - Critical condition, critical. - - - - - The level designates very severe error events. - - - - - The level designates error events that might - still allow the application to continue running. - - - - - The level designates potentially harmful - situations. - - - - - The level designates informational messages - that highlight the progress of the application at the highest level. - - - - - The level designates informational messages that - highlight the progress of the application at coarse-grained level. - - - - - The level designates fine-grained informational - events that are most useful to debug an application. - - - - - The level designates fine-grained informational - events that are most useful to debug an application. - - - - - The level designates fine-grained informational - events that are most useful to debug an application. - - - - - The level designates fine-grained informational - events that are most useful to debug an application. - - - - - The level designates fine-grained informational - events that are most useful to debug an application. - - - - - The level designates fine-grained informational - events that are most useful to debug an application. - - - - - The level designates the lowest level possible. - - - - - Gets the name of this level. - - - The name of this level. - - - - Gets the name of this level. - - - - - - Gets the value of this level. - - - The value of this level. - - - - Gets the value of this level. - - - - - - Gets the display name of this level. - - - The display name of this level. - - - - Gets the display name of this level. - - - - - - A strongly-typed collection of objects. - - Nicko Cadell - - - - Creates a read-only wrapper for a LevelCollection instance. - - list to create a readonly wrapper arround - - A LevelCollection wrapper that is read-only. - - - - - Initializes a new instance of the LevelCollection class - that is empty and has the default initial capacity. - - - - - Initializes a new instance of the LevelCollection class - that has the specified initial capacity. - - - The number of elements that the new LevelCollection is initially capable of storing. - - - - - Initializes a new instance of the LevelCollection class - that contains elements copied from the specified LevelCollection. - - The LevelCollection whose elements are copied to the new collection. - - - - Initializes a new instance of the LevelCollection class - that contains elements copied from the specified array. - - The array whose elements are copied to the new list. - - - - Initializes a new instance of the LevelCollection class - that contains elements copied from the specified collection. - - The collection whose elements are copied to the new list. - - - - Allow subclasses to avoid our default constructors - - - - - - Copies the entire LevelCollection to a one-dimensional - array. - - The one-dimensional array to copy to. - - - - Copies the entire LevelCollection to a one-dimensional - array, starting at the specified index of the target array. - - The one-dimensional array to copy to. - The zero-based index in at which copying begins. - - - - Adds a to the end of the LevelCollection. - - The to be added to the end of the LevelCollection. - The index at which the value has been added. - - - - Removes all elements from the LevelCollection. - - - - - Creates a shallow copy of the . - - A new with a shallow copy of the collection data. - - - - Determines whether a given is in the LevelCollection. - - The to check for. - true if is found in the LevelCollection; otherwise, false. - - - - Returns the zero-based index of the first occurrence of a - in the LevelCollection. - - The to locate in the LevelCollection. - - The zero-based index of the first occurrence of - in the entire LevelCollection, if found; otherwise, -1. - - - - - Inserts an element into the LevelCollection at the specified index. - - The zero-based index at which should be inserted. - The to insert. - - is less than zero - -or- - is equal to or greater than . - - - - - Removes the first occurrence of a specific from the LevelCollection. - - The to remove from the LevelCollection. - - The specified was not found in the LevelCollection. - - - - - Removes the element at the specified index of the LevelCollection. - - The zero-based index of the element to remove. - - is less than zero - -or- - is equal to or greater than . - - - - - Returns an enumerator that can iterate through the LevelCollection. - - An for the entire LevelCollection. - - - - Adds the elements of another LevelCollection to the current LevelCollection. - - The LevelCollection whose elements should be added to the end of the current LevelCollection. - The new of the LevelCollection. - - - - Adds the elements of a array to the current LevelCollection. - - The array whose elements should be added to the end of the LevelCollection. - The new of the LevelCollection. - - - - Adds the elements of a collection to the current LevelCollection. - - The collection whose elements should be added to the end of the LevelCollection. - The new of the LevelCollection. - - - - Sets the capacity to the actual number of elements. - - - - - is less than zero - -or- - is equal to or greater than . - - - - - is less than zero - -or- - is equal to or greater than . - - - - - Gets the number of elements actually contained in the LevelCollection. - - - - - Gets a value indicating whether access to the collection is synchronized (thread-safe). - - true if access to the ICollection is synchronized (thread-safe); otherwise, false. - - - - Gets an object that can be used to synchronize access to the collection. - - - - - Gets or sets the at the specified index. - - The zero-based index of the element to get or set. - - is less than zero - -or- - is equal to or greater than . - - - - - Gets a value indicating whether the collection has a fixed size. - - true if the collection has a fixed size; otherwise, false. The default is false - - - - Gets a value indicating whether the IList is read-only. - - true if the collection is read-only; otherwise, false. The default is false - - - - Gets or sets the number of elements the LevelCollection can contain. - - - - - Supports type-safe iteration over a . - - - - - Advances the enumerator to the next element in the collection. - - - true if the enumerator was successfully advanced to the next element; - false if the enumerator has passed the end of the collection. - - - The collection was modified after the enumerator was created. - - - - - Sets the enumerator to its initial position, before the first element in the collection. - - - - - Gets the current element in the collection. - - - - - Type visible only to our subclasses - Used to access protected constructor - - - - - A value - - - - - Supports simple iteration over a . - - - - - Initializes a new instance of the Enumerator class. - - - - - - Advances the enumerator to the next element in the collection. - - - true if the enumerator was successfully advanced to the next element; - false if the enumerator has passed the end of the collection. - - - The collection was modified after the enumerator was created. - - - - - Sets the enumerator to its initial position, before the first element in the collection. - - - - - Gets the current element in the collection. - - - - - An evaluator that triggers at a threshold level - - - - This evaluator will trigger if the level of the event - passed to - is equal to or greater than the - level. - - - Nicko Cadell - - - - The threshold for triggering - - - - - Create a new evaluator using the threshold. - - - - Create a new evaluator using the threshold. - - - This evaluator will trigger if the level of the event - passed to - is equal to or greater than the - level. - - - - - - Create a new evaluator using the specified threshold. - - the threshold to trigger at - - - Create a new evaluator using the specified threshold. - - - This evaluator will trigger if the level of the event - passed to - is equal to or greater than the - level. - - - - - - Is this the triggering event? - - The event to check - This method returns true, if the event level - is equal or higher than the . - Otherwise it returns false - - - This evaluator will trigger if the level of the event - passed to - is equal to or greater than the - level. - - - - - - the threshold to trigger at - - - The that will cause this evaluator to trigger - - - - This evaluator will trigger if the level of the event - passed to - is equal to or greater than the - level. - - - - - - Mapping between string name and Level object - - - - Mapping between string name and object. - This mapping is held separately for each . - The level name is case insensitive. - - - Nicko Cadell - - - - Mapping from level name to Level object. The - level name is case insensitive - - - - - Construct the level map - - - - Construct the level map. - - - - - - Clear the internal maps of all levels - - - - Clear the internal maps of all levels - - - - - - Create a new Level and add it to the map - - the string to display for the Level - the level value to give to the Level - - - Create a new Level and add it to the map - - - - - - - Create a new Level and add it to the map - - the string to display for the Level - the level value to give to the Level - the display name to give to the Level - - - Create a new Level and add it to the map - - - - - - Add a Level to the map - - the Level to add - - - Add a Level to the map - - - - - - Lookup a named level from the map - - the name of the level to lookup is taken from this level. - If the level is not set on the map then this level is added - the level in the map with the name specified - - - Lookup a named level from the map. The name of the level to lookup is taken - from the property of the - argument. - - - If no level with the specified name is found then the - argument is added to the level map - and returned. - - - - - - Lookup a by name - - The name of the Level to lookup - a Level from the map with the name specified - - - Returns the from the - map with the name specified. If the no level is - found then null is returned. - - - - - - Return all possible levels as a list of Level objects. - - all possible levels as a list of Level objects - - - Return all possible levels as a list of Level objects. - - - - - - The internal representation of caller location information. - - - - This class uses the System.Diagnostics.StackTrace class to generate - a call stack. The caller's information is then extracted from this stack. - - - The System.Diagnostics.StackTrace class is not supported on the - .NET Compact Framework 1.0 therefore caller location information is not - available on that framework. - - - The System.Diagnostics.StackTrace class has this to say about Release builds: - - - "StackTrace information will be most informative with Debug build configurations. - By default, Debug builds include debug symbols, while Release builds do not. The - debug symbols contain most of the file, method name, line number, and column - information used in constructing StackFrame and StackTrace objects. StackTrace - might not report as many method calls as expected, due to code transformations - that occur during optimization." - - - This means that in a Release build the caller information may be incomplete or may - not exist at all! Therefore caller location information cannot be relied upon in a Release build. - - - Nicko Cadell - Gert Driesen - - - - When location information is not available the constant - NA is returned. Current value of this string - constant is ?. - - - - - Constructor - - The declaring type of the method that is - the stack boundary into the logging system for this call. - - - Initializes a new instance of the - class based on the current thread. - - - - - - Constructor - - The fully qualified class name. - The method name. - The file name. - The line number of the method within the file. - - - Initializes a new instance of the - class with the specified data. - - - - - - Gets the fully qualified class name of the caller making the logging - request. - - - The fully qualified class name of the caller making the logging - request. - - - - Gets the fully qualified class name of the caller making the logging - request. - - - - - - Gets the file name of the caller. - - - The file name of the caller. - - - - Gets the file name of the caller. - - - - - - Gets the line number of the caller. - - - The line number of the caller. - - - - Gets the line number of the caller. - - - - - - Gets the method name of the caller. - - - The method name of the caller. - - - - Gets the method name of the caller. - - - - - - Gets all available caller information - - - All available caller information, in the format - fully.qualified.classname.of.caller.methodName(Filename:line) - - - - Gets all available caller information, in the format - fully.qualified.classname.of.caller.methodName(Filename:line) - - - - - - Static manager that controls the creation of repositories - - - - Static manager that controls the creation of repositories - - - This class is used by the wrapper managers (e.g. ) - to provide access to the objects. - - - This manager also holds the that is used to - lookup and create repositories. The selector can be set either programmatically using - the property, or by setting the log4net.RepositorySelector - AppSetting in the applications config file to the fully qualified type name of the - selector to use. - - - Nicko Cadell - Gert Driesen - - - - Private constructor to prevent instances. Only static methods should be used. - - - - Private constructor to prevent instances. Only static methods should be used. - - - - - - Hook the shutdown event - - - - On the full .NET runtime, the static constructor hooks up the - AppDomain.ProcessExit and AppDomain.DomainUnload> events. - These are used to shutdown the log4net system as the application exits. - - - - - - Register for ProcessExit and DomainUnload events on the AppDomain - - - - This needs to be in a separate method because the events make - a LinkDemand for the ControlAppDomain SecurityPermission. Because - this is a LinkDemand it is demanded at JIT time. Therefore we cannot - catch the exception in the method itself, we have to catch it in the - caller. - - - - - - Return the default instance. - - the repository to lookup in - Return the default instance - - - Gets the for the repository specified - by the argument. - - - - - - Returns the default instance. - - The assembly to use to lookup the repository. - The default instance. - - - - Return the default instance. - - the repository to lookup in - Return the default instance - - - Gets the for the repository specified - by the argument. - - - - - - Returns the default instance. - - The assembly to use to lookup the repository. - The default instance. - - - Returns the default instance. - - - - - - Returns the named logger if it exists. - - The repository to lookup in. - The fully qualified logger name to look for. - - The logger found, or null if the named logger does not exist in the - specified repository. - - - - If the named logger exists (in the specified repository) then it - returns a reference to the logger, otherwise it returns - null. - - - - - - Returns the named logger if it exists. - - The assembly to use to lookup the repository. - The fully qualified logger name to look for. - - The logger found, or null if the named logger does not exist in the - specified assembly's repository. - - - - If the named logger exists (in the specified assembly's repository) then it - returns a reference to the logger, otherwise it returns - null. - - - - - - Returns all the currently defined loggers in the specified repository. - - The repository to lookup in. - All the defined loggers. - - - The root logger is not included in the returned array. - - - - - - Returns all the currently defined loggers in the specified assembly's repository. - - The assembly to use to lookup the repository. - All the defined loggers. - - - The root logger is not included in the returned array. - - - - - - Retrieves or creates a named logger. - - The repository to lookup in. - The name of the logger to retrieve. - The logger with the name specified. - - - Retrieves a logger named as the - parameter. If the named logger already exists, then the - existing instance will be returned. Otherwise, a new instance is - created. - - - By default, loggers do not have a set level but inherit - it from the hierarchy. This is one of the central features of - log4net. - - - - - - Retrieves or creates a named logger. - - The assembly to use to lookup the repository. - The name of the logger to retrieve. - The logger with the name specified. - - - Retrieves a logger named as the - parameter. If the named logger already exists, then the - existing instance will be returned. Otherwise, a new instance is - created. - - - By default, loggers do not have a set level but inherit - it from the hierarchy. This is one of the central features of - log4net. - - - - - - Shorthand for . - - The repository to lookup in. - The of which the fullname will be used as the name of the logger to retrieve. - The logger with the name specified. - - - Gets the logger for the fully qualified name of the type specified. - - - - - - Shorthand for . - - the assembly to use to lookup the repository - The of which the fullname will be used as the name of the logger to retrieve. - The logger with the name specified. - - - Gets the logger for the fully qualified name of the type specified. - - - - - - Shuts down the log4net system. - - - - Calling this method will safely close and remove all - appenders in all the loggers including root contained in all the - default repositories. - - - Some appenders need to be closed before the application exists. - Otherwise, pending logging events might be lost. - - - The shutdown method is careful to close nested - appenders before closing regular appenders. This is allows - configurations where a regular appender is attached to a logger - and again to a nested appender. - - - - - - Shuts down the repository for the repository specified. - - The repository to shutdown. - - - Calling this method will safely close and remove all - appenders in all the loggers including root contained in the - repository for the specified. - - - Some appenders need to be closed before the application exists. - Otherwise, pending logging events might be lost. - - - The shutdown method is careful to close nested - appenders before closing regular appenders. This is allows - configurations where a regular appender is attached to a logger - and again to a nested appender. - - - - - - Shuts down the repository for the repository specified. - - The assembly to use to lookup the repository. - - - Calling this method will safely close and remove all - appenders in all the loggers including root contained in the - repository for the repository. The repository is looked up using - the specified. - - - Some appenders need to be closed before the application exists. - Otherwise, pending logging events might be lost. - - - The shutdown method is careful to close nested - appenders before closing regular appenders. This is allows - configurations where a regular appender is attached to a logger - and again to a nested appender. - - - - - - Resets all values contained in this repository instance to their defaults. - - The repository to reset. - - - Resets all values contained in the repository instance to their - defaults. This removes all appenders from all loggers, sets - the level of all non-root loggers to null, - sets their additivity flag to true and sets the level - of the root logger to . Moreover, - message disabling is set its default "off" value. - - - - - - Resets all values contained in this repository instance to their defaults. - - The assembly to use to lookup the repository to reset. - - - Resets all values contained in the repository instance to their - defaults. This removes all appenders from all loggers, sets - the level of all non-root loggers to null, - sets their additivity flag to true and sets the level - of the root logger to . Moreover, - message disabling is set its default "off" value. - - - - - - Creates a repository with the specified name. - - The name of the repository, this must be unique amongst repositories. - The created for the repository. - - - CreateDomain is obsolete. Use CreateRepository instead of CreateDomain. - - - Creates the default type of which is a - object. - - - The name must be unique. Repositories cannot be redefined. - An will be thrown if the repository already exists. - - - The specified repository already exists. - - - - Creates a repository with the specified name. - - The name of the repository, this must be unique amongst repositories. - The created for the repository. - - - Creates the default type of which is a - object. - - - The name must be unique. Repositories cannot be redefined. - An will be thrown if the repository already exists. - - - The specified repository already exists. - - - - Creates a repository with the specified name and repository type. - - The name of the repository, this must be unique to the repository. - A that implements - and has a no arg constructor. An instance of this type will be created to act - as the for the repository specified. - The created for the repository. - - - CreateDomain is obsolete. Use CreateRepository instead of CreateDomain. - - - The name must be unique. Repositories cannot be redefined. - An Exception will be thrown if the repository already exists. - - - The specified repository already exists. - - - - Creates a repository with the specified name and repository type. - - The name of the repository, this must be unique to the repository. - A that implements - and has a no arg constructor. An instance of this type will be created to act - as the for the repository specified. - The created for the repository. - - - The name must be unique. Repositories cannot be redefined. - An Exception will be thrown if the repository already exists. - - - The specified repository already exists. - - - - Creates a repository for the specified assembly and repository type. - - The assembly to use to get the name of the repository. - A that implements - and has a no arg constructor. An instance of this type will be created to act - as the for the repository specified. - The created for the repository. - - - CreateDomain is obsolete. Use CreateRepository instead of CreateDomain. - - - The created will be associated with the repository - specified such that a call to with the - same assembly specified will return the same repository instance. - - - - - - Creates a repository for the specified assembly and repository type. - - The assembly to use to get the name of the repository. - A that implements - and has a no arg constructor. An instance of this type will be created to act - as the for the repository specified. - The created for the repository. - - - The created will be associated with the repository - specified such that a call to with the - same assembly specified will return the same repository instance. - - - - - - Gets an array of all currently defined repositories. - - An array of all the known objects. - - - Gets an array of all currently defined repositories. - - - - - - Internal method to get pertinent version info. - - A string of version info. - - - - Called when the event fires - - the that is exiting - null - - - Called when the event fires. - - - When the event is triggered the log4net system is . - - - - - - Called when the event fires - - the that is exiting - null - - - Called when the event fires. - - - When the event is triggered the log4net system is . - - - - - - Initialize the default repository selector - - - - - Gets or sets the repository selector used by the . - - - The repository selector used by the . - - - - The repository selector () is used by - the to create and select repositories - (). - - - The caller to supplies either a string name - or an assembly (if not supplied the assembly is inferred using - ). - - - This context is used by the selector to lookup a specific repository. - - - For the full .NET Framework, the default repository is DefaultRepositorySelector; - for the .NET Compact Framework CompactRepositorySelector is the default - repository. - - - - - - Implementation of the interface. - - - - This class should be used as the base for all wrapper implementations. - - - Nicko Cadell - Gert Driesen - - - - Constructs a new wrapper for the specified logger. - - The logger to wrap. - - - Constructs a new wrapper for the specified logger. - - - - - - The logger that this object is wrapping - - - - - Gets the implementation behind this wrapper object. - - - The object that this object is implementing. - - - - The Logger object may not be the same object as this object - because of logger decorators. - - - This gets the actual underlying objects that is used to process - the log events. - - - - - - Portable data structure used by - - - - Portable data structure used by - - - Nicko Cadell - - - - The logger name. - - - - The logger name. - - - - - - Level of logging event. - - - - Level of logging event. Level cannot be Serializable - because it is a flyweight. Due to its special serialization it - cannot be declared final either. - - - - - - The application supplied message. - - - - The application supplied message of logging event. - - - - - - The name of thread - - - - The name of thread in which this logging event was generated - - - - - - The time the event was logged - - - - The TimeStamp is stored in the local time zone for this computer. - - - - - - Location information for the caller. - - - - Location information for the caller. - - - - - - String representation of the user - - - - String representation of the user's windows name, - like DOMAIN\username - - - - - - String representation of the identity. - - - - String representation of the current thread's principal identity. - - - - - - The string representation of the exception - - - - The string representation of the exception - - - - - - String representation of the AppDomain. - - - - String representation of the AppDomain. - - - - - - Additional event specific properties - - - - A logger or an appender may attach additional - properties to specific events. These properties - have a string key and an object value. - - - - - - Flags passed to the property - - - - Flags passed to the property - - - Nicko Cadell - - - - Fix the MDC - - - - - Fix the NDC - - - - - Fix the rendered message - - - - - Fix the thread name - - - - - Fix the callers location information - - - CAUTION: Very slow to generate - - - - - Fix the callers windows user name - - - CAUTION: Slow to generate - - - - - Fix the domain friendly name - - - - - Fix the callers principal name - - - CAUTION: May be slow to generate - - - - - Fix the exception text - - - - - Fix the event properties - - - - - No fields fixed - - - - - All fields fixed - - - - - Partial fields fixed - - - - This set of partial fields gives good performance. The following fields are fixed: - - - - - - - - - - - - - The internal representation of logging events. - - - - When an affirmative decision is made to log then a - instance is created. This instance - is passed around to the different log4net components. - - - This class is of concern to those wishing to extend log4net. - - - Some of the values in instances of - are considered volatile, that is the values are correct at the - time the event is delivered to appenders, but will not be consistent - at any time afterwards. If an event is to be stored and then processed - at a later time these volatile values must be fixed by calling - . There is a performance penalty - for incurred by calling but it - is essential to maintaining data consistency. - - - Nicko Cadell - Gert Driesen - Douglas de la Torre - Daniel Cazzulino - - - - The key into the Properties map for the host name value. - - - - - The key into the Properties map for the thread identity value. - - - - - The key into the Properties map for the user name value. - - - - - Initializes a new instance of the class - from the supplied parameters. - - The declaring type of the method that is - the stack boundary into the logging system for this call. - The repository this event is logged in. - The name of the logger of this event. - The level of this event. - The message of this event. - The exception for this event. - - - Except , and , - all fields of LoggingEvent are filled when actually needed. Call - to cache all data locally - to prevent inconsistencies. - - This method is called by the log4net framework - to create a logging event. - - - - - - Initializes a new instance of the class - using specific data. - - The declaring type of the method that is - the stack boundary into the logging system for this call. - The repository this event is logged in. - Data used to initialize the logging event. - The fields in the struct that have already been fixed. - - - This constructor is provided to allow a - to be created independently of the log4net framework. This can - be useful if you require a custom serialization scheme. - - - Use the method to obtain an - instance of the class. - - - The parameter should be used to specify which fields in the - struct have been preset. Fields not specified in the - will be captured from the environment if requested or fixed. - - - - - - Initializes a new instance of the class - using specific data. - - The declaring type of the method that is - the stack boundary into the logging system for this call. - The repository this event is logged in. - Data used to initialize the logging event. - - - This constructor is provided to allow a - to be created independently of the log4net framework. This can - be useful if you require a custom serialization scheme. - - - Use the method to obtain an - instance of the class. - - - This constructor sets this objects flags to , - this assumes that all the data relating to this event is passed in via the - parameter and no other data should be captured from the environment. - - - - - - Initializes a new instance of the class - using specific data. - - Data used to initialize the logging event. - - - This constructor is provided to allow a - to be created independently of the log4net framework. This can - be useful if you require a custom serialization scheme. - - - Use the method to obtain an - instance of the class. - - - This constructor sets this objects flags to , - this assumes that all the data relating to this event is passed in via the - parameter and no other data should be captured from the environment. - - - - - - Serialization constructor - - The that holds the serialized object data. - The that contains contextual information about the source or destination. - - - Initializes a new instance of the class - with serialized data. - - - - - - Ensure that the repository is set. - - the value for the repository - - - - Write the rendered message to a TextWriter - - the writer to write the message to - - - Unlike the property this method - does store the message data in the internal cache. Therefore - if called only once this method should be faster than the - property, however if the message is - to be accessed multiple times then the property will be more efficient. - - - - - - Serializes this object into the provided. - - The to populate with data. - The destination for this serialization. - - - The data in this event must be fixed before it can be serialized. - - - The method must be called during the - method call if this event - is to be used outside that method. - - - - - - Gets the portable data for this . - - The for this event. - - - A new can be constructed using a - instance. - - - Does a fix of the data - in the logging event before returning the event data. - - - - - - Gets the portable data for this . - - The set of data to ensure is fixed in the LoggingEventData - The for this event. - - - A new can be constructed using a - instance. - - - - - - Returns this event's exception's rendered using the - . - - - This event's exception's rendered using the . - - - - Obsolete. Use instead. - - - - - - Returns this event's exception's rendered using the - . - - - This event's exception's rendered using the . - - - - Returns this event's exception's rendered using the - . - - - - - - Fix instance fields that hold volatile data. - - - - Some of the values in instances of - are considered volatile, that is the values are correct at the - time the event is delivered to appenders, but will not be consistent - at any time afterwards. If an event is to be stored and then processed - at a later time these volatile values must be fixed by calling - . There is a performance penalty - incurred by calling but it - is essential to maintaining data consistency. - - - Calling is equivalent to - calling passing the parameter - false. - - - See for more - information. - - - - - - Fixes instance fields that hold volatile data. - - Set to true to not fix data that takes a long time to fix. - - - Some of the values in instances of - are considered volatile, that is the values are correct at the - time the event is delivered to appenders, but will not be consistent - at any time afterwards. If an event is to be stored and then processed - at a later time these volatile values must be fixed by calling - . There is a performance penalty - for incurred by calling but it - is essential to maintaining data consistency. - - - The param controls the data that - is fixed. Some of the data that can be fixed takes a long time to - generate, therefore if you do not require those settings to be fixed - they can be ignored by setting the param - to true. This setting will ignore the - and settings. - - - Set to false to ensure that all - settings are fixed. - - - - - - Fix the fields specified by the parameter - - the fields to fix - - - Only fields specified in the will be fixed. - Fields will not be fixed if they have previously been fixed. - It is not possible to 'unfix' a field. - - - - - - Lookup a composite property in this event - - the key for the property to lookup - the value for the property - - - This event has composite properties that combine together properties from - several different contexts in the following order: - - - this events properties - - This event has that can be set. These - properties are specific to this event only. - - - - the thread properties - - The that are set on the current - thread. These properties are shared by all events logged on this thread. - - - - the global properties - - The that are set globally. These - properties are shared by all the threads in the AppDomain. - - - - - - - - - Get all the composite properties in this event - - the containing all the properties - - - See for details of the composite properties - stored by the event. - - - This method returns a single containing all the - properties defined for this event. - - - - - - The internal logging event data. - - - - - The internal logging event data. - - - - - The internal logging event data. - - - - - The fully qualified Type of the calling - logger class in the stack frame (i.e. the declaring type of the method). - - - - - The application supplied message of logging event. - - - - - The exception that was thrown. - - - This is not serialized. The string representation - is serialized instead. - - - - - The repository that generated the logging event - - - This is not serialized. - - - - - The fix state for this event - - - These flags indicate which fields have been fixed. - Not serialized. - - - - - Indicated that the internal cache is updateable (ie not fixed) - - - This is a seperate flag to m_fixFlags as it allows incrementel fixing and simpler - changes in the caching strategy. - - - - - Gets the time when the current process started. - - - This is the time when this process started. - - - - The TimeStamp is stored in the local time zone for this computer. - - - Tries to get the start time for the current process. - Failing that it returns the time of the first call to - this property. - - - Note that AppDomains may be loaded and unloaded within the - same process without the process terminating and therefore - without the process start time being reset. - - - - - - Gets the of the logging event. - - - The of the logging event. - - - - Gets the of the logging event. - - - - - - Gets the time of the logging event. - - - The time of the logging event. - - - - The TimeStamp is stored in the local time zone for this computer. - - - - - - Gets the name of the logger that logged the event. - - - The name of the logger that logged the event. - - - - Gets the name of the logger that logged the event. - - - - - - Gets the location information for this logging event. - - - The location information for this logging event. - - - - The collected information is cached for future use. - - - See the class for more information on - supported frameworks and the different behavior in Debug and - Release builds. - - - - - - Gets the message object used to initialize this event. - - - The message object used to initialize this event. - - - - Gets the message object used to initialize this event. - Note that this event may not have a valid message object. - If the event is serialized the message object will not - be transferred. To get the text of the message the - property must be used - not this property. - - - If there is no defined message object for this event then - null will be returned. - - - - - - Gets the exception object used to initialize this event. - - - The exception object used to initialize this event. - - - - Gets the exception object used to initialize this event. - Note that this event may not have a valid exception object. - If the event is serialized the exception object will not - be transferred. To get the text of the exception the - method must be used - not this property. - - - If there is no defined exception object for this event then - null will be returned. - - - - - - The that this event was created in. - - - - The that this event was created in. - - - - - - Gets the message, rendered through the . - - - The message rendered through the . - - - - The collected information is cached for future use. - - - - - - Gets the name of the current thread. - - - The name of the current thread, or the thread ID when - the name is not available. - - - - The collected information is cached for future use. - - - - - - Gets the name of the current user. - - - The name of the current user, or NOT AVAILABLE when the - underlying runtime has no support for retrieving the name of the - current user. - - - - Calls WindowsIdentity.GetCurrent().Name to get the name of - the current windows user. - - - To improve performance, we could cache the string representation of - the name, and reuse that as long as the identity stayed constant. - Once the identity changed, we would need to re-assign and re-render - the string. - - - However, the WindowsIdentity.GetCurrent() call seems to - return different objects every time, so the current implementation - doesn't do this type of caching. - - - Timing for these operations: - - - - Method - Results - - - WindowsIdentity.GetCurrent() - 10000 loops, 00:00:00.2031250 seconds - - - WindowsIdentity.GetCurrent().Name - 10000 loops, 00:00:08.0468750 seconds - - - - This means we could speed things up almost 40 times by caching the - value of the WindowsIdentity.GetCurrent().Name property, since - this takes (8.04-0.20) = 7.84375 seconds. - - - - - - Gets the identity of the current thread principal. - - - The string name of the identity of the current thread principal. - - - - Calls System.Threading.Thread.CurrentPrincipal.Identity.Name to get - the name of the current thread principal. - - - - - - Gets the AppDomain friendly name. - - - The AppDomain friendly name. - - - - Gets the AppDomain friendly name. - - - - - - Additional event specific properties. - - - Additional event specific properties. - - - - A logger or an appender may attach additional - properties to specific events. These properties - have a string key and an object value. - - - This property is for events that have been added directly to - this event. The aggregate properties (which include these - event properties) can be retrieved using - and . - - - Once the properties have been fixed this property - returns the combined cached properties. This ensures that updates to - this property are always reflected in the underlying storage. When - returning the combined properties there may be more keys in the - Dictionary than expected. - - - - - - The fixed fields in this event - - - The set of fields that are fixed in this event - - - - Fields will not be fixed if they have previously been fixed. - It is not possible to 'unfix' a field. - - - - - - Implementation of wrapper interface. - - - - This implementation of the interface - forwards to the held by the base class. - - - This logger has methods to allow the caller to log at the following - levels: - - - - DEBUG - - The and methods log messages - at the DEBUG level. That is the level with that name defined in the - repositories . The default value - for this level is . The - property tests if this level is enabled for logging. - - - - INFO - - The and methods log messages - at the INFO level. That is the level with that name defined in the - repositories . The default value - for this level is . The - property tests if this level is enabled for logging. - - - - WARN - - The and methods log messages - at the WARN level. That is the level with that name defined in the - repositories . The default value - for this level is . The - property tests if this level is enabled for logging. - - - - ERROR - - The and methods log messages - at the ERROR level. That is the level with that name defined in the - repositories . The default value - for this level is . The - property tests if this level is enabled for logging. - - - - FATAL - - The and methods log messages - at the FATAL level. That is the level with that name defined in the - repositories . The default value - for this level is . The - property tests if this level is enabled for logging. - - - - - The values for these levels and their semantic meanings can be changed by - configuring the for the repository. - - - Nicko Cadell - Gert Driesen - - - - The ILog interface is use by application to log messages into - the log4net framework. - - - - Use the to obtain logger instances - that implement this interface. The - static method is used to get logger instances. - - - This class contains methods for logging at different levels and also - has properties for determining if those logging levels are - enabled in the current configuration. - - - This interface can be implemented in different ways. This documentation - specifies reasonable behavior that a caller can expect from the actual - implementation, however different implementations reserve the right to - do things differently. - - - Simple example of logging messages - - ILog log = LogManager.GetLogger("application-log"); - - log.Info("Application Start"); - log.Debug("This is a debug message"); - - if (log.IsDebugEnabled) - { - log.Debug("This is another debug message"); - } - - - - - Nicko Cadell - Gert Driesen - - - Log a message object with the level. - - Log a message object with the level. - - The message object to log. - - - This method first checks if this logger is DEBUG - enabled by comparing the level of this logger with the - level. If this logger is - DEBUG enabled, then it converts the message object - (passed as parameter) to a string by invoking the appropriate - . It then - proceeds to call all the registered appenders in this logger - and also higher in the hierarchy depending on the value of - the additivity flag. - - WARNING Note that passing an - to this method will print the name of the - but no stack trace. To print a stack trace use the - form instead. - - - - - - - - Log a message object with the level including - the stack trace of the passed - as a parameter. - - The message object to log. - The exception to log, including its stack trace. - - - See the form for more detailed information. - - - - - - - Log a formatted string with the level. - - Logs a formatted message string with the level. - - A String containing zero or more format items - An Object array containing zero or more objects to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - - Logs a formatted message string with the level. - - A String containing zero or more format items - An Object to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - - Logs a formatted message string with the level. - - A String containing zero or more format items - An Object to format - An Object to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - - Logs a formatted message string with the level. - - A String containing zero or more format items - An Object to format - An Object to format - An Object to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - - Logs a formatted message string with the level. - - An that supplies culture-specific formatting information - A String containing zero or more format items - An Object array containing zero or more objects to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - Log a message object with the level. - - Logs a message object with the level. - - - - This method first checks if this logger is INFO - enabled by comparing the level of this logger with the - level. If this logger is - INFO enabled, then it converts the message object - (passed as parameter) to a string by invoking the appropriate - . It then - proceeds to call all the registered appenders in this logger - and also higher in the hierarchy depending on the value of the - additivity flag. - - WARNING Note that passing an - to this method will print the name of the - but no stack trace. To print a stack trace use the - form instead. - - - The message object to log. - - - - - - Logs a message object with the INFO level including - the stack trace of the passed - as a parameter. - - The message object to log. - The exception to log, including its stack trace. - - - See the form for more detailed information. - - - - - - - Log a formatted message string with the level. - - Logs a formatted message string with the level. - - A String containing zero or more format items - An Object array containing zero or more objects to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - - Logs a formatted message string with the level. - - A String containing zero or more format items - An Object to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - - Logs a formatted message string with the level. - - A String containing zero or more format items - An Object to format - An Object to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - - Logs a formatted message string with the level. - - A String containing zero or more format items - An Object to format - An Object to format - An Object to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - - Logs a formatted message string with the level. - - An that supplies culture-specific formatting information - A String containing zero or more format items - An Object array containing zero or more objects to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - Log a message object with the level. - - Log a message object with the level. - - - - This method first checks if this logger is WARN - enabled by comparing the level of this logger with the - level. If this logger is - WARN enabled, then it converts the message object - (passed as parameter) to a string by invoking the appropriate - . It then - proceeds to call all the registered appenders in this logger - and also higher in the hierarchy depending on the value of the - additivity flag. - - WARNING Note that passing an - to this method will print the name of the - but no stack trace. To print a stack trace use the - form instead. - - - The message object to log. - - - - - - Log a message object with the level including - the stack trace of the passed - as a parameter. - - The message object to log. - The exception to log, including its stack trace. - - - See the form for more detailed information. - - - - - - - Log a formatted message string with the level. - - Logs a formatted message string with the level. - - A String containing zero or more format items - An Object array containing zero or more objects to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - - Logs a formatted message string with the level. - - A String containing zero or more format items - An Object to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - - Logs a formatted message string with the level. - - A String containing zero or more format items - An Object to format - An Object to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - - Logs a formatted message string with the level. - - A String containing zero or more format items - An Object to format - An Object to format - An Object to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - - Logs a formatted message string with the level. - - An that supplies culture-specific formatting information - A String containing zero or more format items - An Object array containing zero or more objects to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - Log a message object with the level. - - Logs a message object with the level. - - The message object to log. - - - This method first checks if this logger is ERROR - enabled by comparing the level of this logger with the - level. If this logger is - ERROR enabled, then it converts the message object - (passed as parameter) to a string by invoking the appropriate - . It then - proceeds to call all the registered appenders in this logger - and also higher in the hierarchy depending on the value of the - additivity flag. - - WARNING Note that passing an - to this method will print the name of the - but no stack trace. To print a stack trace use the - form instead. - - - - - - - - Log a message object with the level including - the stack trace of the passed - as a parameter. - - The message object to log. - The exception to log, including its stack trace. - - - See the form for more detailed information. - - - - - - - Log a formatted message string with the level. - - Logs a formatted message string with the level. - - A String containing zero or more format items - An Object array containing zero or more objects to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - - Logs a formatted message string with the level. - - A String containing zero or more format items - An Object to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - - Logs a formatted message string with the level. - - A String containing zero or more format items - An Object to format - An Object to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - - Logs a formatted message string with the level. - - A String containing zero or more format items - An Object to format - An Object to format - An Object to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - - Logs a formatted message string with the level. - - An that supplies culture-specific formatting information - A String containing zero or more format items - An Object array containing zero or more objects to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - Log a message object with the level. - - Log a message object with the level. - - - - This method first checks if this logger is FATAL - enabled by comparing the level of this logger with the - level. If this logger is - FATAL enabled, then it converts the message object - (passed as parameter) to a string by invoking the appropriate - . It then - proceeds to call all the registered appenders in this logger - and also higher in the hierarchy depending on the value of the - additivity flag. - - WARNING Note that passing an - to this method will print the name of the - but no stack trace. To print a stack trace use the - form instead. - - - The message object to log. - - - - - - Log a message object with the level including - the stack trace of the passed - as a parameter. - - The message object to log. - The exception to log, including its stack trace. - - - See the form for more detailed information. - - - - - - - Log a formatted message string with the level. - - Logs a formatted message string with the level. - - A String containing zero or more format items - An Object array containing zero or more objects to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - - Logs a formatted message string with the level. - - A String containing zero or more format items - An Object to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - - Logs a formatted message string with the level. - - A String containing zero or more format items - An Object to format - An Object to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - - Logs a formatted message string with the level. - - A String containing zero or more format items - An Object to format - An Object to format - An Object to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - - Logs a formatted message string with the level. - - An that supplies culture-specific formatting information - A String containing zero or more format items - An Object array containing zero or more objects to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - - Checks if this logger is enabled for the level. - - - true if this logger is enabled for events, false otherwise. - - - - This function is intended to lessen the computational cost of - disabled log debug statements. - - For some ILog interface log, when you write: - - log.Debug("This is entry number: " + i ); - - - You incur the cost constructing the message, string construction and concatenation in - this case, regardless of whether the message is logged or not. - - - If you are worried about speed (who isn't), then you should write: - - - if (log.IsDebugEnabled) - { - log.Debug("This is entry number: " + i ); - } - - - This way you will not incur the cost of parameter - construction if debugging is disabled for log. On - the other hand, if the log is debug enabled, you - will incur the cost of evaluating whether the logger is debug - enabled twice. Once in and once in - the . This is an insignificant overhead - since evaluating a logger takes about 1% of the time it - takes to actually log. This is the preferred style of logging. - - Alternatively if your logger is available statically then the is debug - enabled state can be stored in a static variable like this: - - - private static readonly bool isDebugEnabled = log.IsDebugEnabled; - - - Then when you come to log you can write: - - - if (isDebugEnabled) - { - log.Debug("This is entry number: " + i ); - } - - - This way the debug enabled state is only queried once - when the class is loaded. Using a private static readonly - variable is the most efficient because it is a run time constant - and can be heavily optimized by the JIT compiler. - - - Of course if you use a static readonly variable to - hold the enabled state of the logger then you cannot - change the enabled state at runtime to vary the logging - that is produced. You have to decide if you need absolute - speed or runtime flexibility. - - - - - - - - Checks if this logger is enabled for the level. - - - true if this logger is enabled for events, false otherwise. - - - For more information see . - - - - - - - - Checks if this logger is enabled for the level. - - - true if this logger is enabled for events, false otherwise. - - - For more information see . - - - - - - - - Checks if this logger is enabled for the level. - - - true if this logger is enabled for events, false otherwise. - - - For more information see . - - - - - - - - Checks if this logger is enabled for the level. - - - true if this logger is enabled for events, false otherwise. - - - For more information see . - - - - - - - - Construct a new wrapper for the specified logger. - - The logger to wrap. - - - Construct a new wrapper for the specified logger. - - - - - - Virtual method called when the configuration of the repository changes - - the repository holding the levels - - - Virtual method called when the configuration of the repository changes - - - - - - Logs a message object with the DEBUG level. - - The message object to log. - - - This method first checks if this logger is DEBUG - enabled by comparing the level of this logger with the - DEBUG level. If this logger is - DEBUG enabled, then it converts the message object - (passed as parameter) to a string by invoking the appropriate - . It then - proceeds to call all the registered appenders in this logger - and also higher in the hierarchy depending on the value of the - additivity flag. - - - WARNING Note that passing an - to this method will print the name of the - but no stack trace. To print a stack trace use the - form instead. - - - - - - Logs a message object with the DEBUG level - - The message object to log. - The exception to log, including its stack trace. - - - Logs a message object with the DEBUG level including - the stack trace of the passed - as a parameter. - - - See the form for more detailed information. - - - - - - - Logs a formatted message string with the DEBUG level. - - A String containing zero or more format items - An Object array containing zero or more objects to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - The string is formatted using the - format provider. To specify a localized provider use the - method. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Logs a formatted message string with the DEBUG level. - - A String containing zero or more format items - An Object to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - The string is formatted using the - format provider. To specify a localized provider use the - method. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Logs a formatted message string with the DEBUG level. - - A String containing zero or more format items - An Object to format - An Object to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - The string is formatted using the - format provider. To specify a localized provider use the - method. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Logs a formatted message string with the DEBUG level. - - A String containing zero or more format items - An Object to format - An Object to format - An Object to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - The string is formatted using the - format provider. To specify a localized provider use the - method. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Logs a formatted message string with the DEBUG level. - - An that supplies culture-specific formatting information - A String containing zero or more format items - An Object array containing zero or more objects to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Logs a message object with the INFO level. - - The message object to log. - - - This method first checks if this logger is INFO - enabled by comparing the level of this logger with the - INFO level. If this logger is - INFO enabled, then it converts the message object - (passed as parameter) to a string by invoking the appropriate - . It then - proceeds to call all the registered appenders in this logger - and also higher in the hierarchy depending on the value of - the additivity flag. - - - WARNING Note that passing an - to this method will print the name of the - but no stack trace. To print a stack trace use the - form instead. - - - - - - Logs a message object with the INFO level. - - The message object to log. - The exception to log, including its stack trace. - - - Logs a message object with the INFO level including - the stack trace of the - passed as a parameter. - - - See the form for more detailed information. - - - - - - - Logs a formatted message string with the INFO level. - - A String containing zero or more format items - An Object array containing zero or more objects to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - The string is formatted using the - format provider. To specify a localized provider use the - method. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Logs a formatted message string with the INFO level. - - A String containing zero or more format items - An Object to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - The string is formatted using the - format provider. To specify a localized provider use the - method. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Logs a formatted message string with the INFO level. - - A String containing zero or more format items - An Object to format - An Object to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - The string is formatted using the - format provider. To specify a localized provider use the - method. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Logs a formatted message string with the INFO level. - - A String containing zero or more format items - An Object to format - An Object to format - An Object to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - The string is formatted using the - format provider. To specify a localized provider use the - method. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Logs a formatted message string with the INFO level. - - An that supplies culture-specific formatting information - A String containing zero or more format items - An Object array containing zero or more objects to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Logs a message object with the WARN level. - - the message object to log - - - This method first checks if this logger is WARN - enabled by comparing the level of this logger with the - WARN level. If this logger is - WARN enabled, then it converts the message object - (passed as parameter) to a string by invoking the appropriate - . It then - proceeds to call all the registered appenders in this logger and - also higher in the hierarchy depending on the value of the - additivity flag. - - - WARNING Note that passing an to this - method will print the name of the but no - stack trace. To print a stack trace use the - form instead. - - - - - - Logs a message object with the WARN level - - The message object to log. - The exception to log, including its stack trace. - - - Logs a message object with the WARN level including - the stack trace of the - passed as a parameter. - - - See the form for more detailed information. - - - - - - - Logs a formatted message string with the WARN level. - - A String containing zero or more format items - An Object array containing zero or more objects to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - The string is formatted using the - format provider. To specify a localized provider use the - method. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Logs a formatted message string with the WARN level. - - A String containing zero or more format items - An Object to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - The string is formatted using the - format provider. To specify a localized provider use the - method. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Logs a formatted message string with the WARN level. - - A String containing zero or more format items - An Object to format - An Object to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - The string is formatted using the - format provider. To specify a localized provider use the - method. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Logs a formatted message string with the WARN level. - - A String containing zero or more format items - An Object to format - An Object to format - An Object to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - The string is formatted using the - format provider. To specify a localized provider use the - method. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Logs a formatted message string with the WARN level. - - An that supplies culture-specific formatting information - A String containing zero or more format items - An Object array containing zero or more objects to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Logs a message object with the ERROR level. - - The message object to log. - - - This method first checks if this logger is ERROR - enabled by comparing the level of this logger with the - ERROR level. If this logger is - ERROR enabled, then it converts the message object - (passed as parameter) to a string by invoking the appropriate - . It then - proceeds to call all the registered appenders in this logger and - also higher in the hierarchy depending on the value of the - additivity flag. - - - WARNING Note that passing an to this - method will print the name of the but no - stack trace. To print a stack trace use the - form instead. - - - - - - Logs a message object with the ERROR level - - The message object to log. - The exception to log, including its stack trace. - - - Logs a message object with the ERROR level including - the stack trace of the - passed as a parameter. - - - See the form for more detailed information. - - - - - - - Logs a formatted message string with the ERROR level. - - A String containing zero or more format items - An Object array containing zero or more objects to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - The string is formatted using the - format provider. To specify a localized provider use the - method. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Logs a formatted message string with the ERROR level. - - A String containing zero or more format items - An Object to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - The string is formatted using the - format provider. To specify a localized provider use the - method. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Logs a formatted message string with the ERROR level. - - A String containing zero or more format items - An Object to format - An Object to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - The string is formatted using the - format provider. To specify a localized provider use the - method. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Logs a formatted message string with the ERROR level. - - A String containing zero or more format items - An Object to format - An Object to format - An Object to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - The string is formatted using the - format provider. To specify a localized provider use the - method. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Logs a formatted message string with the ERROR level. - - An that supplies culture-specific formatting information - A String containing zero or more format items - An Object array containing zero or more objects to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Logs a message object with the FATAL level. - - The message object to log. - - - This method first checks if this logger is FATAL - enabled by comparing the level of this logger with the - FATAL level. If this logger is - FATAL enabled, then it converts the message object - (passed as parameter) to a string by invoking the appropriate - . It then - proceeds to call all the registered appenders in this logger and - also higher in the hierarchy depending on the value of the - additivity flag. - - - WARNING Note that passing an to this - method will print the name of the but no - stack trace. To print a stack trace use the - form instead. - - - - - - Logs a message object with the FATAL level - - The message object to log. - The exception to log, including its stack trace. - - - Logs a message object with the FATAL level including - the stack trace of the - passed as a parameter. - - - See the form for more detailed information. - - - - - - - Logs a formatted message string with the FATAL level. - - A String containing zero or more format items - An Object array containing zero or more objects to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - The string is formatted using the - format provider. To specify a localized provider use the - method. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Logs a formatted message string with the FATAL level. - - A String containing zero or more format items - An Object to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - The string is formatted using the - format provider. To specify a localized provider use the - method. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Logs a formatted message string with the FATAL level. - - A String containing zero or more format items - An Object to format - An Object to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - The string is formatted using the - format provider. To specify a localized provider use the - method. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Logs a formatted message string with the FATAL level. - - A String containing zero or more format items - An Object to format - An Object to format - An Object to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - The string is formatted using the - format provider. To specify a localized provider use the - method. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Logs a formatted message string with the FATAL level. - - An that supplies culture-specific formatting information - A String containing zero or more format items - An Object array containing zero or more objects to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Event handler for the event - - the repository - Empty - - - - The fully qualified name of this declaring type not the type of any subclass. - - - - - Checks if this logger is enabled for the DEBUG - level. - - - true if this logger is enabled for DEBUG events, - false otherwise. - - - - This function is intended to lessen the computational cost of - disabled log debug statements. - - - For some log Logger object, when you write: - - - log.Debug("This is entry number: " + i ); - - - You incur the cost constructing the message, concatenation in - this case, regardless of whether the message is logged or not. - - - If you are worried about speed, then you should write: - - - if (log.IsDebugEnabled()) - { - log.Debug("This is entry number: " + i ); - } - - - This way you will not incur the cost of parameter - construction if debugging is disabled for log. On - the other hand, if the log is debug enabled, you - will incur the cost of evaluating whether the logger is debug - enabled twice. Once in IsDebugEnabled and once in - the Debug. This is an insignificant overhead - since evaluating a logger takes about 1% of the time it - takes to actually log. - - - - - - Checks if this logger is enabled for the INFO level. - - - true if this logger is enabled for INFO events, - false otherwise. - - - - See for more information and examples - of using this method. - - - - - - - Checks if this logger is enabled for the WARN level. - - - true if this logger is enabled for WARN events, - false otherwise. - - - - See for more information and examples - of using this method. - - - - - - - Checks if this logger is enabled for the ERROR level. - - - true if this logger is enabled for ERROR events, - false otherwise. - - - - See for more information and examples of using this method. - - - - - - - Checks if this logger is enabled for the FATAL level. - - - true if this logger is enabled for FATAL events, - false otherwise. - - - - See for more information and examples of using this method. - - - - - - - A SecurityContext used by log4net when interacting with protected resources - - - - A SecurityContext used by log4net when interacting with protected resources - for example with operating system services. This can be used to impersonate - a principal that has been granted privileges on the system resources. - - - Nicko Cadell - - - - Impersonate this SecurityContext - - State supplied by the caller - An instance that will - revoke the impersonation of this SecurityContext, or null - - - Impersonate this security context. Further calls on the current - thread should now be made in the security context provided - by this object. When the result - method is called the security - context of the thread should be reverted to the state it was in - before was called. - - - - - - The providers default instances. - - - - A configured component that interacts with potentially protected system - resources uses a to provide the elevated - privileges required. If the object has - been not been explicitly provided to the component then the component - will request one from this . - - - By default the is - an instance of which returns only - objects. This is a reasonable default - where the privileges required are not know by the system. - - - This default behavior can be overridden by subclassing the - and overriding the method to return - the desired objects. The default provider - can be replaced by programmatically setting the value of the - property. - - - An alternative is to use the log4net.Config.SecurityContextProviderAttribute - This attribute can be applied to an assembly in the same way as the - log4net.Config.XmlConfiguratorAttribute". The attribute takes - the type to use as the as an argument. - - - Nicko Cadell - - - - The default provider - - - - - Protected default constructor to allow subclassing - - - - Protected default constructor to allow subclassing - - - - - - Create a SecurityContext for a consumer - - The consumer requesting the SecurityContext - An impersonation context - - - The default implementation is to return a . - - - Subclasses should override this method to provide their own - behavior. - - - - - - Gets or sets the default SecurityContextProvider - - - The default SecurityContextProvider - - - - The default provider is used by configured components that - require a and have not had one - given to them. - - - By default this is an instance of - that returns objects. - - - The default provider can be set programmatically by setting - the value of this property to a sub class of - that has the desired behavior. - - - - - - Delegate used to handle creation of new wrappers. - - The logger to wrap in a wrapper. - - - Delegate used to handle creation of new wrappers. This delegate - is called from the - method to construct the wrapper for the specified logger. - - - The delegate to use is supplied to the - constructor. - - - - - - Maps between logger objects and wrapper objects. - - - - This class maintains a mapping between objects and - objects. Use the method to - lookup the for the specified . - - - New wrapper instances are created by the - method. The default behavior is for this method to delegate construction - of the wrapper to the delegate supplied - to the constructor. This allows specialization of the behavior without - requiring subclassing of this type. - - - Nicko Cadell - Gert Driesen - - - - Initializes a new instance of the - - The handler to use to create the wrapper objects. - - - Initializes a new instance of the class with - the specified handler to create the wrapper objects. - - - - - - Gets the wrapper object for the specified logger. - - The wrapper object for the specified logger - - - If the logger is null then the corresponding wrapper is null. - - - Looks up the wrapper it it has previously been requested and - returns it. If the wrapper has never been requested before then - the virtual method is - called. - - - - - - Creates the wrapper object for the specified logger. - - The logger to wrap in a wrapper. - The wrapper object for the logger. - - - This implementation uses the - passed to the constructor to create the wrapper. This method - can be overridden in a subclass. - - - - - - Called when a monitored repository shutdown event is received. - - The that is shutting down - - - This method is called when a that this - is holding loggers for has signaled its shutdown - event . The default - behavior of this method is to release the references to the loggers - and their wrappers generated for this repository. - - - - - - Event handler for repository shutdown event. - - The sender of the event. - The event args. - - - - Map of logger repositories to hashtables of ILogger to ILoggerWrapper mappings - - - - - The handler to use to create the extension wrapper objects. - - - - - Internal reference to the delegate used to register for repository shutdown events. - - - - - Gets the map of logger repositories. - - - Map of logger repositories. - - - - Gets the hashtable that is keyed on . The - values are hashtables keyed on with the - value being the corresponding . - - - - - - Formats a as "HH:mm:ss,fff". - - - - Formats a in the format "HH:mm:ss,fff" for example, "15:49:37,459". - - - Nicko Cadell - Gert Driesen - - - - Render a as a string. - - - - Interface to abstract the rendering of a - instance into a string. - - - The method is used to render the - date to a text writer. - - - Nicko Cadell - Gert Driesen - - - - Formats the specified date as a string. - - The date to format. - The writer to write to. - - - Format the as a string and write it - to the provided. - - - - - - String constant used to specify AbsoluteTimeDateFormat in layouts. Current value is ABSOLUTE. - - - - - String constant used to specify DateTimeDateFormat in layouts. Current value is DATE. - - - - - String constant used to specify ISO8601DateFormat in layouts. Current value is ISO8601. - - - - - Renders the date into a string. Format is "HH:mm:ss". - - The date to render into a string. - The string builder to write to. - - - Subclasses should override this method to render the date - into a string using a precision up to the second. This method - will be called at most once per second and the result will be - reused if it is needed again during the same second. - - - - - - Renders the date into a string. Format is "HH:mm:ss,fff". - - The date to render into a string. - The writer to write to. - - - Uses the method to generate the - time string up to the seconds and then appends the current - milliseconds. The results from are - cached and is called at most once - per second. - - - Sub classes should override - rather than . - - - - - - Last stored time with precision up to the second. - - - - - Last stored time with precision up to the second, formatted - as a string. - - - - - Last stored time with precision up to the second, formatted - as a string. - - - - - Formats a as "dd MMM yyyy HH:mm:ss,fff" - - - - Formats a in the format - "dd MMM yyyy HH:mm:ss,fff" for example, - "06 Nov 1994 15:49:37,459". - - - Nicko Cadell - Gert Driesen - Angelika Schnagl - - - - Default constructor. - - - - Initializes a new instance of the class. - - - - - - Formats the date without the milliseconds part - - The date to format. - The string builder to write to. - - - Formats a DateTime in the format "dd MMM yyyy HH:mm:ss" - for example, "06 Nov 1994 15:49:37". - - - The base class will append the ",fff" milliseconds section. - This method will only be called at most once per second. - - - - - - The format info for the invariant culture. - - - - - Formats the as "yyyy-MM-dd HH:mm:ss,fff". - - - - Formats the specified as a string: "yyyy-MM-dd HH:mm:ss,fff". - - - Nicko Cadell - Gert Driesen - - - - Default constructor - - - - Initializes a new instance of the class. - - - - - - Formats the date without the milliseconds part - - The date to format. - The string builder to write to. - - - Formats the date specified as a string: "yyyy-MM-dd HH:mm:ss". - - - The base class will append the ",fff" milliseconds section. - This method will only be called at most once per second. - - - - - - Formats the using the method. - - - - Formats the using the method. - - - Nicko Cadell - Gert Driesen - - - - Constructor - - The format string. - - - Initializes a new instance of the class - with the specified format string. - - - The format string must be compatible with the options - that can be supplied to . - - - - - - Formats the date using . - - The date to convert to a string. - The writer to write to. - - - Uses the date format string supplied to the constructor to call - the method to format the date. - - - - - - The format string used to format the . - - - - The format string must be compatible with the options - that can be supplied to . - - - - - - This filter drops all . - - - - You can add this filter to the end of a filter chain to - switch from the default "accept all unless instructed otherwise" - filtering behavior to a "deny all unless instructed otherwise" - behavior. - - - Nicko Cadell - Gert Driesen - - - - Subclass this type to implement customized logging event filtering - - - - Users should extend this class to implement customized logging - event filtering. Note that and - , the parent class of all standard - appenders, have built-in filtering rules. It is suggested that you - first use and understand the built-in rules before rushing to write - your own custom filters. - - - This abstract class assumes and also imposes that filters be - organized in a linear chain. The - method of each filter is called sequentially, in the order of their - addition to the chain. - - - The method must return one - of the integer constants , - or . - - - If the value is returned, then the log event is dropped - immediately without consulting with the remaining filters. - - - If the value is returned, then the next filter - in the chain is consulted. If there are no more filters in the - chain, then the log event is logged. Thus, in the presence of no - filters, the default behavior is to log all logging events. - - - If the value is returned, then the log - event is logged without consulting the remaining filters. - - - The philosophy of log4net filters is largely inspired from the - Linux ipchains. - - - Nicko Cadell - Gert Driesen - - - - Implement this interface to provide customized logging event filtering - - - - Users should implement this interface to implement customized logging - event filtering. Note that and - , the parent class of all standard - appenders, have built-in filtering rules. It is suggested that you - first use and understand the built-in rules before rushing to write - your own custom filters. - - - This abstract class assumes and also imposes that filters be - organized in a linear chain. The - method of each filter is called sequentially, in the order of their - addition to the chain. - - - The method must return one - of the integer constants , - or . - - - If the value is returned, then the log event is dropped - immediately without consulting with the remaining filters. - - - If the value is returned, then the next filter - in the chain is consulted. If there are no more filters in the - chain, then the log event is logged. Thus, in the presence of no - filters, the default behavior is to log all logging events. - - - If the value is returned, then the log - event is logged without consulting the remaining filters. - - - The philosophy of log4net filters is largely inspired from the - Linux ipchains. - - - Nicko Cadell - Gert Driesen - - - - Decide if the logging event should be logged through an appender. - - The LoggingEvent to decide upon - The decision of the filter - - - If the decision is , then the event will be - dropped. If the decision is , then the next - filter, if any, will be invoked. If the decision is then - the event will be logged without consulting with other filters in - the chain. - - - - - - Property to get and set the next filter - - - The next filter in the chain - - - - Filters are typically composed into chains. This property allows the next filter in - the chain to be accessed. - - - - - - Points to the next filter in the filter chain. - - - - See for more information. - - - - - - Initialize the filter with the options set - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - Typically filter's options become active immediately on set, - however this method must still be called. - - - - - - Decide if the should be logged through an appender. - - The to decide upon - The decision of the filter - - - If the decision is , then the event will be - dropped. If the decision is , then the next - filter, if any, will be invoked. If the decision is then - the event will be logged without consulting with other filters in - the chain. - - - This method is marked abstract and must be implemented - in a subclass. - - - - - - Property to get and set the next filter - - - The next filter in the chain - - - - Filters are typically composed into chains. This property allows the next filter in - the chain to be accessed. - - - - - - Default constructor - - - - - Always returns the integer constant - - the LoggingEvent to filter - Always returns - - - Ignores the event being logged and just returns - . This can be used to change the default filter - chain behavior from to . This filter - should only be used as the last filter in the chain - as any further filters will be ignored! - - - - - - The return result from - - - - The return result from - - - - - - The log event must be dropped immediately without - consulting with the remaining filters, if any, in the chain. - - - - - This filter is neutral with respect to the log event. - The remaining filters, if any, should be consulted for a final decision. - - - - - The log event must be logged immediately without - consulting with the remaining filters, if any, in the chain. - - - - - This is a very simple filter based on matching. - - - - The filter admits two options and - . If there is an exact match between the value - of the option and the of the - , then the method returns in - case the option value is set - to true, if it is false then - is returned. If the does not match then - the result will be . - - - Nicko Cadell - Gert Driesen - - - - flag to indicate if the filter should on a match - - - - - the to match against - - - - - Default constructor - - - - - Tests if the of the logging event matches that of the filter - - the event to filter - see remarks - - - If the of the event matches the level of the - filter then the result of the function depends on the - value of . If it is true then - the function will return , it it is false then it - will return . If the does not match then - the result will be . - - - - - - when matching - - - - The property is a flag that determines - the behavior when a matching is found. If the - flag is set to true then the filter will the - logging event, otherwise it will the event. - - - The default is true i.e. to the event. - - - - - - The that the filter will match - - - - The level that this filter will attempt to match against the - level. If a match is found then - the result depends on the value of . - - - - - - This is a simple filter based on matching. - - - - The filter admits three options and - that determine the range of priorities that are matched, and - . If there is a match between the range - of priorities and the of the , then the - method returns in case the - option value is set to true, if it is false - then is returned. If there is no match, is returned. - - - Nicko Cadell - Gert Driesen - - - - Flag to indicate the behavior when matching a - - - - - the minimum value to match - - - - - the maximum value to match - - - - - Default constructor - - - - - Check if the event should be logged. - - the logging event to check - see remarks - - - If the of the logging event is outside the range - matched by this filter then - is returned. If the is matched then the value of - is checked. If it is true then - is returned, otherwise - is returned. - - - - - - when matching and - - - - The property is a flag that determines - the behavior when a matching is found. If the - flag is set to true then the filter will the - logging event, otherwise it will the event. - - - The default is true i.e. to the event. - - - - - - Set the minimum matched - - - - The minimum level that this filter will attempt to match against the - level. If a match is found then - the result depends on the value of . - - - - - - Sets the maximum matched - - - - The maximum level that this filter will attempt to match against the - level. If a match is found then - the result depends on the value of . - - - - - - Simple filter to match a string in the event's logger name. - - - - The works very similar to the . It admits two - options and . If the - of the starts - with the value of the option, then the - method returns in - case the option value is set to true, - if it is false then is returned. - - - Daniel Cazzulino - - - - Flag to indicate the behavior when we have a match - - - - - The logger name string to substring match against the event - - - - - Default constructor - - - - - Check if this filter should allow the event to be logged - - the event being logged - see remarks - - - The rendered message is matched against the . - If the equals the beginning of - the incoming () - then a match will have occurred. If no match occurs - this function will return - allowing other filters to check the event. If a match occurs then - the value of is checked. If it is - true then is returned otherwise - is returned. - - - - - - when matching - - - - The property is a flag that determines - the behavior when a matching is found. If the - flag is set to true then the filter will the - logging event, otherwise it will the event. - - - The default is true i.e. to the event. - - - - - - The that the filter will match - - - - This filter will attempt to match this value against logger name in - the following way. The match will be done against the beginning of the - logger name (using ). The match is - case sensitive. If a match is found then - the result depends on the value of . - - - - - - Simple filter to match a keyed string in the - - - - Simple filter to match a keyed string in the - - - As the MDC has been replaced with layered properties the - should be used instead. - - - Nicko Cadell - Gert Driesen - - - - Simple filter to match a string an event property - - - - Simple filter to match a string in the value for a - specific event property - - - Nicko Cadell - - - - Simple filter to match a string in the rendered message - - - - Simple filter to match a string in the rendered message - - - Nicko Cadell - Gert Driesen - - - - Flag to indicate the behavior when we have a match - - - - - The string to substring match against the message - - - - - A string regex to match - - - - - A regex object to match (generated from m_stringRegexToMatch) - - - - - Default constructor - - - - - Initialize and precompile the Regex if required - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - - - - Check if this filter should allow the event to be logged - - the event being logged - see remarks - - - The rendered message is matched against the . - If the occurs as a substring within - the message then a match will have occurred. If no match occurs - this function will return - allowing other filters to check the event. If a match occurs then - the value of is checked. If it is - true then is returned otherwise - is returned. - - - - - - when matching or - - - - The property is a flag that determines - the behavior when a matching is found. If the - flag is set to true then the filter will the - logging event, otherwise it will the event. - - - The default is true i.e. to the event. - - - - - - Sets the static string to match - - - - The string that will be substring matched against - the rendered message. If the message contains this - string then the filter will match. If a match is found then - the result depends on the value of . - - - One of or - must be specified. - - - - - - Sets the regular expression to match - - - - The regular expression pattern that will be matched against - the rendered message. If the message matches this - pattern then the filter will match. If a match is found then - the result depends on the value of . - - - One of or - must be specified. - - - - - - The key to use to lookup the string from the event properties - - - - - Default constructor - - - - - Check if this filter should allow the event to be logged - - the event being logged - see remarks - - - The event property for the is matched against - the . - If the occurs as a substring within - the property value then a match will have occurred. If no match occurs - this function will return - allowing other filters to check the event. If a match occurs then - the value of is checked. If it is - true then is returned otherwise - is returned. - - - - - - The key to lookup in the event properties and then match against. - - - - The key name to use to lookup in the properties map of the - . The match will be performed against - the value of this property if it exists. - - - - - - Simple filter to match a string in the - - - - Simple filter to match a string in the - - - As the MDC has been replaced with named stacks stored in the - properties collections the should - be used instead. - - - Nicko Cadell - Gert Driesen - - - - Default constructor - - - - Sets the to "NDC". - - - - - - Write the event appdomain name to the output - - - - Writes the to the output writer. - - - Daniel Cazzulino - Nicko Cadell - - - - Abstract class that provides the formatting functionality that - derived classes need. - - - Conversion specifiers in a conversion patterns are parsed to - individual PatternConverters. Each of which is responsible for - converting a logging event in a converter specific manner. - - Nicko Cadell - - - - Abstract class that provides the formatting functionality that - derived classes need. - - - - Conversion specifiers in a conversion patterns are parsed to - individual PatternConverters. Each of which is responsible for - converting a logging event in a converter specific manner. - - - Nicko Cadell - Gert Driesen - - - - Initial buffer size - - - - - Maximum buffer size before it is recycled - - - - - Protected constructor - - - - Initializes a new instance of the class. - - - - - - Evaluate this pattern converter and write the output to a writer. - - that will receive the formatted result. - The state object on which the pattern converter should be executed. - - - Derived pattern converters must override this method in order to - convert conversion specifiers in the appropriate way. - - - - - - Set the next pattern converter in the chains - - the pattern converter that should follow this converter in the chain - the next converter - - - The PatternConverter can merge with its neighbor during this method (or a sub class). - Therefore the return value may or may not be the value of the argument passed in. - - - - - - Write the pattern converter to the writer with appropriate formatting - - that will receive the formatted result. - The state object on which the pattern converter should be executed. - - - This method calls to allow the subclass to perform - appropriate conversion of the pattern converter. If formatting options have - been specified via the then this method will - apply those formattings before writing the output. - - - - - - Fast space padding method. - - to which the spaces will be appended. - The number of spaces to be padded. - - - Fast space padding method. - - - - - - The option string to the converter - - - - - Write an dictionary to a - - the writer to write to - a to use for object conversion - the value to write to the writer - - - Writes the to a writer in the form: - - - {key1=value1, key2=value2, key3=value3} - - - If the specified - is not null then it is used to render the key and value to text, otherwise - the object's ToString method is called. - - - - - - Write an object to a - - the writer to write to - a to use for object conversion - the value to write to the writer - - - Writes the Object to a writer. If the specified - is not null then it is used to render the object to text, otherwise - the object's ToString method is called. - - - - - - Get the next pattern converter in the chain - - - the next pattern converter in the chain - - - - Get the next pattern converter in the chain - - - - - - Gets or sets the formatting info for this converter - - - The formatting info for this converter - - - - Gets or sets the formatting info for this converter - - - - - - Gets or sets the option value for this converter - - - The option for this converter - - - - Gets or sets the option value for this converter - - - - - - Initializes a new instance of the class. - - - - - Derived pattern converters must override this method in order to - convert conversion specifiers in the correct way. - - that will receive the formatted result. - The on which the pattern converter should be executed. - - - - Derived pattern converters must override this method in order to - convert conversion specifiers in the correct way. - - that will receive the formatted result. - The state object on which the pattern converter should be executed. - - - - Flag indicating if this converter handles exceptions - - - false if this converter handles exceptions - - - - - Flag indicating if this converter handles the logging event exception - - false if this converter handles the logging event exception - - - If this converter handles the exception object contained within - , then this property should be set to - false. Otherwise, if the layout ignores the exception - object, then the property should be set to true. - - - Set this value to override a this default setting. The default - value is true, this converter does not handle the exception. - - - - - - Write the event appdomain name to the output - - that will receive the formatted result. - the event being logged - - - Writes the to the output . - - - - - - Date pattern converter, uses a to format - the date of a . - - - - Render the to the writer as a string. - - - The value of the determines - the formatting of the date. The following values are allowed: - - - Option value - Output - - - ISO8601 - - Uses the formatter. - Formats using the "yyyy-MM-dd HH:mm:ss,fff" pattern. - - - - DATE - - Uses the formatter. - Formats using the "dd MMM yyyy HH:mm:ss,fff" for example, "06 Nov 1994 15:49:37,459". - - - - ABSOLUTE - - Uses the formatter. - Formats using the "HH:mm:ss,yyyy" for example, "15:49:37,459". - - - - other - - Any other pattern string uses the formatter. - This formatter passes the pattern string to the - method. - For details on valid patterns see - DateTimeFormatInfo Class. - - - - - - The is in the local time zone and is rendered in that zone. - To output the time in Universal time see . - - - Nicko Cadell - - - - The used to render the date to a string - - - - The used to render the date to a string - - - - - - Initialize the converter pattern based on the property. - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - - - - Convert the pattern into the rendered message - - that will receive the formatted result. - the event being logged - - - Pass the to the - for it to render it to the writer. - - - The passed is in the local time zone. - - - - - - Write the exception text to the output - - - - If an exception object is stored in the logging event - it will be rendered into the pattern output with a - trailing newline. - - - If there is no exception then nothing will be output - and no trailing newline will be appended. - It is typical to put a newline before the exception - and to have the exception as the last data in the pattern. - - - Nicko Cadell - - - - Default constructor - - - - - Write the exception text to the output - - that will receive the formatted result. - the event being logged - - - If an exception object is stored in the logging event - it will be rendered into the pattern output with a - trailing newline. - - - If there is no exception then nothing will be output - and no trailing newline will be appended. - It is typical to put a newline before the exception - and to have the exception as the last data in the pattern. - - - - - - Writes the caller location file name to the output - - - - Writes the value of the for - the event to the output writer. - - - Nicko Cadell - - - - Write the caller location file name to the output - - that will receive the formatted result. - the event being logged - - - Writes the value of the for - the to the output . - - - - - - Write the caller location info to the output - - - - Writes the to the output writer. - - - Nicko Cadell - - - - Write the caller location info to the output - - that will receive the formatted result. - the event being logged - - - Writes the to the output writer. - - - - - - Writes the event identity to the output - - - - Writes the value of the to - the output writer. - - - Daniel Cazzulino - Nicko Cadell - - - - Writes the event identity to the output - - that will receive the formatted result. - the event being logged - - - Writes the value of the - to - the output . - - - - - - Write the event level to the output - - - - Writes the display name of the event - to the writer. - - - Nicko Cadell - - - - Write the event level to the output - - that will receive the formatted result. - the event being logged - - - Writes the of the - to the . - - - - - - Write the caller location line number to the output - - - - Writes the value of the for - the event to the output writer. - - - Nicko Cadell - - - - Write the caller location line number to the output - - that will receive the formatted result. - the event being logged - - - Writes the value of the for - the to the output . - - - - - - Converter for logger name - - - - Outputs the of the event. - - - Nicko Cadell - - - - Converter to output and truncate '.' separated strings - - - - This abstract class supports truncating a '.' separated string - to show a specified number of elements from the right hand side. - This is used to truncate class names that are fully qualified. - - - Subclasses should override the method to - return the fully qualified string. - - - Nicko Cadell - - - - Initialize the converter - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - - - - Get the fully qualified string data - - the event being logged - the fully qualified name - - - Overridden by subclasses to get the fully qualified name before the - precision is applied to it. - - - Return the fully qualified '.' (dot/period) separated string. - - - - - - Convert the pattern to the rendered message - - that will receive the formatted result. - the event being logged - - Render the to the precision - specified by the property. - - - - - Gets the fully qualified name of the logger - - the event being logged - The fully qualified logger name - - - Returns the of the . - - - - - - Writes the event message to the output - - - - Uses the method - to write out the event message. - - - Nicko Cadell - - - - Writes the event message to the output - - that will receive the formatted result. - the event being logged - - - Uses the method - to write out the event message. - - - - - - Write the method name to the output - - - - Writes the caller location to - the output. - - - Nicko Cadell - - - - Write the method name to the output - - that will receive the formatted result. - the event being logged - - - Writes the caller location to - the output. - - - - - - Converter to include event NDC - - - - Outputs the value of the event property named NDC. - - - The should be used instead. - - - Nicko Cadell - - - - Write the event NDC to the output - - that will receive the formatted result. - the event being logged - - - As the thread context stacks are now stored in named event properties - this converter simply looks up the value of the NDC property. - - - The should be used instead. - - - - - - Property pattern converter - - - - Writes out the value of a named property. The property name - should be set in the - property. - - - If the is set to null - then all the properties are written as key value pairs. - - - Nicko Cadell - - - - Write the property value to the output - - that will receive the formatted result. - the event being logged - - - Writes out the value of a named property. The property name - should be set in the - property. - - - If the is set to null - then all the properties are written as key value pairs. - - - - - - Converter to output the relative time of the event - - - - Converter to output the time of the event relative to the start of the program. - - - Nicko Cadell - - - - Write the relative time to the output - - that will receive the formatted result. - the event being logged - - - Writes out the relative time of the event in milliseconds. - That is the number of milliseconds between the event - and the . - - - - - - Helper method to get the time difference between two DateTime objects - - start time (in the current local time zone) - end time (in the current local time zone) - the time difference in milliseconds - - - - Converter to include event thread name - - - - Writes the to the output. - - - Nicko Cadell - - - - Write the ThreadName to the output - - that will receive the formatted result. - the event being logged - - - Writes the to the . - - - - - - Pattern converter for the class name - - - - Outputs the of the event. - - - Nicko Cadell - - - - Gets the fully qualified name of the class - - the event being logged - The fully qualified type name for the caller location - - - Returns the of the . - - - - - - Converter to include event user name - - Douglas de la Torre - Nicko Cadell - - - - Convert the pattern to the rendered message - - that will receive the formatted result. - the event being logged - - - - Write the TimeStamp to the output - - - - Date pattern converter, uses a to format - the date of a . - - - Uses a to format the - in Universal time. - - - See the for details on the date pattern syntax. - - - - Nicko Cadell - - - - Write the TimeStamp to the output - - that will receive the formatted result. - the event being logged - - - Pass the to the - for it to render it to the writer. - - - The passed is in the local time zone, this is converted - to Universal time before it is rendered. - - - - - - - A Layout that renders only the Exception text from the logging event - - - - A Layout that renders only the Exception text from the logging event. - - - This Layout should only be used with appenders that utilize multiple - layouts (e.g. ). - - - Nicko Cadell - Gert Driesen - - - - Extend this abstract class to create your own log layout format. - - - - This is the base implementation of the - interface. Most layout objects should extend this class. - - - - - - Subclasses must implement the - method. - - - Subclasses should set the in their default - constructor. - - - - Nicko Cadell - Gert Driesen - - - - Interface implemented by layout objects - - - - An object is used to format a - as text. The method is called by an - appender to transform the into a string. - - - The layout can also supply and - text that is appender before any events and after all the events respectively. - - - Nicko Cadell - Gert Driesen - - - - Implement this method to create your own layout format. - - The TextWriter to write the formatted event to - The event to format - - - This method is called by an appender to format - the as text and output to a writer. - - - If the caller does not have a and prefers the - event to be formatted as a then the following - code can be used to format the event into a . - - - StringWriter writer = new StringWriter(); - Layout.Format(writer, loggingEvent); - string formattedEvent = writer.ToString(); - - - - - - The content type output by this layout. - - The content type - - - The content type output by this layout. - - - This is a MIME type e.g. "text/plain". - - - - - - The header for the layout format. - - the layout header - - - The Header text will be appended before any logging events - are formatted and appended. - - - - - - The footer for the layout format. - - the layout footer - - - The Footer text will be appended after all the logging events - have been formatted and appended. - - - - - - Flag indicating if this layout handle exceptions - - false if this layout handles exceptions - - - If this layout handles the exception object contained within - , then the layout should return - false. Otherwise, if the layout ignores the exception - object, then the layout should return true. - - - - - - The header text - - - - See for more information. - - - - - - The footer text - - - - See for more information. - - - - - - Flag indicating if this layout handles exceptions - - - - false if this layout handles exceptions - - - - - - Empty default constructor - - - - Empty default constructor - - - - - - Activate component options - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - This method must be implemented by the subclass. - - - - - - Implement this method to create your own layout format. - - The TextWriter to write the formatted event to - The event to format - - - This method is called by an appender to format - the as text. - - - - - - The content type output by this layout. - - The content type is "text/plain" - - - The content type output by this layout. - - - This base class uses the value "text/plain". - To change this value a subclass must override this - property. - - - - - - The header for the layout format. - - the layout header - - - The Header text will be appended before any logging events - are formatted and appended. - - - - - - The footer for the layout format. - - the layout footer - - - The Footer text will be appended after all the logging events - have been formatted and appended. - - - - - - Flag indicating if this layout handles exceptions - - false if this layout handles exceptions - - - If this layout handles the exception object contained within - , then the layout should return - false. Otherwise, if the layout ignores the exception - object, then the layout should return true. - - - Set this value to override a this default setting. The default - value is true, this layout does not handle the exception. - - - - - - Default constructor - - - - Constructs a ExceptionLayout - - - - - - Activate component options - - - - Part of the component activation - framework. - - - This method does nothing as options become effective immediately. - - - - - - Gets the exception text from the logging event - - The TextWriter to write the formatted event to - the event being logged - - - Write the exception string to the . - The exception string is retrieved from . - - - - - - Interface for raw layout objects - - - - Interface used to format a - to an object. - - - This interface should not be confused with the - interface. This interface is used in - only certain specialized situations where a raw object is - required rather than a formatted string. The - is not generally useful than this interface. - - - Nicko Cadell - Gert Driesen - - - - Implement this method to create your own layout format. - - The event to format - returns the formatted event - - - Implement this method to create your own layout format. - - - - - - Adapts any to a - - - - Where an is required this adapter - allows a to be specified. - - - Nicko Cadell - Gert Driesen - - - - The layout to adapt - - - - - Construct a new adapter - - the layout to adapt - - - Create the adapter for the specified . - - - - - - Format the logging event as an object. - - The event to format - returns the formatted event - - - Format the logging event as an object. - - - Uses the object supplied to - the constructor to perform the formatting. - - - - - - A flexible layout configurable with pattern string. - - - - The goal of this class is to a - as a string. The results - depend on the conversion pattern. - - - The conversion pattern is closely related to the conversion - pattern of the printf function in C. A conversion pattern is - composed of literal text and format control expressions called - conversion specifiers. - - - You are free to insert any literal text within the conversion - pattern. - - - Each conversion specifier starts with a percent sign (%) and is - followed by optional format modifiers and a conversion - pattern name. The conversion pattern name specifies the type of - data, e.g. logger, level, date, thread name. The format - modifiers control such things as field width, padding, left and - right justification. The following is a simple example. - - - Let the conversion pattern be "%-5level [%thread]: %message%newline" and assume - that the log4net environment was set to use a PatternLayout. Then the - statements - - - ILog log = LogManager.GetLogger(typeof(TestApp)); - log.Debug("Message 1"); - log.Warn("Message 2"); - - would yield the output - - DEBUG [main]: Message 1 - WARN [main]: Message 2 - - - Note that there is no explicit separator between text and - conversion specifiers. The pattern parser knows when it has reached - the end of a conversion specifier when it reads a conversion - character. In the example above the conversion specifier - %-5level means the level of the logging event should be left - justified to a width of five characters. - - - The recognized conversion pattern names are: - - - - Conversion Pattern Name - Effect - - - a - Equivalent to appdomain - - - appdomain - - Used to output the friendly name of the AppDomain where the - logging event was generated. - - - - c - Equivalent to logger - - - C - Equivalent to type - - - class - Equivalent to type - - - d - Equivalent to date - - - date - - - Used to output the date of the logging event in the local time zone. - To output the date in universal time use the %utcdate pattern. - The date conversion - specifier may be followed by a date format specifier enclosed - between braces. For example, %date{HH:mm:ss,fff} or - %date{dd MMM yyyy HH:mm:ss,fff}. If no date format specifier is - given then ISO8601 format is - assumed (). - - - The date format specifier admits the same syntax as the - time pattern string of the . - - - For better results it is recommended to use the log4net date - formatters. These can be specified using one of the strings - "ABSOLUTE", "DATE" and "ISO8601" for specifying - , - and respectively - . For example, - %date{ISO8601} or %date{ABSOLUTE}. - - - These dedicated date formatters perform significantly - better than . - - - - - exception - - - Used to output the exception passed in with the log message. - - - If an exception object is stored in the logging event - it will be rendered into the pattern output with a - trailing newline. - If there is no exception then nothing will be output - and no trailing newline will be appended. - It is typical to put a newline before the exception - and to have the exception as the last data in the pattern. - - - - - F - Equivalent to file - - - file - - - Used to output the file name where the logging request was - issued. - - - WARNING Generating caller location information is - extremely slow. Its use should be avoided unless execution speed - is not an issue. - - - See the note below on the availability of caller location information. - - - - - identity - - - Used to output the user name for the currently active user - (Principal.Identity.Name). - - - WARNING Generating caller information is - extremely slow. Its use should be avoided unless execution speed - is not an issue. - - - - - l - Equivalent to location - - - L - Equivalent to line - - - location - - - Used to output location information of the caller which generated - the logging event. - - - The location information depends on the CLI implementation but - usually consists of the fully qualified name of the calling - method followed by the callers source the file name and line - number between parentheses. - - - The location information can be very useful. However, its - generation is extremely slow. Its use should be avoided - unless execution speed is not an issue. - - - See the note below on the availability of caller location information. - - - - - level - - - Used to output the level of the logging event. - - - - - line - - - Used to output the line number from where the logging request - was issued. - - - WARNING Generating caller location information is - extremely slow. Its use should be avoided unless execution speed - is not an issue. - - - See the note below on the availability of caller location information. - - - - - logger - - - Used to output the logger of the logging event. The - logger conversion specifier can be optionally followed by - precision specifier, that is a decimal constant in - brackets. - - - If a precision specifier is given, then only the corresponding - number of right most components of the logger name will be - printed. By default the logger name is printed in full. - - - For example, for the logger name "a.b.c" the pattern - %logger{2} will output "b.c". - - - - - m - Equivalent to message - - - M - Equivalent to method - - - message - - - Used to output the application supplied message associated with - the logging event. - - - - - mdc - - - The MDC (old name for the ThreadContext.Properties) is now part of the - combined event properties. This pattern is supported for compatibility - but is equivalent to property. - - - - - method - - - Used to output the method name where the logging request was - issued. - - - WARNING Generating caller location information is - extremely slow. Its use should be avoided unless execution speed - is not an issue. - - - See the note below on the availability of caller location information. - - - - - n - Equivalent to newline - - - newline - - - Outputs the platform dependent line separator character or - characters. - - - This conversion pattern offers the same performance as using - non-portable line separator strings such as "\n", or "\r\n". - Thus, it is the preferred way of specifying a line separator. - - - - - ndc - - - Used to output the NDC (nested diagnostic context) associated - with the thread that generated the logging event. - - - - - p - Equivalent to level - - - P - Equivalent to property - - - properties - Equivalent to property - - - property - - - Used to output the an event specific property. The key to - lookup must be specified within braces and directly following the - pattern specifier, e.g. %property{user} would include the value - from the property that is keyed by the string 'user'. Each property value - that is to be included in the log must be specified separately. - Properties are added to events by loggers or appenders. By default - the log4net:HostName property is set to the name of machine on - which the event was originally logged. - - - If no key is specified, e.g. %property then all the keys and their - values are printed in a comma separated list. - - - The properties of an event are combined from a number of different - contexts. These are listed below in the order in which they are searched. - - - - the event properties - - The event has that can be set. These - properties are specific to this event only. - - - - the thread properties - - The that are set on the current - thread. These properties are shared by all events logged on this thread. - - - - the global properties - - The that are set globally. These - properties are shared by all the threads in the AppDomain. - - - - - - - - r - Equivalent to timestamp - - - t - Equivalent to thread - - - timestamp - - - Used to output the number of milliseconds elapsed since the start - of the application until the creation of the logging event. - - - - - thread - - - Used to output the name of the thread that generated the - logging event. Uses the thread number if no name is available. - - - - - type - - - Used to output the fully qualified type name of the caller - issuing the logging request. This conversion specifier - can be optionally followed by precision specifier, that - is a decimal constant in brackets. - - - If a precision specifier is given, then only the corresponding - number of right most components of the class name will be - printed. By default the class name is output in fully qualified form. - - - For example, for the class name "log4net.Layout.PatternLayout", the - pattern %type{1} will output "PatternLayout". - - - WARNING Generating the caller class information is - slow. Thus, its use should be avoided unless execution speed is - not an issue. - - - See the note below on the availability of caller location information. - - - - - u - Equivalent to identity - - - username - - - Used to output the WindowsIdentity for the currently - active user. - - - WARNING Generating caller WindowsIdentity information is - extremely slow. Its use should be avoided unless execution speed - is not an issue. - - - - - utcdate - - - Used to output the date of the logging event in universal time. - The date conversion - specifier may be followed by a date format specifier enclosed - between braces. For example, %utcdate{HH:mm:ss,fff} or - %utcdate{dd MMM yyyy HH:mm:ss,fff}. If no date format specifier is - given then ISO8601 format is - assumed (). - - - The date format specifier admits the same syntax as the - time pattern string of the . - - - For better results it is recommended to use the log4net date - formatters. These can be specified using one of the strings - "ABSOLUTE", "DATE" and "ISO8601" for specifying - , - and respectively - . For example, - %utcdate{ISO8601} or %utcdate{ABSOLUTE}. - - - These dedicated date formatters perform significantly - better than . - - - - - w - Equivalent to username - - - x - Equivalent to ndc - - - X - Equivalent to mdc - - - % - - - The sequence %% outputs a single percent sign. - - - - - - The single letter patterns are deprecated in favor of the - longer more descriptive pattern names. - - - By default the relevant information is output as is. However, - with the aid of format modifiers it is possible to change the - minimum field width, the maximum field width and justification. - - - The optional format modifier is placed between the percent sign - and the conversion pattern name. - - - The first optional format modifier is the left justification - flag which is just the minus (-) character. Then comes the - optional minimum field width modifier. This is a decimal - constant that represents the minimum number of characters to - output. If the data item requires fewer characters, it is padded on - either the left or the right until the minimum width is - reached. The default is to pad on the left (right justify) but you - can specify right padding with the left justification flag. The - padding character is space. If the data item is larger than the - minimum field width, the field is expanded to accommodate the - data. The value is never truncated. - - - This behavior can be changed using the maximum field - width modifier which is designated by a period followed by a - decimal constant. If the data item is longer than the maximum - field, then the extra characters are removed from the - beginning of the data item and not from the end. For - example, it the maximum field width is eight and the data item is - ten characters long, then the first two characters of the data item - are dropped. This behavior deviates from the printf function in C - where truncation is done from the end. - - - Below are various format modifier examples for the logger - conversion specifier. - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Format modifierleft justifyminimum widthmaximum widthcomment
%20loggerfalse20none - - Left pad with spaces if the logger name is less than 20 - characters long. - -
%-20loggertrue20none - - Right pad with spaces if the logger - name is less than 20 characters long. - -
%.30loggerNAnone30 - - Truncate from the beginning if the logger - name is longer than 30 characters. - -
%20.30loggerfalse2030 - - Left pad with spaces if the logger name is shorter than 20 - characters. However, if logger name is longer than 30 characters, - then truncate from the beginning. - -
%-20.30loggertrue2030 - - Right pad with spaces if the logger name is shorter than 20 - characters. However, if logger name is longer than 30 characters, - then truncate from the beginning. - -
-
- - Note about caller location information.
- The following patterns %type %file %line %method %location %class %C %F %L %l %M - all generate caller location information. - Location information uses the System.Diagnostics.StackTrace class to generate - a call stack. The caller's information is then extracted from this stack. -
- - - The System.Diagnostics.StackTrace class is not supported on the - .NET Compact Framework 1.0 therefore caller location information is not - available on that framework. - - - - - The System.Diagnostics.StackTrace class has this to say about Release builds: - - - "StackTrace information will be most informative with Debug build configurations. - By default, Debug builds include debug symbols, while Release builds do not. The - debug symbols contain most of the file, method name, line number, and column - information used in constructing StackFrame and StackTrace objects. StackTrace - might not report as many method calls as expected, due to code transformations - that occur during optimization." - - - This means that in a Release build the caller information may be incomplete or may - not exist at all! Therefore caller location information cannot be relied upon in a Release build. - - - - Additional pattern converters may be registered with a specific - instance using the method. - -
- - This is a more detailed pattern. - %timestamp [%thread] %level %logger %ndc - %message%newline - - - A similar pattern except that the relative time is - right padded if less than 6 digits, thread name is right padded if - less than 15 characters and truncated if longer and the logger - name is left padded if shorter than 30 characters and truncated if - longer. - %-6timestamp [%15.15thread] %-5level %30.30logger %ndc - %message%newline - - Nicko Cadell - Gert Driesen - Douglas de la Torre - Daniel Cazzulino -
- - - Default pattern string for log output. - - - - Default pattern string for log output. - Currently set to the string "%message%newline" - which just prints the application supplied message. - - - - - - A detailed conversion pattern - - - - A conversion pattern which includes Time, Thread, Logger, and Nested Context. - Current value is %timestamp [%thread] %level %logger %ndc - %message%newline. - - - - - - Internal map of converter identifiers to converter types. - - - - This static map is overridden by the m_converterRegistry instance map - - - - - - the pattern - - - - - the head of the pattern converter chain - - - - - patterns defined on this PatternLayout only - - - - - Initialize the global registry - - - - Defines the builtin global rules. - - - - - - Constructs a PatternLayout using the DefaultConversionPattern - - - - The default pattern just produces the application supplied message. - - - Note to Inheritors: This constructor calls the virtual method - . If you override this method be - aware that it will be called before your is called constructor. - - - As per the contract the - method must be called after the properties on this object have been - configured. - - - - - - Constructs a PatternLayout using the supplied conversion pattern - - the pattern to use - - - Note to Inheritors: This constructor calls the virtual method - . If you override this method be - aware that it will be called before your is called constructor. - - - When using this constructor the method - need not be called. This may not be the case when using a subclass. - - - - - - Create the pattern parser instance - - the pattern to parse - The that will format the event - - - Creates the used to parse the conversion string. Sets the - global and instance rules on the . - - - - - - Initialize layout options - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - - - - Produces a formatted string as specified by the conversion pattern. - - the event being logged - The TextWriter to write the formatted event to - - - Parse the using the patter format - specified in the property. - - - - - - Add a converter to this PatternLayout - - the converter info - - - This version of the method is used by the configurator. - Programmatic users should use the alternative method. - - - - - - Add a converter to this PatternLayout - - the name of the conversion pattern for this converter - the type of the converter - - - Add a named pattern converter to this instance. This - converter will be used in the formatting of the event. - This method must be called before . - - - The specified must extend the - type. - - - - - - The pattern formatting string - - - - The ConversionPattern option. This is the string which - controls formatting and consists of a mix of literal content and - conversion specifiers. - - - - - - Wrapper class used to map converter names to converter types - - - - Pattern converter info class used during configuration to - pass to the - method. - - - - - - default constructor - - - - - Gets or sets the name of the conversion pattern - - - - The name of the pattern in the format string - - - - - - Gets or sets the type of the converter - - - - The value specified must extend the - type. - - - - - - Type converter for the interface - - - - Used to convert objects to the interface. - Supports converting from the interface to - the interface using the . - - - Nicko Cadell - Gert Driesen - - - - Interface supported by type converters - - - - This interface supports conversion from arbitrary types - to a single target type. See . - - - Nicko Cadell - Gert Driesen - - - - Can the source type be converted to the type supported by this object - - the type to convert - true if the conversion is possible - - - Test if the can be converted to the - type supported by this converter. - - - - - - Convert the source object to the type supported by this object - - the object to convert - the converted object - - - Converts the to the type supported - by this converter. - - - - - - Can the sourceType be converted to an - - the source to be to be converted - true if the source type can be converted to - - - Test if the can be converted to a - . Only is supported - as the . - - - - - - Convert the value to a object - - the value to convert - the object - - - Convert the object to a - object. If the object - is a then the - is used to adapt between the two interfaces, otherwise an - exception is thrown. - - - - - - Extract the value of a property from the - - - - Extract the value of a property from the - - - Nicko Cadell - - - - Constructs a RawPropertyLayout - - - - - Lookup the property for - - The event to format - returns property value - - - Looks up and returns the object value of the property - named . If there is no property defined - with than name then null will be returned. - - - - - - The name of the value to lookup in the LoggingEvent Properties collection. - - - Value to lookup in the LoggingEvent Properties collection - - - - String name of the property to lookup in the . - - - - - - Extract the date from the - - - - Extract the date from the - - - Nicko Cadell - Gert Driesen - - - - Constructs a RawTimeStampLayout - - - - - Gets the as a . - - The event to format - returns the time stamp - - - Gets the as a . - - - The time stamp is in local time. To format the time stamp - in universal time use . - - - - - - Extract the date from the - - - - Extract the date from the - - - Nicko Cadell - Gert Driesen - - - - Constructs a RawUtcTimeStampLayout - - - - - Gets the as a . - - The event to format - returns the time stamp - - - Gets the as a . - - - The time stamp is in universal time. To format the time stamp - in local time use . - - - - - - A very simple layout - - - - SimpleLayout consists of the level of the log statement, - followed by " - " and then the log message itself. For example, - - DEBUG - Hello world - - - - Nicko Cadell - Gert Driesen - - - - Constructs a SimpleLayout - - - - - Initialize layout options - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - - - - Produces a simple formatted output. - - the event being logged - The TextWriter to write the formatted event to - - - Formats the event as the level of the even, - followed by " - " and then the log message itself. The - output is terminated by a newline. - - - - - - Layout that formats the log events as XML elements. - - - - The output of the consists of a series of - log4net:event elements. It does not output a complete well-formed XML - file. The output is designed to be included as an external entity - in a separate file to form a correct XML file. - - - For example, if abc is the name of the file where - the output goes, then a well-formed XML file would - be: - - - <?xml version="1.0" ?> - - <!DOCTYPE log4net:events SYSTEM "log4net-events.dtd" [<!ENTITY data SYSTEM "abc">]> - - <log4net:events version="1.2" xmlns:log4net="http://logging.apache.org/log4net/schemas/log4net-events-1.2> - &data; - </log4net:events> - - - This approach enforces the independence of the - and the appender where it is embedded. - - - The version attribute helps components to correctly - interpret output generated by . The value of - this attribute should be "1.2" for release 1.2 and later. - - - Alternatively the Header and Footer properties can be - configured to output the correct XML header, open tag and close tag. - When setting the Header and Footer properties it is essential - that the underlying data store not be appendable otherwise the data - will become invalid XML. - - - Nicko Cadell - Gert Driesen - - - - Layout that formats the log events as XML elements. - - - - This is an abstract class that must be subclassed by an implementation - to conform to a specific schema. - - - Deriving classes must implement the method. - - - Nicko Cadell - Gert Driesen - - - - Protected constructor to support subclasses - - - - Initializes a new instance of the class - with no location info. - - - - - - Protected constructor to support subclasses - - - - The parameter determines whether - location information will be output by the layout. If - is set to true, then the - file name and line number of the statement at the origin of the log - statement will be output. - - - If you are embedding this layout within an SMTPAppender - then make sure to set the LocationInfo option of that - appender as well. - - - - - - Initialize layout options - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - - - - Produces a formatted string. - - The event being logged. - The TextWriter to write the formatted event to - - - Format the and write it to the . - - - This method creates an that writes to the - . The is passed - to the method. Subclasses should override the - method rather than this method. - - - - - - Does the actual writing of the XML. - - The writer to use to output the event to. - The event to write. - - - Subclasses should override this method to format - the as XML. - - - - - - Flag to indicate if location information should be included in - the XML events. - - - - - Writer adapter that ignores Close - - - - - The string to replace invalid chars with - - - - - Gets a value indicating whether to include location information in - the XML events. - - - true if location information should be included in the XML - events; otherwise, false. - - - - If is set to true, then the file - name and line number of the statement at the origin of the log - statement will be output. - - - If you are embedding this layout within an SMTPAppender - then make sure to set the LocationInfo option of that - appender as well. - - - - - - The string to replace characters that can not be expressed in XML with. - - - Not all characters may be expressed in XML. This property contains the - string to replace those that can not with. This defaults to a ?. Set it - to the empty string to simply remove offending characters. For more - details on the allowed character ranges see http://www.w3.org/TR/REC-xml/#charsets - Character replacement will occur in the log message, the property names - and the property values. - - - - - - - Gets the content type output by this layout. - - - As this is the XML layout, the value is always "text/xml". - - - - As this is the XML layout, the value is always "text/xml". - - - - - - Constructs an XmlLayout - - - - - Constructs an XmlLayout. - - - - The LocationInfo option takes a boolean value. By - default, it is set to false which means there will be no location - information output by this layout. If the the option is set to - true, then the file name and line number of the statement - at the origin of the log statement will be output. - - - If you are embedding this layout within an SmtpAppender - then make sure to set the LocationInfo option of that - appender as well. - - - - - - Initialize layout options - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - Builds a cache of the element names - - - - - - Does the actual writing of the XML. - - The writer to use to output the event to. - The event to write. - - - Override the base class method - to write the to the . - - - - - - The prefix to use for all generated element names - - - - - The prefix to use for all element names - - - - The default prefix is log4net. Set this property - to change the prefix. If the prefix is set to an empty string - then no prefix will be written. - - - - - - Set whether or not to base64 encode the message. - - - - By default the log message will be written as text to the xml - output. This can cause problems when the message contains binary - data. By setting this to true the contents of the message will be - base64 encoded. If this is set then invalid character replacement - (see ) will not be performed - on the log message. - - - - - - Set whether or not to base64 encode the property values. - - - - By default the properties will be written as text to the xml - output. This can cause problems when one or more properties contain - binary data. By setting this to true the values of the properties - will be base64 encoded. If this is set then invalid character replacement - (see ) will not be performed - on the property values. - - - - - - Layout that formats the log events as XML elements compatible with the log4j schema - - - - Formats the log events according to the http://logging.apache.org/log4j schema. - - - Nicko Cadell - - - - The 1st of January 1970 in UTC - - - - - Constructs an XMLLayoutSchemaLog4j - - - - - Constructs an XMLLayoutSchemaLog4j. - - - - The LocationInfo option takes a boolean value. By - default, it is set to false which means there will be no location - information output by this layout. If the the option is set to - true, then the file name and line number of the statement - at the origin of the log statement will be output. - - - If you are embedding this layout within an SMTPAppender - then make sure to set the LocationInfo option of that - appender as well. - - - - - - Actually do the writing of the xml - - the writer to use - the event to write - - - Generate XML that is compatible with the log4j schema. - - - - - - The version of the log4j schema to use. - - - - Only version 1.2 of the log4j schema is supported. - - - - - - The default object Renderer. - - - - The default renderer supports rendering objects and collections to strings. - - - See the method for details of the output. - - - Nicko Cadell - Gert Driesen - - - - Implement this interface in order to render objects as strings - - - - Certain types require special case conversion to - string form. This conversion is done by an object renderer. - Object renderers implement the - interface. - - - Nicko Cadell - Gert Driesen - - - - Render the object to a string - - The map used to lookup renderers - The object to render - The writer to render to - - - Render the object to a - string. - - - The parameter is - provided to lookup and render other objects. This is - very useful where contains - nested objects of unknown type. The - method can be used to render these objects. - - - - - - Default constructor - - - - Default constructor - - - - - - Render the object to a string - - The map used to lookup renderers - The object to render - The writer to render to - - - Render the object to a string. - - - The parameter is - provided to lookup and render other objects. This is - very useful where contains - nested objects of unknown type. The - method can be used to render these objects. - - - The default renderer supports rendering objects to strings as follows: - - - - Value - Rendered String - - - null - - "(null)" - - - - - - - For a one dimensional array this is the - array type name, an open brace, followed by a comma - separated list of the elements (using the appropriate - renderer), followed by a close brace. - - - For example: int[] {1, 2, 3}. - - - If the array is not one dimensional the - Array.ToString() is returned. - - - - - , & - - - Rendered as an open brace, followed by a comma - separated list of the elements (using the appropriate - renderer), followed by a close brace. - - - For example: {a, b, c}. - - - All collection classes that implement its subclasses, - or generic equivalents all implement the interface. - - - - - - - - Rendered as the key, an equals sign ('='), and the value (using the appropriate - renderer). - - - For example: key=value. - - - - - other - - Object.ToString() - - - - - - - - Render the array argument into a string - - The map used to lookup renderers - the array to render - The writer to render to - - - For a one dimensional array this is the - array type name, an open brace, followed by a comma - separated list of the elements (using the appropriate - renderer), followed by a close brace. For example: - int[] {1, 2, 3}. - - - If the array is not one dimensional the - Array.ToString() is returned. - - - - - - Render the enumerator argument into a string - - The map used to lookup renderers - the enumerator to render - The writer to render to - - - Rendered as an open brace, followed by a comma - separated list of the elements (using the appropriate - renderer), followed by a close brace. For example: - {a, b, c}. - - - - - - Render the DictionaryEntry argument into a string - - The map used to lookup renderers - the DictionaryEntry to render - The writer to render to - - - Render the key, an equals sign ('='), and the value (using the appropriate - renderer). For example: key=value. - - - - - - Map class objects to an . - - - - Maintains a mapping between types that require special - rendering and the that - is used to render them. - - - The method is used to render an - object using the appropriate renderers defined in this map. - - - Nicko Cadell - Gert Driesen - - - - Default Constructor - - - - Default constructor. - - - - - - Render using the appropriate renderer. - - the object to render to a string - the object rendered as a string - - - This is a convenience method used to render an object to a string. - The alternative method - should be used when streaming output to a . - - - - - - Render using the appropriate renderer. - - the object to render to a string - The writer to render to - - - Find the appropriate renderer for the type of the - parameter. This is accomplished by calling the - method. Once a renderer is found, it is - applied on the object and the result is returned - as a . - - - - - - Gets the renderer for the specified object type - - the object to lookup the renderer for - the renderer for - - - Gets the renderer for the specified object type. - - - Syntactic sugar method that calls - with the type of the object parameter. - - - - - - Gets the renderer for the specified type - - the type to lookup the renderer for - the renderer for the specified type - - - Returns the renderer for the specified type. - If no specific renderer has been defined the - will be returned. - - - - - - Internal function to recursively search interfaces - - the type to lookup the renderer for - the renderer for the specified type - - - - Clear the map of renderers - - - - Clear the custom renderers defined by using - . The - cannot be removed. - - - - - - Register an for . - - the type that will be rendered by - the renderer for - - - Register an object renderer for a specific source type. - This renderer will be returned from a call to - specifying the same as an argument. - - - - - - Get the default renderer instance - - the default renderer - - - Get the default renderer - - - - - - Interface implemented by logger repository plugins. - - - - Plugins define additional behavior that can be associated - with a . - The held by the - property is used to store the plugins for a repository. - - - The log4net.Config.PluginAttribute can be used to - attach plugins to repositories created using configuration - attributes. - - - Nicko Cadell - Gert Driesen - - - - Attaches the plugin to the specified . - - The that this plugin should be attached to. - - - A plugin may only be attached to a single repository. - - - This method is called when the plugin is attached to the repository. - - - - - - Is called when the plugin is to shutdown. - - - - This method is called to notify the plugin that - it should stop operating and should detach from - the repository. - - - - - - Gets the name of the plugin. - - - The name of the plugin. - - - - Plugins are stored in the - keyed by name. Each plugin instance attached to a - repository must be a unique name. - - - - - - A strongly-typed collection of objects. - - Nicko Cadell - - - - Creates a read-only wrapper for a PluginCollection instance. - - list to create a readonly wrapper arround - - A PluginCollection wrapper that is read-only. - - - - - Initializes a new instance of the PluginCollection class - that is empty and has the default initial capacity. - - - - - Initializes a new instance of the PluginCollection class - that has the specified initial capacity. - - - The number of elements that the new PluginCollection is initially capable of storing. - - - - - Initializes a new instance of the PluginCollection class - that contains elements copied from the specified PluginCollection. - - The PluginCollection whose elements are copied to the new collection. - - - - Initializes a new instance of the PluginCollection class - that contains elements copied from the specified array. - - The array whose elements are copied to the new list. - - - - Initializes a new instance of the PluginCollection class - that contains elements copied from the specified collection. - - The collection whose elements are copied to the new list. - - - - Allow subclasses to avoid our default constructors - - - - - - - Copies the entire PluginCollection to a one-dimensional - array. - - The one-dimensional array to copy to. - - - - Copies the entire PluginCollection to a one-dimensional - array, starting at the specified index of the target array. - - The one-dimensional array to copy to. - The zero-based index in at which copying begins. - - - - Adds a to the end of the PluginCollection. - - The to be added to the end of the PluginCollection. - The index at which the value has been added. - - - - Removes all elements from the PluginCollection. - - - - - Creates a shallow copy of the . - - A new with a shallow copy of the collection data. - - - - Determines whether a given is in the PluginCollection. - - The to check for. - true if is found in the PluginCollection; otherwise, false. - - - - Returns the zero-based index of the first occurrence of a - in the PluginCollection. - - The to locate in the PluginCollection. - - The zero-based index of the first occurrence of - in the entire PluginCollection, if found; otherwise, -1. - - - - - Inserts an element into the PluginCollection at the specified index. - - The zero-based index at which should be inserted. - The to insert. - - is less than zero - -or- - is equal to or greater than . - - - - - Removes the first occurrence of a specific from the PluginCollection. - - The to remove from the PluginCollection. - - The specified was not found in the PluginCollection. - - - - - Removes the element at the specified index of the PluginCollection. - - The zero-based index of the element to remove. - - is less than zero. - -or- - is equal to or greater than . - - - - - Returns an enumerator that can iterate through the PluginCollection. - - An for the entire PluginCollection. - - - - Adds the elements of another PluginCollection to the current PluginCollection. - - The PluginCollection whose elements should be added to the end of the current PluginCollection. - The new of the PluginCollection. - - - - Adds the elements of a array to the current PluginCollection. - - The array whose elements should be added to the end of the PluginCollection. - The new of the PluginCollection. - - - - Adds the elements of a collection to the current PluginCollection. - - The collection whose elements should be added to the end of the PluginCollection. - The new of the PluginCollection. - - - - Sets the capacity to the actual number of elements. - - - - - is less than zero. - -or- - is equal to or greater than . - - - - - is less than zero. - -or- - is equal to or greater than . - - - - - Gets the number of elements actually contained in the PluginCollection. - - - - - Gets a value indicating whether access to the collection is synchronized (thread-safe). - - true if access to the ICollection is synchronized (thread-safe); otherwise, false. - - - - Gets an object that can be used to synchronize access to the collection. - - - An object that can be used to synchronize access to the collection. - - - - - Gets or sets the at the specified index. - - - The at the specified index. - - The zero-based index of the element to get or set. - - is less than zero. - -or- - is equal to or greater than . - - - - - Gets a value indicating whether the collection has a fixed size. - - true if the collection has a fixed size; otherwise, false. The default is false. - - - - Gets a value indicating whether the IList is read-only. - - true if the collection is read-only; otherwise, false. The default is false. - - - - Gets or sets the number of elements the PluginCollection can contain. - - - The number of elements the PluginCollection can contain. - - - - - Supports type-safe iteration over a . - - - - - - Advances the enumerator to the next element in the collection. - - - true if the enumerator was successfully advanced to the next element; - false if the enumerator has passed the end of the collection. - - - The collection was modified after the enumerator was created. - - - - - Sets the enumerator to its initial position, before the first element in the collection. - - - - - Gets the current element in the collection. - - - - - Type visible only to our subclasses - Used to access protected constructor - - - - - - A value - - - - - Supports simple iteration over a . - - - - - - Initializes a new instance of the Enumerator class. - - - - - - Advances the enumerator to the next element in the collection. - - - true if the enumerator was successfully advanced to the next element; - false if the enumerator has passed the end of the collection. - - - The collection was modified after the enumerator was created. - - - - - Sets the enumerator to its initial position, before the first element in the collection. - - - - - Gets the current element in the collection. - - - The current element in the collection. - - - - - - - - Map of repository plugins. - - - - This class is a name keyed map of the plugins that are - attached to a repository. - - - Nicko Cadell - Gert Driesen - - - - Constructor - - The repository that the plugins should be attached to. - - - Initialize a new instance of the class with a - repository that the plugins should be attached to. - - - - - - Adds a to the map. - - The to add to the map. - - - The will be attached to the repository when added. - - - If there already exists a plugin with the same name - attached to the repository then the old plugin will - be and replaced with - the new plugin. - - - - - - Removes a from the map. - - The to remove from the map. - - - Remove a specific plugin from this map. - - - - - - Gets a by name. - - The name of the to lookup. - - The from the map with the name specified, or - null if no plugin is found. - - - - Lookup a plugin by name. If the plugin is not found null - will be returned. - - - - - - Gets all possible plugins as a list of objects. - - All possible plugins as a list of objects. - - - Get a collection of all the plugins defined in this map. - - - - - - Base implementation of - - - - Default abstract implementation of the - interface. This base class can be used by implementors - of the interface. - - - Nicko Cadell - Gert Driesen - - - - Constructor - - the name of the plugin - - Initializes a new Plugin with the specified name. - - - - - Attaches this plugin to a . - - The that this plugin should be attached to. - - - A plugin may only be attached to a single repository. - - - This method is called when the plugin is attached to the repository. - - - - - - Is called when the plugin is to shutdown. - - - - This method is called to notify the plugin that - it should stop operating and should detach from - the repository. - - - - - - The name of this plugin. - - - - - The repository this plugin is attached to. - - - - - Gets or sets the name of the plugin. - - - The name of the plugin. - - - - Plugins are stored in the - keyed by name. Each plugin instance attached to a - repository must be a unique name. - - - The name of the plugin must not change one the - plugin has been attached to a repository. - - - - - - The repository for this plugin - - - The that this plugin is attached to. - - - - Gets or sets the that this plugin is - attached to. - - - - - - Plugin that listens for events from the - - - - This plugin publishes an instance of - on a specified . This listens for logging events delivered from - a remote . - - - When an event is received it is relogged within the attached repository - as if it had been raised locally. - - - Nicko Cadell - Gert Driesen - - - - Default constructor - - - - Initializes a new instance of the class. - - - The property must be set. - - - - - - Construct with sink Uri. - - The name to publish the sink under in the remoting infrastructure. - See for more details. - - - Initializes a new instance of the class - with specified name. - - - - - - Attaches this plugin to a . - - The that this plugin should be attached to. - - - A plugin may only be attached to a single repository. - - - This method is called when the plugin is attached to the repository. - - - - - - Is called when the plugin is to shutdown. - - - - When the plugin is shutdown the remote logging - sink is disconnected. - - - - - - Gets or sets the URI of this sink. - - - The URI of this sink. - - - - This is the name under which the object is marshaled. - - - - - - - Delivers objects to a remote sink. - - - - Internal class used to listen for logging events - and deliver them to the local repository. - - - - - - Constructor - - The repository to log to. - - - Initializes a new instance of the for the - specified . - - - - - - Logs the events to the repository. - - The events to log. - - - The events passed are logged to the - - - - - - Obtains a lifetime service object to control the lifetime - policy for this instance. - - null to indicate that this instance should live forever. - - - Obtains a lifetime service object to control the lifetime - policy for this instance. This object should live forever - therefore this implementation returns null. - - - - - - The underlying that events should - be logged to. - - - - - Default implementation of - - - - This default implementation of the - interface is used to create the default subclass - of the object. - - - Nicko Cadell - Gert Driesen - - - - Interface abstracts creation of instances - - - - This interface is used by the to - create new objects. - - - The method is called - to create a named . - - - Implement this interface to create new subclasses of . - - - Nicko Cadell - Gert Driesen - - - - Create a new instance - - The name of the . - The instance for the specified name. - - - Create a new instance with the - specified name. - - - Called by the to create - new named instances. - - - If the is null then the root logger - must be returned. - - - - - - Default constructor - - - - Initializes a new instance of the class. - - - - - - Create a new instance - - The name of the . - The instance for the specified name. - - - Create a new instance with the - specified name. - - - Called by the to create - new named instances. - - - If the is null then the root logger - must be returned. - - - - - - Default internal subclass of - - - - This subclass has no additional behavior over the - class but does allow instances - to be created. - - - - - - Implementation of used by - - - - Internal class used to provide implementation of - interface. Applications should use to get - logger instances. - - - This is one of the central classes in the log4net implementation. One of the - distinctive features of log4net are hierarchical loggers and their - evaluation. The organizes the - instances into a rooted tree hierarchy. - - - The class is abstract. Only concrete subclasses of - can be created. The - is used to create instances of this type for the . - - - Nicko Cadell - Gert Driesen - Aspi Havewala - Douglas de la Torre - - - - This constructor created a new instance and - sets its name. - - The name of the . - - - This constructor is protected and designed to be used by - a subclass that is not abstract. - - - Loggers are constructed by - objects. See for the default - logger creator. - - - - - - Add to the list of appenders of this - Logger instance. - - An appender to add to this logger - - - Add to the list of appenders of this - Logger instance. - - - If is already in the list of - appenders, then it won't be added again. - - - - - - Look for the appender named as name - - The name of the appender to lookup - The appender with the name specified, or null. - - - Returns the named appender, or null if the appender is not found. - - - - - - Remove all previously added appenders from this Logger instance. - - - - Remove all previously added appenders from this Logger instance. - - - This is useful when re-reading configuration information. - - - - - - Remove the appender passed as parameter form the list of appenders. - - The appender to remove - The appender removed from the list - - - Remove the appender passed as parameter form the list of appenders. - The appender removed is not closed. - If you are discarding the appender you must call - on the appender removed. - - - - - - Remove the appender passed as parameter form the list of appenders. - - The name of the appender to remove - The appender removed from the list - - - Remove the named appender passed as parameter form the list of appenders. - The appender removed is not closed. - If you are discarding the appender you must call - on the appender removed. - - - - - - This generic form is intended to be used by wrappers. - - The declaring type of the method that is - the stack boundary into the logging system for this call. - The level of the message to be logged. - The message object to log. - The exception to log, including its stack trace. - - - Generate a logging event for the specified using - the and . - - - This method must not throw any exception to the caller. - - - - - - This is the most generic printing method that is intended to be used - by wrappers. - - The event being logged. - - - Logs the specified logging event through this logger. - - - This method must not throw any exception to the caller. - - - - - - Checks if this logger is enabled for a given passed as parameter. - - The level to check. - - true if this logger is enabled for level, otherwise false. - - - - Test if this logger is going to log events of the specified . - - - This method must not throw any exception to the caller. - - - - - - Deliver the to the attached appenders. - - The event to log. - - - Call the appenders in the hierarchy starting at - this. If no appenders could be found, emit a - warning. - - - This method calls all the appenders inherited from the - hierarchy circumventing any evaluation of whether to log or not - to log the particular log request. - - - - - - Closes all attached appenders implementing the interface. - - - - Used to ensure that the appenders are correctly shutdown. - - - - - - This is the most generic printing method. This generic form is intended to be used by wrappers - - The level of the message to be logged. - The message object to log. - The exception to log, including its stack trace. - - - Generate a logging event for the specified using - the . - - - - - - Creates a new logging event and logs the event without further checks. - - The declaring type of the method that is - the stack boundary into the logging system for this call. - The level of the message to be logged. - The message object to log. - The exception to log, including its stack trace. - - - Generates a logging event and delivers it to the attached - appenders. - - - - - - Creates a new logging event and logs the event without further checks. - - The event being logged. - - - Delivers the logging event to the attached appenders. - - - - - - The fully qualified type of the Logger class. - - - - - The name of this logger. - - - - - The assigned level of this logger. - - - - The level variable need not be - assigned a value in which case it is inherited - form the hierarchy. - - - - - - The parent of this logger. - - - - The parent of this logger. - All loggers have at least one ancestor which is the root logger. - - - - - - Loggers need to know what Hierarchy they are in. - - - - Loggers need to know what Hierarchy they are in. - The hierarchy that this logger is a member of is stored - here. - - - - - - Helper implementation of the interface - - - - - Flag indicating if child loggers inherit their parents appenders - - - - Additivity is set to true by default, that is children inherit - the appenders of their ancestors by default. If this variable is - set to false then the appenders found in the - ancestors of this logger are not used. However, the children - of this logger will inherit its appenders, unless the children - have their additivity flag set to false too. See - the user manual for more details. - - - - - - Lock to protect AppenderAttachedImpl variable m_appenderAttachedImpl - - - - - Gets or sets the parent logger in the hierarchy. - - - The parent logger in the hierarchy. - - - - Part of the Composite pattern that makes the hierarchy. - The hierarchy is parent linked rather than child linked. - - - - - - Gets or sets a value indicating if child loggers inherit their parent's appenders. - - - true if child loggers inherit their parent's appenders. - - - - Additivity is set to true by default, that is children inherit - the appenders of their ancestors by default. If this variable is - set to false then the appenders found in the - ancestors of this logger are not used. However, the children - of this logger will inherit its appenders, unless the children - have their additivity flag set to false too. See - the user manual for more details. - - - - - - Gets the effective level for this logger. - - The nearest level in the logger hierarchy. - - - Starting from this logger, searches the logger hierarchy for a - non-null level and returns it. Otherwise, returns the level of the - root logger. - - The Logger class is designed so that this method executes as - quickly as possible. - - - - - Gets or sets the where this - Logger instance is attached to. - - The hierarchy that this logger belongs to. - - - This logger must be attached to a single . - - - - - - Gets or sets the assigned , if any, for this Logger. - - - The of this logger. - - - - The assigned can be null. - - - - - - Get the appenders contained in this logger as an - . - - A collection of the appenders in this logger - - - Get the appenders contained in this logger as an - . If no appenders - can be found, then a is returned. - - - - - - Gets the logger name. - - - The name of the logger. - - - - The name of this logger - - - - - - Gets the where this - Logger instance is attached to. - - - The that this logger belongs to. - - - - Gets the where this - Logger instance is attached to. - - - - - - Construct a new Logger - - the name of the logger - - - Initializes a new instance of the class - with the specified name. - - - - - - Delegate used to handle logger creation event notifications. - - The in which the has been created. - The event args that hold the instance that has been created. - - - Delegate used to handle logger creation event notifications. - - - - - - Provides data for the event. - - - - A event is raised every time a - is created. - - - - - - The created - - - - - Constructor - - The that has been created. - - - Initializes a new instance of the event argument - class,with the specified . - - - - - - Gets the that has been created. - - - The that has been created. - - - - The that has been created. - - - - - - Hierarchical organization of loggers - - - - The casual user should not have to deal with this class - directly. - - - This class is specialized in retrieving loggers by name and - also maintaining the logger hierarchy. Implements the - interface. - - - The structure of the logger hierarchy is maintained by the - method. The hierarchy is such that children - link to their parent but parents do not have any references to their - children. Moreover, loggers can be instantiated in any order, in - particular descendant before ancestor. - - - In case a descendant is created before a particular ancestor, - then it creates a provision node for the ancestor and adds itself - to the provision node. Other descendants of the same ancestor add - themselves to the previously created provision node. - - - Nicko Cadell - Gert Driesen - - - - Base implementation of - - - - Default abstract implementation of the interface. - - - Skeleton implementation of the interface. - All types can extend this type. - - - Nicko Cadell - Gert Driesen - - - - Interface implemented by logger repositories. - - - - This interface is implemented by logger repositories. e.g. - . - - - This interface is used by the - to obtain interfaces. - - - Nicko Cadell - Gert Driesen - - - - Check if the named logger exists in the repository. If so return - its reference, otherwise returns null. - - The name of the logger to lookup - The Logger object with the name specified - - - If the names logger exists it is returned, otherwise - null is returned. - - - - - - Returns all the currently defined loggers as an Array. - - All the defined loggers - - - Returns all the currently defined loggers as an Array. - - - - - - Returns a named logger instance - - The name of the logger to retrieve - The logger object with the name specified - - - Returns a named logger instance. - - - If a logger of that name already exists, then it will be - returned. Otherwise, a new logger will be instantiated and - then linked with its existing ancestors as well as children. - - - - - Shutdown the repository - - - Shutting down a repository will safely close and remove - all appenders in all loggers including the root logger. - - - Some appenders need to be closed before the - application exists. Otherwise, pending logging events might be - lost. - - - The method is careful to close nested - appenders before closing regular appenders. This is allows - configurations where a regular appender is attached to a logger - and again to a nested appender. - - - - - - Reset the repositories configuration to a default state - - - - Reset all values contained in this instance to their - default state. - - - Existing loggers are not removed. They are just reset. - - - This method should be used sparingly and with care as it will - block all logging until it is completed. - - - - - - Log the through this repository. - - the event to log - - - This method should not normally be used to log. - The interface should be used - for routine logging. This interface can be obtained - using the method. - - - The logEvent is delivered to the appropriate logger and - that logger is then responsible for logging the event. - - - - - - Returns all the Appenders that are configured as an Array. - - All the Appenders - - - Returns all the Appenders that are configured as an Array. - - - - - - The name of the repository - - - The name of the repository - - - - The name of the repository. - - - - - - RendererMap accesses the object renderer map for this repository. - - - RendererMap accesses the object renderer map for this repository. - - - - RendererMap accesses the object renderer map for this repository. - - - The RendererMap holds a mapping between types and - objects. - - - - - - The plugin map for this repository. - - - The plugin map for this repository. - - - - The plugin map holds the instances - that have been attached to this repository. - - - - - - Get the level map for the Repository. - - - - Get the level map for the Repository. - - - The level map defines the mappings between - level names and objects in - this repository. - - - - - - The threshold for all events in this repository - - - The threshold for all events in this repository - - - - The threshold for all events in this repository. - - - - - - Flag indicates if this repository has been configured. - - - Flag indicates if this repository has been configured. - - - - Flag indicates if this repository has been configured. - - - - - - Event to notify that the repository has been shutdown. - - - Event to notify that the repository has been shutdown. - - - - Event raised when the repository has been shutdown. - - - - - - Event to notify that the repository has had its configuration reset. - - - Event to notify that the repository has had its configuration reset. - - - - Event raised when the repository's configuration has been - reset to default. - - - - - - Event to notify that the repository has had its configuration changed. - - - Event to notify that the repository has had its configuration changed. - - - - Event raised when the repository's configuration has been changed. - - - - - - Repository specific properties - - - Repository specific properties - - - - These properties can be specified on a repository specific basis. - - - - - - Default Constructor - - - - Initializes the repository with default (empty) properties. - - - - - - Construct the repository using specific properties - - the properties to set for this repository - - - Initializes the repository with specified properties. - - - - - - Test if logger exists - - The name of the logger to lookup - The Logger object with the name specified - - - Check if the named logger exists in the repository. If so return - its reference, otherwise returns null. - - - - - - Returns all the currently defined loggers in the repository - - All the defined loggers - - - Returns all the currently defined loggers in the repository as an Array. - - - - - - Return a new logger instance - - The name of the logger to retrieve - The logger object with the name specified - - - Return a new logger instance. - - - If a logger of that name already exists, then it will be - returned. Otherwise, a new logger will be instantiated and - then linked with its existing ancestors as well as children. - - - - - - Shutdown the repository - - - - Shutdown the repository. Can be overridden in a subclass. - This base class implementation notifies the - listeners and all attached plugins of the shutdown event. - - - - - - Reset the repositories configuration to a default state - - - - Reset all values contained in this instance to their - default state. - - - Existing loggers are not removed. They are just reset. - - - This method should be used sparingly and with care as it will - block all logging until it is completed. - - - - - - Log the logEvent through this repository. - - the event to log - - - This method should not normally be used to log. - The interface should be used - for routine logging. This interface can be obtained - using the method. - - - The logEvent is delivered to the appropriate logger and - that logger is then responsible for logging the event. - - - - - - Returns all the Appenders that are configured as an Array. - - All the Appenders - - - Returns all the Appenders that are configured as an Array. - - - - - - Adds an object renderer for a specific class. - - The type that will be rendered by the renderer supplied. - The object renderer used to render the object. - - - Adds an object renderer for a specific class. - - - - - - Notify the registered listeners that the repository is shutting down - - Empty EventArgs - - - Notify any listeners that this repository is shutting down. - - - - - - Notify the registered listeners that the repository has had its configuration reset - - Empty EventArgs - - - Notify any listeners that this repository's configuration has been reset. - - - - - - Notify the registered listeners that the repository has had its configuration changed - - Empty EventArgs - - - Notify any listeners that this repository's configuration has changed. - - - - - - Raise a configuration changed event on this repository - - EventArgs.Empty - - - Applications that programmatically change the configuration of the repository should - raise this event notification to notify listeners. - - - - - - The name of the repository - - - The string name of the repository - - - - The name of this repository. The name is - used to store and lookup the repositories - stored by the . - - - - - - The threshold for all events in this repository - - - The threshold for all events in this repository - - - - The threshold for all events in this repository - - - - - - RendererMap accesses the object renderer map for this repository. - - - RendererMap accesses the object renderer map for this repository. - - - - RendererMap accesses the object renderer map for this repository. - - - The RendererMap holds a mapping between types and - objects. - - - - - - The plugin map for this repository. - - - The plugin map for this repository. - - - - The plugin map holds the instances - that have been attached to this repository. - - - - - - Get the level map for the Repository. - - - - Get the level map for the Repository. - - - The level map defines the mappings between - level names and objects in - this repository. - - - - - - Flag indicates if this repository has been configured. - - - Flag indicates if this repository has been configured. - - - - Flag indicates if this repository has been configured. - - - - - - Event to notify that the repository has been shutdown. - - - Event to notify that the repository has been shutdown. - - - - Event raised when the repository has been shutdown. - - - - - - Event to notify that the repository has had its configuration reset. - - - Event to notify that the repository has had its configuration reset. - - - - Event raised when the repository's configuration has been - reset to default. - - - - - - Event to notify that the repository has had its configuration changed. - - - Event to notify that the repository has had its configuration changed. - - - - Event raised when the repository's configuration has been changed. - - - - - - Repository specific properties - - - Repository specific properties - - - These properties can be specified on a repository specific basis - - - - - Basic Configurator interface for repositories - - - - Interface used by basic configurator to configure a - with a default . - - - A should implement this interface to support - configuration by the . - - - Nicko Cadell - Gert Driesen - - - - Initialize the repository using the specified appender - - the appender to use to log all logging events - - - Configure the repository to route all logging events to the - specified appender. - - - - - - Configure repository using XML - - - - Interface used by Xml configurator to configure a . - - - A should implement this interface to support - configuration by the . - - - Nicko Cadell - Gert Driesen - - - - Initialize the repository using the specified config - - the element containing the root of the config - - - The schema for the XML configuration data is defined by - the implementation. - - - - - - Default constructor - - - - Initializes a new instance of the class. - - - - - - Construct with properties - - The properties to pass to this repository. - - - Initializes a new instance of the class. - - - - - - Construct with a logger factory - - The factory to use to create new logger instances. - - - Initializes a new instance of the class with - the specified . - - - - - - Construct with properties and a logger factory - - The properties to pass to this repository. - The factory to use to create new logger instances. - - - Initializes a new instance of the class with - the specified . - - - - - - Test if a logger exists - - The name of the logger to lookup - The Logger object with the name specified - - - Check if the named logger exists in the hierarchy. If so return - its reference, otherwise returns null. - - - - - - Returns all the currently defined loggers in the hierarchy as an Array - - All the defined loggers - - - Returns all the currently defined loggers in the hierarchy as an Array. - The root logger is not included in the returned - enumeration. - - - - - - Return a new logger instance named as the first parameter using - the default factory. - - - - Return a new logger instance named as the first parameter using - the default factory. - - - If a logger of that name already exists, then it will be - returned. Otherwise, a new logger will be instantiated and - then linked with its existing ancestors as well as children. - - - The name of the logger to retrieve - The logger object with the name specified - - - - Shutting down a hierarchy will safely close and remove - all appenders in all loggers including the root logger. - - - - Shutting down a hierarchy will safely close and remove - all appenders in all loggers including the root logger. - - - Some appenders need to be closed before the - application exists. Otherwise, pending logging events might be - lost. - - - The Shutdown method is careful to close nested - appenders before closing regular appenders. This is allows - configurations where a regular appender is attached to a logger - and again to a nested appender. - - - - - - Reset all values contained in this hierarchy instance to their default. - - - - Reset all values contained in this hierarchy instance to their - default. This removes all appenders from all loggers, sets - the level of all non-root loggers to null, - sets their additivity flag to true and sets the level - of the root logger to . Moreover, - message disabling is set its default "off" value. - - - Existing loggers are not removed. They are just reset. - - - This method should be used sparingly and with care as it will - block all logging until it is completed. - - - - - - Log the logEvent through this hierarchy. - - the event to log - - - This method should not normally be used to log. - The interface should be used - for routine logging. This interface can be obtained - using the method. - - - The logEvent is delivered to the appropriate logger and - that logger is then responsible for logging the event. - - - - - - Returns all the Appenders that are currently configured - - An array containing all the currently configured appenders - - - Returns all the instances that are currently configured. - All the loggers are searched for appenders. The appenders may also be containers - for appenders and these are also searched for additional loggers. - - - The list returned is unordered but does not contain duplicates. - - - - - - Collect the appenders from an . - The appender may also be a container. - - - - - - - Collect the appenders from an container - - - - - - - Initialize the log4net system using the specified appender - - the appender to use to log all logging events - - - - Initialize the log4net system using the specified appender - - the appender to use to log all logging events - - - This method provides the same functionality as the - method implemented - on this object, but it is protected and therefore can be called by subclasses. - - - - - - Initialize the log4net system using the specified config - - the element containing the root of the config - - - - Initialize the log4net system using the specified config - - the element containing the root of the config - - - This method provides the same functionality as the - method implemented - on this object, but it is protected and therefore can be called by subclasses. - - - - - - Test if this hierarchy is disabled for the specified . - - The level to check against. - - true if the repository is disabled for the level argument, false otherwise. - - - - If this hierarchy has not been configured then this method will - always return true. - - - This method will return true if this repository is - disabled for level object passed as parameter and - false otherwise. - - - See also the property. - - - - - - Clear all logger definitions from the internal hashtable - - - - This call will clear all logger definitions from the internal - hashtable. Invoking this method will irrevocably mess up the - logger hierarchy. - - - You should really know what you are doing before - invoking this method. - - - - - - Return a new logger instance named as the first parameter using - . - - The name of the logger to retrieve - The factory that will make the new logger instance - The logger object with the name specified - - - If a logger of that name already exists, then it will be - returned. Otherwise, a new logger will be instantiated by the - parameter and linked with its existing - ancestors as well as children. - - - - - - Sends a logger creation event to all registered listeners - - The newly created logger - - Raises the logger creation event. - - - - - Updates all the parents of the specified logger - - The logger to update the parents for - - - This method loops through all the potential parents of - . There 3 possible cases: - - - - No entry for the potential parent of exists - - We create a ProvisionNode for this potential - parent and insert in that provision node. - - - - The entry is of type Logger for the potential parent. - - The entry is 's nearest existing parent. We - update 's parent field with this entry. We also break from - he loop because updating our parent's parent is our parent's - responsibility. - - - - The entry is of type ProvisionNode for this potential parent. - - We add to the list of children for this - potential parent. - - - - - - - - Replace a with a in the hierarchy. - - - - - - We update the links for all the children that placed themselves - in the provision node 'pn'. The second argument 'log' is a - reference for the newly created Logger, parent of all the - children in 'pn'. - - - We loop on all the children 'c' in 'pn'. - - - If the child 'c' has been already linked to a child of - 'log' then there is no need to update 'c'. - - - Otherwise, we set log's parent field to c's parent and set - c's parent field to log. - - - - - - Define or redefine a Level using the values in the argument - - the level values - - - Define or redefine a Level using the values in the argument - - - Supports setting levels via the configuration file. - - - - - - Set a Property using the values in the argument - - the property value - - - Set a Property using the values in the argument. - - - Supports setting property values via the configuration file. - - - - - - Event used to notify that a logger has been created. - - - - Event raised when a logger is created. - - - - - - Has no appender warning been emitted - - - - Flag to indicate if we have already issued a warning - about not having an appender warning. - - - - - - Get the root of this hierarchy - - - - Get the root of this hierarchy. - - - - - - Gets or sets the default instance. - - The default - - - The logger factory is used to create logger instances. - - - - - - A class to hold the value, name and display name for a level - - - - A class to hold the value, name and display name for a level - - - - - - Override Object.ToString to return sensible debug info - - string info about this object - - - - Value of the level - - - - If the value is not set (defaults to -1) the value will be looked - up for the current level with the same name. - - - - - - Name of the level - - - The name of the level - - - - The name of the level. - - - - - - Display name for the level - - - The display name of the level - - - - The display name of the level. - - - - - - A class to hold the key and data for a property set in the config file - - - - A class to hold the key and data for a property set in the config file - - - - - - Override Object.ToString to return sensible debug info - - string info about this object - - - - Property Key - - - Property Key - - - - Property Key. - - - - - - Property Value - - - Property Value - - - - Property Value. - - - - - - Used internally to accelerate hash table searches. - - - - Internal class used to improve performance of - string keyed hashtables. - - - The hashcode of the string is cached for reuse. - The string is stored as an interned value. - When comparing two objects for equality - the reference equality of the interned strings is compared. - - - Nicko Cadell - Gert Driesen - - - - Construct key with string name - - - - Initializes a new instance of the class - with the specified name. - - - Stores the hashcode of the string and interns - the string key to optimize comparisons. - - - The Compact Framework 1.0 the - method does not work. On the Compact Framework - the string keys are not interned nor are they - compared by reference. - - - The name of the logger. - - - - Returns a hash code for the current instance. - - A hash code for the current instance. - - - Returns the cached hashcode. - - - - - - Determines whether two instances - are equal. - - The to compare with the current . - - true if the specified is equal to the current ; otherwise, false. - - - - Compares the references of the interned strings. - - - - - - Provision nodes are used where no logger instance has been specified - - - - instances are used in the - when there is no specified - for that node. - - - A provision node holds a list of child loggers on behalf of - a logger that does not exist. - - - Nicko Cadell - Gert Driesen - - - - Create a new provision node with child node - - A child logger to add to this node. - - - Initializes a new instance of the class - with the specified child logger. - - - - - - The sits at the root of the logger hierarchy tree. - - - - The is a regular except - that it provides several guarantees. - - - First, it cannot be assigned a null - level. Second, since the root logger cannot have a parent, the - property always returns the value of the - level field without walking the hierarchy. - - - Nicko Cadell - Gert Driesen - - - - Construct a - - The level to assign to the root logger. - - - Initializes a new instance of the class with - the specified logging level. - - - The root logger names itself as "root". However, the root - logger cannot be retrieved by name. - - - - - - Gets the assigned level value without walking the logger hierarchy. - - The assigned level value without walking the logger hierarchy. - - - Because the root logger cannot have a parent and its level - must not be null this property just returns the - value of . - - - - - - Gets or sets the assigned for the root logger. - - - The of the root logger. - - - - Setting the level of the root logger to a null reference - may have catastrophic results. We prevent this here. - - - - - - Initializes the log4net environment using an XML DOM. - - - - Configures a using an XML DOM. - - - Nicko Cadell - Gert Driesen - - - - Construct the configurator for a hierarchy - - The hierarchy to build. - - - Initializes a new instance of the class - with the specified . - - - - - - Configure the hierarchy by parsing a DOM tree of XML elements. - - The root element to parse. - - - Configure the hierarchy by parsing a DOM tree of XML elements. - - - - - - Parse appenders by IDREF. - - The appender ref element. - The instance of the appender that the ref refers to. - - - Parse an XML element that represents an appender and return - the appender. - - - - - - Parses an appender element. - - The appender element. - The appender instance or null when parsing failed. - - - Parse an XML element that represents an appender and return - the appender instance. - - - - - - Parses a logger element. - - The logger element. - - - Parse an XML element that represents a logger. - - - - - - Parses the root logger element. - - The root element. - - - Parse an XML element that represents the root logger. - - - - - - Parses the children of a logger element. - - The category element. - The logger instance. - Flag to indicate if the logger is the root logger. - - - Parse the child elements of a <logger> element. - - - - - - Parses an object renderer. - - The renderer element. - - - Parse an XML element that represents a renderer. - - - - - - Parses a level element. - - The level element. - The logger object to set the level on. - Flag to indicate if the logger is the root logger. - - - Parse an XML element that represents a level. - - - - - - Sets a parameter on an object. - - The parameter element. - The object to set the parameter on. - - The parameter name must correspond to a writable property - on the object. The value of the parameter is a string, - therefore this function will attempt to set a string - property first. If unable to set a string property it - will inspect the property and its argument type. It will - attempt to call a static method called Parse on the - type of the property. This method will take a single - string argument and return a value that can be used to - set the property. - - - - - Test if an element has no attributes or child elements - - the element to inspect - true if the element has any attributes or child elements, false otherwise - - - - Test if a is constructible with Activator.CreateInstance. - - the type to inspect - true if the type is creatable using a default constructor, false otherwise - - - - Look for a method on the that matches the supplied - - the type that has the method - the name of the method - the method info found - - - The method must be a public instance method on the . - The method must be named or "Add" followed by . - The method must take a single parameter. - - - - - - Converts a string value to a target type. - - The type of object to convert the string to. - The string value to use as the value of the object. - - - An object of type with value or - null when the conversion could not be performed. - - - - - - Creates an object as specified in XML. - - The XML element that contains the definition of the object. - The object type to use if not explicitly specified. - The type that the returned object must be or must inherit from. - The object or null - - - Parse an XML element and create an object instance based on the configuration - data. - - - The type of the instance may be specified in the XML. If not - specified then the is used - as the type. However the type is specified it must support the - type. - - - - - - key: appenderName, value: appender. - - - - - The Hierarchy being configured. - - - - - Delegate used to handle logger repository shutdown event notifications - - The that is shutting down. - Empty event args - - - Delegate used to handle logger repository shutdown event notifications. - - - - - - Delegate used to handle logger repository configuration reset event notifications - - The that has had its configuration reset. - Empty event args - - - Delegate used to handle logger repository configuration reset event notifications. - - - - - - Delegate used to handle event notifications for logger repository configuration changes. - - The that has had its configuration changed. - Empty event arguments. - - - Delegate used to handle event notifications for logger repository configuration changes. - - - - - - Write the name of the current AppDomain to the output - - - - Write the name of the current AppDomain to the output writer - - - Nicko Cadell - - - - Write the name of the current AppDomain to the output - - the writer to write to - null, state is not set - - - Writes name of the current AppDomain to the output . - - - - - - Write the current date to the output - - - - Date pattern converter, uses a to format - the current date and time to the writer as a string. - - - The value of the determines - the formatting of the date. The following values are allowed: - - - Option value - Output - - - ISO8601 - - Uses the formatter. - Formats using the "yyyy-MM-dd HH:mm:ss,fff" pattern. - - - - DATE - - Uses the formatter. - Formats using the "dd MMM yyyy HH:mm:ss,fff" for example, "06 Nov 1994 15:49:37,459". - - - - ABSOLUTE - - Uses the formatter. - Formats using the "HH:mm:ss,fff" for example, "15:49:37,459". - - - - other - - Any other pattern string uses the formatter. - This formatter passes the pattern string to the - method. - For details on valid patterns see - DateTimeFormatInfo Class. - - - - - - The date and time is in the local time zone and is rendered in that zone. - To output the time in Universal time see . - - - Nicko Cadell - - - - The used to render the date to a string - - - - The used to render the date to a string - - - - - - Initialize the converter options - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - - - - Write the current date to the output - - that will receive the formatted result. - null, state is not set - - - Pass the current date and time to the - for it to render it to the writer. - - - The date and time passed is in the local time zone. - - - - - - Write an environment variable to the output - - - - Write an environment variable to the output writer. - The value of the determines - the name of the variable to output. - - - Nicko Cadell - - - - Write an environment variable to the output - - the writer to write to - null, state is not set - - - Writes the environment variable to the output . - The name of the environment variable to output must be set - using the - property. - - - - - - Write the current thread identity to the output - - - - Write the current thread identity to the output writer - - - Nicko Cadell - - - - Write the current thread identity to the output - - the writer to write to - null, state is not set - - - Writes the current thread identity to the output . - - - - - - Pattern converter for literal string instances in the pattern - - - - Writes the literal string value specified in the - property to - the output. - - - Nicko Cadell - - - - Set the next converter in the chain - - The next pattern converter in the chain - The next pattern converter - - - Special case the building of the pattern converter chain - for instances. Two adjacent - literals in the pattern can be represented by a single combined - pattern converter. This implementation detects when a - is added to the chain - after this converter and combines its value with this converter's - literal value. - - - - - - Write the literal to the output - - the writer to write to - null, not set - - - Override the formatting behavior to ignore the FormattingInfo - because we have a literal instead. - - - Writes the value of - to the output . - - - - - - Convert this pattern into the rendered message - - that will receive the formatted result. - null, not set - - - This method is not used. - - - - - - Writes a newline to the output - - - - Writes the system dependent line terminator to the output. - This behavior can be overridden by setting the : - - - - Option Value - Output - - - DOS - DOS or Windows line terminator "\r\n" - - - UNIX - UNIX line terminator "\n" - - - - Nicko Cadell - - - - Initialize the converter - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - - - - Write the current process ID to the output - - - - Write the current process ID to the output writer - - - Nicko Cadell - - - - Write the current process ID to the output - - the writer to write to - null, state is not set - - - Write the current process ID to the output . - - - - - - Property pattern converter - - - - This pattern converter reads the thread and global properties. - The thread properties take priority over global properties. - See for details of the - thread properties. See for - details of the global properties. - - - If the is specified then that will be used to - lookup a single property. If no is specified - then all properties will be dumped as a list of key value pairs. - - - Nicko Cadell - - - - Write the property value to the output - - that will receive the formatted result. - null, state is not set - - - Writes out the value of a named property. The property name - should be set in the - property. - - - If the is set to null - then all the properties are written as key value pairs. - - - - - - A Pattern converter that generates a string of random characters - - - - The converter generates a string of random characters. By default - the string is length 4. This can be changed by setting the - to the string value of the length required. - - - The random characters in the string are limited to uppercase letters - and numbers only. - - - The random number generator used by this class is not cryptographically secure. - - - Nicko Cadell - - - - Shared random number generator - - - - - Length of random string to generate. Default length 4. - - - - - Initialize the converter options - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - - - - Write a randoim string to the output - - the writer to write to - null, state is not set - - - Write a randoim string to the output . - - - - - - Write the current threads username to the output - - - - Write the current threads username to the output writer - - - Nicko Cadell - - - - Write the current threads username to the output - - the writer to write to - null, state is not set - - - Write the current threads username to the output . - - - - - - Write the UTC date time to the output - - - - Date pattern converter, uses a to format - the current date and time in Universal time. - - - See the for details on the date pattern syntax. - - - - Nicko Cadell - - - - Write the current date and time to the output - - that will receive the formatted result. - null, state is not set - - - Pass the current date and time to the - for it to render it to the writer. - - - The date is in Universal time when it is rendered. - - - - - - - Type converter for Boolean. - - - - Supports conversion from string to bool type. - - - - - - Nicko Cadell - Gert Driesen - - - - Can the source type be converted to the type supported by this object - - the type to convert - true if the conversion is possible - - - Returns true if the is - the type. - - - - - - Convert the source object to the type supported by this object - - the object to convert - the converted object - - - Uses the method to convert the - argument to a . - - - - The object cannot be converted to the - target type. To check for this condition use the - method. - - - - - Exception base type for conversion errors. - - - - This type extends . It - does not add any new functionality but does differentiate the - type of exception being thrown. - - - Nicko Cadell - Gert Driesen - - - - Constructor - - - - Initializes a new instance of the class. - - - - - - Constructor - - A message to include with the exception. - - - Initializes a new instance of the class - with the specified message. - - - - - - Constructor - - A message to include with the exception. - A nested exception to include. - - - Initializes a new instance of the class - with the specified message and inner exception. - - - - - - Serialization constructor - - The that holds the serialized object data about the exception being thrown. - The that contains contextual information about the source or destination. - - - Initializes a new instance of the class - with serialized data. - - - - - - Creates a new instance of the class. - - The conversion destination type. - The value to convert. - An instance of the . - - - Creates a new instance of the class. - - - - - - Creates a new instance of the class. - - The conversion destination type. - The value to convert. - A nested exception to include. - An instance of the . - - - Creates a new instance of the class. - - - - - - Register of type converters for specific types. - - - - Maintains a registry of type converters used to convert between - types. - - - Use the and - methods to register new converters. - The and methods - lookup appropriate converters to use. - - - - - Nicko Cadell - Gert Driesen - - - - Private constructor - - - Initializes a new instance of the class. - - - - - Static constructor. - - - - This constructor defines the intrinsic type converters. - - - - - - Adds a converter for a specific type. - - The type being converted to. - The type converter to use to convert to the destination type. - - - Adds a converter instance for a specific type. - - - - - - Adds a converter for a specific type. - - The type being converted to. - The type of the type converter to use to convert to the destination type. - - - Adds a converter for a specific type. - - - - - - Gets the type converter to use to convert values to the destination type. - - The type being converted from. - The type being converted to. - - The type converter instance to use for type conversions or null - if no type converter is found. - - - - Gets the type converter to use to convert values to the destination type. - - - - - - Gets the type converter to use to convert values to the destination type. - - The type being converted to. - - The type converter instance to use for type conversions or null - if no type converter is found. - - - - Gets the type converter to use to convert values to the destination type. - - - - - - Lookups the type converter to use as specified by the attributes on the - destination type. - - The type being converted to. - - The type converter instance to use for type conversions or null - if no type converter is found. - - - - - Creates the instance of the type converter. - - The type of the type converter. - - The type converter instance to use for type conversions or null - if no type converter is found. - - - - The type specified for the type converter must implement - the or interfaces - and must have a public default (no argument) constructor. - - - - - - Mapping from to type converter. - - - - - Supports conversion from string to type. - - - - Supports conversion from string to type. - - - - - - Nicko Cadell - Gert Driesen - - - - Can the source type be converted to the type supported by this object - - the type to convert - true if the conversion is possible - - - Returns true if the is - the type. - - - - - - Overrides the ConvertFrom method of IConvertFrom. - - the object to convert to an encoding - the encoding - - - Uses the method to - convert the argument to an . - - - - The object cannot be converted to the - target type. To check for this condition use the - method. - - - - - Interface supported by type converters - - - - This interface supports conversion from a single type to arbitrary types. - See . - - - Nicko Cadell - - - - Returns whether this converter can convert the object to the specified type - - A Type that represents the type you want to convert to - true if the conversion is possible - - - Test if the type supported by this converter can be converted to the - . - - - - - - Converts the given value object to the specified type, using the arguments - - the object to convert - The Type to convert the value parameter to - the converted object - - - Converts the (which must be of the type supported - by this converter) to the specified.. - - - - - - Supports conversion from string to type. - - - - Supports conversion from string to type. - - - - - Nicko Cadell - - - - Can the source type be converted to the type supported by this object - - the type to convert - true if the conversion is possible - - - Returns true if the is - the type. - - - - - - Overrides the ConvertFrom method of IConvertFrom. - - the object to convert to an IPAddress - the IPAddress - - - Uses the method to convert the - argument to an . - If that fails then the string is resolved as a DNS hostname. - - - - The object cannot be converted to the - target type. To check for this condition use the - method. - - - - - Valid characters in an IPv4 or IPv6 address string. (Does not support subnets) - - - - - Supports conversion from string to type. - - - - Supports conversion from string to type. - - - The string is used as the - of the . - - - - - - Nicko Cadell - - - - Can the source type be converted to the type supported by this object - - the type to convert - true if the conversion is possible - - - Returns true if the is - the type. - - - - - - Overrides the ConvertFrom method of IConvertFrom. - - the object to convert to a PatternLayout - the PatternLayout - - - Creates and returns a new using - the as the - . - - - - The object cannot be converted to the - target type. To check for this condition use the - method. - - - - - Convert between string and - - - - Supports conversion from string to type, - and from a type to a string. - - - The string is used as the - of the . - - - - - - Nicko Cadell - - - - Can the target type be converted to the type supported by this object - - A that represents the type you want to convert to - true if the conversion is possible - - - Returns true if the is - assignable from a type. - - - - - - Converts the given value object to the specified type, using the arguments - - the object to convert - The Type to convert the value parameter to - the converted object - - - Uses the method to convert the - argument to a . - - - - The object cannot be converted to the - . To check for this condition use the - method. - - - - - Can the source type be converted to the type supported by this object - - the type to convert - true if the conversion is possible - - - Returns true if the is - the type. - - - - - - Overrides the ConvertFrom method of IConvertFrom. - - the object to convert to a PatternString - the PatternString - - - Creates and returns a new using - the as the - . - - - - The object cannot be converted to the - target type. To check for this condition use the - method. - - - - - Supports conversion from string to type. - - - - Supports conversion from string to type. - - - - - - Nicko Cadell - - - - Can the source type be converted to the type supported by this object - - the type to convert - true if the conversion is possible - - - Returns true if the is - the type. - - - - - - Overrides the ConvertFrom method of IConvertFrom. - - the object to convert to a Type - the Type - - - Uses the method to convert the - argument to a . - Additional effort is made to locate partially specified types - by searching the loaded assemblies. - - - - The object cannot be converted to the - target type. To check for this condition use the - method. - - - - - Attribute used to associate a type converter - - - - Class and Interface level attribute that specifies a type converter - to use with the associated type. - - - To associate a type converter with a target type apply a - TypeConverterAttribute to the target type. Specify the - type of the type converter on the attribute. - - - Nicko Cadell - Gert Driesen - - - - The string type name of the type converter - - - - - Default constructor - - - - Default constructor - - - - - - Create a new type converter attribute for the specified type name - - The string type name of the type converter - - - The type specified must implement the - or the interfaces. - - - - - - Create a new type converter attribute for the specified type - - The type of the type converter - - - The type specified must implement the - or the interfaces. - - - - - - The string type name of the type converter - - - The string type name of the type converter - - - - The type specified must implement the - or the interfaces. - - - - - - A straightforward implementation of the interface. - - - - This is the default implementation of the - interface. Implementors of the interface - should aggregate an instance of this type. - - - Nicko Cadell - Gert Driesen - - - - Constructor - - - - Initializes a new instance of the class. - - - - - - Append on on all attached appenders. - - The event being logged. - The number of appenders called. - - - Calls the method on all - attached appenders. - - - - - - Append on on all attached appenders. - - The array of events being logged. - The number of appenders called. - - - Calls the method on all - attached appenders. - - - - - - Calls the DoAppende method on the with - the objects supplied. - - The appender - The events - - - If the supports the - interface then the will be passed - through using that interface. Otherwise the - objects in the array will be passed one at a time. - - - - - - Attaches an appender. - - The appender to add. - - - If the appender is already in the list it won't be added again. - - - - - - Gets an attached appender with the specified name. - - The name of the appender to get. - - The appender with the name specified, or null if no appender with the - specified name is found. - - - - Lookup an attached appender by name. - - - - - - Removes all attached appenders. - - - - Removes and closes all attached appenders - - - - - - Removes the specified appender from the list of attached appenders. - - The appender to remove. - The appender removed from the list - - - The appender removed is not closed. - If you are discarding the appender you must call - on the appender removed. - - - - - - Removes the appender with the specified name from the list of appenders. - - The name of the appender to remove. - The appender removed from the list - - - The appender removed is not closed. - If you are discarding the appender you must call - on the appender removed. - - - - - - List of appenders - - - - - Array of appenders, used to cache the m_appenderList - - - - - Gets all attached appenders. - - - A collection of attached appenders, or null if there - are no attached appenders. - - - - The read only collection of all currently attached appenders. - - - - - - This class aggregates several PropertiesDictionary collections together. - - - - Provides a dictionary style lookup over an ordered list of - collections. - - - Nicko Cadell - - - - Constructor - - - - Initializes a new instance of the class. - - - - - - Add a Properties Dictionary to this composite collection - - the properties to add - - - Properties dictionaries added first take precedence over dictionaries added - later. - - - - - - Flatten this composite collection into a single properties dictionary - - the flattened dictionary - - - Reduces the collection of ordered dictionaries to a single dictionary - containing the resultant values for the keys. - - - - - - Gets the value of a property - - - The value for the property with the specified key - - - - Looks up the value for the specified. - The collections are searched - in the order in which they were added to this collection. The value - returned is the value held by the first collection that contains - the specified key. - - - If none of the collections contain the specified key then - null is returned. - - - - - - Base class for Context Properties implementations - - - - This class defines a basic property get set accessor - - - Nicko Cadell - - - - Gets or sets the value of a property - - - The value for the property with the specified key - - - - Gets or sets the value of a property - - - - - - Subclass of that maintains a count of - the number of bytes written. - - - - This writer counts the number of bytes written. - - - Nicko Cadell - Gert Driesen - - - - that does not leak exceptions - - - - does not throw exceptions when things go wrong. - Instead, it delegates error handling to its . - - - Nicko Cadell - Gert Driesen - - - - Adapter that extends and forwards all - messages to an instance of . - - - - Adapter that extends and forwards all - messages to an instance of . - - - Nicko Cadell - - - - The writer to forward messages to - - - - - Create an instance of that forwards all - messages to a . - - The to forward to - - - Create an instance of that forwards all - messages to a . - - - - - - Closes the writer and releases any system resources associated with the writer - - - - - - - - - Dispose this writer - - flag indicating if we are being disposed - - - Dispose this writer - - - - - - Flushes any buffered output - - - - Clears all buffers for the writer and causes any buffered data to be written - to the underlying device - - - - - - Writes a character to the wrapped TextWriter - - the value to write to the TextWriter - - - Writes a character to the wrapped TextWriter - - - - - - Writes a character buffer to the wrapped TextWriter - - the data buffer - the start index - the number of characters to write - - - Writes a character buffer to the wrapped TextWriter - - - - - - Writes a string to the wrapped TextWriter - - the value to write to the TextWriter - - - Writes a string to the wrapped TextWriter - - - - - - Gets or sets the underlying . - - - The underlying . - - - - Gets or sets the underlying . - - - - - - The Encoding in which the output is written - - - The - - - - The Encoding in which the output is written - - - - - - Gets an object that controls formatting - - - The format provider - - - - Gets an object that controls formatting - - - - - - Gets or sets the line terminator string used by the TextWriter - - - The line terminator to use - - - - Gets or sets the line terminator string used by the TextWriter - - - - - - Constructor - - the writer to actually write to - the error handler to report error to - - - Create a new QuietTextWriter using a writer and error handler - - - - - - Writes a character to the underlying writer - - the char to write - - - Writes a character to the underlying writer - - - - - - Writes a buffer to the underlying writer - - the buffer to write - the start index to write from - the number of characters to write - - - Writes a buffer to the underlying writer - - - - - - Writes a string to the output. - - The string data to write to the output. - - - Writes a string to the output. - - - - - - Closes the underlying output writer. - - - - Closes the underlying output writer. - - - - - - The error handler instance to pass all errors to - - - - - Flag to indicate if this writer is closed - - - - - Gets or sets the error handler that all errors are passed to. - - - The error handler that all errors are passed to. - - - - Gets or sets the error handler that all errors are passed to. - - - - - - Gets a value indicating whether this writer is closed. - - - true if this writer is closed, otherwise false. - - - - Gets a value indicating whether this writer is closed. - - - - - - Constructor - - The to actually write to. - The to report errors to. - - - Creates a new instance of the class - with the specified and . - - - - - - Writes a character to the underlying writer and counts the number of bytes written. - - the char to write - - - Overrides implementation of . Counts - the number of bytes written. - - - - - - Writes a buffer to the underlying writer and counts the number of bytes written. - - the buffer to write - the start index to write from - the number of characters to write - - - Overrides implementation of . Counts - the number of bytes written. - - - - - - Writes a string to the output and counts the number of bytes written. - - The string data to write to the output. - - - Overrides implementation of . Counts - the number of bytes written. - - - - - - Total number of bytes written. - - - - - Gets or sets the total number of bytes written. - - - The total number of bytes written. - - - - Gets or sets the total number of bytes written. - - - - - - A fixed size rolling buffer of logging events. - - - - An array backed fixed size leaky bucket. - - - Nicko Cadell - Gert Driesen - - - - Constructor - - The maximum number of logging events in the buffer. - - - Initializes a new instance of the class with - the specified maximum number of buffered logging events. - - - The argument is not a positive integer. - - - - Appends a to the buffer. - - The event to append to the buffer. - The event discarded from the buffer, if the buffer is full, otherwise null. - - - Append an event to the buffer. If the buffer still contains free space then - null is returned. If the buffer is full then an event will be dropped - to make space for the new event, the event dropped is returned. - - - - - - Get and remove the oldest event in the buffer. - - The oldest logging event in the buffer - - - Gets the oldest (first) logging event in the buffer and removes it - from the buffer. - - - - - - Pops all the logging events from the buffer into an array. - - An array of all the logging events in the buffer. - - - Get all the events in the buffer and clear the buffer. - - - - - - Clear the buffer - - - - Clear the buffer of all events. The events in the buffer are lost. - - - - - - Gets the th oldest event currently in the buffer. - - The th oldest event currently in the buffer. - - - If is outside the range 0 to the number of events - currently in the buffer, then null is returned. - - - - - - Gets the maximum size of the buffer. - - The maximum size of the buffer. - - - Gets the maximum size of the buffer - - - - - - Gets the number of logging events in the buffer. - - The number of logging events in the buffer. - - - This number is guaranteed to be in the range 0 to - (inclusive). - - - - - - An always empty . - - - - A singleton implementation of the - interface that always represents an empty collection. - - - Nicko Cadell - Gert Driesen - - - - Initializes a new instance of the class. - - - - Uses a private access modifier to enforce the singleton pattern. - - - - - - Copies the elements of the to an - , starting at a particular Array index. - - The one-dimensional - that is the destination of the elements copied from - . The Array must have zero-based - indexing. - The zero-based index in array at which - copying begins. - - - As the collection is empty no values are copied into the array. - - - - - - Returns an enumerator that can iterate through a collection. - - - An that can be used to - iterate through the collection. - - - - As the collection is empty a is returned. - - - - - - The singleton instance of the empty collection. - - - - - Gets the singleton instance of the empty collection. - - The singleton instance of the empty collection. - - - Gets the singleton instance of the empty collection. - - - - - - Gets a value indicating if access to the is synchronized (thread-safe). - - - true if access to the is synchronized (thread-safe); otherwise, false. - - - - For the this property is always true. - - - - - - Gets the number of elements contained in the . - - - The number of elements contained in the . - - - - As the collection is empty the is always 0. - - - - - - Gets an object that can be used to synchronize access to the . - - - An object that can be used to synchronize access to the . - - - - As the collection is empty and thread safe and synchronized this instance is also - the object. - - - - - - An always empty . - - - - A singleton implementation of the - interface that always represents an empty collection. - - - Nicko Cadell - Gert Driesen - - - - Initializes a new instance of the class. - - - - Uses a private access modifier to enforce the singleton pattern. - - - - - - Copies the elements of the to an - , starting at a particular Array index. - - The one-dimensional - that is the destination of the elements copied from - . The Array must have zero-based - indexing. - The zero-based index in array at which - copying begins. - - - As the collection is empty no values are copied into the array. - - - - - - Returns an enumerator that can iterate through a collection. - - - An that can be used to - iterate through the collection. - - - - As the collection is empty a is returned. - - - - - - Adds an element with the provided key and value to the - . - - The to use as the key of the element to add. - The to use as the value of the element to add. - - - As the collection is empty no new values can be added. A - is thrown if this method is called. - - - This dictionary is always empty and cannot be modified. - - - - Removes all elements from the . - - - - As the collection is empty no values can be removed. A - is thrown if this method is called. - - - This dictionary is always empty and cannot be modified. - - - - Determines whether the contains an element - with the specified key. - - The key to locate in the . - false - - - As the collection is empty the method always returns false. - - - - - - Returns an enumerator that can iterate through a collection. - - - An that can be used to - iterate through the collection. - - - - As the collection is empty a is returned. - - - - - - Removes the element with the specified key from the . - - The key of the element to remove. - - - As the collection is empty no values can be removed. A - is thrown if this method is called. - - - This dictionary is always empty and cannot be modified. - - - - The singleton instance of the empty dictionary. - - - - - Gets the singleton instance of the . - - The singleton instance of the . - - - Gets the singleton instance of the . - - - - - - Gets a value indicating if access to the is synchronized (thread-safe). - - - true if access to the is synchronized (thread-safe); otherwise, false. - - - - For the this property is always true. - - - - - - Gets the number of elements contained in the - - - The number of elements contained in the . - - - - As the collection is empty the is always 0. - - - - - - Gets an object that can be used to synchronize access to the . - - - An object that can be used to synchronize access to the . - - - - As the collection is empty and thread safe and synchronized this instance is also - the object. - - - - - - Gets a value indicating whether the has a fixed size. - - true - - - As the collection is empty always returns true. - - - - - - Gets a value indicating whether the is read-only. - - true - - - As the collection is empty always returns true. - - - - - - Gets an containing the keys of the . - - An containing the keys of the . - - - As the collection is empty a is returned. - - - - - - Gets an containing the values of the . - - An containing the values of the . - - - As the collection is empty a is returned. - - - - - - Gets or sets the element with the specified key. - - The key of the element to get or set. - null - - - As the collection is empty no values can be looked up or stored. - If the index getter is called then null is returned. - A is thrown if the setter is called. - - - This dictionary is always empty and cannot be modified. - - - - Contain the information obtained when parsing formatting modifiers - in conversion modifiers. - - - - Holds the formatting information extracted from the format string by - the . This is used by the - objects when rendering the output. - - - Nicko Cadell - Gert Driesen - - - - Defaut Constructor - - - - Initializes a new instance of the class. - - - - - - Constructor - - - - Initializes a new instance of the class - with the specified parameters. - - - - - - Gets or sets the minimum value. - - - The minimum value. - - - - Gets or sets the minimum value. - - - - - - Gets or sets the maximum value. - - - The maximum value. - - - - Gets or sets the maximum value. - - - - - - Gets or sets a flag indicating whether left align is enabled - or not. - - - A flag indicating whether left align is enabled or not. - - - - Gets or sets a flag indicating whether left align is enabled or not. - - - - - - Implementation of Properties collection for the - - - - This class implements a properties collection that is thread safe and supports both - storing properties and capturing a read only copy of the current propertied. - - - This class is optimized to the scenario where the properties are read frequently - and are modified infrequently. - - - Nicko Cadell - - - - The read only copy of the properties. - - - - This variable is declared volatile to prevent the compiler and JIT from - reordering reads and writes of this thread performed on different threads. - - - - - - Lock object used to synchronize updates within this instance - - - - - Constructor - - - - Initializes a new instance of the class. - - - - - - Remove a property from the global context - - the key for the entry to remove - - - Removing an entry from the global context properties is relatively expensive compared - with reading a value. - - - - - - Clear the global context properties - - - - - Get a readonly immutable copy of the properties - - the current global context properties - - - This implementation is fast because the GlobalContextProperties class - stores a readonly copy of the properties. - - - - - - Gets or sets the value of a property - - - The value for the property with the specified key - - - - Reading the value for a key is faster than setting the value. - When the value is written a new read only copy of - the properties is created. - - - - - - Manages a mapping from levels to - - - - Manages an ordered mapping from instances - to subclasses. - - - Nicko Cadell - - - - Default constructor - - - - Initialise a new instance of . - - - - - - Add a to this mapping - - the entry to add - - - If a has previously been added - for the same then that entry will be - overwritten. - - - - - - Lookup the mapping for the specified level - - the level to lookup - the for the level or null if no mapping found - - - Lookup the value for the specified level. Finds the nearest - mapping value for the level that is equal to or less than the - specified. - - - If no mapping could be found then null is returned. - - - - - - Initialize options - - - - Caches the sorted list of in an array - - - - - - Implementation of Properties collection for the - - - - Class implements a collection of properties that is specific to each thread. - The class is not synchronized as each thread has its own . - - - Nicko Cadell - - - - Constructor - - - - Initializes a new instance of the class. - - - - - - Remove a property - - the key for the entry to remove - - - Remove the value for the specified from the context. - - - - - - Clear all the context properties - - - - Clear all the context properties - - - - - - Get the PropertiesDictionary stored in the LocalDataStoreSlot for this thread. - - create the dictionary if it does not exist, otherwise return null if is does not exist - the properties for this thread - - - The collection returned is only to be used on the calling thread. If the - caller needs to share the collection between different threads then the - caller must clone the collection before doings so. - - - - - - Gets or sets the value of a property - - - The value for the property with the specified key - - - - Get or set the property value for the specified. - - - - - - Outputs log statements from within the log4net assembly. - - - - Log4net components cannot make log4net logging calls. However, it is - sometimes useful for the user to learn about what log4net is - doing. - - - All log4net internal debug calls go to the standard output stream - whereas internal error messages are sent to the standard error output - stream. - - - Nicko Cadell - Gert Driesen - - - - Initializes a new instance of the class. - - - - Uses a private access modifier to prevent instantiation of this class. - - - - - - Static constructor that initializes logging by reading - settings from the application configuration file. - - - - The log4net.Internal.Debug application setting - controls internal debugging. This setting should be set - to true to enable debugging. - - - The log4net.Internal.Quiet application setting - suppresses all internal logging including error messages. - This setting should be set to true to enable message - suppression. - - - - - - Writes log4net internal debug messages to the - standard output stream. - - The message to log. - - - All internal debug messages are prepended with - the string "log4net: ". - - - - - - Writes log4net internal debug messages to the - standard output stream. - - The message to log. - An exception to log. - - - All internal debug messages are prepended with - the string "log4net: ". - - - - - - Writes log4net internal warning messages to the - standard error stream. - - The message to log. - - - All internal warning messages are prepended with - the string "log4net:WARN ". - - - - - - Writes log4net internal warning messages to the - standard error stream. - - The message to log. - An exception to log. - - - All internal warning messages are prepended with - the string "log4net:WARN ". - - - - - - Writes log4net internal error messages to the - standard error stream. - - The message to log. - - - All internal error messages are prepended with - the string "log4net:ERROR ". - - - - - - Writes log4net internal error messages to the - standard error stream. - - The message to log. - An exception to log. - - - All internal debug messages are prepended with - the string "log4net:ERROR ". - - - - - - Writes output to the standard output stream. - - The message to log. - - - Writes to both Console.Out and System.Diagnostics.Trace. - Note that the System.Diagnostics.Trace is not supported - on the Compact Framework. - - - If the AppDomain is not configured with a config file then - the call to System.Diagnostics.Trace may fail. This is only - an issue if you are programmatically creating your own AppDomains. - - - - - - Writes output to the standard error stream. - - The message to log. - - - Writes to both Console.Error and System.Diagnostics.Trace. - Note that the System.Diagnostics.Trace is not supported - on the Compact Framework. - - - If the AppDomain is not configured with a config file then - the call to System.Diagnostics.Trace may fail. This is only - an issue if you are programmatically creating your own AppDomains. - - - - - - Default debug level - - - - - In quietMode not even errors generate any output. - - - - - Gets or sets a value indicating whether log4net internal logging - is enabled or disabled. - - - true if log4net internal logging is enabled, otherwise - false. - - - - When set to true, internal debug level logging will be - displayed. - - - This value can be set by setting the application setting - log4net.Internal.Debug in the application configuration - file. - - - The default value is false, i.e. debugging is - disabled. - - - - - The following example enables internal debugging using the - application configuration file : - - - - - - - - - - - - - Gets or sets a value indicating whether log4net should generate no output - from internal logging, not even for errors. - - - true if log4net should generate no output at all from internal - logging, otherwise false. - - - - When set to true will cause internal logging at all levels to be - suppressed. This means that no warning or error reports will be logged. - This option overrides the setting and - disables all debug also. - - This value can be set by setting the application setting - log4net.Internal.Quiet in the application configuration file. - - - The default value is false, i.e. internal logging is not - disabled. - - - - The following example disables internal logging using the - application configuration file : - - - - - - - - - - - - Test if LogLog.Debug is enabled for output. - - - true if Debug is enabled - - - - Test if LogLog.Debug is enabled for output. - - - - - - Test if LogLog.Warn is enabled for output. - - - true if Warn is enabled - - - - Test if LogLog.Warn is enabled for output. - - - - - - Test if LogLog.Error is enabled for output. - - - true if Error is enabled - - - - Test if LogLog.Error is enabled for output. - - - - - - Represents a native error code and message. - - - - Represents a Win32 platform native error. - - - Nicko Cadell - Gert Driesen - - - - Create an instance of the class with the specified - error number and message. - - The number of the native error. - The message of the native error. - - - Create an instance of the class with the specified - error number and message. - - - - - - Create a new instance of the class for the last Windows error. - - - An instance of the class for the last windows error. - - - - The message for the error number is lookup up using the - native Win32 FormatMessage function. - - - - - - Create a new instance of the class. - - the error number for the native error - - An instance of the class for the specified - error number. - - - - The message for the specified error number is lookup up using the - native Win32 FormatMessage function. - - - - - - Retrieves the message corresponding with a Win32 message identifier. - - Message identifier for the requested message. - - The message corresponding with the specified message identifier. - - - - The message will be searched for in system message-table resource(s) - using the native FormatMessage function. - - - - - - Return error information string - - error information string - - - Return error information string - - - - - - Formats a message string. - - Formatting options, and how to interpret the parameter. - Location of the message definition. - Message identifier for the requested message. - Language identifier for the requested message. - If includes FORMAT_MESSAGE_ALLOCATE_BUFFER, the function allocates a buffer using the LocalAlloc function, and places the pointer to the buffer at the address specified in . - If the FORMAT_MESSAGE_ALLOCATE_BUFFER flag is not set, this parameter specifies the maximum number of TCHARs that can be stored in the output buffer. If FORMAT_MESSAGE_ALLOCATE_BUFFER is set, this parameter specifies the minimum number of TCHARs to allocate for an output buffer. - Pointer to an array of values that are used as insert values in the formatted message. - - - The function requires a message definition as input. The message definition can come from a - buffer passed into the function. It can come from a message table resource in an - already-loaded module. Or the caller can ask the function to search the system's message - table resource(s) for the message definition. The function finds the message definition - in a message table resource based on a message identifier and a language identifier. - The function copies the formatted message text to an output buffer, processing any embedded - insert sequences if requested. - - - To prevent the usage of unsafe code, this stub does not support inserting values in the formatted message. - - - - - If the function succeeds, the return value is the number of TCHARs stored in the output - buffer, excluding the terminating null character. - - - If the function fails, the return value is zero. To get extended error information, - call . - - - - - - Gets the number of the native error. - - - The number of the native error. - - - - Gets the number of the native error. - - - - - - Gets the message of the native error. - - - The message of the native error. - - - - - Gets the message of the native error. - - - - - An always empty . - - - - A singleton implementation of the over a collection - that is empty and not modifiable. - - - Nicko Cadell - Gert Driesen - - - - Initializes a new instance of the class. - - - - Uses a private access modifier to enforce the singleton pattern. - - - - - - Test if the enumerator can advance, if so advance. - - false as the cannot advance. - - - As the enumerator is over an empty collection its - value cannot be moved over a valid position, therefore - will always return false. - - - - - - Resets the enumerator back to the start. - - - - As the enumerator is over an empty collection does nothing. - - - - - - The singleton instance of the . - - - - - Gets the singleton instance of the . - - The singleton instance of the . - - - Gets the singleton instance of the . - - - - - - Gets the current object from the enumerator. - - - Throws an because the - never has a current value. - - - - As the enumerator is over an empty collection its - value cannot be moved over a valid position, therefore - will throw an . - - - The collection is empty and - cannot be positioned over a valid location. - - - - Gets the current key from the enumerator. - - - Throws an exception because the - never has a current value. - - - - As the enumerator is over an empty collection its - value cannot be moved over a valid position, therefore - will throw an . - - - The collection is empty and - cannot be positioned over a valid location. - - - - Gets the current value from the enumerator. - - The current value from the enumerator. - - Throws an because the - never has a current value. - - - - As the enumerator is over an empty collection its - value cannot be moved over a valid position, therefore - will throw an . - - - The collection is empty and - cannot be positioned over a valid location. - - - - Gets the current entry from the enumerator. - - - Throws an because the - never has a current entry. - - - - As the enumerator is over an empty collection its - value cannot be moved over a valid position, therefore - will throw an . - - - The collection is empty and - cannot be positioned over a valid location. - - - - An always empty . - - - - A singleton implementation of the over a collection - that is empty and not modifiable. - - - Nicko Cadell - Gert Driesen - - - - Initializes a new instance of the class. - - - - Uses a private access modifier to enforce the singleton pattern. - - - - - - Test if the enumerator can advance, if so advance - - false as the cannot advance. - - - As the enumerator is over an empty collection its - value cannot be moved over a valid position, therefore - will always return false. - - - - - - Resets the enumerator back to the start. - - - - As the enumerator is over an empty collection does nothing. - - - - - - The singleton instance of the . - - - - - Get the singleton instance of the . - - The singleton instance of the . - - - Gets the singleton instance of the . - - - - - - Gets the current object from the enumerator. - - - Throws an because the - never has a current value. - - - - As the enumerator is over an empty collection its - value cannot be moved over a valid position, therefore - will throw an . - - - The collection is empty and - cannot be positioned over a valid location. - - - - A SecurityContext used when a SecurityContext is not required - - - - The is a no-op implementation of the - base class. It is used where a - is required but one has not been provided. - - - Nicko Cadell - - - - Singleton instance of - - - - Singleton instance of - - - - - - Private constructor - - - - Private constructor for singleton pattern. - - - - - - Impersonate this SecurityContext - - State supplied by the caller - null - - - No impersonation is done and null is always returned. - - - - - - Implements log4net's default error handling policy which consists - of emitting a message for the first error in an appender and - ignoring all subsequent errors. - - - - The error message is printed on the standard error output stream. - - - This policy aims at protecting an otherwise working application - from being flooded with error messages when logging fails. - - - Nicko Cadell - Gert Driesen - - - - Default Constructor - - - - Initializes a new instance of the class. - - - - - - Constructor - - The prefix to use for each message. - - - Initializes a new instance of the class - with the specified prefix. - - - - - - Log an Error - - The error message. - The exception. - The internal error code. - - - Prints the message and the stack trace of the exception on the standard - error output stream. - - - - - - Log an Error - - The error message. - The exception. - - - Prints the message and the stack trace of the exception on the standard - error output stream. - - - - - - Log an error - - The error message. - - - Print a the error message passed as parameter on the standard - error output stream. - - - - - - Flag to indicate if it is the first error - - - - - String to prefix each message with - - - - - Is error logging enabled - - - - Is error logging enabled. Logging is only enabled for the - first error delivered to the . - - - - - - A convenience class to convert property values to specific types. - - - - Utility functions for converting types and parsing values. - - - Nicko Cadell - Gert Driesen - - - - Initializes a new instance of the class. - - - - Uses a private access modifier to prevent instantiation of this class. - - - - - - Converts a string to a value. - - String to convert. - The default value. - The value of . - - - If is "true", then true is returned. - If is "false", then false is returned. - Otherwise, is returned. - - - - - - Parses a file size into a number. - - String to parse. - The default value. - The value of . - - - Parses a file size of the form: number[KB|MB|GB] into a - long value. It is scaled with the appropriate multiplier. - - - is returned when - cannot be converted to a value. - - - - - - Converts a string to an object. - - The target type to convert to. - The string to convert to an object. - - The object converted from a string or null when the - conversion failed. - - - - Converts a string to an object. Uses the converter registry to try - to convert the string value into the specified target type. - - - - - - Checks if there is an appropriate type conversion from the source type to the target type. - - The type to convert from. - The type to convert to. - true if there is a conversion from the source type to the target type. - - Checks if there is an appropriate type conversion from the source type to the target type. - - - - - - - Converts an object to the target type. - - The object to convert to the target type. - The type to convert to. - The converted object. - - - Converts an object to the target type. - - - - - - Instantiates an object given a class name. - - The fully qualified class name of the object to instantiate. - The class to which the new object should belong. - The object to return in case of non-fulfillment. - - An instance of the or - if the object could not be instantiated. - - - - Checks that the is a subclass of - . If that test fails or the object could - not be instantiated, then is returned. - - - - - - Performs variable substitution in string from the - values of keys found in . - - The string on which variable substitution is performed. - The dictionary to use to lookup variables. - The result of the substitutions. - - - The variable substitution delimiters are ${ and }. - - - For example, if props contains key=value, then the call - - - - string s = OptionConverter.SubstituteVariables("Value of key is ${key}."); - - - - will set the variable s to "Value of key is value.". - - - If no value could be found for the specified key, then substitution - defaults to an empty string. - - - For example, if system properties contains no value for the key - "nonExistentKey", then the call - - - - string s = OptionConverter.SubstituteVariables("Value of nonExistentKey is [${nonExistentKey}]"); - - - - will set s to "Value of nonExistentKey is []". - - - An Exception is thrown if contains a start - delimiter "${" which is not balanced by a stop delimiter "}". - - - - - - Converts the string representation of the name or numeric value of one or - more enumerated constants to an equivalent enumerated object. - - The type to convert to. - The enum string value. - If true, ignore case; otherwise, regard case. - An object of type whose value is represented by . - - - - Most of the work of the class - is delegated to the PatternParser class. - - - - The PatternParser processes a pattern string and - returns a chain of objects. - - - Nicko Cadell - Gert Driesen - - - - Constructor - - The pattern to parse. - - - Initializes a new instance of the class - with the specified pattern string. - - - - - - Parses the pattern into a chain of pattern converters. - - The head of a chain of pattern converters. - - - Parses the pattern into a chain of pattern converters. - - - - - - Build the unified cache of converters from the static and instance maps - - the list of all the converter names - - - Build the unified cache of converters from the static and instance maps - - - - - - Internal method to parse the specified pattern to find specified matches - - the pattern to parse - the converter names to match in the pattern - - - The matches param must be sorted such that longer strings come before shorter ones. - - - - - - Process a parsed literal - - the literal text - - - - Process a parsed converter pattern - - the name of the converter - the optional option for the converter - the formatting info for the converter - - - - Resets the internal state of the parser and adds the specified pattern converter - to the chain. - - The pattern converter to add. - - - - The first pattern converter in the chain - - - - - the last pattern converter in the chain - - - - - The pattern - - - - - Internal map of converter identifiers to converter types - - - - This map overrides the static s_globalRulesRegistry map. - - - - - - Get the converter registry used by this parser - - - The converter registry used by this parser - - - - Get the converter registry used by this parser - - - - - - Sort strings by length - - - - that orders strings by string length. - The longest strings are placed first - - - - - - This class implements a patterned string. - - - - This string has embedded patterns that are resolved and expanded - when the string is formatted. - - - This class functions similarly to the - in that it accepts a pattern and renders it to a string. Unlike the - however the PatternString - does not render the properties of a specific but - of the process in general. - - - The recognized conversion pattern names are: - - - - Conversion Pattern Name - Effect - - - appdomain - - - Used to output the friendly name of the current AppDomain. - - - - - date - - - Used to output the date of the logging event in the local time zone. - To output the date in universal time use the %utcdate pattern. - The date conversion - specifier may be followed by a date format specifier enclosed - between braces. For example, %date{HH:mm:ss,fff} or - %date{dd MMM yyyy HH:mm:ss,fff}. If no date format specifier is - given then ISO8601 format is - assumed (). - - - The date format specifier admits the same syntax as the - time pattern string of the . - - - For better results it is recommended to use the log4net date - formatters. These can be specified using one of the strings - "ABSOLUTE", "DATE" and "ISO8601" for specifying - , - and respectively - . For example, - %date{ISO8601} or %date{ABSOLUTE}. - - - These dedicated date formatters perform significantly - better than . - - - - - env - - - Used to output the a specific environment variable. The key to - lookup must be specified within braces and directly following the - pattern specifier, e.g. %env{COMPUTERNAME} would include the value - of the COMPUTERNAME environment variable. - - - The env pattern is not supported on the .NET Compact Framework. - - - - - identity - - - Used to output the user name for the currently active user - (Principal.Identity.Name). - - - - - newline - - - Outputs the platform dependent line separator character or - characters. - - - This conversion pattern name offers the same performance as using - non-portable line separator strings such as "\n", or "\r\n". - Thus, it is the preferred way of specifying a line separator. - - - - - processid - - - Used to output the system process ID for the current process. - - - - - property - - - Used to output a specific context property. The key to - lookup must be specified within braces and directly following the - pattern specifier, e.g. %property{user} would include the value - from the property that is keyed by the string 'user'. Each property value - that is to be included in the log must be specified separately. - Properties are stored in logging contexts. By default - the log4net:HostName property is set to the name of machine on - which the event was originally logged. - - - If no key is specified, e.g. %property then all the keys and their - values are printed in a comma separated list. - - - The properties of an event are combined from a number of different - contexts. These are listed below in the order in which they are searched. - - - - the thread properties - - The that are set on the current - thread. These properties are shared by all events logged on this thread. - - - - the global properties - - The that are set globally. These - properties are shared by all the threads in the AppDomain. - - - - - - - random - - - Used to output a random string of characters. The string is made up of - uppercase letters and numbers. By default the string is 4 characters long. - The length of the string can be specified within braces directly following the - pattern specifier, e.g. %random{8} would output an 8 character string. - - - - - username - - - Used to output the WindowsIdentity for the currently - active user. - - - - - utcdate - - - Used to output the date of the logging event in universal time. - The date conversion - specifier may be followed by a date format specifier enclosed - between braces. For example, %utcdate{HH:mm:ss,fff} or - %utcdate{dd MMM yyyy HH:mm:ss,fff}. If no date format specifier is - given then ISO8601 format is - assumed (). - - - The date format specifier admits the same syntax as the - time pattern string of the . - - - For better results it is recommended to use the log4net date - formatters. These can be specified using one of the strings - "ABSOLUTE", "DATE" and "ISO8601" for specifying - , - and respectively - . For example, - %utcdate{ISO8601} or %utcdate{ABSOLUTE}. - - - These dedicated date formatters perform significantly - better than . - - - - - % - - - The sequence %% outputs a single percent sign. - - - - - - Additional pattern converters may be registered with a specific - instance using or - . - - - See the for details on the - format modifiers supported by the patterns. - - - Nicko Cadell - - - - Internal map of converter identifiers to converter types. - - - - - the pattern - - - - - the head of the pattern converter chain - - - - - patterns defined on this PatternString only - - - - - Initialize the global registry - - - - - Default constructor - - - - Initialize a new instance of - - - - - - Constructs a PatternString - - The pattern to use with this PatternString - - - Initialize a new instance of with the pattern specified. - - - - - - Initialize object options - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - - - - Create the used to parse the pattern - - the pattern to parse - The - - - Returns PatternParser used to parse the conversion string. Subclasses - may override this to return a subclass of PatternParser which recognize - custom conversion pattern name. - - - - - - Produces a formatted string as specified by the conversion pattern. - - The TextWriter to write the formatted event to - - - Format the pattern to the . - - - - - - Format the pattern as a string - - the pattern formatted as a string - - - Format the pattern to a string. - - - - - - Add a converter to this PatternString - - the converter info - - - This version of the method is used by the configurator. - Programmatic users should use the alternative method. - - - - - - Add a converter to this PatternString - - the name of the conversion pattern for this converter - the type of the converter - - - Add a converter to this PatternString - - - - - - Gets or sets the pattern formatting string - - - The pattern formatting string - - - - The ConversionPattern option. This is the string which - controls formatting and consists of a mix of literal content and - conversion specifiers. - - - - - - Wrapper class used to map converter names to converter types - - - - Wrapper class used to map converter names to converter types - - - - - - default constructor - - - - - Gets or sets the name of the conversion pattern - - - The name of the conversion pattern - - - - Gets or sets the name of the conversion pattern - - - - - - Gets or sets the type of the converter - - - The type of the converter - - - - Gets or sets the type of the converter - - - - - - String keyed object map. - - - - While this collection is serializable only member - objects that are serializable will - be serialized along with this collection. - - - Nicko Cadell - Gert Driesen - - - - String keyed object map that is read only. - - - - This collection is readonly and cannot be modified. - - - While this collection is serializable only member - objects that are serializable will - be serialized along with this collection. - - - Nicko Cadell - Gert Driesen - - - - The Hashtable used to store the properties data - - - - - Constructor - - - - Initializes a new instance of the class. - - - - - - Copy Constructor - - properties to copy - - - Initializes a new instance of the class. - - - - - - Deserialization constructor - - The that holds the serialized object data. - The that contains contextual information about the source or destination. - - - Initializes a new instance of the class - with serialized data. - - - - - - Gets the key names. - - An array of all the keys. - - - Gets the key names. - - - - - - Test if the dictionary contains a specified key - - the key to look for - true if the dictionary contains the specified key - - - Test if the dictionary contains a specified key - - - - - - Serializes this object into the provided. - - The to populate with data. - The destination for this serialization. - - - Serializes this object into the provided. - - - - - - See - - - - - See - - - - - - See - - - - - - - Remove all properties from the properties collection - - - - - See - - - - - - - See - - - - - - - See - - - - - Gets or sets the value of the property with the specified key. - - - The value of the property with the specified key. - - The key of the property to get or set. - - - The property value will only be serialized if it is serializable. - If it cannot be serialized it will be silently ignored if - a serialization operation is performed. - - - - - - The hashtable used to store the properties - - - The internal collection used to store the properties - - - - The hashtable used to store the properties - - - - - - See - - - - - See - - - - - See - - - - - See - - - - - See - - - - - See - - - - - The number of properties in this collection - - - - - See - - - - - Constructor - - - - Initializes a new instance of the class. - - - - - - Constructor - - properties to copy - - - Initializes a new instance of the class. - - - - - - Initializes a new instance of the class - with serialized data. - - The that holds the serialized object data. - The that contains contextual information about the source or destination. - - - Because this class is sealed the serialization constructor is private. - - - - - - Remove the entry with the specified key from this dictionary - - the key for the entry to remove - - - Remove the entry with the specified key from this dictionary - - - - - - See - - an enumerator - - - Returns a over the contest of this collection. - - - - - - See - - the key to remove - - - Remove the entry with the specified key from this dictionary - - - - - - See - - the key to lookup in the collection - true if the collection contains the specified key - - - Test if this collection contains a specified key. - - - - - - Remove all properties from the properties collection - - - - Remove all properties from the properties collection - - - - - - See - - the key - the value to store for the key - - - Store a value for the specified . - - - Thrown if the is not a string - - - - See - - - - - - - See - - - - - Gets or sets the value of the property with the specified key. - - - The value of the property with the specified key. - - The key of the property to get or set. - - - The property value will only be serialized if it is serializable. - If it cannot be serialized it will be silently ignored if - a serialization operation is performed. - - - - - - See - - - false - - - - This collection is modifiable. This property always - returns false. - - - - - - See - - - The value for the key specified. - - - - Get or set a value for the specified . - - - Thrown if the is not a string - - - - See - - - - - See - - - - - See - - - - - See - - - - - See - - - - - A that ignores the message - - - - This writer is used in special cases where it is necessary - to protect a writer from being closed by a client. - - - Nicko Cadell - - - - Constructor - - the writer to actually write to - - - Create a new ProtectCloseTextWriter using a writer - - - - - - Attach this instance to a different underlying - - the writer to attach to - - - Attach this instance to a different underlying - - - - - - Does not close the underlying output writer. - - - - Does not close the underlying output writer. - This method does nothing. - - - - - - Defines a lock that supports single writers and multiple readers - - - - ReaderWriterLock is used to synchronize access to a resource. - At any given time, it allows either concurrent read access for - multiple threads, or write access for a single thread. In a - situation where a resource is changed infrequently, a - ReaderWriterLock provides better throughput than a simple - one-at-a-time lock, such as . - - - If a platform does not support a System.Threading.ReaderWriterLock - implementation then all readers and writers are serialized. Therefore - the caller must not rely on multiple simultaneous readers. - - - Nicko Cadell - - - - Constructor - - - - Initializes a new instance of the class. - - - - - - Acquires a reader lock - - - - blocks if a different thread has the writer - lock, or if at least one thread is waiting for the writer lock. - - - - - - Decrements the lock count - - - - decrements the lock count. When the count - reaches zero, the lock is released. - - - - - - Acquires the writer lock - - - - This method blocks if another thread has a reader lock or writer lock. - - - - - - Decrements the lock count on the writer lock - - - - ReleaseWriterLock decrements the writer lock count. - When the count reaches zero, the writer lock is released. - - - - - - A that can be and reused - - - - A that can be and reused. - This uses a single buffer for string operations. - - - Nicko Cadell - - - - Create an instance of - - the format provider to use - - - Create an instance of - - - - - - Override Dispose to prevent closing of writer - - flag - - - Override Dispose to prevent closing of writer - - - - - - Reset this string writer so that it can be reused. - - the maximum buffer capacity before it is trimmed - the default size to make the buffer - - - Reset this string writer so that it can be reused. - The internal buffers are cleared and reset. - - - - - - Utility class for system specific information. - - - - Utility class of static methods for system specific information. - - - Nicko Cadell - Gert Driesen - Alexey Solofnenko - - - - Private constructor to prevent instances. - - - - Only static methods are exposed from this type. - - - - - - Initialize default values for private static fields. - - - - Only static methods are exposed from this type. - - - - - - Gets the assembly location path for the specified assembly. - - The assembly to get the location for. - The location of the assembly. - - - This method does not guarantee to return the correct path - to the assembly. If only tries to give an indication as to - where the assembly was loaded from. - - - - - - Gets the fully qualified name of the , including - the name of the assembly from which the was - loaded. - - The to get the fully qualified name for. - The fully qualified name for the . - - - This is equivalent to the Type.AssemblyQualifiedName property, - but this method works on the .NET Compact Framework 1.0 as well as - the full .NET runtime. - - - - - - Gets the short name of the . - - The to get the name for. - The short name of the . - - - The short name of the assembly is the - without the version, culture, or public key. i.e. it is just the - assembly's file name without the extension. - - - Use this rather than Assembly.GetName().Name because that - is not available on the Compact Framework. - - - Because of a FileIOPermission security demand we cannot do - the obvious Assembly.GetName().Name. We are allowed to get - the of the assembly so we - start from there and strip out just the assembly name. - - - - - - Gets the file name portion of the , including the extension. - - The to get the file name for. - The file name of the assembly. - - - Gets the file name portion of the , including the extension. - - - - - - Loads the type specified in the type string. - - A sibling type to use to load the type. - The name of the type to load. - Flag set to true to throw an exception if the type cannot be loaded. - true to ignore the case of the type name; otherwise, false - The type loaded or null if it could not be loaded. - - - If the type name is fully qualified, i.e. if contains an assembly name in - the type name, the type will be loaded from the system using - . - - - If the type name is not fully qualified, it will be loaded from the assembly - containing the specified relative type. If the type is not found in the assembly - then all the loaded assemblies will be searched for the type. - - - - - - Loads the type specified in the type string. - - The name of the type to load. - Flag set to true to throw an exception if the type cannot be loaded. - true to ignore the case of the type name; otherwise, false - The type loaded or null if it could not be loaded. - - - If the type name is fully qualified, i.e. if contains an assembly name in - the type name, the type will be loaded from the system using - . - - - If the type name is not fully qualified it will be loaded from the - assembly that is directly calling this method. If the type is not found - in the assembly then all the loaded assemblies will be searched for the type. - - - - - - Loads the type specified in the type string. - - An assembly to load the type from. - The name of the type to load. - Flag set to true to throw an exception if the type cannot be loaded. - true to ignore the case of the type name; otherwise, false - The type loaded or null if it could not be loaded. - - - If the type name is fully qualified, i.e. if contains an assembly name in - the type name, the type will be loaded from the system using - . - - - If the type name is not fully qualified it will be loaded from the specified - assembly. If the type is not found in the assembly then all the loaded assemblies - will be searched for the type. - - - - - - Generate a new guid - - A new Guid - - - Generate a new guid - - - - - - Create an - - The name of the parameter that caused the exception - The value of the argument that causes this exception - The message that describes the error - the ArgumentOutOfRangeException object - - - Create a new instance of the class - with a specified error message, the parameter name, and the value - of the argument. - - - The Compact Framework does not support the 3 parameter constructor for the - type. This method provides an - implementation that works for all platforms. - - - - - - Parse a string into an value - - the string to parse - out param where the parsed value is placed - true if the string was able to be parsed into an integer - - - Attempts to parse the string into an integer. If the string cannot - be parsed then this method returns false. The method does not throw an exception. - - - - - - Parse a string into an value - - the string to parse - out param where the parsed value is placed - true if the string was able to be parsed into an integer - - - Attempts to parse the string into an integer. If the string cannot - be parsed then this method returns false. The method does not throw an exception. - - - - - - Lookup an application setting - - the application settings key to lookup - the value for the key, or null - - - Configuration APIs are not supported under the Compact Framework - - - - - - Convert a path into a fully qualified local file path. - - The path to convert. - The fully qualified path. - - - Converts the path specified to a fully - qualified path. If the path is relative it is - taken as relative from the application base - directory. - - - The path specified must be a local file path, a URI is not supported. - - - - - - Creates a new case-insensitive instance of the class with the default initial capacity. - - A new case-insensitive instance of the class with the default initial capacity - - - The new Hashtable instance uses the default load factor, the CaseInsensitiveHashCodeProvider, and the CaseInsensitiveComparer. - - - - - - Gets an empty array of types. - - - - The Type.EmptyTypes field is not available on - the .NET Compact Framework 1.0. - - - - - - Cache the host name for the current machine - - - - - Cache the application friendly name - - - - - Text to output when a null is encountered. - - - - - Text to output when an unsupported feature is requested. - - - - - Start time for the current process. - - - - - Gets the system dependent line terminator. - - - The system dependent line terminator. - - - - Gets the system dependent line terminator. - - - - - - Gets the base directory for this . - - The base directory path for the current . - - - Gets the base directory for this . - - - The value returned may be either a local file path or a URI. - - - - - - Gets the path to the configuration file for the current . - - The path to the configuration file for the current . - - - The .NET Compact Framework 1.0 does not have a concept of a configuration - file. For this runtime, we use the entry assembly location as the root for - the configuration file name. - - - The value returned may be either a local file path or a URI. - - - - - - Gets the path to the file that first executed in the current . - - The path to the entry assembly. - - - Gets the path to the file that first executed in the current . - - - - - - Gets the ID of the current thread. - - The ID of the current thread. - - - On the .NET framework, the AppDomain.GetCurrentThreadId method - is used to obtain the thread ID for the current thread. This is the - operating system ID for the thread. - - - On the .NET Compact Framework 1.0 it is not possible to get the - operating system thread ID for the current thread. The native method - GetCurrentThreadId is implemented inline in a header file - and cannot be called. - - - On the .NET Framework 2.0 the Thread.ManagedThreadId is used as this - gives a stable id unrelated to the operating system thread ID which may - change if the runtime is using fibers. - - - - - - Get the host name or machine name for the current machine - - - The hostname or machine name - - - - Get the host name or machine name for the current machine - - - The host name () or - the machine name (Environment.MachineName) for - the current machine, or if neither of these are available - then NOT AVAILABLE is returned. - - - - - - Get this application's friendly name - - - The friendly name of this application as a string - - - - If available the name of the application is retrieved from - the AppDomain using AppDomain.CurrentDomain.FriendlyName. - - - Otherwise the file name of the entry assembly is used. - - - - - - Get the start time for the current process. - - - - This is the time at which the log4net library was loaded into the - AppDomain. Due to reports of a hang in the call to System.Diagnostics.Process.StartTime - this is not the start time for the current process. - - - The log4net library should be loaded by an application early during its - startup, therefore this start time should be a good approximation for - the actual start time. - - - Note that AppDomains may be loaded and unloaded within the - same process without the process terminating, however this start time - will be set per AppDomain. - - - - - - Text to output when a null is encountered. - - - - Use this value to indicate a null has been encountered while - outputting a string representation of an item. - - - The default value is (null). This value can be overridden by specifying - a value for the log4net.NullText appSetting in the application's - .config file. - - - - - - Text to output when an unsupported feature is requested. - - - - Use this value when an unsupported feature is requested. - - - The default value is NOT AVAILABLE. This value can be overridden by specifying - a value for the log4net.NotAvailableText appSetting in the application's - .config file. - - - - - - Utility class that represents a format string. - - - - Utility class that represents a format string. - - - Nicko Cadell - - - - Initialise the - - An that supplies culture-specific formatting information. - A containing zero or more format items. - An array containing zero or more objects to format. - - - - Format the string and arguments - - the formatted string - - - - Replaces the format item in a specified with the text equivalent - of the value of a corresponding instance in a specified array. - A specified parameter supplies culture-specific formatting information. - - An that supplies culture-specific formatting information. - A containing zero or more format items. - An array containing zero or more objects to format. - - A copy of format in which the format items have been replaced by the - equivalent of the corresponding instances of in args. - - - - This method does not throw exceptions. If an exception thrown while formatting the result the - exception and arguments are returned in the result string. - - - - - - Process an error during StringFormat - - - - - Dump the contents of an array into a string builder - - - - - Dump an object to a string - - - - - Implementation of Properties collection for the - - - - Class implements a collection of properties that is specific to each thread. - The class is not synchronized as each thread has its own . - - - Nicko Cadell - - - - The thread local data slot to use to store a PropertiesDictionary. - - - - - Internal constructor - - - - Initializes a new instance of the class. - - - - - - Remove a property - - the key for the entry to remove - - - Remove a property - - - - - - Clear all properties - - - - Clear all properties - - - - - - Get the PropertiesDictionary for this thread. - - create the dictionary if it does not exist, otherwise return null if is does not exist - the properties for this thread - - - The collection returned is only to be used on the calling thread. If the - caller needs to share the collection between different threads then the - caller must clone the collection before doing so. - - - - - - Gets or sets the value of a property - - - The value for the property with the specified key - - - - Gets or sets the value of a property - - - - - - Implementation of Stack for the - - - - Implementation of Stack for the - - - Nicko Cadell - - - - The stack store. - - - - - Internal constructor - - - - Initializes a new instance of the class. - - - - - - Clears all the contextual information held in this stack. - - - - Clears all the contextual information held in this stack. - Only call this if you think that this tread is being reused after - a previous call execution which may not have completed correctly. - You do not need to use this method if you always guarantee to call - the method of the - returned from even in exceptional circumstances, - for example by using the using(log4net.ThreadContext.Stacks["NDC"].Push("Stack_Message")) - syntax. - - - - - - Removes the top context from this stack. - - The message in the context that was removed from the top of this stack. - - - Remove the top context from this stack, and return - it to the caller. If this stack is empty then an - empty string (not ) is returned. - - - - - - Pushes a new context message into this stack. - - The new context message. - - An that can be used to clean up the context stack. - - - - Pushes a new context onto this stack. An - is returned that can be used to clean up this stack. This - can be easily combined with the using keyword to scope the - context. - - - Simple example of using the Push method with the using keyword. - - using(log4net.ThreadContext.Stacks["NDC"].Push("Stack_Message")) - { - log.Warn("This should have an ThreadContext Stack message"); - } - - - - - - Gets the current context information for this stack. - - The current context information. - - - - Gets the current context information for this stack. - - Gets the current context information - - - Gets the current context information for this stack. - - - - - - Get a portable version of this object - - the portable instance of this object - - - Get a cross thread portable version of this object - - - - - - The number of messages in the stack - - - The current number of messages in the stack - - - - The current number of messages in the stack. That is - the number of times has been called - minus the number of times has been called. - - - - - - Gets and sets the internal stack used by this - - The internal storage stack - - - This property is provided only to support backward compatability - of the . Tytpically the internal stack should not - be modified. - - - - - - Inner class used to represent a single context frame in the stack. - - - - Inner class used to represent a single context frame in the stack. - - - - - - Constructor - - The message for this context. - The parent context in the chain. - - - Initializes a new instance of the class - with the specified message and parent context. - - - - - - Get the message. - - The message. - - - Get the message. - - - - - - Gets the full text of the context down to the root level. - - - The full text of the context down to the root level. - - - - Gets the full text of the context down to the root level. - - - - - - Struct returned from the method. - - - - This struct implements the and is designed to be used - with the pattern to remove the stack frame at the end of the scope. - - - - - - The ThreadContextStack internal stack - - - - - The depth to trim the stack to when this instance is disposed - - - - - Constructor - - The internal stack used by the ThreadContextStack. - The depth to return the stack to when this object is disposed. - - - Initializes a new instance of the class with - the specified stack and return depth. - - - - - - Returns the stack to the correct depth. - - - - Returns the stack to the correct depth. - - - - - - Implementation of Stacks collection for the - - - - Implementation of Stacks collection for the - - - Nicko Cadell - - - - Internal constructor - - - - Initializes a new instance of the class. - - - - - - Gets the named thread context stack - - - The named stack - - - - Gets the named thread context stack - - - - - - Utility class for transforming strings. - - - - Utility class for transforming strings. - - - Nicko Cadell - Gert Driesen - - - - Initializes a new instance of the class. - - - - Uses a private access modifier to prevent instantiation of this class. - - - - - - Write a string to an - - the writer to write to - the string to write - The string to replace non XML compliant chars with - - - The test is escaped either using XML escape entities - or using CDATA sections. - - - - - - Replace invalid XML characters in text string - - the XML text input string - the string to use in place of invalid characters - A string that does not contain invalid XML characters. - - - Certain Unicode code points are not allowed in the XML InfoSet, for - details see: http://www.w3.org/TR/REC-xml/#charsets. - - - This method replaces any illegal characters in the input string - with the mask string specified. - - - - - - Count the number of times that the substring occurs in the text - - the text to search - the substring to find - the number of times the substring occurs in the text - - - The substring is assumed to be non repeating within itself. - - - - - - Impersonate a Windows Account - - - - This impersonates a Windows account. - - - How the impersonation is done depends on the value of . - This allows the context to either impersonate a set of user credentials specified - using username, domain name and password or to revert to the process credentials. - - - - - - Default constructor - - - - Default constructor - - - - - - Initialize the SecurityContext based on the options set. - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - The security context will try to Logon the specified user account and - capture a primary token for impersonation. - - - The required , - or properties were not specified. - - - - Impersonate the Windows account specified by the and properties. - - caller provided state - - An instance that will revoke the impersonation of this SecurityContext - - - - Depending on the property either - impersonate a user using credentials supplied or revert - to the process credentials. - - - - - - Create a given the userName, domainName and password. - - the user name - the domain name - the password - the for the account specified - - - Uses the Windows API call LogonUser to get a principal token for the account. This - token is used to initialize the WindowsIdentity. - - - - - - Gets or sets the impersonation mode for this security context - - - The impersonation mode for this security context - - - - Impersonate either a user with user credentials or - revert this thread to the credentials of the process. - The value is one of the - enum. - - - The default value is - - - When the mode is set to - the user's credentials are established using the - , and - values. - - - When the mode is set to - no other properties need to be set. If the calling thread is - impersonating then it will be reverted back to the process credentials. - - - - - - Gets or sets the Windows username for this security context - - - The Windows username for this security context - - - - This property must be set if - is set to (the default setting). - - - - - - Gets or sets the Windows domain name for this security context - - - The Windows domain name for this security context - - - - The default value for is the local machine name - taken from the property. - - - This property must be set if - is set to (the default setting). - - - - - - Sets the password for the Windows account specified by the and properties. - - - The password for the Windows account specified by the and properties. - - - - This property must be set if - is set to (the default setting). - - - - - - The impersonation modes for the - - - - See the property for - details. - - - - - - Impersonate a user using the credentials supplied - - - - - Revert this the thread to the credentials of the process - - - - - Adds to - - - - Helper class to expose the - through the interface. - - - - - - Constructor - - the impersonation context being wrapped - - - Constructor - - - - - - Revert the impersonation - - - - Revert the impersonation - - - - - - The log4net Global Context. - - - - The GlobalContext provides a location for global debugging - information to be stored. - - - The global context has a properties map and these properties can - be included in the output of log messages. The - supports selecting and outputing these properties. - - - By default the log4net:HostName property is set to the name of - the current machine. - - - - - GlobalContext.Properties["hostname"] = Environment.MachineName; - - - - Nicko Cadell - - - - Private Constructor. - - - Uses a private access modifier to prevent instantiation of this class. - - - - - The global context properties instance - - - - - The global properties map. - - - The global properties map. - - - - The global properties map. - - - - - - The log4net Logical Thread Context. - - - - The LogicalThreadContext provides a location for specific debugging - information to be stored. - The LogicalThreadContext properties override any or - properties with the same name. - - - The Logical Thread Context has a properties map and a stack. - The properties and stack can - be included in the output of log messages. The - supports selecting and outputting these properties. - - - The Logical Thread Context provides a diagnostic context for the current call context. - This is an instrument for distinguishing interleaved log - output from different sources. Log output is typically interleaved - when a server handles multiple clients near-simultaneously. - - - The Logical Thread Context is managed on a per basis. - - - Example of using the thread context properties to store a username. - - LogicalThreadContext.Properties["user"] = userName; - log.Info("This log message has a LogicalThreadContext Property called 'user'"); - - - Example of how to push a message into the context stack - - using(LogicalThreadContext.Stacks["LDC"].Push("my context message")) - { - log.Info("This log message has a LogicalThreadContext Stack message that includes 'my context message'"); - - } // at the end of the using block the message is automatically popped - - - - Nicko Cadell - - - - Private Constructor. - - - - Uses a private access modifier to prevent instantiation of this class. - - - - - - The thread context properties instance - - - - - The thread context stacks instance - - - - - The thread properties map - - - The thread properties map - - - - The LogicalThreadContext properties override any - or properties with the same name. - - - - - - The thread stacks - - - stack map - - - - The logical thread stacks. - - - - - - This class is used by client applications to request logger instances. - - - - This class has static methods that are used by a client to request - a logger instance. The method is - used to retrieve a logger. - - - See the interface for more details. - - - Simple example of logging messages - - ILog log = LogManager.GetLogger("application-log"); - - log.Info("Application Start"); - log.Debug("This is a debug message"); - - if (log.IsDebugEnabled) - { - log.Debug("This is another debug message"); - } - - - - - Nicko Cadell - Gert Driesen - - - - Initializes a new instance of the class. - - - Uses a private access modifier to prevent instantiation of this class. - - - - Returns the named logger if it exists. - - Returns the named logger if it exists. - - - - If the named logger exists (in the default repository) then it - returns a reference to the logger, otherwise it returns null. - - - The fully qualified logger name to look for. - The logger found, or null if no logger could be found. - - - - Returns the named logger if it exists. - - - - If the named logger exists (in the specified repository) then it - returns a reference to the logger, otherwise it returns - null. - - - The repository to lookup in. - The fully qualified logger name to look for. - - The logger found, or null if the logger doesn't exist in the specified - repository. - - - - - Returns the named logger if it exists. - - - - If the named logger exists (in the repository for the specified assembly) then it - returns a reference to the logger, otherwise it returns - null. - - - The assembly to use to lookup the repository. - The fully qualified logger name to look for. - - The logger, or null if the logger doesn't exist in the specified - assembly's repository. - - - - Get the currently defined loggers. - - Returns all the currently defined loggers in the default repository. - - - The root logger is not included in the returned array. - - All the defined loggers. - - - - Returns all the currently defined loggers in the specified repository. - - The repository to lookup in. - - The root logger is not included in the returned array. - - All the defined loggers. - - - - Returns all the currently defined loggers in the specified assembly's repository. - - The assembly to use to lookup the repository. - - The root logger is not included in the returned array. - - All the defined loggers. - - - Get or create a logger. - - Retrieves or creates a named logger. - - - - Retrieves a logger named as the - parameter. If the named logger already exists, then the - existing instance will be returned. Otherwise, a new instance is - created. - - By default, loggers do not have a set level but inherit - it from the hierarchy. This is one of the central features of - log4net. - - - The name of the logger to retrieve. - The logger with the name specified. - - - - Retrieves or creates a named logger. - - - - Retrieve a logger named as the - parameter. If the named logger already exists, then the - existing instance will be returned. Otherwise, a new instance is - created. - - - By default, loggers do not have a set level but inherit - it from the hierarchy. This is one of the central features of - log4net. - - - The repository to lookup in. - The name of the logger to retrieve. - The logger with the name specified. - - - - Retrieves or creates a named logger. - - - - Retrieve a logger named as the - parameter. If the named logger already exists, then the - existing instance will be returned. Otherwise, a new instance is - created. - - - By default, loggers do not have a set level but inherit - it from the hierarchy. This is one of the central features of - log4net. - - - The assembly to use to lookup the repository. - The name of the logger to retrieve. - The logger with the name specified. - - - - Shorthand for . - - - Get the logger for the fully qualified name of the type specified. - - The full name of will be used as the name of the logger to retrieve. - The logger with the name specified. - - - - Shorthand for . - - - Gets the logger for the fully qualified name of the type specified. - - The repository to lookup in. - The full name of will be used as the name of the logger to retrieve. - The logger with the name specified. - - - - Shorthand for . - - - Gets the logger for the fully qualified name of the type specified. - - The assembly to use to lookup the repository. - The full name of will be used as the name of the logger to retrieve. - The logger with the name specified. - - - - Shuts down the log4net system. - - - - Calling this method will safely close and remove all - appenders in all the loggers including root contained in all the - default repositories. - - - Some appenders need to be closed before the application exists. - Otherwise, pending logging events might be lost. - - The shutdown method is careful to close nested - appenders before closing regular appenders. This is allows - configurations where a regular appender is attached to a logger - and again to a nested appender. - - - - - Shutdown a logger repository. - - Shuts down the default repository. - - - - Calling this method will safely close and remove all - appenders in all the loggers including root contained in the - default repository. - - Some appenders need to be closed before the application exists. - Otherwise, pending logging events might be lost. - - The shutdown method is careful to close nested - appenders before closing regular appenders. This is allows - configurations where a regular appender is attached to a logger - and again to a nested appender. - - - - - - Shuts down the repository for the repository specified. - - - - Calling this method will safely close and remove all - appenders in all the loggers including root contained in the - specified. - - - Some appenders need to be closed before the application exists. - Otherwise, pending logging events might be lost. - - The shutdown method is careful to close nested - appenders before closing regular appenders. This is allows - configurations where a regular appender is attached to a logger - and again to a nested appender. - - - The repository to shutdown. - - - - Shuts down the repository specified. - - - - Calling this method will safely close and remove all - appenders in all the loggers including root contained in the - repository. The repository is looked up using - the specified. - - - Some appenders need to be closed before the application exists. - Otherwise, pending logging events might be lost. - - - The shutdown method is careful to close nested - appenders before closing regular appenders. This is allows - configurations where a regular appender is attached to a logger - and again to a nested appender. - - - The assembly to use to lookup the repository. - - - Reset the configuration of a repository - - Resets all values contained in this repository instance to their defaults. - - - - Resets all values contained in the repository instance to their - defaults. This removes all appenders from all loggers, sets - the level of all non-root loggers to null, - sets their additivity flag to true and sets the level - of the root logger to . Moreover, - message disabling is set to its default "off" value. - - - - - - Resets all values contained in this repository instance to their defaults. - - - - Reset all values contained in the repository instance to their - defaults. This removes all appenders from all loggers, sets - the level of all non-root loggers to null, - sets their additivity flag to true and sets the level - of the root logger to . Moreover, - message disabling is set to its default "off" value. - - - The repository to reset. - - - - Resets all values contained in this repository instance to their defaults. - - - - Reset all values contained in the repository instance to their - defaults. This removes all appenders from all loggers, sets - the level of all non-root loggers to null, - sets their additivity flag to true and sets the level - of the root logger to . Moreover, - message disabling is set to its default "off" value. - - - The assembly to use to lookup the repository to reset. - - - Get the logger repository. - - Returns the default instance. - - - - Gets the for the repository specified - by the callers assembly (). - - - The instance for the default repository. - - - - Returns the default instance. - - The default instance. - - - Gets the for the repository specified - by the argument. - - - The repository to lookup in. - - - - Returns the default instance. - - The default instance. - - - Gets the for the repository specified - by the argument. - - - The assembly to use to lookup the repository. - - - Get a logger repository. - - Returns the default instance. - - - - Gets the for the repository specified - by the callers assembly (). - - - The instance for the default repository. - - - - Returns the default instance. - - The default instance. - - - Gets the for the repository specified - by the argument. - - - The repository to lookup in. - - - - Returns the default instance. - - The default instance. - - - Gets the for the repository specified - by the argument. - - - The assembly to use to lookup the repository. - - - Create a domain - - Creates a repository with the specified repository type. - - - - CreateDomain is obsolete. Use CreateRepository instead of CreateDomain. - - - The created will be associated with the repository - specified such that a call to will return - the same repository instance. - - - A that implements - and has a no arg constructor. An instance of this type will be created to act - as the for the repository specified. - The created for the repository. - - - Create a logger repository. - - Creates a repository with the specified repository type. - - A that implements - and has a no arg constructor. An instance of this type will be created to act - as the for the repository specified. - The created for the repository. - - - The created will be associated with the repository - specified such that a call to will return - the same repository instance. - - - - - - Creates a repository with the specified name. - - - - CreateDomain is obsolete. Use CreateRepository instead of CreateDomain. - - - Creates the default type of which is a - object. - - - The name must be unique. Repositories cannot be redefined. - An will be thrown if the repository already exists. - - - The name of the repository, this must be unique amongst repositories. - The created for the repository. - The specified repository already exists. - - - - Creates a repository with the specified name. - - - - Creates the default type of which is a - object. - - - The name must be unique. Repositories cannot be redefined. - An will be thrown if the repository already exists. - - - The name of the repository, this must be unique amongst repositories. - The created for the repository. - The specified repository already exists. - - - - Creates a repository with the specified name and repository type. - - - - CreateDomain is obsolete. Use CreateRepository instead of CreateDomain. - - - The name must be unique. Repositories cannot be redefined. - An will be thrown if the repository already exists. - - - The name of the repository, this must be unique to the repository. - A that implements - and has a no arg constructor. An instance of this type will be created to act - as the for the repository specified. - The created for the repository. - The specified repository already exists. - - - - Creates a repository with the specified name and repository type. - - - - The name must be unique. Repositories cannot be redefined. - An will be thrown if the repository already exists. - - - The name of the repository, this must be unique to the repository. - A that implements - and has a no arg constructor. An instance of this type will be created to act - as the for the repository specified. - The created for the repository. - The specified repository already exists. - - - - Creates a repository for the specified assembly and repository type. - - - - CreateDomain is obsolete. Use CreateRepository instead of CreateDomain. - - - The created will be associated with the repository - specified such that a call to with the - same assembly specified will return the same repository instance. - - - The assembly to use to get the name of the repository. - A that implements - and has a no arg constructor. An instance of this type will be created to act - as the for the repository specified. - The created for the repository. - - - - Creates a repository for the specified assembly and repository type. - - - - The created will be associated with the repository - specified such that a call to with the - same assembly specified will return the same repository instance. - - - The assembly to use to get the name of the repository. - A that implements - and has a no arg constructor. An instance of this type will be created to act - as the for the repository specified. - The created for the repository. - - - - Gets the list of currently defined repositories. - - - - Get an array of all the objects that have been created. - - - An array of all the known objects. - - - - Looks up the wrapper object for the logger specified. - - The logger to get the wrapper for. - The wrapper for the logger specified. - - - - Looks up the wrapper objects for the loggers specified. - - The loggers to get the wrappers for. - The wrapper objects for the loggers specified. - - - - Create the objects used by - this manager. - - The logger to wrap. - The wrapper for the logger specified. - - - - The wrapper map to use to hold the objects. - - - - - Implementation of Mapped Diagnostic Contexts. - - - - - The MDC is deprecated and has been replaced by the . - The current MDC implementation forwards to the ThreadContext.Properties. - - - - The MDC class is similar to the class except that it is - based on a map instead of a stack. It provides mapped - diagnostic contexts. A Mapped Diagnostic Context, or - MDC in short, is an instrument for distinguishing interleaved log - output from different sources. Log output is typically interleaved - when a server handles multiple clients near-simultaneously. - - - The MDC is managed on a per thread basis. - - - - Nicko Cadell - Gert Driesen - - - - Initializes a new instance of the class. - - - Uses a private access modifier to prevent instantiation of this class. - - - - - Gets the context value identified by the parameter. - - The key to lookup in the MDC. - The string value held for the key, or a null reference if no corresponding value is found. - - - - The MDC is deprecated and has been replaced by the . - The current MDC implementation forwards to the ThreadContext.Properties. - - - - If the parameter does not look up to a - previously defined context then null will be returned. - - - - - - Add an entry to the MDC - - The key to store the value under. - The value to store. - - - - The MDC is deprecated and has been replaced by the . - The current MDC implementation forwards to the ThreadContext.Properties. - - - - Puts a context value (the parameter) as identified - with the parameter into the current thread's - context map. - - - If a value is already defined for the - specified then the value will be replaced. If the - is specified as null then the key value mapping will be removed. - - - - - - Removes the key value mapping for the key specified. - - The key to remove. - - - - The MDC is deprecated and has been replaced by the . - The current MDC implementation forwards to the ThreadContext.Properties. - - - - Remove the specified entry from this thread's MDC - - - - - - Clear all entries in the MDC - - - - - The MDC is deprecated and has been replaced by the . - The current MDC implementation forwards to the ThreadContext.Properties. - - - - Remove all the entries from this thread's MDC - - - - - - Implementation of Nested Diagnostic Contexts. - - - - - The NDC is deprecated and has been replaced by the . - The current NDC implementation forwards to the ThreadContext.Stacks["NDC"]. - - - - A Nested Diagnostic Context, or NDC in short, is an instrument - to distinguish interleaved log output from different sources. Log - output is typically interleaved when a server handles multiple - clients near-simultaneously. - - - Interleaved log output can still be meaningful if each log entry - from different contexts had a distinctive stamp. This is where NDCs - come into play. - - - Note that NDCs are managed on a per thread basis. The NDC class - is made up of static methods that operate on the context of the - calling thread. - - - How to push a message into the context - - using(NDC.Push("my context message")) - { - ... all log calls will have 'my context message' included ... - - } // at the end of the using block the message is automatically removed - - - - Nicko Cadell - Gert Driesen - - - - Initializes a new instance of the class. - - - Uses a private access modifier to prevent instantiation of this class. - - - - - Clears all the contextual information held on the current thread. - - - - - The NDC is deprecated and has been replaced by the . - The current NDC implementation forwards to the ThreadContext.Stacks["NDC"]. - - - - Clears the stack of NDC data held on the current thread. - - - - - - Creates a clone of the stack of context information. - - A clone of the context info for this thread. - - - - The NDC is deprecated and has been replaced by the . - The current NDC implementation forwards to the ThreadContext.Stacks["NDC"]. - - - - The results of this method can be passed to the - method to allow child threads to inherit the context of their - parent thread. - - - - - - Inherits the contextual information from another thread. - - The context stack to inherit. - - - - The NDC is deprecated and has been replaced by the . - The current NDC implementation forwards to the ThreadContext.Stacks["NDC"]. - - - - This thread will use the context information from the stack - supplied. This can be used to initialize child threads with - the same contextual information as their parent threads. These - contexts will NOT be shared. Any further contexts that - are pushed onto the stack will not be visible to the other. - Call to obtain a stack to pass to - this method. - - - - - - Removes the top context from the stack. - - - The message in the context that was removed from the top - of the stack. - - - - - The NDC is deprecated and has been replaced by the . - The current NDC implementation forwards to the ThreadContext.Stacks["NDC"]. - - - - Remove the top context from the stack, and return - it to the caller. If the stack is empty then an - empty string (not null) is returned. - - - - - - Pushes a new context message. - - The new context message. - - An that can be used to clean up - the context stack. - - - - - The NDC is deprecated and has been replaced by the . - The current NDC implementation forwards to the ThreadContext.Stacks["NDC"]. - - - - Pushes a new context onto the context stack. An - is returned that can be used to clean up the context stack. This - can be easily combined with the using keyword to scope the - context. - - - Simple example of using the Push method with the using keyword. - - using(log4net.NDC.Push("NDC_Message")) - { - log.Warn("This should have an NDC message"); - } - - - - - - Removes the context information for this thread. It is - not required to call this method. - - - - - The NDC is deprecated and has been replaced by the . - The current NDC implementation forwards to the ThreadContext.Stacks["NDC"]. - - - - This method is not implemented. - - - - - - Forces the stack depth to be at most . - - The maximum depth of the stack - - - - The NDC is deprecated and has been replaced by the . - The current NDC implementation forwards to the ThreadContext.Stacks["NDC"]. - - - - Forces the stack depth to be at most . - This may truncate the head of the stack. This only affects the - stack in the current thread. Also it does not prevent it from - growing, it only sets the maximum depth at the time of the - call. This can be used to return to a known context depth. - - - - - - Gets the current context depth. - - The current context depth. - - - - The NDC is deprecated and has been replaced by the . - The current NDC implementation forwards to the ThreadContext.Stacks["NDC"]. - - - - The number of context values pushed onto the context stack. - - - Used to record the current depth of the context. This can then - be restored using the method. - - - - - - - The log4net Thread Context. - - - - The ThreadContext provides a location for thread specific debugging - information to be stored. - The ThreadContext properties override any - properties with the same name. - - - The thread context has a properties map and a stack. - The properties and stack can - be included in the output of log messages. The - supports selecting and outputting these properties. - - - The Thread Context provides a diagnostic context for the current thread. - This is an instrument for distinguishing interleaved log - output from different sources. Log output is typically interleaved - when a server handles multiple clients near-simultaneously. - - - The Thread Context is managed on a per thread basis. - - - Example of using the thread context properties to store a username. - - ThreadContext.Properties["user"] = userName; - log.Info("This log message has a ThreadContext Property called 'user'"); - - - Example of how to push a message into the context stack - - using(ThreadContext.Stacks["NDC"].Push("my context message")) - { - log.Info("This log message has a ThreadContext Stack message that includes 'my context message'"); - - } // at the end of the using block the message is automatically popped - - - - Nicko Cadell - - - - Private Constructor. - - - - Uses a private access modifier to prevent instantiation of this class. - - - - - - The thread context properties instance - - - - - The thread context stacks instance - - - - - The thread properties map - - - The thread properties map - - - - The ThreadContext properties override any - properties with the same name. - - - - - - The thread stacks - - - stack map - - - - The thread local stacks. - - - - - diff --git a/lib/NHibernate20/mono/2.0/Castle.Core.dll b/lib/NHibernate20/mono/2.0/Castle.Core.dll deleted file mode 100644 index 2464e661..00000000 Binary files a/lib/NHibernate20/mono/2.0/Castle.Core.dll and /dev/null differ diff --git a/lib/NHibernate20/mono/2.0/Castle.Core.xml b/lib/NHibernate20/mono/2.0/Castle.Core.xml deleted file mode 100644 index 51e5d1ec..00000000 --- a/lib/NHibernate20/mono/2.0/Castle.Core.xml +++ /dev/null @@ -1,3176 +0,0 @@ - - - - Castle.Core - - - - - This attribute is usefull only when you want to register all components - on an assembly as a batch process. - By doing so, the batch register will look - for this attribute to distinguish components from other classes. - - - - - Base for Attributes that want to express lifestyle - chosen by the component. - - - - - Initializes a new instance of the class. - - The type. - - - - Gets or sets the lifestyle. - - The lifestyle. - - - - Initializes a new instance of the class. - - The key. - - - - Initializes a new instance of the class. - - The key. - The service. - - - - Initializes a new instance of the class. - - The key. - The service. - The lifestyle. - - - - Gets the service. - - The service. - - - - Gets the key. - - The key. - - - - Associates a custom component with a component - - - - - Initializes a new instance of the class. - - Type of the component activator. - - - - Gets the type of the component activator. - - The type of the component activator. - - - - Specifies the proxying behavior for a component. - - - - - Initializes a new instance of the class. - - - - - Gets or sets a value indicating whether the generated - interface proxy should inherit from . - - - - - Determines if the component requires a single interface proxy. - - true if the component requires a single interface proxy. - - - - Gets or sets the additional interfaces used during proxy generation. - - - - - Marks as property to be skipped and not be wired - by the IoC container - - - - - Used to declare that a component wants interceptors acting on it. - - - - - Constructs the InterceptorAttribute pointing to - a key to a interceptor - - - - - - Constructs the InterceptorAttribute pointing to - a service - - - - - - Indicates that the target components wants a - singleton lifestyle. - - - - - Initializes a new instance of the class. - - - - - Indicates that the target components wants a - transient lifestyle. - - - - - Initializes a new instance of the class. - - - - - Indicates that the target components wants a - per thread lifestyle. - - - - - Initializes a new instance of the class. - - - - - Indicates that the target components wants a - per web request lifestyle. - - - - - Indicates that the target components wants a - pooled lifestyle. - - - - - Initializes a new instance of the class - using the default initial pool size (5) and the max pool size (15). - - - - - Initializes a new instance of the class. - - Initial size of the pool. - Max pool size. - - - - Gets the initial size of the pool. - - The initial size of the pool. - - - - Gets the maximum pool size. - - The size of the max pool. - - - - Indicates that the target components wants a - custom lifestyle. - - - - - Initializes a new instance of the class. - - The lifestyle handler. - - - - Gets the type of the lifestyle handler. - - The type of the lifestyle handler. - - - - New interface that is going to be used by DynamicProxy 2 - - - - - New interface that is going to be used by DynamicProxy 2 - - - - - Returns the concrete instantiation of , with any generic parameters bound to real types. - - The concrete instantiation of , or if not a generic method. - Can be slower than calling . - - - - Returns the concrete instantiation of , with any generic parameters bound to real types. - - The concrete instantiation of , or if not a generic method. - Can be slower than calling . - - - - - - - - - - The generic arguments of the method, or null if not a generic method. - - - - - - - - - - For interface proxies, this will point to the - on the target class - - - - - Interceptors might implement this to receive the - ComponentModel on behalf of the component where the - interceptor is acting. - - - - - Get the proxy target (note that null is a valid target!) - - - - - - Gets the interceptors for the proxy - - - - - - Abstract representation of a vertex. - - - - - The nodes that dependes on this node - - - - - The nodes that this node depends - - - - - The node has not been visited yet - - - - - This node is in the process of being visited - - - - - This now was visited - - - - - Represents a collection of objects - which are guaranted to be unique - and holds a color for them - - - - - Holds a timestamp (integer) - for a given item - - - - - Returns the node at the specified index. - - The lookup index. - The node at the specified index. - - If the specified is greater than the - number of objects within the list. - - - - - Validates the specified index. - - The lookup index. - - If the index is invalid. - - - - - Lifecycle interface. If implemented by a component, - the method Initialized will be invoked by the container - before making the component available to the external world. - - - - - Implementors should perform any initialization logic. - - - - - Only called for components that - belongs to a pool when the component - comes back to the pool. - - - - - Implementors should perform any - initialization/clean up. - - - - - Interface for components that wish to be started by the container - - - - - Starts this instance. - - - - - Stops this instance. - - - - - Provides a factory that can produce either or - classes. - - - - - Manages the instantiation of s. - - - - - Creates a new logger, getting the logger name from the specified type. - - - - - Creates a new logger. - - - - - Creates a new logger, getting the logger name from the specified type. - - - - - Creates a new logger. - - - - - Creates a new extended logger, getting the logger name from the specified type. - - - - - Creates a new extended logger. - - - - - Creates a new extended logger, getting the logger name from the specified type. - - - - - Creates a new extended logger. - - - - - Creates a new extended logger, getting the logger name from the specified type. - - - - - Creates a new extended logger. - - - - - Creates a new extended logger, getting the logger name from the specified type. - - - - - Creates a new extended logger. - - - - - Creates a new logger, getting the logger name from the specified type. - - - - - Creates a new logger. - - - - - Creates a new logger, getting the logger name from the specified type. - - - - - Creates a new logger. - - - - - Gets the configuration file. - - i.e. log4net.config - - - - - Gets the configuration file. - - i.e. log4net.config - - - - - Summary description for ConsoleFactory. - - - - - NullLogFactory used when logging is turned off. - - - - - Creates an instance of ILogger with the specified name. - - Name. - - - - - Creates an instance of ILogger with the specified name and LoggerLevel. - - Name. - Level. - - - - - Creates outputing - to files. The name of the file is derived from the log name - plus the 'log' extension. - - - - - Used to create the TraceLogger implementation of ILogger interface. See . - - - - - The Logger sending everything to the standard output streams. - This is mainly for the cases when you have a utility that - does not have a logger to supply. - - - - - The Level Filtered Logger class. This is a base clase which - provides a LogLevel attribute and reroutes all functions into - one Log method. - - - - - Manages logging. - - - This is a facade for the different logging subsystems. - It offers a simplified interface that follows IOC patterns - and a simplified priority/level/severity abstraction. - - - - - Logs a debug message. - - The message to log - - - - Logs a debug message. - - The exception to log - The message to log - - - - Logs a debug message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs a debug message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs a debug message. - - The exception to log - Format string for the message to log - Format arguments for the message to log - - - - Logs a debug message. - - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs a debug message. - - The exception to log - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs an info message. - - The message to log - - - - Logs an info message. - - The exception to log - The message to log - - - - Logs an info message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs an info message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs an info message. - - The exception to log - Format string for the message to log - Format arguments for the message to log - - - - Logs an info message. - - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs an info message. - - The exception to log - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs a warn message. - - The message to log - - - - Logs a warn message. - - The exception to log - The message to log - - - - Logs a warn message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs a warn message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs a warn message. - - The exception to log - Format string for the message to log - Format arguments for the message to log - - - - Logs a warn message. - - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs a warn message. - - The exception to log - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs an error message. - - The message to log - - - - Logs an error message. - - The exception to log - The message to log - - - - Logs an error message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs an error message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs an error message. - - The exception to log - Format string for the message to log - Format arguments for the message to log - - - - Logs an error message. - - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs an error message. - - The exception to log - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs a fatal message. - - The message to log - - - - Logs a fatal message. - - The exception to log - The message to log - - - - Logs a fatal message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs a fatal message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs a fatal message. - - The exception to log - Format string for the message to log - Format arguments for the message to log - - - - Logs a fatal message. - - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs a fatal message. - - The exception to log - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs a fatal error message. - - The Message - - - - Logs a fatal error message. - - The Message - The Exception - - - - Logs a fatal error message. - - Message format - Array of objects to write using format - - - - Create a new child logger. - The name of the child logger is [current-loggers-name].[passed-in-name] - - The Subname of this logger. - The New ILogger instance. - If the name has an empty element name. - - - - Determines if messages of priority "debug" will be logged. - - True if "debug" messages will be logged. - - - - Determines if messages of priority "info" will be logged. - - True if "info" messages will be logged. - - - - Determines if messages of priority "warn" will be logged. - - True if "warn" messages will be logged. - - - - Determines if messages of priority "error" will be logged. - - True if "error" messages will be logged. - - - - Determines if messages of priority "fatal" will be logged. - - True if "fatal" messages will be logged. - - - - Determines if messages of priority "fatalError" will be logged. - - True if "fatalError" messages will be logged. - - - - Creates a new LevelFilteredLogger. - - - - - Keep the instance alive in a remoting scenario - - - - - - Logs a debug message. - - The message to log - - - - Logs a debug message. - - The exception to log - The message to log - - - - Logs a debug message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs a debug message. - - The exception to log - Format string for the message to log - Format arguments for the message to log - - - - Logs a debug message. - - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs a debug message. - - The exception to log - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs a debug message. - - Message format - Array of objects to write using format - - - - Logs an info message. - - The message to log - - - - Logs an info message. - - The exception to log - The message to log - - - - Logs an info message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs an info message. - - The exception to log - Format string for the message to log - Format arguments for the message to log - - - - Logs an info message. - - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs an info message. - - The exception to log - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs an info message. - - Message format - Array of objects to write using format - - - - Logs a warn message. - - The message to log - - - - Logs a warn message. - - The exception to log - The message to log - - - - Logs a warn message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs a warn message. - - The exception to log - Format string for the message to log - Format arguments for the message to log - - - - Logs a warn message. - - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs a warn message. - - The exception to log - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs a warn message. - - Message format - Array of objects to write using format - - - - Logs an error message. - - The message to log - - - - Logs an error message. - - The exception to log - The message to log - - - - Logs an error message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs an error message. - - The exception to log - Format string for the message to log - Format arguments for the message to log - - - - Logs an error message. - - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs an error message. - - The exception to log - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs an error message. - - Message format - Array of objects to write using format - - - - Logs a fatal message. - - The message to log - - - - Logs a fatal message. - - The exception to log - The message to log - - - - Logs a fatal message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs a fatal message. - - The exception to log - Format string for the message to log - Format arguments for the message to log - - - - Logs a fatal message. - - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs a fatal message. - - The exception to log - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs a fatal message. - - Message format - Array of objects to write using format - - - - Logs a fatal error message. - - The Message - - - - Logs a fatal error message. - - The Message - The Exception - - - - Logs a fatal error message. - - Message format - Array of objects to write using format - - - - Implementors output the log content by implementing this method only. - Note that exception can be null - - - - - - - - - The LoggerLevel that this logger - will be using. Defaults to LoggerLevel.Off - - - - - The name that this logger will be using. - Defaults to String.Empty - - - - - Determines if messages of priority "debug" will be logged. - - true if log level flags include the bit - - - - Determines if messages of priority "info" will be logged. - - true if log level flags include the bit - - - - Determines if messages of priority "warn" will be logged. - - true if log level flags include the bit - - - - Determines if messages of priority "error" will be logged. - - true if log level flags include the bit - - - - Determines if messages of priority "fatal" will be logged. - - true if log level flags include the bit - - - - Determines if messages of priority "fatal" will be logged. - - true if log level flags include the bit - - - - Creates a new ConsoleLogger with the Level - set to LoggerLevel.Debug and the Name - set to String.Empty. - - - - - Creates a new ConsoleLogger with the Name - set to String.Empty. - - The logs Level. - - - - Creates a new ConsoleLogger with the Level - set to LoggerLevel.Debug. - - The logs Name. - - - - Creates a new ConsoleLogger. - - The logs Name. - The logs Level. - - - - A Common method to log. - - The level of logging - The name of the logger - The Message - The Exception - - - - Returns a new ConsoleLogger with the name - added after this loggers name, with a dot in between. - - The added hierarchical name. - A new ConsoleLogger. - - - - The Logger using standart Diagnostics namespace. - - - - - Creates a logger based on . - - - - - - Creates a logger based on . - - - - - - - Creates a logger based on . - - - - - - - - The Null Logger class. This is useful for implementations where you need - to provide a logger to a utility class, but do not want any output from it. - It also helps when you have a utility that does not have a logger to supply. - - - - - Provides an interface that supports and - allows the storage and retrieval of Contexts. These are supported in - both log4net and NLog. - - - - - Exposes the Global Context of the extended logger. - - - - - Exposes the Thread Context of the extended logger. - - - - - Exposes the Thread Stack of the extended logger. - - - - - Creates a new NullLogger. - - - - - No-op. - - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - - - - Returns this NullLogger. - - Ignored - This ILogger instance. - - - - No-op. - - false - - - - No-op. - - false - - - - No-op. - - false - - - - No-op. - - false - - - - No-op. - - false - - - - No-op. - - false - - - - Returns empty context properties. - - - - - Returns empty context properties. - - - - - Returns empty context stacks. - - - - - Interface for Context Properties implementations - - - - This interface defines a basic property get set accessor. - - - Based on the ContextPropertiesBase of log4net, by Nicko Cadell. - - - - - - Gets or sets the value of a property - - - The value for the property with the specified key - - - - Gets or sets the value of a property - - - - - - The Stream Logger class. This class can stream log information - to any stream, it is suitable for storing a log file to disk, - or to a MemoryStream for testing your components. - - - This logger is not thread safe. - - - - - Creates a new StreamLogger with default encoding - and buffer size. Initial Level is set to Debug. - - - The name of the log. - - - The stream that will be used for logging, - seeking while the logger is alive - - - - - Creates a new StreamLogger with default buffer size. - Initial Level is set to Debug. - - - The name of the log. - - - The stream that will be used for logging, - seeking while the logger is alive - - - The encoding that will be used for this stream. - - - - - - Creates a new StreamLogger. - Initial Level is set to Debug. - - - The name of the log. - - - The stream that will be used for logging, - seeking while the logger is alive - - - The encoding that will be used for this stream. - - - - The buffer size that will be used for this stream. - - - - - - Creates a new StreamLogger with - Debug as default Level. - - The name of the log. - The StreamWriter the log will write to. - - - - The TraceLogger sends all logging to the System.Diagnostics.TraceSource - built into the .net framework. - - - Logging can be configured in the system.diagnostics configuration - section. - - If logger doesn't find a source name with a full match it will - use source names which match the namespace partially. For example you can - configure from all castle components by adding a source name with the - name "Castle". - - If no portion of the namespace matches the source named "Default" will - be used. - - - - - Build a new trace logger based on the named TraceSource - - The name used to locate the best TraceSource. In most cases comes from the using type's fullname. - - - - Build a new trace logger based on the named TraceSource - - The name used to locate the best TraceSource. In most cases comes from the using type's fullname. - The default logging level at which this source should write messages. In almost all cases this - default value will be overridden in the config file. - - - - Create a new child logger. - The name of the child logger is [current-loggers-name].[passed-in-name] - - The Subname of this logger. - The New ILogger instance. - - - - The WebLogger sends everything to the HttpContext.Trace - - - Trace must be enabled on the Asp.Net configuration file (web.config or machine.config) - - - - - Creates a new WebLogger with the priority set to DEBUG. - - - - - Creates a new WebLogger. - - The Log level typecode. - - - - Creates a new WebLogger. - - The Log name. - - - - Creates a new WebLogger. - - The Log name. - The Log level typecode. - - - - A Common method to log. - - The level of logging - The Log name. - The Message - The Exception - - - - Just returns this logger (WebLogger is not hierarchical). - - Ignored - This ILogger instance. - - - - Tries to get the current http context's trace context. - - The current http context's trace context or null if none is - available - - - - Supporting Logger levels. - - - - - Logging will be off - - - - - Fatal logging level - - - - - Error logging level - - - - - Warn logging level - - - - - Info logging level - - - - - Debug logging level - - - - - Pendent - - - - - Deserializes the specified node into an abstract representation of configuration. - - The node. - - - - - If a config value is an empty string we return null, this is to keep - backward compability with old code - - - - - This is an abstract implementation - that deals with methods that can be abstracted away - from underlying implementations. - - - AbstractConfiguration makes easier to implementers - to create a new version of - - - - - Summary description for IConfiguration. - - - is a interface encapsulating a configuration node - used to retrieve configuration values. - - - - - Gets the value of the node and converts it - into specified . - - The - - The Default value returned if the convertion fails. - - The Value converted into the specified type. - - - - Gets the name of the node. - - - The Name of the node. - - - - - Gets the value of the node. - - - The Value of the node. - - - - - Gets an of - elements containing all node children. - - The Collection of child nodes. - - - - Gets an of the configuration attributes. - - - - - Gets the value of the node and converts it - into specified . - - The - - The Default value returned if the convertion fails. - - The Value converted into the specified type. - - - - Gets the name of the . - - - The Name of the . - - - - - Gets the value of . - - - The Value of the . - - - - - Gets all child nodes. - - The of child nodes. - - - - Gets node attributes. - - - All attributes of the node. - - - - - A collection of objects. - - - - - Creates a new instance of ConfigurationCollection. - - - - - Creates a new instance of ConfigurationCollection. - - - - - Adds an array of . - - The Array of to add. - - - - Summary description for MutableConfiguration. - - - - - Initializes a new instance of the class. - - The name. - - - - Enumeration used to mark the component's lifestyle. - - - - - No lifestyle specified. - - - - - Singleton components are instantiated once, and shared - between all clients. - - - - - Thread components have a unique instance per thread. - - - - - Transient components are created on demand. - - - - - Optimization of transient components that keeps - instance in a pool instead of always creating them. - - - - - Any other logic to create/release components. - - - - - PerWebRequest components are created once per Http Request - - - - - - - - - - Represents the collection of information and - meta information collected about a component. - - - - Name (key) of the component - - - Service exposed - - - Implementation for the service - - - Extended properties - - - Lifestyle for the component - - - Custom lifestyle, if any - - - Custom activator, if any - - - Dependencies the kernel must resolve - - - All available constructors - - - All potential properties that can be setted by the kernel - - - Steps of lifecycle - - - External parameters - - - Configuration node associated - - - Interceptors associated - - - /// Custom dependencies/// - - - - Constructs a ComponentModel - - - - - Requires the selected property dependencies. - - The property selector. - - - - Requires the property dependencies of type . - - The dependency type. - - - - Sets or returns the component key - - - - - Gets or sets the service exposed. - - The service. - - - - Gets or sets the component implementation. - - The implementation. - - - - Gets or sets a value indicating whether the component requires generic arguments. - - - true if generic arguments are required; otherwise, false. - - - - - Gets or sets the extended properties. - - The extended properties. - - - - Gets the constructors candidates. - - The constructors. - - - - Gets the properties set. - - The properties. - - - - Gets or sets the configuration. - - The configuration. - - - - Gets the lifecycle steps. - - The lifecycle steps. - - - - Gets or sets the lifestyle type. - - The type of the lifestyle. - - - - Gets or sets the strategy for - inspecting public properties - on the components - - - - - Gets or sets the custom lifestyle. - - The custom lifestyle. - - - - Gets or sets the custom component activator. - - The custom component activator. - - - - Gets the interceptors. - - The interceptors. - - - - Gets the parameter collection. - - The parameters. - - - - Dependencies are kept within constructors and - properties. Others dependencies must be - registered here, so the kernel (as a matter - of fact the handler) can check them - - - - - Gets the custom dependencies. - - The custom dependencies. - - - - Represents a constructor of the component - that the container can use to initialize it properly. - - - - - Initializes a new instance of the class. - - The constructor info. - The dependencies. - - - - Gets the ConstructorInfo (from reflection). - - The constructor. - - - - Gets the dependencies this constructor candidate exposes. - - The dependencies. - - - - Collection of - - - - - Gets the fewer arguments candidate. - - The fewer arguments candidate. - - - - Represents a dependency (other component or a - fixed value available through external configuration). - - - - - Initializes a new instance of the class. - - The type. - The dependency key. - Type of the target. - if set to true [is optional]. - - - - Returns a that represents the current . - - - A that represents the current . - - - - - Serves as a hash function for a particular type, suitable - for use in hashing algorithms and data structures like a hash table. - - - A hash code for the current . - - - - - Determines whether the specified is equal to the current . - - The to compare with the current . - - if the specified is equal to the - current ; otherwise, . - - - - - Gets or sets the type of the dependency. - - The type of the dependency. - - - - Gets or sets the dependency key. - - The dependency key. - - - - Gets the type of the target. - - The type of the target. - - - - Gets or sets whether this dependency is optional. - - - true if this dependency is optional; otherwise, false. - - - - - Collection of . - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - The dependencies. - - - - Represents an reference to a Interceptor component. - - - - - Initializes a new instance of the class. - - The component key. - - - - Initializes a new instance of the class. - - Type of the service. - - - - Gets an for the component key. - - The component key. - The - - - - Gets an for the service. - - The service. - The - - - - Gets an for the service. - - The service type. - The - - - - Gets the type of the service. - - The type of the service. - - - - Gets the interceptor component key. - - The component key. - - - - Gets the type of the reference. - - The type of the reference. - - - - Collection of - - - - - Adds the specified interceptor. - - The interceptor. - - - - Adds the the specified interceptor as the first. - - The interceptor. - - - - Adds the the specified interceptor as the last. - - The interceptor. - - - - Inserts the specified interceptor at the specified index. - - The index. - The interceptor. - - - - When implemented by a class, copies the elements of - the to an , starting at a particular index. - - The one-dimensional that is the destination of the elements copied from . The must have zero-based indexing. - The zero-based index in at which copying begins. - - is . - - is less than zero. - - - 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 . - - The type of the source cannot be cast automatically to the type of the destination . - - - - Returns an enumerator that can iterate through a collection. - - - An - that can be used to iterate through the collection. - - - - - Adds the interceptor to the end of the interceptors list if it does not exist already. - - The interceptor reference. - - - - Gets a value indicating whether this instance has interceptors. - - - true if this instance has interceptors; otherwise, false. - - - - - Gets the number of - elements contained in the . - - - - - - Gets an object that - can be used to synchronize access to the . - - - - - - Gets a value - indicating whether access to the is synchronized - (thread-safe). - - - - - - Represents a collection of ordered lifecycle steps. - - - - - Initializes a new instance of the class. - - - - - Returns all steps for the commission phase - - - - - - Returns all steps for the decommission phase - - - - - - Adds a step to the commission or decomission phases. - - - - - - - Copies the elements of - the to an , starting at a particular index. - - The one-dimensional that is the destination of the elements copied from . The must have zero-based indexing. - The zero-based index in at which copying begins. - - is . - - is less than zero. - - - 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 . - - The type of the source cannot be cast automatically to the type of the destination . - - - - Returns an enumerator that can iterate through a collection. - - - An - that can be used to iterate through the collection. - - - - - Gets a value indicating whether this instance has commission steps. - - - true if this instance has commission steps; otherwise, false. - - - - - Gets a value indicating whether this instance has decommission steps. - - - true if this instance has decommission steps; otherwise, false. - - - - - Gets the number of - elements contained in the . - - - - - - Gets an object that - can be used to synchronize access to the . - - - - - - Gets a value - indicating whether access to the is synchronized - (thread-safe). - - - - - - Represents meta information associated with a method - (not yet defined) - - - - - Initializes a new instance of the class. - - The config node. - - - - Gets the config node. - - The config node. - - - - Collection of - - - - - Gets the method info2 model. - - The method info2 model. - - - - Represents a parameter. Usually the parameter - comes from the external world, ie, an external configuration. - - - - - Initializes a new instance of the class. - - The name. - The value. - - - - Initializes a new instance of the class. - - The name. - The value. - - - - Gets the name. - - The name. - - - - Gets the value. - - The value. - - - - Gets the config value. - - The config value. - - - - Collection of - - - - - Initializes a new instance of the class. - - - - - Adds the specified name. - - The name. - The value. - - - - Adds the specified name. - - The name. - The config node. - - - - Determines whether this collection contains the specified key. - - The key. - - true if yes; otherwise, false. - - - - - Adds the specified key. - - - Not implemented - - The key. - The value. - - - - Clears this instance. - - - Not implemented - - - - - Removes the specified key. - - The key. - - Not implemented - - - - - Copy the content to the specified array - - target array - target index - - Not implemented - - - - - Returns an enumerator that can iterate through a collection. - - - An - that can be used to iterate through the collection. - - - - - Gets the keys. - - The keys. - - Not implemented - - - - - Gets the values. - - The values. - - Not implemented - - - - - Gets a value indicating whether this instance is read only. - - - true if this instance is read only; otherwise, false. - - - - - Gets a value indicating whether this instance is fixed size. - - - true if this instance is fixed size; otherwise, false. - - - - - Gets the with the specified key. - - - - - - Gets the count. - - The count. - - - - Gets the sync root. - - The sync root. - - - - Gets a value indicating whether this instance is synchronized. - - - true if this instance is synchronized; otherwise, false. - - - - - Represents a property and the respective dependency. - - - - - Initializes a new instance of the class. - - The property info. - The dependency. - - - - Gets the property. - - The property. - - - - Gets the dependency. - - The dependency. - - - - Collection of - - - - - Finds a PropertySet the by PropertyInfo. - - The info. - - - - - Represents a 'streamable' resource. Can - be a file, a resource in an assembly. - - - - - Returns a reader for the stream - - - It's up to the caller to dispose the reader. - - - - - - Returns a reader for the stream - - - It's up to the caller to dispose the reader. - - - - - - - Returns an instance of - created according to the relativePath - using itself as the root. - - - - - - - - - - Only valid for resources that - can be obtained through relative paths - - - - - - - - - - This returns a new stream instance each time it is called. - It is the responsability of the caller to dispose of this stream - - - - - - - - - - Depicts the contract for resource factories. - - - - - Used to check whether the resource factory - is able to deal with the given resource - identifier. - - - Implementors should return true - only if the given identificator is supported - by the resource factory - - - - - - - Creates an instance - for the given resource identifier - - - - - - - Creates an instance - for the given resource identifier - - - - - - - - - - - - - - - - - - Adapts a static string content as an - - - - - Enable access to files on network shares - - - - - Defines that the implementation wants a - in order to - access other components. The creator must be aware - that the component might (or might not) implement - the interface. - - - Used by Castle Project components to, for example, - gather logging factories - - - - - Increments IServiceProvider with a generic service resolution operation. - - - - - This interface should be implemented by classes - that are available in a bigger context, exposing - the container to different areas in the same application. - - For example, in Web application, the (global) HttpApplication - subclasses should implement this interface to expose - the configured container - - - - - - General purpose class to represent a standard pair of values. - - Type of the first value - Type of the second value - - - - Constructs a pair with its values - - - - - - - Pendent - - - - - Initializes a new instance of the class. - - The target. - - - - Determines whether the object contains an element with the specified key. - - The key to locate in the object. - - true if the contains an element with the key; otherwise, false. - - - is null. - - - - Adds an element with the provided key and value to the object. - - The to use as the key of the element to add. - The to use as the value of the element to add. - - is null. - An element with the same key already exists in the object. - The is read-only.-or- The has a fixed size. - - - - Removes all elements from the object. - - The object is read-only. - - - - Returns an object for the object. - - - An object for the object. - - - - - Removes the element with the specified key from the object. - - The key of the element to remove. - - is null. - The object is read-only.-or- The has a fixed size. - - - - Copies the elements of the to an , starting at a particular index. - - The one-dimensional that is the destination of the elements copied from . The must have zero-based indexing. - The zero-based index in at which copying begins. - - is null. - - is less than zero. - - 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 . - The type of the source cannot be cast automatically to the type of the destination . - - - - Returns an enumerator that iterates through a collection. - - - An object that can be used to iterate through the collection. - - - - - Gets or sets the with the specified key. - - - - - - Gets an object containing the keys of the object. - - - An object containing the keys of the object. - - - - Gets an object containing the values in the object. - - - An object containing the values in the object. - - - - Gets a value indicating whether the object is read-only. - - - true if the object is read-only; otherwise, false. - - - - Gets a value indicating whether the object has a fixed size. - - - true if the object has a fixed size; otherwise, false. - - - - Gets the number of elements contained in the . - - - The number of elements contained in the . - - - - Gets an object that can be used to synchronize access to the . - - - An object that can be used to synchronize access to the . - - - - Gets a value indicating whether access to the is synchronized (thread safe). - - - true if access to the is synchronized (thread safe); otherwise, false. - - - diff --git a/lib/NHibernate20/mono/2.0/Castle.DynamicProxy.license.txt b/lib/NHibernate20/mono/2.0/Castle.DynamicProxy.license.txt deleted file mode 100644 index b7530910..00000000 --- a/lib/NHibernate20/mono/2.0/Castle.DynamicProxy.license.txt +++ /dev/null @@ -1,13 +0,0 @@ -Copyright 2004-2005 Castle Project - http://www.castleproject.org/ - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. diff --git a/lib/NHibernate20/mono/2.0/Castle.DynamicProxy2.dll b/lib/NHibernate20/mono/2.0/Castle.DynamicProxy2.dll deleted file mode 100644 index 83e192e9..00000000 Binary files a/lib/NHibernate20/mono/2.0/Castle.DynamicProxy2.dll and /dev/null differ diff --git a/lib/NHibernate20/mono/2.0/Castle.DynamicProxy2.xml b/lib/NHibernate20/mono/2.0/Castle.DynamicProxy2.xml deleted file mode 100644 index 35567b0e..00000000 --- a/lib/NHibernate20/mono/2.0/Castle.DynamicProxy2.xml +++ /dev/null @@ -1,688 +0,0 @@ - - - - Castle.DynamicProxy2 - - - - - Wraps a reference that is passed - ByRef and provides indirect load/store support. - - - - - Summary description for NewArrayExpression. - - - - - - - - - - Here we try to match a constructor argument to its value. - Since we can't get the values from the assembly, we use some heuristics to get it. - a/ we first try to match all the properties on the attributes by name (case insensitive) to the argument - b/ if we fail we try to match them by property type, with some smarts about convertions (i,e: can use Guid for string). - - - - - We have the following rules here. - Try to find a matching type, failing that, if the parameter is string, get the first property (under the assumption that - we can convert it. - - - - - Attributes can only accept simple types, so we return null for null, - if the value is passed as string we call to string (should help with converting), - otherwise, we use the value as is (enums, integer, etc). - - - - - Provides appropriate Ldc.X opcode for the type of primitive value to be loaded. - - - - - Provides appropriate Ldind.X opcode for - the type of primitive value to be loaded indirectly. - - - - - Inspect the base method for generic definitions - and set the return type and the parameters - accordingly - - - - - Emits a load opcode of the appropriate kind for a constant string or - primitive value. - - - - - - - Emits a load opcode of the appropriate kind for the constant default value of a - type, such as 0 for value types and null for reference types. - - - - - Emits a load indirect opcode of the appropriate type for a value or object reference. - Pops a pointer off the evaluation stack, dereferences it and loads - a value of the specified type. - - - - - - - Emits a store indirectopcode of the appropriate type for a value or object reference. - Pops a value of the specified type and a pointer off the evaluation stack, and - stores the value. - - - - - - - Summary description for PropertiesCollection. - - - - - Provides appropriate Stind.X opcode - for the type of primitive value to be stored indirectly. - - - - - Base class that exposes the common functionalities - to proxy generation. - - - TODO: - - Use the interceptor selector if provided - - Add tests and fixes for 'leaking this' problem - - - - - Used by dinamically implement - - - - - - Generates a parameters constructor that initializes the proxy - state with just to make it non-null. - - This constructor is important to allow proxies to be XML serializable - - - - - - If callbackMethod is null the InvokeOnTarget implementation - is just the code to throw an exception - - - - - - - - - - - - If callbackMethod is null the InvokeOnTarget implementation - is just the code to throw an exception - - - - - - - - If true the invocation will implement the IChangeProxyTarget interface - - - - - Generates the constructor for the nested class that extends - - - - - - - - - - Improvement: this cache should be static. We should generate a - type constructor instead - - - - - Performs some basic screening and invokes the - to select methods. - - - - - - - - Checks if the method is public or protected. - - - - - - - Attributes should be replicated if they are non-inheritable, - but there are some special cases where the attributes means - something to the CLR, where they should be skipped. - - - - - Checks if the method has the same signature as a method that was marked as - one that should generate a new vtable slot. - - - - - Initializes a new instance of the class. - - Type of the target. - The interfaces. - The options. - - - - - - - - - Initializes a new instance of the class. - - The emitter. - The add method. - The remove method. - The attributes. - - - - - - - - - Finds the type of the method on target. - - The method on interface. - Type of the proxy target. - /// if set to true will check implementation on mixins. - - - - - Checks whether the given types are the same. This is - more complicated than it looks. - - - - - - - - This is used by the ProxyObjectReference class durin de-serialiation, to know - which generator it should use - - - - - Returns the methods implemented by a type. Use this instead of Type.GetMethods() to work around a CLR issue - where duplicate MethodInfos are returned by Type.GetMethods() after a token of a generic type's method was loaded. - - - - - Handles the deserialization of proxies. - - - - - Resets the used for deserialization to a new scope. - - This is useful for test cases. - - - - Resets the used for deserialization to a given . - - The scope to be used for deserialization. - By default, the deserialization process uses a different scope than the rest of the application, which can lead to multiple proxies - being generated for the same type. By explicitly setting the deserialization scope to the application's scope, this can be avoided. - - - - Gets the used for deserialization. - - As has no way of automatically determining the scope used by the application (and the application - might use more than one scope at the same time), uses a dedicated scope instance for deserializing proxy - types. This instance can be reset and set to a specific value via and . - - - - Used during the target type inspection process. - Implementors have a chance to interfere in the - proxy generation process - - - - - Invoked by the generation process to know if - the specified member should be proxied - - - - - - - - Invoked by the generation process to notify that a - member wasn't marked as virtual. - - - - - - - Invoked by the generation process to notify - that the whole process is completed. - - - - - Applied to the assemblies saved by in order to persist the cache data included in the persisted assembly. - - - - - Abstracts the implementation of proxy constructions - - - - - Implementors should return a proxy for the specified type. - - The proxy base class. - The proxy generation options. - The generated proxy type. - - - - Implementors should return a proxy for the specified - type and interfaces. The interfaces must be only "mark" interfaces - - - - - - - - - Implementors should return a proxy for the specified - interface that 'proceeds' executions to the - specified target. - - - - - - - - - - Implementors should return a proxy for the specified - interface that delegate all executions to the - specified interceptor(s). - - - - - - - - - Implementors should return a proxy for the specified - interface that delegate all executions to the - specified interceptor(s) and uses an instance of the interface - as their targets, rather than a class. All IInvocation's - should then implement IChangeProxyTarget. - - - - - - - - Gets the module scope used by this builder for generating code. - - The module scope used by this builder. - - - - Determines whether this assembly has internals visisble to dynamic proxy. - - The asm. - - - - Determines whether the specified method is internal. - - The method. - - true if the specified method is internal; otherwise, false. - - - - - Because we need to cache the types based on the mixed in mixins, we do the following here: - - Get all the mixin interfaces - - Sort them by full name - - Return them by position - - The idea is to have reproducable behavior for the case that mixins are registered in different orders. - This method is here because it is required - - - - - Summary description for ModuleScope. - - - - - The default file name used when the assembly is saved using . - - - - - The default assembly (simple) name used for the assemblies generated by a instance. - - - - - Initializes a new instance of the class; assemblies created by this instance will not be saved. - - - - - Initializes a new instance of the class, allowing to specify whether the assemblies generated by this instance - should be saved. - - If set to true saves the generated module. - - - - Initializes a new instance of the class, allowing to specify whether the assemblies generated by this instance - should be saved and what simple names are to be assigned to them. - - If set to true saves the generated module. - The simple name of the strong-named assembly generated by this . - The path and file name of the manifest module of the strong-named assembly generated by this . - The simple name of the weak-named assembly generated by this . - The path and file name of the manifest module of the weak-named assembly generated by this . - - - - Returns a type from this scope's type cache, or null if the key cannot be found. - - The key to be looked up in the cache. - The type from this scope's type cache matching the key, or null if the key cannot be found - - - - Registers a type in this scope's type cache. - - The key to be associated with the type. - The type to be stored in the cache. - - - - Gets the key pair used to sign the strong-named assembly generated by this . - - - - - - Gets the specified module generated by this scope, creating a new one if none has yet been generated. - - If set to true, a strong-named module is returned; otherwise, a weak-named module is returned. - A strong-named or weak-named module generated by this scope, as specified by the parameter. - - - - Gets the strong-named module generated by this scope, creating a new one if none has yet been generated. - - A strong-named module generated by this scope. - - - - Gets the weak-named module generated by this scope, creating a new one if none has yet been generated. - - A weak-named module generated by this scope. - - - - Saves the generated assembly with the name and directory information given when this instance was created (or with - the and current directory if none was given). - - - - This method stores the generated assembly in the directory passed as part of the module information specified when this instance was - constructed (if any, else the current directory is used). If both a strong-named and a weak-named assembly - have been generated, it will throw an exception; in this case, use the overload. - - - If this was created without indicating that the assembly should be saved, this method does nothing. - - Both a strong-named and a weak-named assembly have been generated. - The path of the generated assembly file, or null if no file has been generated. - - - - Saves the specified generated assembly with the name and directory information given when this instance was created - (or with the and current directory if none was given). - - True if the generated assembly with a strong name should be saved (see ); - false if the generated assembly without a strong name should be saved (see . - - - This method stores the specified generated assembly in the directory passed as part of the module information specified when this instance was - constructed (if any, else the current directory is used). - - - If this was created without indicating that the assembly should be saved, this method does nothing. - - - No assembly has been generated that matches the parameter. - - The path of the generated assembly file, or null if no file has been generated. - - - - Loads the generated types from the given assembly into this 's cache. - - The assembly to load types from. This assembly must have been saved via or - , or it must have the manually applied. - - This method can be used to load previously generated and persisted proxy types from disk into this scope's type cache, eg. in order - to avoid the performance hit associated with proxy generation. - - - - - Users of this should use this lock when accessing the cache. - - - - - Gets the strong-named module generated by this scope, or if none has yet been generated. - - The strong-named module generated by this scope, or if none has yet been generated. - - - - Gets the file name of the strongly named module generated by this scope. - - The file name of the strongly named module generated by this scope. - - - - Gets the directory where the strongly named module generated by this scope will be saved, or if the current directory - is used. - - The directory where the strongly named module generated by this scope will be saved when is called - (if this scope was created to save modules). - - - - Gets the weak-named module generated by this scope, or if none has yet been generated. - - The weak-named module generated by this scope, or if none has yet been generated. - - - - Gets the file name of the weakly named module generated by this scope. - - The file name of the weakly named module generated by this scope. - - - - Gets the directory where the weakly named module generated by this scope will be saved, or if the current directory - is used. - - The directory where the weakly named module generated by this scope will be saved when is called - (if this scope was created to save modules). - - - - ProxyBuilder that persists the generated type. - - - The saved assembly contains just the last generated type. - - - - - Initializes a new instance of the class. - - - - - Saves the generated assembly to a physical file. Note that this renders the unusable. - - The path of the generated assembly file, or null if no assembly has been generated. - This method does not support saving multiple files. If both a signed and an unsigned module have been generated, use the - respective methods of the . - - - - Initializes a new instance of the class. - - The hook. - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - The builder. - - - - Initializes a new instance of the class. - - - - - Creates the class proxy. - - Type of the target. - The interfaces. - The interceptors. - - - - - Creates the class proxy. - - Type of the target. - The interceptors. - The constructor args. - - - - - - - - - - - - - - Creates the class proxy. - - Type of the target. - The interfaces. - The options. - The constructor args. - The interceptors. - - - - - Gets the proxy builder instance. - - The proxy builder. - - - - - - - - - - - - - - - For interface proxies, this will point to the - on the target class - - - - diff --git a/lib/NHibernate20/mono/2.0/Iesi.Collections.dll b/lib/NHibernate20/mono/2.0/Iesi.Collections.dll deleted file mode 100644 index 107c362c..00000000 Binary files a/lib/NHibernate20/mono/2.0/Iesi.Collections.dll and /dev/null differ diff --git a/lib/NHibernate20/mono/2.0/Iesi.Collections.license.txt b/lib/NHibernate20/mono/2.0/Iesi.Collections.license.txt deleted file mode 100644 index 66c4a8dc..00000000 --- a/lib/NHibernate20/mono/2.0/Iesi.Collections.license.txt +++ /dev/null @@ -1,9 +0,0 @@ -Copyright © 2002-2004 by Aidant Systems, Inc., and by Jason Smith. - -Copied from http://www.codeproject.com/csharp/sets.asp#xx703510xx that was posted by JasonSmith 12:13 2 Jan '04 - -Feel free to use this code any way you want to. As a favor to me, you can leave the copyright in there. You never know when someone might recognize your name! - -If you do use the code in a commercial product, I would appreciate hearing about it. This message serves as legal notice that I won't be suing you for royalties! The code is in the public domain. - -On the other hand, I don't provide support. The code is actually simple enough that it shouldn't need it. diff --git a/lib/NHibernate20/mono/2.0/Iesi.Collections.xml b/lib/NHibernate20/mono/2.0/Iesi.Collections.xml deleted file mode 100644 index 587094a3..00000000 --- a/lib/NHibernate20/mono/2.0/Iesi.Collections.xml +++ /dev/null @@ -1,1887 +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 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/NHibernate20/mono/2.0/NHibernate.dll b/lib/NHibernate20/mono/2.0/NHibernate.dll deleted file mode 100644 index 392852e7..00000000 Binary files a/lib/NHibernate20/mono/2.0/NHibernate.dll and /dev/null differ diff --git a/lib/NHibernate20/mono/2.0/NHibernate.license.txt b/lib/NHibernate20/mono/2.0/NHibernate.license.txt deleted file mode 100644 index 8a88d148..00000000 --- a/lib/NHibernate20/mono/2.0/NHibernate.license.txt +++ /dev/null @@ -1,460 +0,0 @@ - GNU LESSER GENERAL PUBLIC LICENSE - Version 2.1, February 1999 - - Copyright (C) 1991, 1999 Free Software Foundation, Inc. - 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - -[This is the first released version of the Lesser GPL. It also counts - as the successor of the GNU Library Public License, version 2, hence - the version number 2.1.] - - Preamble - - The licenses for most software are designed to take away your -freedom to share and change it. By contrast, the GNU General Public -Licenses are intended to guarantee your freedom to share and change -free software--to make sure the software is free for all its users. - - This license, the Lesser General Public License, applies to some -specially designated software packages--typically libraries--of the -Free Software Foundation and other authors who decide to use it. You -can use it too, but we suggest you first think carefully about whether -this license or the ordinary General Public License is the better -strategy to use in any particular case, based on the explanations below. - - When we speak of free software, we are referring to freedom of use, -not price. Our General Public Licenses are designed to make sure that -you have the freedom to distribute copies of free software (and charge -for this service if you wish); that you receive source code or can get -it if you want it; that you can change the software and use pieces of -it in new free programs; and that you are informed that you can do -these things. - - To protect your rights, we need to make restrictions that forbid -distributors to deny you these rights or to ask you to surrender these -rights. These restrictions translate to certain responsibilities for -you if you distribute copies of the library or if you modify it. - - For example, if you distribute copies of the library, whether gratis -or for a fee, you must give the recipients all the rights that we gave -you. You must make sure that they, too, receive or can get the source -code. If you link other code with the library, you must provide -complete object files to the recipients, so that they can relink them -with the library after making changes to the library and recompiling -it. And you must show them these terms so they know their rights. - - We protect your rights with a two-step method: (1) we copyright the -library, and (2) we offer you this license, which gives you legal -permission to copy, distribute and/or modify the library. - - To protect each distributor, we want to make it very clear that -there is no warranty for the free library. Also, if the library is -modified by someone else and passed on, the recipients should know -that what they have is not the original version, so that the original -author's reputation will not be affected by problems that might be -introduced by others. - - Finally, software patents pose a constant threat to the existence of -any free program. We wish to make sure that a company cannot -effectively restrict the users of a free program by obtaining a -restrictive license from a patent holder. Therefore, we insist that -any patent license obtained for a version of the library must be -consistent with the full freedom of use specified in this license. - - Most GNU software, including some libraries, is covered by the -ordinary GNU General Public License. This license, the GNU Lesser -General Public License, applies to certain designated libraries, and -is quite different from the ordinary General Public License. We use -this license for certain libraries in order to permit linking those -libraries into non-free programs. - - When a program is linked with a library, whether statically or using -a shared library, the combination of the two is legally speaking a -combined work, a derivative of the original library. The ordinary -General Public License therefore permits such linking only if the -entire combination fits its criteria of freedom. The Lesser General -Public License permits more lax criteria for linking other code with -the library. - - We call this license the "Lesser" General Public License because it -does Less to protect the user's freedom than the ordinary General -Public License. It also provides other free software developers Less -of an advantage over competing non-free programs. These disadvantages -are the reason we use the ordinary General Public License for many -libraries. However, the Lesser license provides advantages in certain -special circumstances. - - For example, on rare occasions, there may be a special need to -encourage the widest possible use of a certain library, so that it becomes -a de-facto standard. To achieve this, non-free programs must be -allowed to use the library. A more frequent case is that a free -library does the same job as widely used non-free libraries. In this -case, there is little to gain by limiting the free library to free -software only, so we use the Lesser General Public License. - - In other cases, permission to use a particular library in non-free -programs enables a greater number of people to use a large body of -free software. For example, permission to use the GNU C Library in -non-free programs enables many more people to use the whole GNU -operating system, as well as its variant, the GNU/Linux operating -system. - - Although the Lesser General Public License is Less protective of the -users' freedom, it does ensure that the user of a program that is -linked with the Library has the freedom and the wherewithal to run -that program using a modified version of the Library. - - The precise terms and conditions for copying, distribution and -modification follow. Pay close attention to the difference between a -"work based on the library" and a "work that uses the library". The -former contains code derived from the library, whereas the latter must -be combined with the library in order to run. - - GNU LESSER GENERAL PUBLIC LICENSE - TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - - 0. This License Agreement applies to any software library or other -program which contains a notice placed by the copyright holder or -other authorized party saying it may be distributed under the terms of -this Lesser General Public License (also called "this License"). -Each licensee is addressed as "you". - - A "library" means a collection of software functions and/or data -prepared so as to be conveniently linked with application programs -(which use some of those functions and data) to form executables. - - The "Library", below, refers to any such software library or work -which has been distributed under these terms. A "work based on the -Library" means either the Library or any derivative work under -copyright law: that is to say, a work containing the Library or a -portion of it, either verbatim or with modifications and/or translated -straightforwardly into another language. (Hereinafter, translation is -included without limitation in the term "modification".) - - "Source code" for a work means the preferred form of the work for -making modifications to it. For a library, complete source code means -all the source code for all modules it contains, plus any associated -interface definition files, plus the scripts used to control compilation -and installation of the library. - - Activities other than copying, distribution and modification are not -covered by this License; they are outside its scope. The act of -running a program using the Library is not restricted, and output from -such a program is covered only if its contents constitute a work based -on the Library (independent of the use of the Library in a tool for -writing it). Whether that is true depends on what the Library does -and what the program that uses the Library does. - - 1. You may copy and distribute verbatim copies of the Library's -complete source code as you receive it, in any medium, provided that -you conspicuously and appropriately publish on each copy an -appropriate copyright notice and disclaimer of warranty; keep intact -all the notices that refer to this License and to the absence of any -warranty; and distribute a copy of this License along with the -Library. - - You may charge a fee for the physical act of transferring a copy, -and you may at your option offer warranty protection in exchange for a -fee. - - 2. You may modify your copy or copies of the Library or any portion -of it, thus forming a work based on the Library, and copy and -distribute such modifications or work under the terms of Section 1 -above, provided that you also meet all of these conditions: - - a) The modified work must itself be a software library. - - b) You must cause the files modified to carry prominent notices - stating that you changed the files and the date of any change. - - c) You must cause the whole of the work to be licensed at no - charge to all third parties under the terms of this License. - - d) If a facility in the modified Library refers to a function or a - table of data to be supplied by an application program that uses - the facility, other than as an argument passed when the facility - is invoked, then you must make a good faith effort to ensure that, - in the event an application does not supply such function or - table, the facility still operates, and performs whatever part of - its purpose remains meaningful. - - (For example, a function in a library to compute square roots has - a purpose that is entirely well-defined independent of the - application. Therefore, Subsection 2d requires that any - application-supplied function or table used by this function must - be optional: if the application does not supply it, the square - root function must still compute square roots.) - -These requirements apply to the modified work as a whole. If -identifiable sections of that work are not derived from the Library, -and can be reasonably considered independent and separate works in -themselves, then this License, and its terms, do not apply to those -sections when you distribute them as separate works. But when you -distribute the same sections as part of a whole which is a work based -on the Library, the distribution of the whole must be on the terms of -this License, whose permissions for other licensees extend to the -entire whole, and thus to each and every part regardless of who wrote -it. - -Thus, it is not the intent of this section to claim rights or contest -your rights to work written entirely by you; rather, the intent is to -exercise the right to control the distribution of derivative or -collective works based on the Library. - -In addition, mere aggregation of another work not based on the Library -with the Library (or with a work based on the Library) on a volume of -a storage or distribution medium does not bring the other work under -the scope of this License. - - 3. You may opt to apply the terms of the ordinary GNU General Public -License instead of this License to a given copy of the Library. To do -this, you must alter all the notices that refer to this License, so -that they refer to the ordinary GNU General Public License, version 2, -instead of to this License. (If a newer version than version 2 of the -ordinary GNU General Public License has appeared, then you can specify -that version instead if you wish.) Do not make any other change in -these notices. - - Once this change is made in a given copy, it is irreversible for -that copy, so the ordinary GNU General Public License applies to all -subsequent copies and derivative works made from that copy. - - This option is useful when you wish to copy part of the code of -the Library into a program that is not a library. - - 4. You may copy and distribute the Library (or a portion or -derivative of it, under Section 2) in object code or executable form -under the terms of Sections 1 and 2 above provided that you accompany -it with the complete corresponding machine-readable source code, which -must be distributed under the terms of Sections 1 and 2 above on a -medium customarily used for software interchange. - - If distribution of object code is made by offering access to copy -from a designated place, then offering equivalent access to copy the -source code from the same place satisfies the requirement to -distribute the source code, even though third parties are not -compelled to copy the source along with the object code. - - 5. A program that contains no derivative of any portion of the -Library, but is designed to work with the Library by being compiled or -linked with it, is called a "work that uses the Library". Such a -work, in isolation, is not a derivative work of the Library, and -therefore falls outside the scope of this License. - - However, linking a "work that uses the Library" with the Library -creates an executable that is a derivative of the Library (because it -contains portions of the Library), rather than a "work that uses the -library". The executable is therefore covered by this License. -Section 6 states terms for distribution of such executables. - - When a "work that uses the Library" uses material from a header file -that is part of the Library, the object code for the work may be a -derivative work of the Library even though the source code is not. -Whether this is true is especially significant if the work can be -linked without the Library, or if the work is itself a library. The -threshold for this to be true is not precisely defined by law. - - If such an object file uses only numerical parameters, data -structure layouts and accessors, and small macros and small inline -functions (ten lines or less in length), then the use of the object -file is unrestricted, regardless of whether it is legally a derivative -work. (Executables containing this object code plus portions of the -Library will still fall under Section 6.) - - Otherwise, if the work is a derivative of the Library, you may -distribute the object code for the work under the terms of Section 6. -Any executables containing that work also fall under Section 6, -whether or not they are linked directly with the Library itself. - - 6. As an exception to the Sections above, you may also combine or -link a "work that uses the Library" with the Library to produce a -work containing portions of the Library, and distribute that work -under terms of your choice, provided that the terms permit -modification of the work for the customer's own use and reverse -engineering for debugging such modifications. - - You must give prominent notice with each copy of the work that the -Library is used in it and that the Library and its use are covered by -this License. You must supply a copy of this License. If the work -during execution displays copyright notices, you must include the -copyright notice for the Library among them, as well as a reference -directing the user to the copy of this License. Also, you must do one -of these things: - - a) Accompany the work with the complete corresponding - machine-readable source code for the Library including whatever - changes were used in the work (which must be distributed under - Sections 1 and 2 above); and, if the work is an executable linked - with the Library, with the complete machine-readable "work that - uses the Library", as object code and/or source code, so that the - user can modify the Library and then relink to produce a modified - executable containing the modified Library. (It is understood - that the user who changes the contents of definitions files in the - Library will not necessarily be able to recompile the application - to use the modified definitions.) - - b) Use a suitable shared library mechanism for linking with the - Library. A suitable mechanism is one that (1) uses at run time a - copy of the library already present on the user's computer system, - rather than copying library functions into the executable, and (2) - will operate properly with a modified version of the library, if - the user installs one, as long as the modified version is - interface-compatible with the version that the work was made with. - - c) Accompany the work with a written offer, valid for at - least three years, to give the same user the materials - specified in Subsection 6a, above, for a charge no more - than the cost of performing this distribution. - - d) If distribution of the work is made by offering access to copy - from a designated place, offer equivalent access to copy the above - specified materials from the same place. - - e) Verify that the user has already received a copy of these - materials or that you have already sent this user a copy. - - For an executable, the required form of the "work that uses the -Library" must include any data and utility programs needed for -reproducing the executable from it. However, as a special exception, -the materials to be distributed need not include anything that is -normally distributed (in either source or binary form) with the major -components (compiler, kernel, and so on) of the operating system on -which the executable runs, unless that component itself accompanies -the executable. - - It may happen that this requirement contradicts the license -restrictions of other proprietary libraries that do not normally -accompany the operating system. Such a contradiction means you cannot -use both them and the Library together in an executable that you -distribute. - - 7. You may place library facilities that are a work based on the -Library side-by-side in a single library together with other library -facilities not covered by this License, and distribute such a combined -library, provided that the separate distribution of the work based on -the Library and of the other library facilities is otherwise -permitted, and provided that you do these two things: - - a) Accompany the combined library with a copy of the same work - based on the Library, uncombined with any other library - facilities. This must be distributed under the terms of the - Sections above. - - b) Give prominent notice with the combined library of the fact - that part of it is a work based on the Library, and explaining - where to find the accompanying uncombined form of the same work. - - 8. You may not copy, modify, sublicense, link with, or distribute -the Library except as expressly provided under this License. Any -attempt otherwise to copy, modify, sublicense, link with, or -distribute the Library is void, and will automatically terminate your -rights under this License. However, parties who have received copies, -or rights, from you under this License will not have their licenses -terminated so long as such parties remain in full compliance. - - 9. You are not required to accept this License, since you have not -signed it. However, nothing else grants you permission to modify or -distribute the Library or its derivative works. These actions are -prohibited by law if you do not accept this License. Therefore, by -modifying or distributing the Library (or any work based on the -Library), you indicate your acceptance of this License to do so, and -all its terms and conditions for copying, distributing or modifying -the Library or works based on it. - - 10. Each time you redistribute the Library (or any work based on the -Library), the recipient automatically receives a license from the -original licensor to copy, distribute, link with or modify the Library -subject to these terms and conditions. You may not impose any further -restrictions on the recipients' exercise of the rights granted herein. -You are not responsible for enforcing compliance by third parties with -this License. - - 11. If, as a consequence of a court judgment or allegation of patent -infringement or for any other reason (not limited to patent issues), -conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot -distribute so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you -may not distribute the Library at all. For example, if a patent -license would not permit royalty-free redistribution of the Library by -all those who receive copies directly or indirectly through you, then -the only way you could satisfy both it and this License would be to -refrain entirely from distribution of the Library. - -If any portion of this section is held invalid or unenforceable under any -particular circumstance, the balance of the section is intended to apply, -and the section as a whole is intended to apply in other circumstances. - -It is not the purpose of this section to induce you to infringe any -patents or other property right claims or to contest validity of any -such claims; this section has the sole purpose of protecting the -integrity of the free software distribution system which is -implemented by public license practices. Many people have made -generous contributions to the wide range of software distributed -through that system in reliance on consistent application of that -system; it is up to the author/donor to decide if he or she is willing -to distribute software through any other system and a licensee cannot -impose that choice. - -This section is intended to make thoroughly clear what is believed to -be a consequence of the rest of this License. - - 12. If the distribution and/or use of the Library is restricted in -certain countries either by patents or by copyrighted interfaces, the -original copyright holder who places the Library under this License may add -an explicit geographical distribution limitation excluding those countries, -so that distribution is permitted only in or among countries not thus -excluded. In such case, this License incorporates the limitation as if -written in the body of this License. - - 13. The Free Software Foundation may publish revised and/or new -versions of the Lesser General Public License from time to time. -Such new versions will be similar in spirit to the present version, -but may differ in detail to address new problems or concerns. - -Each version is given a distinguishing version number. If the Library -specifies a version number of this License which applies to it and -"any later version", you have the option of following the terms and -conditions either of that version or of any later version published by -the Free Software Foundation. If the Library does not specify a -license version number, you may choose any version ever published by -the Free Software Foundation. - - 14. If you wish to incorporate parts of the Library into other free -programs whose distribution conditions are incompatible with these, -write to the author to ask for permission. For software which is -copyrighted by the Free Software Foundation, write to the Free -Software Foundation; we sometimes make exceptions for this. Our -decision will be guided by the two goals of preserving the free status -of all derivatives of our free software and of promoting the sharing -and reuse of software generally. - - NO WARRANTY - - 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO -WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. -EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR -OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY -KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE -LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME -THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. - - 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN -WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY -AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU -FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR -CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE -LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING -RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A -FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF -SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGES. - - END OF TERMS AND CONDITIONS - diff --git a/lib/NHibernate20/mono/2.0/NHibernate.xml b/lib/NHibernate20/mono/2.0/NHibernate.xml deleted file mode 100644 index 47fab8a5..00000000 --- a/lib/NHibernate20/mono/2.0/NHibernate.xml +++ /dev/null @@ -1,36622 +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 - - - - Do we need to retain this instance until after the transaction completes? - - - False if this class defines a no-op has after transaction completion. - - - - Called after the transaction completes - - - - What spaces (tables) are affected by 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 - - - - Do we need to retain this instance until after the transaction completes? - - - False if this class defines a no-op has after transaction completion. - - - - Called after the transaction completes - - - - 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 - - - - 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. - - - - - 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. - - - - - 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. - - - - - 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. - - - - - - An interface for factories of proxy factory instances. - - - Currently used to abstract from the tupizer even if... - - - - - Build a proxy factory specifically for handling runtime - lazy loading. - - The lazy-load proxy factory. - - - - 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. - - - - - A implementation that returns - , disabling reflection optimization. - - - - - 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 - - - - - Marker interface, denoting a client-visible "soft lock" on a cached item. - - - - - 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 - - - - - A simple -based cache - - - - - 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 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 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 . - for invalid values. - - - See for allowed values. - - - - - 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. - - - - - Convert a string to . - - The string that represent . - - The converted to . - - If the values is invalid. - - See for allowed values. - - - - - Values for class-cache and collection-cache strategy. - - - - Xml value: read-only - - - Xml value: read-write - - - Xml value: nonstrict-read-write - - - Xml value: transactional - - - - 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. - - - - - Initializes a new instance of the class. - - The session factory name. Null or empty string are allowed. - - - - 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. - - - - - 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 . - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - A base class for HBM schema classes that provides helper methods. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 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 - - - - - - - - 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 - - - - - 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 - - - - - The XML Namespace for the nhibernate-mapping - - - 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. - - - - 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. - - - - 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 - - - - - - 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. - - - - - 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 - - - - - - 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 - - - - - - - - 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 - - - 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 - 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 classes outside this resource - needed by the classes in this resource. - - An of - - - - Settings that affect the behavior of NHibernate at runtime. - - - - - 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. - The interface closely resembles bag semantics, - however NHibernate for .NET 1.1 used so - is used to ensure the easiest transition - to generics. - - The type of the element the bag should hold. - The underlying collection used is an - - - - 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. - - - - - 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. - - - - - 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 - - - - - Called before any elements are read into the collection, - allowing appropriate initializations to occur. - - The for this persistent collection. - - - - 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. - - - - - 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. - - - - - 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. - - - - - Get the snapshot value of the given collection entry - - - - - Called after initializing from cache - - - - - Clear the dirty flag, after flushing changes - to the database. - - - - - Mark the collection as dirty - - - - - 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. - - - - - Is the initialized collection empty? - - - - - Gets a indicating if the underlying collection is directly - accessable 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 the collection dirty? Note that this is only - reliable during the flush cycle, after the - collection elements are dirty checked against - the snapshot. - - - - - Called by any read-only method of the collection interface - - - - - Called by any writer method of the collection interface - - - - - Queue an addition if the persistent collection supports it - - - if the addition was queued up, if the persistent collection - doesn't support Queued Addition. - - - - - Queue additions - - - - - After reading all existing elements from the database, - add the queued elements to the underlying collection. - - The to add. - The that - is currently loading the collection. - - The default implementation is to throw an - because most collections do not support delayed addition. If the collection - does then override this method. - - - - - 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. - - - - - Not called by Hibernate, but used by non-NET serialization, eg. SOAP libraries. - - - - - 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 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 - - - - Read the state of the collection from a disassembled cached value. - - - - - - - - Iterate all collection entries, during update of the database - - - - - - 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. - - - - Get the index of the given collection entry - - - - - - - - Called before any elements are read into the collection, - allowing appropriate initializations to occur. - - - - - - Return a new snapshot of the current state - - The for this Collection. - - - - - Disassemble the collection, ready for the cache - - - - - - - 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. - - - - - 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? - - - - - - - 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 - - - - - Is the initialized collection empty? - - - - - Is the collection currently connected to an open session? - - - - - Is this collection in a state that would allow us to "queue" additions? - - - - - 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 . - - - - - - - - - - - - - - - - - - - - Initializes an instance of the - in the . - - The the bag is in. - - - - Initializes an instance of the - that wraps an existing in the . - - The the bag is in. - The to wrap. - - - - Gets a indicating if this Bag needs to be recreated - in the database. - - The for this Collection. - - 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. - - - - - 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 number of occurrences of the element in the list. - - - - - Is this the wrapper for the given underlying bag instance? - - The bag that might be wrapped. - - if the is equal to the - wrapped collection by object reference. - - - - - Is the initialized GenericBag empty? - - if the bag has a Count==0, otherwise. - - - - 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". - - - - - - 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 - - - - 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 bag is in. - The to wrap. - - - - Return a new snapshot of the current state. - - The for this Collection. - - A new that contains Deep Copies of the - Elements stored in this wrapped collection. - - - - - Get all "orphaned" elements. - - The snapshot of the collection. - The type of the entities the collection - is supposed to contain. - - An that contains all of the elements - that have been orphaned. - - - - - 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. - - - - Initializes an instance of the - in the . - - The the map is in. - - - - Initializes an instance of the - that wraps an existing in the - . - - The the bag is in. - The to wrap. - - - - .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 set is being - populated from the database. - - - This is necessary to ensure that the object being added to the set doesn't - have its and - methods called during the load process. - - - - - Returns a Hashtable where the Key & the Value are both a Copy of the - same object. - - - - - - - This constructor is NOT meant to be called from user code. - - - - - Creates a new PersistentGenericSet initialized to the values in the Map. - This constructor is NOT meant to be called from user code. - - - Only call this constructor if you consider the map initialized. - - - - - Initializes this PersistentGenericSet from the cached values. - - The CollectionPersister to use to reassemble the set. - The disassembled set. - 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 - that was populated during and writes it to the underlying - set. - - - - - - - - - - - - - - - - - - - - A persistent wrapper for an array. lazy initialization is NOT supported - - - - - The that NHibernate is wrapping. - - - - - A temporary list that holds the objects while the PersistentArrayHolder is being - populated from the database. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 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. - - - - Returns the user-visible portion of the NHibernate PersistentArrayHolder. - - - The array that contains the data, not the NHibernate wrapper. - - - - - - - - - - - - - - - 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. - - - - - 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 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 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 underlying collection used in an . - - - - - Return a new snapshot of the current state. - - The for this Collection. - - A new that contains Deep Copies of the - Elements stored in this wrapped collection. - - - - - 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 . - - - - - 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. - - - - - 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. - - - - - Returns a Hashtable where the Key & the Value are both a Copy of the - same object. - - - - - - - This constructor is NOT meant to be called from user code. - - - - - Creates a new PersistentSet initialized to the values in the Map. - This constructor is NOT meant to be called from user code. - - - Only call this constructor if you consider the map initialized. - - - - - 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. - - - - - - - - - - - - - - - - - - - - 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. - - - - - Initializes a new instance of the class. - - - - - 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 . - Works only with Web Applications. - - - - - 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 each . Works only with web applications. - - - - - 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. - - - - 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. - - - - 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 - - - - - 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 - - - - - 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? - - - - - 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. - - - - - 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. - - - - 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 - - - - - 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 " < " - - - - 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 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. - - - - - Constructor for Order. - - - - - - - Render the SQL fragment - - - - - Ascending 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 distinct property value count - - - - - - - A property maximum value - - - - - - - A property minimum value - - - - - - - A property average value - - - - - - - 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 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. - - - - - 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 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 - - - - - 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 - - - - - 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. - - - - - 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 particuar 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 retreive 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 - - 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 - - - - - 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? - - - - - How we seperate the queries when we use multiply queries. - - - - - 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 seperate 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 propogating 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 propogated 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. - - - - 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 is not zero - A new SqlString 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. - - - The InformixDialect defaults the following configuration properties: - - - Property - Default Value - - - connection.driver_class - - - - - - - - - - - - - - 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 - - - - - Whether this dialect have an Identity clause added to the data type or a - completely seperate identity data type - - - - - 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 of. - 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 with the LIMIT clause applied. - - The LIMIT SQL will look like - - - SELECT TOP last (columns) FROM ( - SELECT ROW_NUMBER() OVER(ORDER BY __hibernate_sort_expr_1__ {sort direction 1} [, __hibernate_sort_expr_2__ {sort direction 2}, ...]) as row, (query.columns) FROM ( - {original select query part}, {sort field 1} as __hibernate_sort_expr_1__ [, {sort field 2} as __hibernate_sort_expr_2__, ...] - {remainder of original query minus the order by clause} - ) query - ) page WHERE page.row > offset - - - - Note that we need to add explicitly specify the columns, because we need to be able to use them - in a paged subselect. NH-1155 - - - - - 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 - - - - 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. - - - - - 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 - - - - - - - - - - - - - - - - - - - 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. - - - - - - - - - - - - - - - - - - - - - - - - - - - - It's a immature version, it just work. - An SQL dialect for Oracle 9 - - - The Oracle9Dialect defaults the following configuration properties: - - - Property - Default Value - - - use_outer_join - - - - connection.driver_class - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - An SQL dialect for Oracle, compatible with Oracle 8. - - - - - - - - - - - - - - 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 - - - - - - - - - - - - - - Offset of the first row to process in the result set is non-zero - - - - 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. - - - - This is a subclass of SybaseDialect for sybase 11 databases (specifically tested against 11.9.2). 11.9.2 does not support ANSI JOINs - therefore we have to provide a special join fragment for left/right joins (*= and =* respectively). - - - - - An SQL dialect compatible with Sybase. - - -

- 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 SybaseDialect defaults the following configuration properties: - - - Property - Default Value - - - use_outer_join - - - - connection.driver_class - - - - prepare_sql - - - -
-
- - - - - - Sybase does not support quoted aliases, this function thus returns - aliasName as is. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - This class is basically a port of the hibernate 3.2 Sybase 11 join fragment. It uses concepts from that join fragment and the Oracle join fragment in NHibernate - - - - - Represents a SQL JOIN - - - - - An SQL dialect for Sybase Adaptive Server Anywhere 9.0/10.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 SybaseAnywhereDialect defaults the following configuration properties: - - - Property - Default Value - - - use_outer_join - - - - 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 - - - - - 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. - - - - - - 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? - - - - - 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. - - - - 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 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. - - - - - 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 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 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. - - - - - The SybaseClientDriver Driver provides a database driver for Sybase. - - - It has been reported to work with the . - - - - - Initializes a new instance of the class. - - - Thrown when the Sybase.Data.AseClient assembly can not be loaded. - - - - - Sybase.Data.AseClient uses named parameters in the sql. - - - Sybase uses @ in the sql. - - - - - - - Sybase.Data.AseClient use the @ to locate parameters in sql. - - @ is used to locate parameters in sql. - - - - 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. - - - - 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. - - - - Bind positional parameter values to the PreparedStatement - (these are parameters specified by a JDBC-style ?). - - - - - Bind named parameters to the PreparedStatement. This has an - empty implementation on this superclass and should be implemented by - subclasses (queries) which allow named parameters. - - - - 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. - - - - 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. - - - - - 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 - 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 - 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 - - - - - Defines a complete "snapshot" of a particular collection. - - - - - Gets the identifier of the Entity that owns this Collection. - - - - - Gets the role that identifies this Collection. - - - - - Gets the snapshot copy of the Collection's elements. - - - In most cases this is the same collection type as the one being snapshotted. - ie - the snapshot of an IList will return an IList. - - - - - Gets a indicating if the collection was at one time - associated with an Entity and then later dereferenced during a 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. - - - - - 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. - - - - session-start/post-flush persistent state - - - allow the snapshot to be serialized - - - - Initializes a new instance of . - - - The CollectionEntry is for a Collection that is not dirty and - has already been initialized. - - - - - Initializes a new instance of for collections just loaded from the database. - - The that persists this Collection type. - The identifier of the Entity that is the owner of this Collection. - A boolean indicating whether to ignore the collection during current (or next) flush. - - - For collections just loaded from the database - - - - Initializes a new instance of for initialized detached collections. - - The from another . - The that created this . - - This takes an from another and - creates an entry for it in this by copying the values from the - cs parameter. - - - - - 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. - - - - 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. - - - - 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 interpretet 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 - - - - Retreive 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 - - - 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 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 - - - - 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 - - - - - - Create a new databinder. - - - - - - Get the ClassMetadata associated with the given entity class - - - - - - - Get the CollectionMetadata associated with the named collection role - - - - - - - Get all ClassMetadata as a IDictionary from Type - to metadata object - - - - - - 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 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. - - - - - - 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 a new stateless session. - - - Get a new stateless session for the given ADO.NET connection. - - - - Get the used. - - - - - Get the SQL Dialect - - - - - Obtain a set of the names of all filters defined on this SessionFactory. - - The set of filter names. - - - - This collections allows external libraries - to add their own configuration to the NHibernate session factory. - This is needed in such cases where the library is tightly coupled to NHibernate, such - as the case of NHibernate Search - - - - Get the statistics for this session factory - - - - Get the persister for a class - - - - - Get the persister for the named class - - The name of the class that is persisted. - The for the class. - If no can be found. - - - - Get the persister for the named class - - The name of the class that is persisted. - Whether to throw an exception if the class is not found, - or just return - The for the class. - If no can be found - and throwIfNotFound is true. - - - - 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 - - - - Obtain an ADO.NET connection - - - - - - Release an ADO.NET connection - - - - - - Get the identifier generator for the hierarchy - - - - - Open a session conforming to the given parameters. For use mainly by - implementations. - - The external ADO.NET connection to use, if any (i.e., optional). - The release mode for managed database connections. - An appropriate session. - - - - - 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 a named second-level cache region - - - - Is outerjoin fetching enabled? - - - - - Are scrollable ResultSets supported? - - - - - Is PreparedStatement.getGeneratedKeys supported (Java-specific?) - - - - - Get the database schema specified in default_schema - - - - - Maximum depth of outer join fetching - - - - - Get the default query cache - - - - - Is query caching enabled? - - - - - Gets the IsolationLevel an IDbTransaction should be set to. - - - This is only applicable to manually controlled NHibernate Transactions. - - - - Retrieves the SQLExceptionConverter in effect for this SessionFactory. - The SQLExceptionConverter for this SessionFactory. - - - - Gets the ICurrentSessionContext instance attached to this session factory. - - - - The cache of table update timestamps - - - Statistics SPI - - - - Defines the internal contract between the Session and other parts of Hibernate - such as implementors of Type or ClassPersister - - - - - 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 - - - - - - - - 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 - - - - Get the IEntityPersister for an object - - - - - - - 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 shold 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 - - - - Retreive the currently set value for a filter parameter. - - The filter parameter name in the format - {FILTER_NAME.PARAMETER_NAME}. - The filter parameter value. - - - - Retreive the type for a given filter parrameter. - - 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 - - - - Allow to get the ISession instance without having to - down cast - - - - - 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 seperately 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 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 - - - - - 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 - - - - - Get the columns of the associated table 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. - - - - - - - - Gets or sets an that contains the named - parameter as the key and the as the value. - - An of 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 interpretet 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 - - - - Retreive 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 - - - 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. - - - - 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. - - - - - 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 preping 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 - - - - - - - - - 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 Session generated events. - - - - - 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. - - - - 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. - - - - The main runtime interface between a Java application and Hibernate. 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, - 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 - - - - 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 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 - - - - Execute a query - - A query expressed in Hibernate's query language - A distinct list of instances - See for implications of cache usage. - - - - Execute a query, binding a value to a "?" parameter in the query string. - - The query string - A value to be bound to a "?" placeholder - The Hibernate type of the value - A distinct list of instances - See for implications of cache usage. - - - - Execute a query, binding an array of values to a "?" parameters in the query string. - - The query string - An array of values to be bound to the "?" placeholders - An array of Hibernate types of the values - A distinct list of instances - See for implications of cache usage. - - - - Execute a query and return the results in an interator. - - - - If the query has multiple return values, values will be returned in an array of - type object[]. - - - Entities returned as results are initialized on demand. The first SQL query returns - identifiers only. So Enumerator() is usually a less efficient way to retrieve - object than List(). - - - The query string - An enumerator - - - - Execute a query and return the results in an interator, - binding a value to a "?" parameter in the query string. - - - - If the query has multiple return values, values will be returned in an array of - type object[]. - - - Entities returned as results are initialized on demand. The first SQL query returns - identifiers only. So Enumerator() is usually a less efficient way to retrieve - object than List(). - - - The query string - A value to be written to a "?" placeholder in the query string - The hibernate type of the value - An enumerator - - - - Execute a query and return the results in an interator, - binding the values to "?"s parameters in the query string. - - - - If the query has multiple return values, values will be returned in an array of - type object[]. - - - Entities returned as results are initialized on demand. The first SQL query returns - identifiers only. So Enumerator() is usually a less efficient way to retrieve - object than List(). - - - The query string - A list of values to be written to "?" placeholders in the query - A list of hibernate types of the values - An enumerator - - - - Apply a filter to a persistent collection. - - - A filter is a Hibernate query that may refer to this, the collection element. - Filters allow efficient access to very large lazy collections. (Executing the filter - does not initialize the collection.) - - A persistent collection to filter - A filter query string - The resulting collection - - - - Apply a filter to a persistent collection, binding the given parameter to a "?" placeholder - - - A filter is a Hibernate query that may refer to this, the collection element. - Filters allow efficient access to very large lazy collections. (Executing the filter - does not initialize the collection.) - - A persistent collection to filter - A filter query string - A value to be written to a "?" placeholder in the query - The hibernate type of value - A collection - - - - Apply a filter to a persistent collection, binding the given parameters to "?" placeholders. - - - A filter is a Hibernate query that may refer to this, the collection element. - Filters allow efficient access to very large lazy collections. (Executing the filter - does not initialize the collection.) - - A persistent collection to filter - A filter query string - The values to be written to "?" placeholders in the query - The hibernate types of the values - A collection - - - - 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 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 instance of Query for the given query string - - A hibernate query string - 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 IQuery for the given SQL string. - - a query expressed in SQL - a table alias that appears inside {} in the SQL string - the returned persistent class - An from the SQL string - - - - Create a new instance of for the given SQL string. - - a query expressed in SQL - an array of table aliases that appear inside {} in the SQL string - the returned persistent classes - An from the SQL string - - - - 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 - - - - 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 deleting an item from the datastore - - - - - - - - - Called after inserting an item in the datastore - - - - - - - - - - Called after updating the datastore - - - - - - - - - - - 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. - - Unused - - - Not allowed in Xml. It represente de 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: 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 - - - 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() - - - - 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 - - - - - Occurs before deleting an item from the datastore - - - - - Occurs before inserting an item in the datastore - - - - - Called before injecting property values into a newly loaded entity instance. - - - - - Occurs before updating the datastore - - - - - 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. - - - - - Converts the given SQLException into NHibernate's ADOException 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 NHibernate's ADOException 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 NHibernate's ADOException hierarchy. - - The to be converted. - An optional error message. - The SQL that generate the exception - The resulting ADOException. - - - - 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. - - - - Generates translators which uses the older hand-written parser to perform the translation. - - - - - Facade for generation of - and instances. - - - - - Construct a instance - capable of translating an HQL query string. - - - 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 string to be translated - Currently enabled filters - The session factory - An appropriate translator. - - - - Construct a instance capable of - translating an HQL filter string. - - - 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 string to be translated - Currently enabled filters - The session factory - An appropriate translator. - - - - 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. - - - - - 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 vesrion 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. - - - - - - - - Bind positional parameter values to the IDbCommand - (these are parameters specified by ?). - - - - - - - - - - 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 maximum last row number, - others require the maximum returned row count. - - - - - 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 - - - - 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. - - - - Bind named parameters to the IDbCommand - - The that contains the parameters. - The named parameters (key) and the values to set. - The this Loader is using. - - - - - 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. - - - - of - - - - 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 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") - - - - - An (optional) persister for a collection to be initialized; only collection loaders - return a non-null value - - - - - 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 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 - - - - - Get the result set descriptor - - - - - 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. - - - - - 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? - - - 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. - - - - - Provides utility methods for generating HQL / SQL names. - Shared by both the 'classic' and 'new' query translators. - - - - - 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. - - - - Handle Hibernate "implicit" polymorphism, by translating the query string into - several "concrete" queries against mapped classes. - - - - - - - - - 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 {@link #getSelectSQL}. - The session - The prepared {@link #getSelectSQL SQL} command - The entity being saved. - - - Get the SQL statement to be used to retrieve generated key values. - The SQL command string - - - - 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. - - - - - 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 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. - - - - - 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. - - - - 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 - - - - 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 - - - - An that requires creation of database objects - All s that also implement - An have access to a special mapping parameter: schema - - - - - 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 - - - - - A persister that may have an identity assigned by execution of a SQL INSERT. - - - - - 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 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. - - - - 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 . - - - - 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 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 - - - - - 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 particulare 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 . - - - - - 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. - - - - - The timeout for the underlying ADO query - - - - - - 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 - - - - - 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 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. The Hibernate 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 - Hibernate 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 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. - - - - Override the current session cache mode, just for this query. - The cache mode to use. - this (for method chaining) - - - - Execute the update or delete statement. - - The number of entities updated or deleted. - - - - The query string - - - - - The Hibernate types of the query result set. - - - - - 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(); - - - Hibernate's query language is much more general and should be used for non-simple cases. - - - This is an experimental API. - - - - - - Set a limit upon the number of objects to be retrieved - - - - - - Set the first result to be retrieved - - - - - - Set a timeout for the underlying ADO.NET query - - - - - - - Add an Expression to constrain the results to be retrieved. - - - - - - - An an Order to the result set - - - - - - Get the results - - - - - - Get the results and fill the - - The list to fill with the results. - - - - Strongly-typed version of . - - - - - 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 - - If there is more than one matching result - - - - - 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. - - - - - 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) - - - - Create a new , "rooted" at the associated entity - - - - - - - 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, - using the specified join type. - - A dot-seperated property path - The type of join to use - The created "sub criteria" - - - - Set a strategy for handling the query results. This determines the - "shape" of the query result set. - - - - - - - - - - Set the lock mode of the current entity - - the lock mode - - - - - Set the lock mode of the aliased entity - - an alias - the lock mode - - - - - 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 - - - - - 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. - - - - - - 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. - - - - Override the cache mode for this particular query. - The cache mode to use. - this (for method chaining) - - - - 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) - - - - 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 - - - - - - Executes the batch - - - This seems to be returning the total number of affected rows in all queries - - - - - Return the batch command to be executed - - - - - The number of commands batched in this instance - - - - - 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 - - - - - 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. - - - - - - - - - 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 - - - - - Adds the specified criteria to the query - - The criteria. - - - - - Adds the specified detached criteria. - - The detached criteria. - - - - - Sets whatevert this criteria is cacheable. - - if set to true [cachable]. - - - - Set the cache region for thie criteria - - The region - - - - - Force a cache refresh - - - - - - - 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 - - - - - Add the specified HQL query to the multi query - - - - - Add the specified HQL query to the multi query - - - - - Add a named query to the multi query - - - - - 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 - - - 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 forceable refresh of - the query cache? - - - - The timeout for the underlying ADO query - - - - - - Bind a value to a named query parameter - - The name of the parameter - The possibly null parameter value - The NHibernate . - - - - 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 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 a named parameter - using an NHibernate . - - The name of the parameter - A non-null instance of a array. - - - - 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 name of the parameter - 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 . - - A non-null instance of a . - The name of the parameter - - - - 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 name of the parameter - A non-null instance of a . - - - - 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 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 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 name of the parameter - 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 name of the parameter - 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 name of the parameter - An 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 name of the parameter - A non-null 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. - - - - - 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. - - - - - - - - - - - - - - - - - - - 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. - - - - A class that can be used as a Key in a Hashtable for - a Query Cache. - - - - - A class that can be used as a Key in a Hashtable for - a Query Cache. - - - - - 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. - - - TODO: verify that the AppDomain statements are correct. - - - - - - - - - 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. - - - - 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 - - - - - - - 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) - - - - Retrieve a list of persistent objects using a Hibernate query - - - - - - - - - - - - - - - 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 refesh 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. - 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. - - - - - 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. - - - - - - - - - - - - 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 - - - - - - - - - - A flag to indicate if Dispose() has been called. - - - - - Finalizer that ensures the object is correctly disposed of. - - - - - Just in case the user forgot to Commit() or Close() - - - - - 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 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. - - - Is the entity considered dirty? - True if the entity is dirty; otherwise false. - - - Is the entity to which we are bound completely initialized? - - - 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 - - - - 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 - - - - - 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 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 aliases of the columns constrained - by this criterion (for use in ORDER BY clause). - - - - - Get the a typed value for the given property value. - - - - - Optional, may return - - - - Substitues JDBC 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. - - @param sqlString The query string. - @return The SQL query with parameter substitution complete. - - - - 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 collumns 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 aliases for the property columns - - - - - The result set column alias for the Oracle row id - - - - - Calculate and cache select-clause suffixes. - - - - - 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 name of the column at the specified position. - - The (zero-based) position. - The column name. - - - - Gets the (zero-based) position of the column with the specified name. - - Name of the column. - The column position. - - - - Gets the Hibernate type of the specified column. - - The column position. - The Hibernate type. - - - - Abstract superclass for entity loaders that use outer joins - - - - - - - - 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 - - - - - 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 collumns 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 . - - - - - 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 Qualifier to use when accessing the table. - 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. - - - - 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 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 heirarchy 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 heirarchy 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? - - - - - 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 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. - - - - 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 - - - - - 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 - - - - - 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 property name, determine the number of the table which contains the column - to which this property is mapped. - - The name of the property. - The nunber 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. - - - - - Is this an abstract class? - - - - Is this class explicit polymorphism only? - - - - - The class that this class is mapped as a subclass of - not necessarily the direct superclass - - - - Get the names of columns used to persist the identifier - - - - 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 inheritence hierarchy described by this persister contained across - multiple tables? - - True if the inheritence 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 contraint 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. - - - - 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 - - - - - 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. - - - - 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. - - - - 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. - - - 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. - - - - A for use with the Castle Dynamic Class Generator. - - - - 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. - - - - - Initializes a new object. - - - The Class to Proxy. - The Id of the Object we are Proxying. - - - - The ISession this Proxy is in. - - - - Invoke the actual Property/Method using the Proxy or instantiate the actual - object and use it when the Proxy can't handle the method. - - The from the generated Castle.DynamicProxy. - - - - Build a proxy using the Castle.DynamicProxy library. - - The value for the Id. - The Session the proxy is in. - A fully built INHibernateProxy. - - - - 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 - - - - - Validates whether can be specified as the base class - (or an interface) for a dynamically-generated proxy. - - - A collection of errors, if any, or if none were found. - - The type to validate. - - - - 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. - - - - - - - - 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 - - - - - 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 . - - - - - Used as a placeholder when parsing HQL or SQL queries. - - - - - 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. - - - - - 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 - - - - 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 - - - - 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 - - - - Initializes a new instance of the class. - - - - - SqlTypeFactory provides Singleton access to the SqlTypes. - - - - - Describes the details of a that is stored in an XML column. - - - Does not handle advanced concepts such as associating a schema to the XML column. - - - - - 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 SessionFactory. - Beware of milliseconds metrics, they are dependent of the JVM precision: - you may then encounter a 10 ms approximation depending on your OS platform. - Please refer to the JVM documentation for more information. - - - - 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 time in milliseconds 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 - - - 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. - - - - - Get a reference to the connection we are using. - - - - - Release any resources held by this helper. - - - - - Executes a query and returns a datatable. The parameters array is used - in the following fashion ExecuteQuery("select @id", "id", 15); - - - - - 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 and the format parameter to true. - - - - - 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 and format 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. - if the ddl should be nicely formatted instead of one statement per line. - - 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. - if the ddl should be nicely formatted instead of one statement per line. - - This method allows for both the drop and create ddl script to be executed. - - - - - Format an SQL statement using simple rules - - The string containing the sql to format. - A string that contains formatted sql. - - The simple rules to used when formatting are: - - - Insert a newline after each comma - - - Indent three spaces after each inserted newline - - - - If the statement contains single/double quotes return unchanged because - it is too complex and could be broken by simple formatting. - - - - - - - - Execute the schema updates - - - - - Returns a List of all Exceptions which occured during the export. - - - - - - 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 ITransaction instances. - - - - - Configure from the given properties - - - - - - Create a new transaction and return it without starting it. - - - - - 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 - - - - - Implementors define a strategy for transforming criteria query - results into the actual application-visible query result list. - - - - - - - - - - - - - - - - - - - - - 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]; - - - - - - Each row of results is a map () from alias to values/entities - - - - - 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 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 - - - - - 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 instaniated 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 incremement 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 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Summary description for CompositeCustomType. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Maps a Property - to a column. - - - CultureInfoType stores the culture name (not the Culture ID) of the - in the DB. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - A custom type for mapping user-written classes that implement - . - - - - - - - Adapts IUserType to the generic IType interface. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 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 - - - - - - - - - - - Maps the Year, Month, and Day of a Property to a - column - - - - - - - - - - - Maps a Property - to a column. - - - - - 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? - - - - - 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 - - - - - - - - Should we cascade at this cascade point? - - - - - A foreign key from child to parent - - - - - A foreign key from parent to child - - - - - 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 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 . - - - - - 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 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 an DateTime column that only stores the - Hours, Minutes, and Seconds of the DateTime as significant. - - - - 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. - - - - - - - - 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. - - - - - 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. - - - An 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. - - - A 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. - - - 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. - - - 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. - - - 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. - - - 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. - - - 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. - - - 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. - - - A 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. - - The to use to create the - with. - - - A for the specified role. - - - - - Creates a new for an - with identifier - 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. - - The to use to create the - with. - - - A for the specified role. - - - - - Creates a new for an - with list - 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. - - The to use to create the - with. - - - 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. - - The to use as the TKey to create the - with. - - - The to use as the TValue to create the - with. - - - 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. - The type of the set elements. - A for the specified role. - - - - Creates a new for a sorted . - - 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 for the set. - The type of the elements in the set. - A for the specified role. - - - 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 orginating session - - - - Determine if any of the given field values are dirty, - returning an array containing indexes of - the dirty fields or null if no fields are dirty. - - - - - Determine if any of the given field values are modified, - returning an array containing indexes of - the dirty fields or null if no fields are modified. - - - - - - - - - - - - - - Apply the {@link Type#disassemble} operation across a series of values. - The values - The value types - An array indicating which values to include in the disassemled state - The orginating 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 orginating 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 orginating 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 orginating 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 - accross the component subtypes but do not replace the component value itself. - - - - - 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. - - - - - - - - - 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. - - - - 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. - - - - - 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 instaniated 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 - . - - - - - - - - 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. - - - - 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 seperators in the tokens. - - - This is more powerful than Split because you have the option of including or - not including the seperators in the tokens. - - - - - - - - - - - - - - - - - - - - Takes a fully qualified type name and returns the full name of the - Class - includes namespaces. - - - - - - - Takes a fully qualifed 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 - - - - - - - - - - - - - - - - - - - - - - - - - - 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 - - - - - - Contains static declarations from Criteria interface in Hibernate. - - - - - The alias that refers to the "root" entity of the criteria query. - - - - - Each row of results is an IDictionary 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 - - - - - 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 a session-scoped (and only session scoped) interceptor is attached - to a session - - - - Called when sql string is being prepared. - sql to be prepared - original or modified sql - - - 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 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 decimal type - - - - - NHibernate double type - - - - - 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 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 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 - - - - - - - - - - Overwrite existing rows when a row already exists - - - - - - - - - - When a row already exists, choose the latest version - - - - - - - - - - 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/NHibernate20/mono/2.0/log4net.dll b/lib/NHibernate20/mono/2.0/log4net.dll deleted file mode 100644 index ffc57e11..00000000 Binary files a/lib/NHibernate20/mono/2.0/log4net.dll and /dev/null differ diff --git a/lib/NHibernate20/mono/2.0/log4net.license.txt b/lib/NHibernate20/mono/2.0/log4net.license.txt deleted file mode 100644 index 29f81d81..00000000 --- a/lib/NHibernate20/mono/2.0/log4net.license.txt +++ /dev/null @@ -1,201 +0,0 @@ - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. diff --git a/lib/NHibernate20/mono/2.0/log4net.xml b/lib/NHibernate20/mono/2.0/log4net.xml deleted file mode 100644 index fab7af26..00000000 --- a/lib/NHibernate20/mono/2.0/log4net.xml +++ /dev/null @@ -1,28655 +0,0 @@ - - - - log4net - - - - - Appender that logs to a database. - - - - appends logging events to a table within a - database. The appender can be configured to specify the connection - string by setting the property. - The connection type (provider) can be specified by setting the - property. For more information on database connection strings for - your specific database see http://www.connectionstrings.com/. - - - Records are written into the database either using a prepared - statement or a stored procedure. The property - is set to (System.Data.CommandType.Text) to specify a prepared statement - or to (System.Data.CommandType.StoredProcedure) to specify a stored - procedure. - - - The prepared statement text or the name of the stored procedure - must be set in the property. - - - The prepared statement or stored procedure can take a number - of parameters. Parameters are added using the - method. This adds a single to the - ordered list of parameters. The - type may be subclassed if required to provide database specific - functionality. The specifies - the parameter name, database type, size, and how the value should - be generated using a . - - - - An example of a SQL Server table that could be logged to: - - CREATE TABLE [dbo].[Log] ( - [ID] [int] IDENTITY (1, 1) NOT NULL , - [Date] [datetime] NOT NULL , - [Thread] [varchar] (255) NOT NULL , - [Level] [varchar] (20) NOT NULL , - [Logger] [varchar] (255) NOT NULL , - [Message] [varchar] (4000) NOT NULL - ) ON [PRIMARY] - - - - An example configuration to log to the above table: - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Julian Biddle - Nicko Cadell - Gert Driesen - Lance Nehring - - - - Abstract base class implementation of that - buffers events in a fixed size buffer. - - - - This base class should be used by appenders that need to buffer a - number of events before logging them. For example the - buffers events and then submits the entire contents of the buffer to - the underlying database in one go. - - - Subclasses should override the - method to deliver the buffered events. - - The BufferingAppenderSkeleton maintains a fixed size cyclic - buffer of events. The size of the buffer is set using - the property. - - A is used to inspect - each event as it arrives in the appender. If the - triggers, then the current buffer is sent immediately - (see ). Otherwise the event - is stored in the buffer. For example, an evaluator can be used to - deliver the events immediately when an ERROR event arrives. - - - The buffering appender can be configured in a mode. - By default the appender is NOT lossy. When the buffer is full all - the buffered events are sent with . - If the property is set to true then the - buffer will not be sent when it is full, and new events arriving - in the appender will overwrite the oldest event in the buffer. - In lossy mode the buffer will only be sent when the - triggers. This can be useful behavior when you need to know about - ERROR events but not about events with a lower level, configure an - evaluator that will trigger when an ERROR event arrives, the whole - buffer will be sent which gives a history of events leading up to - the ERROR event. - - - Nicko Cadell - Gert Driesen - - - - Abstract base class implementation of . - - - - This class provides the code for common functionality, such - as support for threshold filtering and support for general filters. - - - Appenders can also implement the interface. Therefore - they would require that the method - be called after the appenders properties have been configured. - - - Nicko Cadell - Gert Driesen - - - - Implement this interface for your own strategies for printing log statements. - - - - Implementors should consider extending the - class which provides a default implementation of this interface. - - - Appenders can also implement the interface. Therefore - they would require that the method - be called after the appenders properties have been configured. - - - Nicko Cadell - Gert Driesen - - - - Closes the appender and releases resources. - - - - Releases any resources allocated within the appender such as file handles, - network connections, etc. - - - It is a programming error to append to a closed appender. - - - - - - Log the logging event in Appender specific way. - - The event to log - - - This method is called to log a message into this appender. - - - - - - Gets or sets the name of this appender. - - The name of the appender. - - The name uniquely identifies the appender. - - - - - Interface for appenders that support bulk logging. - - - - This interface extends the interface to - support bulk logging of objects. Appenders - should only implement this interface if they can bulk log efficiently. - - - Nicko Cadell - - - - Log the array of logging events in Appender specific way. - - The events to log - - - This method is called to log an array of events into this appender. - - - - - - Interface used to delay activate a configured object. - - - - This allows an object to defer activation of its options until all - options have been set. This is required for components which have - related options that remain ambiguous until all are set. - - - If a component implements this interface then the method - must be called by the container after its all the configured properties have been set - and before the component can be used. - - - Nicko Cadell - - - - Activate the options that were previously set with calls to properties. - - - - This allows an object to defer activation of its options until all - options have been set. This is required for components which have - related options that remain ambiguous until all are set. - - - If a component implements this interface then this method must be called - after its properties have been set before the component can be used. - - - - - - Initial buffer size - - - - - Maximum buffer size before it is recycled - - - - - Default constructor - - - Empty default constructor - - - - - Finalizes this appender by calling the implementation's - method. - - - - If this appender has not been closed then the Finalize method - will call . - - - - - - Initialize the appender based on the options set - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - - - - Closes the appender and release resources. - - - - Release any resources allocated within the appender such as file handles, - network connections, etc. - - - It is a programming error to append to a closed appender. - - - This method cannot be overridden by subclasses. This method - delegates the closing of the appender to the - method which must be overridden in the subclass. - - - - - - Performs threshold checks and invokes filters before - delegating actual logging to the subclasses specific - method. - - The event to log. - - - This method cannot be overridden by derived classes. A - derived class should override the method - which is called by this method. - - - The implementation of this method is as follows: - - - - - - Checks that the severity of the - is greater than or equal to the of this - appender. - - - - Checks that the chain accepts the - . - - - - - Calls and checks that - it returns true. - - - - - If all of the above steps succeed then the - will be passed to the abstract method. - - - - - - Performs threshold checks and invokes filters before - delegating actual logging to the subclasses specific - method. - - The array of events to log. - - - This method cannot be overridden by derived classes. A - derived class should override the method - which is called by this method. - - - The implementation of this method is as follows: - - - - - - Checks that the severity of the - is greater than or equal to the of this - appender. - - - - Checks that the chain accepts the - . - - - - - Calls and checks that - it returns true. - - - - - If all of the above steps succeed then the - will be passed to the method. - - - - - - Test if the logging event should we output by this appender - - the event to test - true if the event should be output, false if the event should be ignored - - - This method checks the logging event against the threshold level set - on this appender and also against the filters specified on this - appender. - - - The implementation of this method is as follows: - - - - - - Checks that the severity of the - is greater than or equal to the of this - appender. - - - - Checks that the chain accepts the - . - - - - - - - - - Adds a filter to the end of the filter chain. - - the filter to add to this appender - - - The Filters are organized in a linked list. - - - Setting this property causes the new filter to be pushed onto the - back of the filter chain. - - - - - - Clears the filter list for this appender. - - - - Clears the filter list for this appender. - - - - - - Checks if the message level is below this appender's threshold. - - to test against. - - - If there is no threshold set, then the return value is always true. - - - - true if the meets the - requirements of this appender. - - - - - Is called when the appender is closed. Derived classes should override - this method if resources need to be released. - - - - Releases any resources allocated within the appender such as file handles, - network connections, etc. - - - It is a programming error to append to a closed appender. - - - - - - Subclasses of should implement this method - to perform actual logging. - - The event to append. - - - A subclass must implement this method to perform - logging of the . - - This method will be called by - if all the conditions listed for that method are met. - - - To restrict the logging of events in the appender - override the method. - - - - - - Append a bulk array of logging events. - - the array of logging events - - - This base class implementation calls the - method for each element in the bulk array. - - - A sub class that can better process a bulk array of events should - override this method in addition to . - - - - - - Called before as a precondition. - - - - This method is called by - before the call to the abstract method. - - - This method can be overridden in a subclass to extend the checks - made before the event is passed to the method. - - - A subclass should ensure that they delegate this call to - this base class if it is overridden. - - - true if the call to should proceed. - - - - Renders the to a string. - - The event to render. - The event rendered as a string. - - - Helper method to render a to - a string. This appender must have a - set to render the to - a string. - - If there is exception data in the logging event and - the layout does not process the exception, this method - will append the exception text to the rendered string. - - - Where possible use the alternative version of this method - . - That method streams the rendering onto an existing Writer - which can give better performance if the caller already has - a open and ready for writing. - - - - - - Renders the to a string. - - The event to render. - The TextWriter to write the formatted event to - - - Helper method to render a to - a string. This appender must have a - set to render the to - a string. - - If there is exception data in the logging event and - the layout does not process the exception, this method - will append the exception text to the rendered string. - - - Use this method in preference to - where possible. If, however, the caller needs to render the event - to a string then does - provide an efficient mechanism for doing so. - - - - - - The layout of this appender. - - - See for more information. - - - - - The name of this appender. - - - See for more information. - - - - - The level threshold of this appender. - - - - There is no level threshold filtering by default. - - - See for more information. - - - - - - It is assumed and enforced that errorHandler is never null. - - - - It is assumed and enforced that errorHandler is never null. - - - See for more information. - - - - - - The first filter in the filter chain. - - - - Set to null initially. - - - See for more information. - - - - - - The last filter in the filter chain. - - - See for more information. - - - - - Flag indicating if this appender is closed. - - - See for more information. - - - - - The guard prevents an appender from repeatedly calling its own DoAppend method - - - - - StringWriter used to render events - - - - - Gets or sets the threshold of this appender. - - - The threshold of the appender. - - - - All log events with lower level than the threshold level are ignored - by the appender. - - - In configuration files this option is specified by setting the - value of the option to a level - string, such as "DEBUG", "INFO" and so on. - - - - - - Gets or sets the for this appender. - - The of the appender - - - The provides a default - implementation for the property. - - - - - - The filter chain. - - The head of the filter chain filter chain. - - - Returns the head Filter. The Filters are organized in a linked list - and so all Filters on this Appender are available through the result. - - - - - - Gets or sets the for this appender. - - The layout of the appender. - - - See for more information. - - - - - - - Gets or sets the name of this appender. - - The name of the appender. - - - The name uniquely identifies the appender. - - - - - - Tests if this appender requires a to be set. - - - - In the rather exceptional case, where the appender - implementation admits a layout but can also work without it, - then the appender should return true. - - - This default implementation always returns true. - - - - true if the appender requires a layout object, otherwise false. - - - - - The default buffer size. - - - The default size of the cyclic buffer used to store events. - This is set to 512 by default. - - - - - Initializes a new instance of the class. - - - - Protected default constructor to allow subclassing. - - - - - - Initializes a new instance of the class. - - the events passed through this appender must be - fixed by the time that they arrive in the derived class' SendBuffer method. - - - Protected constructor to allow subclassing. - - - The should be set if the subclass - expects the events delivered to be fixed even if the - is set to zero, i.e. when no buffering occurs. - - - - - - Flush the currently buffered events - - - - Flushes any events that have been buffered. - - - If the appender is buffering in mode then the contents - of the buffer will NOT be flushed to the appender. - - - - - - Flush the currently buffered events - - set to true to flush the buffer of lossy events - - - Flushes events that have been buffered. If is - false then events will only be flushed if this buffer is non-lossy mode. - - - If the appender is buffering in mode then the contents - of the buffer will only be flushed if is true. - In this case the contents of the buffer will be tested against the - and if triggering will be output. All other buffered - events will be discarded. - - - If is true then the buffer will always - be emptied by calling this method. - - - - - - Initialize the appender based on the options set - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - - - - Close this appender instance. - - - - Close this appender instance. If this appender is marked - as not then the remaining events in - the buffer must be sent when the appender is closed. - - - - - - This method is called by the method. - - the event to log - - - Stores the in the cyclic buffer. - - - The buffer will be sent (i.e. passed to the - method) if one of the following conditions is met: - - - - The cyclic buffer is full and this appender is - marked as not lossy (see ) - - - An is set and - it is triggered for the - specified. - - - - Before the event is stored in the buffer it is fixed - (see ) to ensure that - any data referenced by the event will be valid when the buffer - is processed. - - - - - - Sends the contents of the buffer. - - The first logging event. - The buffer containing the events that need to be send. - - - The subclass must override . - - - - - - Sends the events. - - The events that need to be send. - - - The subclass must override this method to process the buffered events. - - - - - - The size of the cyclic buffer used to hold the logging events. - - - Set to by default. - - - - - The cyclic buffer used to store the logging events. - - - - - The triggering event evaluator that causes the buffer to be sent immediately. - - - The object that is used to determine if an event causes the entire - buffer to be sent immediately. This field can be null, which - indicates that event triggering is not to be done. The evaluator - can be set using the property. If this appender - has the ( property) set to - true then an must be set. - - - - - Indicates if the appender should overwrite events in the cyclic buffer - when it becomes full, or if the buffer should be flushed when the - buffer is full. - - - If this field is set to true then an must - be set. - - - - - The triggering event evaluator filters discarded events. - - - The object that is used to determine if an event that is discarded should - really be discarded or if it should be sent to the appenders. - This field can be null, which indicates that all discarded events will - be discarded. - - - - - Value indicating which fields in the event should be fixed - - - By default all fields are fixed - - - - - The events delivered to the subclass must be fixed. - - - - - Gets or sets a value that indicates whether the appender is lossy. - - - true if the appender is lossy, otherwise false. The default is false. - - - - This appender uses a buffer to store logging events before - delivering them. A triggering event causes the whole buffer - to be send to the remote sink. If the buffer overruns before - a triggering event then logging events could be lost. Set - to false to prevent logging events - from being lost. - - If is set to true then an - must be specified. - - - - - Gets or sets the size of the cyclic buffer used to hold the - logging events. - - - The size of the cyclic buffer used to hold the logging events. - - - - The option takes a positive integer - representing the maximum number of logging events to collect in - a cyclic buffer. When the is reached, - oldest events are deleted as new events are added to the - buffer. By default the size of the cyclic buffer is 512 events. - - - If the is set to a value less than - or equal to 1 then no buffering will occur. The logging event - will be delivered synchronously (depending on the - and properties). Otherwise the event will - be buffered. - - - - - - Gets or sets the that causes the - buffer to be sent immediately. - - - The that causes the buffer to be - sent immediately. - - - - The evaluator will be called for each event that is appended to this - appender. If the evaluator triggers then the current buffer will - immediately be sent (see ). - - If is set to true then an - must be specified. - - - - - Gets or sets the value of the to use. - - - The value of the to use. - - - - The evaluator will be called for each event that is discarded from this - appender. If the evaluator triggers then the current buffer will immediately - be sent (see ). - - - - - - Gets or sets a value indicating if only part of the logging event data - should be fixed. - - - true if the appender should only fix part of the logging event - data, otherwise false. The default is false. - - - - Setting this property to true will cause only part of the - event data to be fixed and serialized. This will improve performance. - - - See for more information. - - - - - - Gets or sets a the fields that will be fixed in the event - - - The event fields that will be fixed before the event is buffered - - - - The logging event needs to have certain thread specific values - captured before it can be buffered. See - for details. - - - - - - - Initializes a new instance of the class. - - - Public default constructor to initialize a new instance of this class. - - - - - Initialize the appender based on the options set - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - - - - Override the parent method to close the database - - - - Closes the database command and database connection. - - - - - - Inserts the events into the database. - - The events to insert into the database. - - - Insert all the events specified in the - array into the database. - - - - - - Adds a parameter to the command. - - The parameter to add to the command. - - - Adds a parameter to the ordered list of command parameters. - - - - - - Writes the events to the database using the transaction specified. - - The transaction that the events will be executed under. - The array of events to insert into the database. - - - The transaction argument can be null if the appender has been - configured not to use transactions. See - property for more information. - - - - - - Formats the log message into database statement text. - - The event being logged. - - This method can be overridden by subclasses to provide - more control over the format of the database statement. - - - Text that can be passed to a . - - - - - Connects to the database. - - - - - Retrieves the class type of the ADO.NET provider. - - - - Gets the Type of the ADO.NET provider to use to connect to the - database. This method resolves the type specified in the - property. - - - Subclasses can override this method to return a different type - if necessary. - - - The of the ADO.NET provider - - - - Prepares the database command and initialize the parameters. - - - - - Flag to indicate if we are using a command object - - - - Set to true when the appender is to use a prepared - statement or stored procedure to insert into the database. - - - - - - The list of objects. - - - - The list of objects. - - - - - - The security context to use for privileged calls - - - - - The that will be used - to insert logging events into a database. - - - - - The database command. - - - - - Database connection string. - - - - - String type name of the type name. - - - - - The text of the command. - - - - - The command type. - - - - - Indicates whether to use transactions when writing to the database. - - - - - Indicates whether to use transactions when writing to the database. - - - - - Gets or sets the database connection string that is used to connect to - the database. - - - The database connection string used to connect to the database. - - - - The connections string is specific to the connection type. - See for more information. - - - Connection string for MS Access via ODBC: - "DSN=MS Access Database;UID=admin;PWD=;SystemDB=C:\data\System.mdw;SafeTransactions = 0;FIL=MS Access;DriverID = 25;DBQ=C:\data\train33.mdb" - - Another connection string for MS Access via ODBC: - "Driver={Microsoft Access Driver (*.mdb)};DBQ=C:\Work\cvs_root\log4net-1.2\access.mdb;UID=;PWD=;" - - Connection string for MS Access via OLE DB: - "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Work\cvs_root\log4net-1.2\access.mdb;User Id=;Password=;" - - - - - Gets or sets the type name of the connection - that should be created. - - - The type name of the connection. - - - - The type name of the ADO.NET provider to use. - - - The default is to use the OLE DB provider. - - - Use the OLE DB Provider. This is the default value. - System.Data.OleDb.OleDbConnection, System.Data, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - Use the MS SQL Server Provider. - System.Data.SqlClient.SqlConnection, System.Data, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - Use the ODBC Provider. - Microsoft.Data.Odbc.OdbcConnection,Microsoft.Data.Odbc,version=1.0.3300.0,publicKeyToken=b77a5c561934e089,culture=neutral - This is an optional package that you can download from - http://msdn.microsoft.com/downloads - search for ODBC .NET Data Provider. - - Use the Oracle Provider. - System.Data.OracleClient.OracleConnection, System.Data.OracleClient, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - This is an optional package that you can download from - http://msdn.microsoft.com/downloads - search for .NET Managed Provider for Oracle. - - - - - Gets or sets the command text that is used to insert logging events - into the database. - - - The command text used to insert logging events into the database. - - - - Either the text of the prepared statement or the - name of the stored procedure to execute to write into - the database. - - - The property determines if - this text is a prepared statement or a stored procedure. - - - - - - Gets or sets the command type to execute. - - - The command type to execute. - - - - This value may be either (System.Data.CommandType.Text) to specify - that the is a prepared statement to execute, - or (System.Data.CommandType.StoredProcedure) to specify that the - property is the name of a stored procedure - to execute. - - - The default value is (System.Data.CommandType.Text). - - - - - - Should transactions be used to insert logging events in the database. - - - true if transactions should be used to insert logging events in - the database, otherwise false. The default value is true. - - - - Gets or sets a value that indicates whether transactions should be used - to insert logging events in the database. - - - When set a single transaction will be used to insert the buffered events - into the database. Otherwise each event will be inserted without using - an explicit transaction. - - - - - - Gets or sets the used to call the NetSend method. - - - The used to call the NetSend method. - - - - Unless a specified here for this appender - the is queried for the - security context to use. The default behavior is to use the security context - of the current thread. - - - - - - Should this appender try to reconnect to the database on error. - - - true if the appender should try to reconnect to the database after an - error has occurred, otherwise false. The default value is false, - i.e. not to try to reconnect. - - - - The default behaviour is for the appender not to try to reconnect to the - database if an error occurs. Subsequent logging events are discarded. - - - To force the appender to attempt to reconnect to the database set this - property to true. - - - When the appender attempts to connect to the database there may be a - delay of up to the connection timeout specified in the connection string. - This delay will block the calling application's thread. - Until the connection can be reestablished this potential delay may occur multiple times. - - - - - - Gets or sets the underlying . - - - The underlying . - - - creates a to insert - logging events into a database. Classes deriving from - can use this property to get or set this . Use the - underlying returned from if - you require access beyond that which provides. - - - - - Parameter type used by the . - - - - This class provides the basic database parameter properties - as defined by the interface. - - This type can be subclassed to provide database specific - functionality. The two methods that are called externally are - and . - - - - - - Initializes a new instance of the class. - - - Default constructor for the AdoNetAppenderParameter class. - - - - - Prepare the specified database command object. - - The command to prepare. - - - Prepares the database command object by adding - this parameter to its collection of parameters. - - - - - - Renders the logging event and set the parameter value in the command. - - The command containing the parameter. - The event to be rendered. - - - Renders the logging event using this parameters layout - object. Sets the value of the parameter on the command object. - - - - - - The name of this parameter. - - - - - The database type for this parameter. - - - - - Flag to infer type rather than use the DbType - - - - - The precision for this parameter. - - - - - The scale for this parameter. - - - - - The size for this parameter. - - - - - The to use to render the - logging event into an object for this parameter. - - - - - Gets or sets the name of this parameter. - - - The name of this parameter. - - - - The name of this parameter. The parameter name - must match up to a named parameter to the SQL stored procedure - or prepared statement. - - - - - - Gets or sets the database type for this parameter. - - - The database type for this parameter. - - - - The database type for this parameter. This property should - be set to the database type from the - enumeration. See . - - - This property is optional. If not specified the ADO.NET provider - will attempt to infer the type from the value. - - - - - - - Gets or sets the precision for this parameter. - - - The precision for this parameter. - - - - The maximum number of digits used to represent the Value. - - - This property is optional. If not specified the ADO.NET provider - will attempt to infer the precision from the value. - - - - - - - Gets or sets the scale for this parameter. - - - The scale for this parameter. - - - - The number of decimal places to which Value is resolved. - - - This property is optional. If not specified the ADO.NET provider - will attempt to infer the scale from the value. - - - - - - - Gets or sets the size for this parameter. - - - The size for this parameter. - - - - The maximum size, in bytes, of the data within the column. - - - This property is optional. If not specified the ADO.NET provider - will attempt to infer the size from the value. - - - - - - - Gets or sets the to use to - render the logging event into an object for this - parameter. - - - The used to render the - logging event into an object for this parameter. - - - - The that renders the value for this - parameter. - - - The can be used to adapt - any into a - for use in the property. - - - - - - Appends logging events to the terminal using ANSI color escape sequences. - - - - AnsiColorTerminalAppender appends log events to the standard output stream - or the error output stream using a layout specified by the - user. It also allows the color of a specific level of message to be set. - - - This appender expects the terminal to understand the VT100 control set - in order to interpret the color codes. If the terminal or console does not - understand the control codes the behavior is not defined. - - - By default, all output is written to the console's standard output stream. - The property can be set to direct the output to the - error stream. - - - NOTE: This appender writes each message to the System.Console.Out or - System.Console.Error that is set at the time the event is appended. - Therefore it is possible to programmatically redirect the output of this appender - (for example NUnit does this to capture program output). While this is the desired - behavior of this appender it may have security implications in your application. - - - When configuring the ANSI colored terminal appender, a mapping should be - specified to map a logging level to a color. For example: - - - - - - - - - - - - - - - The Level is the standard log4net logging level and ForeColor and BackColor can be any - of the following values: - - Blue - Green - Red - White - Yellow - Purple - Cyan - - These color values cannot be combined together to make new colors. - - - The attributes can be any combination of the following: - - Brightforeground is brighter - Dimforeground is dimmer - Underscoremessage is underlined - Blinkforeground is blinking (does not work on all terminals) - Reverseforeground and background are reversed - Hiddenoutput is hidden - Strikethroughmessage has a line through it - - While any of these attributes may be combined together not all combinations - work well together, for example setting both Bright and Dim attributes makes - no sense. - - - Patrick Wagstrom - Nicko Cadell - - - - The to use when writing to the Console - standard output stream. - - - - The to use when writing to the Console - standard output stream. - - - - - - The to use when writing to the Console - standard error output stream. - - - - The to use when writing to the Console - standard error output stream. - - - - - - Ansi code to reset terminal - - - - - Initializes a new instance of the class. - - - The instance of the class is set up to write - to the standard output stream. - - - - - Add a mapping of level to color - - The mapping to add - - - Add a mapping to this appender. - Each mapping defines the foreground and background colours - for a level. - - - - - - This method is called by the method. - - The event to log. - - - Writes the event to the console. - - - The format of the output will depend on the appender's layout. - - - - - - Initialize the options for this appender - - - - Initialize the level to color mappings set on this appender. - - - - - - Flag to write output to the error stream rather than the standard output stream - - - - - Mapping from level object to color value - - - - - Target is the value of the console output stream. - - - Target is the value of the console output stream. - This is either "Console.Out" or "Console.Error". - - - - Target is the value of the console output stream. - This is either "Console.Out" or "Console.Error". - - - - - - This appender requires a to be set. - - true - - - This appender requires a to be set. - - - - - - The enum of possible display attributes - - - - The following flags can be combined together to - form the ANSI color attributes. - - - - - - - text is bright - - - - - text is dim - - - - - text is underlined - - - - - text is blinking - - - Not all terminals support this attribute - - - - - text and background colors are reversed - - - - - text is hidden - - - - - text is displayed with a strikethrough - - - - - The enum of possible foreground or background color values for - use with the color mapping method - - - - The output can be in one for the following ANSI colors. - - - - - - - color is black - - - - - color is red - - - - - color is green - - - - - color is yellow - - - - - color is blue - - - - - color is magenta - - - - - color is cyan - - - - - color is white - - - - - A class to act as a mapping between the level that a logging call is made at and - the color it should be displayed as. - - - - Defines the mapping between a level and the color it should be displayed in. - - - - - - An entry in the - - - - This is an abstract base class for types that are stored in the - object. - - - Nicko Cadell - - - - Default protected constructor - - - - Default protected constructor - - - - - - Initialize any options defined on this entry - - - - Should be overridden by any classes that need to initialise based on their options - - - - - - The level that is the key for this mapping - - - The that is the key for this mapping - - - - Get or set the that is the key for this - mapping subclass. - - - - - - Initialize the options for the object - - - - Combine the and together - and append the attributes. - - - - - - The mapped foreground color for the specified level - - - - Required property. - The mapped foreground color for the specified level - - - - - - The mapped background color for the specified level - - - - Required property. - The mapped background color for the specified level - - - - - - The color attributes for the specified level - - - - Required property. - The color attributes for the specified level - - - - - - The combined , and - suitable for setting the ansi terminal color. - - - - - A strongly-typed collection of objects. - - Nicko Cadell - - - - Creates a read-only wrapper for a AppenderCollection instance. - - list to create a readonly wrapper arround - - An AppenderCollection wrapper that is read-only. - - - - - An empty readonly static AppenderCollection - - - - - Initializes a new instance of the AppenderCollection class - that is empty and has the default initial capacity. - - - - - Initializes a new instance of the AppenderCollection class - that has the specified initial capacity. - - - The number of elements that the new AppenderCollection is initially capable of storing. - - - - - Initializes a new instance of the AppenderCollection class - that contains elements copied from the specified AppenderCollection. - - The AppenderCollection whose elements are copied to the new collection. - - - - Initializes a new instance of the AppenderCollection class - that contains elements copied from the specified array. - - The array whose elements are copied to the new list. - - - - Initializes a new instance of the AppenderCollection class - that contains elements copied from the specified collection. - - The collection whose elements are copied to the new list. - - - - Allow subclasses to avoid our default constructors - - - - - - - Copies the entire AppenderCollection to a one-dimensional - array. - - The one-dimensional array to copy to. - - - - Copies the entire AppenderCollection to a one-dimensional - array, starting at the specified index of the target array. - - The one-dimensional array to copy to. - The zero-based index in at which copying begins. - - - - Adds a to the end of the AppenderCollection. - - The to be added to the end of the AppenderCollection. - The index at which the value has been added. - - - - Removes all elements from the AppenderCollection. - - - - - Creates a shallow copy of the . - - A new with a shallow copy of the collection data. - - - - Determines whether a given is in the AppenderCollection. - - The to check for. - true if is found in the AppenderCollection; otherwise, false. - - - - Returns the zero-based index of the first occurrence of a - in the AppenderCollection. - - The to locate in the AppenderCollection. - - The zero-based index of the first occurrence of - in the entire AppenderCollection, if found; otherwise, -1. - - - - - Inserts an element into the AppenderCollection at the specified index. - - The zero-based index at which should be inserted. - The to insert. - - is less than zero - -or- - is equal to or greater than . - - - - - Removes the first occurrence of a specific from the AppenderCollection. - - The to remove from the AppenderCollection. - - The specified was not found in the AppenderCollection. - - - - - Removes the element at the specified index of the AppenderCollection. - - The zero-based index of the element to remove. - - is less than zero - -or- - is equal to or greater than . - - - - - Returns an enumerator that can iterate through the AppenderCollection. - - An for the entire AppenderCollection. - - - - Adds the elements of another AppenderCollection to the current AppenderCollection. - - The AppenderCollection whose elements should be added to the end of the current AppenderCollection. - The new of the AppenderCollection. - - - - Adds the elements of a array to the current AppenderCollection. - - The array whose elements should be added to the end of the AppenderCollection. - The new of the AppenderCollection. - - - - Adds the elements of a collection to the current AppenderCollection. - - The collection whose elements should be added to the end of the AppenderCollection. - The new of the AppenderCollection. - - - - Sets the capacity to the actual number of elements. - - - - - Return the collection elements as an array - - the array - - - - is less than zero - -or- - is equal to or greater than . - - - - - is less than zero - -or- - is equal to or greater than . - - - - - Gets the number of elements actually contained in the AppenderCollection. - - - - - Gets a value indicating whether access to the collection is synchronized (thread-safe). - - true if access to the ICollection is synchronized (thread-safe); otherwise, false. - - - - Gets an object that can be used to synchronize access to the collection. - - - - - Gets or sets the at the specified index. - - The zero-based index of the element to get or set. - - is less than zero - -or- - is equal to or greater than . - - - - - Gets a value indicating whether the collection has a fixed size. - - true if the collection has a fixed size; otherwise, false. The default is false - - - - Gets a value indicating whether the IList is read-only. - - true if the collection is read-only; otherwise, false. The default is false - - - - Gets or sets the number of elements the AppenderCollection can contain. - - - - - Supports type-safe iteration over a . - - - - - - Advances the enumerator to the next element in the collection. - - - true if the enumerator was successfully advanced to the next element; - false if the enumerator has passed the end of the collection. - - - The collection was modified after the enumerator was created. - - - - - Sets the enumerator to its initial position, before the first element in the collection. - - - - - Gets the current element in the collection. - - - - - Type visible only to our subclasses - Used to access protected constructor - - - - - - A value - - - - - Supports simple iteration over a . - - - - - - Initializes a new instance of the Enumerator class. - - - - - - Advances the enumerator to the next element in the collection. - - - true if the enumerator was successfully advanced to the next element; - false if the enumerator has passed the end of the collection. - - - The collection was modified after the enumerator was created. - - - - - Sets the enumerator to its initial position, before the first element in the collection. - - - - - Gets the current element in the collection. - - - - - - - - - Appends log events to the ASP.NET system. - - - - - Diagnostic information and tracing messages that you specify are appended to the output - of the page that is sent to the requesting browser. Optionally, you can view this information - from a separate trace viewer (Trace.axd) that displays trace information for every page in a - given application. - - - Trace statements are processed and displayed only when tracing is enabled. You can control - whether tracing is displayed to a page, to the trace viewer, or both. - - - The logging event is passed to the or - method depending on the level of the logging event. - - - Nicko Cadell - Gert Driesen - - - - Initializes a new instance of the class. - - - - Default constructor. - - - - - - Write the logging event to the ASP.NET trace - - the event to log - - - Write the logging event to the ASP.NET trace - HttpContext.Current.Trace - (). - - - - - - This appender requires a to be set. - - true - - - This appender requires a to be set. - - - - - - Buffers events and then forwards them to attached appenders. - - - - The events are buffered in this appender until conditions are - met to allow the appender to deliver the events to the attached - appenders. See for the - conditions that cause the buffer to be sent. - - The forwarding appender can be used to specify different - thresholds and filters for the same appender at different locations - within the hierarchy. - - - Nicko Cadell - Gert Driesen - - - - Interface for attaching appenders to objects. - - - - Interface for attaching, removing and retrieving appenders. - - - Nicko Cadell - Gert Driesen - - - - Attaches an appender. - - The appender to add. - - - Add the specified appender. The implementation may - choose to allow or deny duplicate appenders. - - - - - - Gets an attached appender with the specified name. - - The name of the appender to get. - - The appender with the name specified, or null if no appender with the - specified name is found. - - - - Returns an attached appender with the specified. - If no appender with the specified name is found null will be - returned. - - - - - - Removes all attached appenders. - - - - Removes and closes all attached appenders - - - - - - Removes the specified appender from the list of attached appenders. - - The appender to remove. - The appender removed from the list - - - The appender removed is not closed. - If you are discarding the appender you must call - on the appender removed. - - - - - - Removes the appender with the specified name from the list of appenders. - - The name of the appender to remove. - The appender removed from the list - - - The appender removed is not closed. - If you are discarding the appender you must call - on the appender removed. - - - - - - Gets all attached appenders. - - - A collection of attached appenders. - - - - Gets a collection of attached appenders. - If there are no attached appenders the - implementation should return an empty - collection rather than null. - - - - - - Initializes a new instance of the class. - - - - Default constructor. - - - - - - Closes the appender and releases resources. - - - - Releases any resources allocated within the appender such as file handles, - network connections, etc. - - - It is a programming error to append to a closed appender. - - - - - - Send the events. - - The events that need to be send. - - - Forwards the events to the attached appenders. - - - - - - Adds an to the list of appenders of this - instance. - - The to add to this appender. - - - If the specified is already in the list of - appenders, then it won't be added again. - - - - - - Looks for the appender with the specified name. - - The name of the appender to lookup. - - The appender with the specified name, or null. - - - - Get the named appender attached to this buffering appender. - - - - - - Removes all previously added appenders from this appender. - - - - This is useful when re-reading configuration information. - - - - - - Removes the specified appender from the list of appenders. - - The appender to remove. - The appender removed from the list - - The appender removed is not closed. - If you are discarding the appender you must call - on the appender removed. - - - - - Removes the appender with the specified name from the list of appenders. - - The name of the appender to remove. - The appender removed from the list - - The appender removed is not closed. - If you are discarding the appender you must call - on the appender removed. - - - - - Implementation of the interface - - - - - Gets the appenders contained in this appender as an - . - - - If no appenders can be found, then an - is returned. - - - A collection of the appenders in this appender. - - - - - Appends logging events to the console. - - - - ColoredConsoleAppender appends log events to the standard output stream - or the error output stream using a layout specified by the - user. It also allows the color of a specific type of message to be set. - - - By default, all output is written to the console's standard output stream. - The property can be set to direct the output to the - error stream. - - - NOTE: This appender writes directly to the application's attached console - not to the System.Console.Out or System.Console.Error TextWriter. - The System.Console.Out and System.Console.Error streams can be - programmatically redirected (for example NUnit does this to capture program output). - This appender will ignore these redirections because it needs to use Win32 - API calls to colorize the output. To respect these redirections the - must be used. - - - When configuring the colored console appender, mapping should be - specified to map a logging level to a color. For example: - - - - - - - - - - - - - - The Level is the standard log4net logging level and ForeColor and BackColor can be any - combination of the following values: - - Blue - Green - Red - White - Yellow - Purple - Cyan - HighIntensity - - - - Rick Hobbs - Nicko Cadell - - - - The to use when writing to the Console - standard output stream. - - - - The to use when writing to the Console - standard output stream. - - - - - - The to use when writing to the Console - standard error output stream. - - - - The to use when writing to the Console - standard error output stream. - - - - - - Initializes a new instance of the class. - - - The instance of the class is set up to write - to the standard output stream. - - - - - Initializes a new instance of the class - with the specified layout. - - the layout to use for this appender - - The instance of the class is set up to write - to the standard output stream. - - - - - Initializes a new instance of the class - with the specified layout. - - the layout to use for this appender - flag set to true to write to the console error stream - - When is set to true, output is written to - the standard error output stream. Otherwise, output is written to the standard - output stream. - - - - - Add a mapping of level to color - done by the config file - - The mapping to add - - - Add a mapping to this appender. - Each mapping defines the foreground and background colors - for a level. - - - - - - This method is called by the method. - - The event to log. - - - Writes the event to the console. - - - The format of the output will depend on the appender's layout. - - - - - - Initialize the options for this appender - - - - Initialize the level to color mappings set on this appender. - - - - - - Flag to write output to the error stream rather than the standard output stream - - - - - Mapping from level object to color value - - - - - The console output stream writer to write to - - - - This writer is not thread safe. - - - - - - Target is the value of the console output stream. - This is either "Console.Out" or "Console.Error". - - - Target is the value of the console output stream. - This is either "Console.Out" or "Console.Error". - - - - Target is the value of the console output stream. - This is either "Console.Out" or "Console.Error". - - - - - - This appender requires a to be set. - - true - - - This appender requires a to be set. - - - - - - The enum of possible color values for use with the color mapping method - - - - The following flags can be combined together to - form the colors. - - - - - - - color is blue - - - - - color is green - - - - - color is red - - - - - color is white - - - - - color is yellow - - - - - color is purple - - - - - color is cyan - - - - - color is intensified - - - - - A class to act as a mapping between the level that a logging call is made at and - the color it should be displayed as. - - - - Defines the mapping between a level and the color it should be displayed in. - - - - - - Initialize the options for the object - - - - Combine the and together. - - - - - - The mapped foreground color for the specified level - - - - Required property. - The mapped foreground color for the specified level. - - - - - - The mapped background color for the specified level - - - - Required property. - The mapped background color for the specified level. - - - - - - The combined and suitable for - setting the console color. - - - - - Appends logging events to the console. - - - - ConsoleAppender appends log events to the standard output stream - or the error output stream using a layout specified by the - user. - - - By default, all output is written to the console's standard output stream. - The property can be set to direct the output to the - error stream. - - - NOTE: This appender writes each message to the System.Console.Out or - System.Console.Error that is set at the time the event is appended. - Therefore it is possible to programmatically redirect the output of this appender - (for example NUnit does this to capture program output). While this is the desired - behavior of this appender it may have security implications in your application. - - - Nicko Cadell - Gert Driesen - - - - The to use when writing to the Console - standard output stream. - - - - The to use when writing to the Console - standard output stream. - - - - - - The to use when writing to the Console - standard error output stream. - - - - The to use when writing to the Console - standard error output stream. - - - - - - Initializes a new instance of the class. - - - The instance of the class is set up to write - to the standard output stream. - - - - - Initializes a new instance of the class - with the specified layout. - - the layout to use for this appender - - The instance of the class is set up to write - to the standard output stream. - - - - - Initializes a new instance of the class - with the specified layout. - - the layout to use for this appender - flag set to true to write to the console error stream - - When is set to true, output is written to - the standard error output stream. Otherwise, output is written to the standard - output stream. - - - - - This method is called by the method. - - The event to log. - - - Writes the event to the console. - - - The format of the output will depend on the appender's layout. - - - - - - Target is the value of the console output stream. - This is either "Console.Out" or "Console.Error". - - - Target is the value of the console output stream. - This is either "Console.Out" or "Console.Error". - - - - Target is the value of the console output stream. - This is either "Console.Out" or "Console.Error". - - - - - - This appender requires a to be set. - - true - - - This appender requires a to be set. - - - - - - Appends log events to the system. - - - - The application configuration file can be used to control what listeners - are actually used. See the MSDN documentation for the - class for details on configuring the - debug system. - - - Events are written using the - method. The event's logger name is passed as the value for the category name to the Write method. - - - Nicko Cadell - - - - Initializes a new instance of the . - - - - Default constructor. - - - - - - Initializes a new instance of the - with a specified layout. - - The layout to use with this appender. - - - Obsolete constructor. - - - - - - Writes the logging event to the system. - - The event to log. - - - Writes the logging event to the system. - If is true then the - is called. - - - - - - Immediate flush means that the underlying writer or output stream - will be flushed at the end of each append operation. - - - - Immediate flush is slower but ensures that each append request is - actually written. If is set to - false, then there is a good chance that the last few - logs events are not actually written to persistent media if and - when the application crashes. - - - The default value is true. - - - - - Gets or sets a value that indicates whether the appender will - flush at the end of each write. - - - The default behavior is to flush at the end of each - write. If the option is set tofalse, then the underlying - stream can defer writing to physical medium to a later time. - - - Avoiding the flush operation at the end of each append results - in a performance gain of 10 to 20 percent. However, there is safety - trade-off involved in skipping flushing. Indeed, when flushing is - skipped, then it is likely that the last few log events will not - be recorded on disk when the application exits. This is a high - price to pay even for a 20% performance gain. - - - - - - This appender requires a to be set. - - true - - - This appender requires a to be set. - - - - - - Writes events to the system event log. - - - - The EventID of the event log entry can be - set using the EventLogEventID property () - on the . - - - There is a limit of 32K characters for an event log message - - - When configuring the EventLogAppender a mapping can be - specified to map a logging level to an event log entry type. For example: - - - <mapping> - <level value="ERROR" /> - <eventLogEntryType value="Error" /> - </mapping> - <mapping> - <level value="DEBUG" /> - <eventLogEntryType value="Information" /> - </mapping> - - - The Level is the standard log4net logging level and eventLogEntryType can be any value - from the enum, i.e.: - - Erroran error event - Warninga warning event - Informationan informational event - - - - Aspi Havewala - Douglas de la Torre - Nicko Cadell - Gert Driesen - Thomas Voss - - - - Initializes a new instance of the class. - - - - Default constructor. - - - - - - Initializes a new instance of the class - with the specified . - - The to use with this appender. - - - Obsolete constructor. - - - - - - Add a mapping of level to - done by the config file - - The mapping to add - - - Add a mapping to this appender. - Each mapping defines the event log entry type for a level. - - - - - - Initialize the appender based on the options set - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - - - - Create an event log source - - - Uses different API calls under NET_2_0 - - - - - This method is called by the - method. - - the event to log - - Writes the event to the system event log using the - . - - If the event has an EventID property (see ) - set then this integer will be used as the event log event id. - - - There is a limit of 32K characters for an event log message - - - - - - Get the equivalent for a - - the Level to convert to an EventLogEntryType - The equivalent for a - - Because there are fewer applicable - values to use in logging levels than there are in the - this is a one way mapping. There is - a loss of information during the conversion. - - - - - The log name is the section in the event logs where the messages - are stored. - - - - - Name of the application to use when logging. This appears in the - application column of the event log named by . - - - - - The name of the machine which holds the event log. This is - currently only allowed to be '.' i.e. the current machine. - - - - - Mapping from level object to EventLogEntryType - - - - - The security context to use for privileged calls - - - - - The name of the log where messages will be stored. - - - The string name of the log where messages will be stored. - - - This is the name of the log as it appears in the Event Viewer - tree. The default value is to log into the Application - log, this is where most applications write their events. However - if you need a separate log for your application (or applications) - then you should set the appropriately. - This should not be used to distinguish your event log messages - from those of other applications, the - property should be used to distinguish events. This property should be - used to group together events into a single log. - - - - - - Property used to set the Application name. This appears in the - event logs when logging. - - - The string used to distinguish events from different sources. - - - Sets the event log source property. - - - - - This property is used to return the name of the computer to use - when accessing the event logs. Currently, this is the current - computer, denoted by a dot "." - - - The string name of the machine holding the event log that - will be logged into. - - - This property cannot be changed. It is currently set to '.' - i.e. the local machine. This may be changed in future. - - - - - Gets or sets the used to write to the EventLog. - - - The used to write to the EventLog. - - - - The system security context used to write to the EventLog. - - - Unless a specified here for this appender - the is queried for the - security context to use. The default behavior is to use the security context - of the current thread. - - - - - - This appender requires a to be set. - - true - - - This appender requires a to be set. - - - - - - A class to act as a mapping between the level that a logging call is made at and - the color it should be displayed as. - - - - Defines the mapping between a level and its event log entry type. - - - - - - The for this entry - - - - Required property. - The for this entry - - - - - - Appends logging events to a file. - - - - Logging events are sent to the file specified by - the property. - - - The file can be opened in either append or overwrite mode - by specifying the property. - If the file path is relative it is taken as relative from - the application base directory. The file encoding can be - specified by setting the property. - - - The layout's and - values will be written each time the file is opened and closed - respectively. If the property is - then the file may contain multiple copies of the header and footer. - - - This appender will first try to open the file for writing when - is called. This will typically be during configuration. - If the file cannot be opened for writing the appender will attempt - to open the file again each time a message is logged to the appender. - If the file cannot be opened for writing when a message is logged then - the message will be discarded by this appender. - - - The supports pluggable file locking models via - the property. - The default behavior, implemented by - is to obtain an exclusive write lock on the file until this appender is closed. - The alternative model, , only holds a - write lock while the appender is writing a logging event. - - - Nicko Cadell - Gert Driesen - Rodrigo B. de Oliveira - Douglas de la Torre - Niall Daley - - - - Sends logging events to a . - - - - An Appender that writes to a . - - - This appender may be used stand alone if initialized with an appropriate - writer, however it is typically used as a base class for an appender that - can open a to write to. - - - Nicko Cadell - Gert Driesen - Douglas de la Torre - - - - Initializes a new instance of the class. - - - - Default constructor. - - - - - - Initializes a new instance of the class and - sets the output destination to a new initialized - with the specified . - - The layout to use with this appender. - The to output to. - - - Obsolete constructor. - - - - - - Initializes a new instance of the class and sets - the output destination to the specified . - - The layout to use with this appender - The to output to - - The must have been previously opened. - - - - Obsolete constructor. - - - - - - This method determines if there is a sense in attempting to append. - - - - This method checked if an output target has been set and if a - layout has been set. - - - false if any of the preconditions fail. - - - - This method is called by the - method. - - The event to log. - - - Writes a log statement to the output stream if the output stream exists - and is writable. - - - The format of the output will depend on the appender's layout. - - - - - - This method is called by the - method. - - The array of events to log. - - - This method writes all the bulk logged events to the output writer - before flushing the stream. - - - - - - Close this appender instance. The underlying stream or writer is also closed. - - - Closed appenders cannot be reused. - - - - - Writes the footer and closes the underlying . - - - - Writes the footer and closes the underlying . - - - - - - Closes the underlying . - - - - Closes the underlying . - - - - - - Clears internal references to the underlying - and other variables. - - - - Subclasses can override this method for an alternate closing behavior. - - - - - - Writes a footer as produced by the embedded layout's property. - - - - Writes a footer as produced by the embedded layout's property. - - - - - - Writes a header produced by the embedded layout's property. - - - - Writes a header produced by the embedded layout's property. - - - - - - Called to allow a subclass to lazily initialize the writer - - - - This method is called when an event is logged and the or - have not been set. This allows a subclass to - attempt to initialize the writer multiple times. - - - - - - This is the where logging events - will be written to. - - - - - Immediate flush means that the underlying - or output stream will be flushed at the end of each append operation. - - - - Immediate flush is slower but ensures that each append request is - actually written. If is set to - false, then there is a good chance that the last few - logging events are not actually persisted if and when the application - crashes. - - - The default value is true. - - - - - - Gets or set whether the appender will flush at the end - of each append operation. - - - - The default behavior is to flush at the end of each - append operation. - - - If this option is set to false, then the underlying - stream can defer persisting the logging event to a later - time. - - - - Avoiding the flush operation at the end of each append results in - a performance gain of 10 to 20 percent. However, there is safety - trade-off involved in skipping flushing. Indeed, when flushing is - skipped, then it is likely that the last few log events will not - be recorded on disk when the application exits. This is a high - price to pay even for a 20% performance gain. - - - - - Sets the where the log output will go. - - - - The specified must be open and writable. - - - The will be closed when the appender - instance is closed. - - - Note: Logging to an unopened will fail. - - - - - - Gets or set the and the underlying - , if any, for this appender. - - - The for this appender. - - - - - This appender requires a to be set. - - true - - - This appender requires a to be set. - - - - - - Gets or sets the where logging events - will be written to. - - - The where logging events are written. - - - - This is the where logging events - will be written to. - - - - - - Default constructor - - - - Default constructor - - - - - - Construct a new appender using the layout, file and append mode. - - the layout to use with this appender - the full path to the file to write to - flag to indicate if the file should be appended to - - - Obsolete constructor. - - - - - - Construct a new appender using the layout and file specified. - The file will be appended to. - - the layout to use with this appender - the full path to the file to write to - - - Obsolete constructor. - - - - - - Activate the options on the file appender. - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - This will cause the file to be opened. - - - - - - Closes any previously opened file and calls the parent's . - - - - Resets the filename and the file stream. - - - - - - Called to initialize the file writer - - - - Will be called for each logged message until the file is - successfully opened. - - - - - - This method is called by the - method. - - The event to log. - - - Writes a log statement to the output stream if the output stream exists - and is writable. - - - The format of the output will depend on the appender's layout. - - - - - - This method is called by the - method. - - The array of events to log. - - - Acquires the output file locks once before writing all the events to - the stream. - - - - - - Writes a footer as produced by the embedded layout's property. - - - - Writes a footer as produced by the embedded layout's property. - - - - - - Writes a header produced by the embedded layout's property. - - - - Writes a header produced by the embedded layout's property. - - - - - - Closes the underlying . - - - - Closes the underlying . - - - - - - Closes the previously opened file. - - - - Writes the to the file and then - closes the file. - - - - - - Sets and opens the file where the log output will go. The specified file must be writable. - - The path to the log file. Must be a fully qualified path. - If true will append to fileName. Otherwise will truncate fileName - - - Calls but guarantees not to throw an exception. - Errors are passed to the . - - - - - - Sets and opens the file where the log output will go. The specified file must be writable. - - The path to the log file. Must be a fully qualified path. - If true will append to fileName. Otherwise will truncate fileName - - - If there was already an opened file, then the previous file - is closed first. - - - This method will ensure that the directory structure - for the specified exists. - - - - - - Sets the quiet writer used for file output - - the file stream that has been opened for writing - - - This implementation of creates a - over the and passes it to the - method. - - - This method can be overridden by sub classes that want to wrap the - in some way, for example to encrypt the output - data using a System.Security.Cryptography.CryptoStream. - - - - - - Sets the quiet writer being used. - - the writer over the file stream that has been opened for writing - - - This method can be overridden by sub classes that want to - wrap the in some way. - - - - - - Convert a path into a fully qualified path. - - The path to convert. - The fully qualified path. - - - Converts the path specified to a fully - qualified path. If the path is relative it is - taken as relative from the application base - directory. - - - - - - Flag to indicate if we should append to the file - or overwrite the file. The default is to append. - - - - - The name of the log file. - - - - - The encoding to use for the file stream. - - - - - The security context to use for privileged calls - - - - - The stream to log to. Has added locking semantics - - - - - The locking model to use - - - - - Gets or sets the path to the file that logging will be written to. - - - The path to the file that logging will be written to. - - - - If the path is relative it is taken as relative from - the application base directory. - - - - - - Gets or sets a flag that indicates whether the file should be - appended to or overwritten. - - - Indicates whether the file should be appended to or overwritten. - - - - If the value is set to false then the file will be overwritten, if - it is set to true then the file will be appended to. - - The default value is true. - - - - - Gets or sets used to write to the file. - - - The used to write to the file. - - - - The default encoding set is - which is the encoding for the system's current ANSI code page. - - - - - - Gets or sets the used to write to the file. - - - The used to write to the file. - - - - Unless a specified here for this appender - the is queried for the - security context to use. The default behavior is to use the security context - of the current thread. - - - - - - Gets or sets the used to handle locking of the file. - - - The used to lock the file. - - - - Gets or sets the used to handle locking of the file. - - - There are two built in locking models, and . - The former locks the file from the start of logging to the end and the - later lock only for the minimal amount of time when logging each message. - - - The default locking model is the . - - - - - - Write only that uses the - to manage access to an underlying resource. - - - - - True asynchronous writes are not supported, the implementation forces a synchronous write. - - - - - Exception base type for log4net. - - - - This type extends . It - does not add any new functionality but does differentiate the - type of exception being thrown. - - - Nicko Cadell - Gert Driesen - - - - Constructor - - - - Initializes a new instance of the class. - - - - - - Constructor - - A message to include with the exception. - - - Initializes a new instance of the class with - the specified message. - - - - - - Constructor - - A message to include with the exception. - A nested exception to include. - - - Initializes a new instance of the class - with the specified message and inner exception. - - - - - - Serialization constructor - - The that holds the serialized object data about the exception being thrown. - The that contains contextual information about the source or destination. - - - Initializes a new instance of the class - with serialized data. - - - - - - Locking model base class - - - - Base class for the locking models available to the derived loggers. - - - - - - Open the output file - - The filename to use - Whether to append to the file, or overwrite - The encoding to use - - - Open the file specified and prepare for logging. - No writes will be made until is called. - Must be called before any calls to , - and . - - - - - - Close the file - - - - Close the file. No further writes will be made. - - - - - - Acquire the lock on the file - - A stream that is ready to be written to. - - - Acquire the lock on the file in preparation for writing to it. - Return a stream pointing to the file. - must be called to release the lock on the output file. - - - - - - Release the lock on the file - - - - Release the lock on the file. No further writes will be made to the - stream until is called again. - - - - - - Gets or sets the for this LockingModel - - - The for this LockingModel - - - - The file appender this locking model is attached to and working on - behalf of. - - - The file appender is used to locate the security context and the error handler to use. - - - The value of this property will be set before is - called. - - - - - - Hold an exclusive lock on the output file - - - - Open the file once for writing and hold it open until is called. - Maintains an exclusive lock on the file during this time. - - - - - - Open the file specified and prepare for logging. - - The filename to use - Whether to append to the file, or overwrite - The encoding to use - - - Open the file specified and prepare for logging. - No writes will be made until is called. - Must be called before any calls to , - and . - - - - - - Close the file - - - - Close the file. No further writes will be made. - - - - - - Acquire the lock on the file - - A stream that is ready to be written to. - - - Does nothing. The lock is already taken - - - - - - Release the lock on the file - - - - Does nothing. The lock will be released when the file is closed. - - - - - - Acquires the file lock for each write - - - - Opens the file once for each / cycle, - thus holding the lock for the minimal amount of time. This method of locking - is considerably slower than but allows - other processes to move/delete the log file whilst logging continues. - - - - - - Prepares to open the file when the first message is logged. - - The filename to use - Whether to append to the file, or overwrite - The encoding to use - - - Open the file specified and prepare for logging. - No writes will be made until is called. - Must be called before any calls to , - and . - - - - - - Close the file - - - - Close the file. No further writes will be made. - - - - - - Acquire the lock on the file - - A stream that is ready to be written to. - - - Acquire the lock on the file in preparation for writing to it. - Return a stream pointing to the file. - must be called to release the lock on the output file. - - - - - - Release the lock on the file - - - - Release the lock on the file. No further writes will be made to the - stream until is called again. - - - - - - This appender forwards logging events to attached appenders. - - - - The forwarding appender can be used to specify different thresholds - and filters for the same appender at different locations within the hierarchy. - - - Nicko Cadell - Gert Driesen - - - - Initializes a new instance of the class. - - - - Default constructor. - - - - - - Closes the appender and releases resources. - - - - Releases any resources allocated within the appender such as file handles, - network connections, etc. - - - It is a programming error to append to a closed appender. - - - - - - Forward the logging event to the attached appenders - - The event to log. - - - Delivers the logging event to all the attached appenders. - - - - - - Forward the logging events to the attached appenders - - The array of events to log. - - - Delivers the logging events to all the attached appenders. - - - - - - Adds an to the list of appenders of this - instance. - - The to add to this appender. - - - If the specified is already in the list of - appenders, then it won't be added again. - - - - - - Looks for the appender with the specified name. - - The name of the appender to lookup. - - The appender with the specified name, or null. - - - - Get the named appender attached to this appender. - - - - - - Removes all previously added appenders from this appender. - - - - This is useful when re-reading configuration information. - - - - - - Removes the specified appender from the list of appenders. - - The appender to remove. - The appender removed from the list - - The appender removed is not closed. - If you are discarding the appender you must call - on the appender removed. - - - - - Removes the appender with the specified name from the list of appenders. - - The name of the appender to remove. - The appender removed from the list - - The appender removed is not closed. - If you are discarding the appender you must call - on the appender removed. - - - - - Implementation of the interface - - - - - Gets the appenders contained in this appender as an - . - - - If no appenders can be found, then an - is returned. - - - A collection of the appenders in this appender. - - - - - Logs events to a local syslog service. - - - - This appender uses the POSIX libc library functions openlog, syslog, and closelog. - If these functions are not available on the local system then this appender will not work! - - - The functions openlog, syslog, and closelog are specified in SUSv2 and - POSIX 1003.1-2001 standards. These are used to log messages to the local syslog service. - - - This appender talks to a local syslog service. If you need to log to a remote syslog - daemon and you cannot configure your local syslog service to do this you may be - able to use the to log via UDP. - - - Syslog messages must have a facility and and a severity. The severity - is derived from the Level of the logging event. - The facility must be chosen from the set of defined syslog - values. The facilities list is predefined - and cannot be extended. - - - An identifier is specified with each log message. This can be specified - by setting the property. The identity (also know - as the tag) must not contain white space. The default value for the - identity is the application name (from ). - - - Rob Lyon - Nicko Cadell - - - - Initializes a new instance of the class. - - - This instance of the class is set up to write - to a local syslog service. - - - - - Add a mapping of level to severity - - The mapping to add - - - Adds a to this appender. - - - - - - Initialize the appender based on the options set. - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - - - - This method is called by the method. - - The event to log. - - - Writes the event to a remote syslog daemon. - - - The format of the output will depend on the appender's layout. - - - - - - Close the syslog when the appender is closed - - - - Close the syslog when the appender is closed - - - - - - Translates a log4net level to a syslog severity. - - A log4net level. - A syslog severity. - - - Translates a log4net level to a syslog severity. - - - - - - Generate a syslog priority. - - The syslog facility. - The syslog severity. - A syslog priority. - - - - The facility. The default facility is . - - - - - The message identity - - - - - Marshaled handle to the identity string. We have to hold on to the - string as the openlog and syslog APIs just hold the - pointer to the ident and dereference it for each log message. - - - - - Mapping from level object to syslog severity - - - - - Open connection to system logger. - - - - - Generate a log message. - - - - The libc syslog method takes a format string and a variable argument list similar - to the classic printf function. As this type of vararg list is not supported - by C# we need to specify the arguments explicitly. Here we have specified the - format string with a single message argument. The caller must set the format - string to "%s". - - - - - - Close descriptor used to write to system logger. - - - - - Message identity - - - - An identifier is specified with each log message. This can be specified - by setting the property. The identity (also know - as the tag) must not contain white space. The default value for the - identity is the application name (from ). - - - - - - Syslog facility - - - Set to one of the values. The list of - facilities is predefined and cannot be extended. The default value - is . - - - - - This appender requires a to be set. - - true - - - This appender requires a to be set. - - - - - - syslog severities - - - - The log4net Level maps to a syslog severity using the - method and the - class. The severity is set on . - - - - - - system is unusable - - - - - action must be taken immediately - - - - - critical conditions - - - - - error conditions - - - - - warning conditions - - - - - normal but significant condition - - - - - informational - - - - - debug-level messages - - - - - syslog facilities - - - - The syslog facility defines which subsystem the logging comes from. - This is set on the property. - - - - - - kernel messages - - - - - random user-level messages - - - - - mail system - - - - - system daemons - - - - - security/authorization messages - - - - - messages generated internally by syslogd - - - - - line printer subsystem - - - - - network news subsystem - - - - - UUCP subsystem - - - - - clock (cron/at) daemon - - - - - security/authorization messages (private) - - - - - ftp daemon - - - - - NTP subsystem - - - - - log audit - - - - - log alert - - - - - clock daemon - - - - - reserved for local use - - - - - reserved for local use - - - - - reserved for local use - - - - - reserved for local use - - - - - reserved for local use - - - - - reserved for local use - - - - - reserved for local use - - - - - reserved for local use - - - - - A class to act as a mapping between the level that a logging call is made at and - the syslog severity that is should be logged at. - - - - A class to act as a mapping between the level that a logging call is made at and - the syslog severity that is should be logged at. - - - - - - The mapped syslog severity for the specified level - - - - Required property. - The mapped syslog severity for the specified level - - - - - - Stores logging events in an array. - - - - The memory appender stores all the logging events - that are appended in an in-memory array. - - - Use the method to get - the current list of events that have been appended. - - - Use the method to clear the - current list of events. - - - Julian Biddle - Nicko Cadell - Gert Driesen - - - - Initializes a new instance of the class. - - - - Default constructor. - - - - - - Gets the events that have been logged. - - The events that have been logged - - - Gets the events that have been logged. - - - - - - This method is called by the method. - - the event to log - - Stores the in the events list. - - - - - Clear the list of events - - - Clear the list of events - - - - - The list of events that have been appended. - - - - - Value indicating which fields in the event should be fixed - - - By default all fields are fixed - - - - - Gets or sets a value indicating whether only part of the logging event - data should be fixed. - - - true if the appender should only fix part of the logging event - data, otherwise false. The default is false. - - - - Setting this property to true will cause only part of the event - data to be fixed and stored in the appender, hereby improving performance. - - - See for more information. - - - - - - Gets or sets the fields that will be fixed in the event - - - - The logging event needs to have certain thread specific values - captured before it can be buffered. See - for details. - - - - - - Logs entries by sending network messages using the - native function. - - - - You can send messages only to names that are active - on the network. If you send the message to a user name, - that user must be logged on and running the Messenger - service to receive the message. - - - The receiver will get a top most window displaying the - messages one at a time, therefore this appender should - not be used to deliver a high volume of messages. - - - The following table lists some possible uses for this appender : - - - - - Action - Property Value(s) - - - Send a message to a user account on the local machine - - - = <name of the local machine> - - - = <user name> - - - - - Send a message to a user account on a remote machine - - - = <name of the remote machine> - - - = <user name> - - - - - Send a message to a domain user account - - - = <name of a domain controller | uninitialized> - - - = <user name> - - - - - Send a message to all the names in a workgroup or domain - - - = <workgroup name | domain name>* - - - - - Send a message from the local machine to a remote machine - - - = <name of the local machine | uninitialized> - - - = <name of the remote machine> - - - - - - - Note : security restrictions apply for sending - network messages, see - for more information. - - - - - An example configuration section to log information - using this appender from the local machine, named - LOCAL_PC, to machine OPERATOR_PC : - - - - - - - - - - Nicko Cadell - Gert Driesen - - - - The DNS or NetBIOS name of the server on which the function is to execute. - - - - - The sender of the network message. - - - - - The message alias to which the message should be sent. - - - - - The security context to use for privileged calls - - - - - Initializes the appender. - - - The default constructor initializes all fields to their default values. - - - - - Initialize the appender based on the options set. - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - The appender will be ignored if no was specified. - - - The required property was not specified. - - - - This method is called by the method. - - The event to log. - - - Sends the event using a network message. - - - - - - Sends a buffer of information to a registered message alias. - - The DNS or NetBIOS name of the server on which the function is to execute. - The message alias to which the message buffer should be sent - The originator of the message. - The message text. - The length, in bytes, of the message text. - - - The following restrictions apply for sending network messages: - - - - - Platform - Requirements - - - Windows NT - - - No special group membership is required to send a network message. - - - Admin, Accounts, Print, or Server Operator group membership is required to - successfully send a network message on a remote server. - - - - - Windows 2000 or later - - - If you send a message on a domain controller that is running Active Directory, - access is allowed or denied based on the access control list (ACL) for the securable - object. The default ACL permits only Domain Admins and Account Operators to send a network message. - - - On a member server or workstation, only Administrators and Server Operators can send a network message. - - - - - - - For more information see Security Requirements for the Network Management Functions. - - - - - If the function succeeds, the return value is zero. - - - - - - Gets or sets the sender of the message. - - - The sender of the message. - - - If this property is not specified, the message is sent from the local computer. - - - - - Gets or sets the message alias to which the message should be sent. - - - The recipient of the message. - - - This property should always be specified in order to send a message. - - - - - Gets or sets the DNS or NetBIOS name of the remote server on which the function is to execute. - - - DNS or NetBIOS name of the remote server on which the function is to execute. - - - - For Windows NT 4.0 and earlier, the string should begin with \\. - - - If this property is not specified, the local computer is used. - - - - - - Gets or sets the used to call the NetSend method. - - - The used to call the NetSend method. - - - - Unless a specified here for this appender - the is queried for the - security context to use. The default behavior is to use the security context - of the current thread. - - - - - - This appender requires a to be set. - - true - - - This appender requires a to be set. - - - - - - Appends log events to the OutputDebugString system. - - - - OutputDebugStringAppender appends log events to the - OutputDebugString system. - - - The string is passed to the native OutputDebugString - function. - - - Nicko Cadell - Gert Driesen - - - - Initializes a new instance of the class. - - - - Default constructor. - - - - - - Write the logging event to the output debug string API - - the event to log - - - Write the logging event to the output debug string API - - - - - - Stub for OutputDebugString native method - - the string to output - - - Stub for OutputDebugString native method - - - - - - This appender requires a to be set. - - true - - - This appender requires a to be set. - - - - - - Logs events to a remote syslog daemon. - - - - The BSD syslog protocol is used to remotely log to - a syslog daemon. The syslogd listens for for messages - on UDP port 514. - - - The syslog UDP protocol is not authenticated. Most syslog daemons - do not accept remote log messages because of the security implications. - You may be able to use the LocalSyslogAppender to talk to a local - syslog service. - - - There is an RFC 3164 that claims to document the BSD Syslog Protocol. - This RFC can be seen here: http://www.faqs.org/rfcs/rfc3164.html. - This appender generates what the RFC calls an "Original Device Message", - i.e. does not include the TIMESTAMP or HOSTNAME fields. By observation - this format of message will be accepted by all current syslog daemon - implementations. The daemon will attach the current time and the source - hostname or IP address to any messages received. - - - Syslog messages must have a facility and and a severity. The severity - is derived from the Level of the logging event. - The facility must be chosen from the set of defined syslog - values. The facilities list is predefined - and cannot be extended. - - - An identifier is specified with each log message. This can be specified - by setting the property. The identity (also know - as the tag) must not contain white space. The default value for the - identity is the application name (from ). - - - Rob Lyon - Nicko Cadell - - - - Sends logging events as connectionless UDP datagrams to a remote host or a - multicast group using an . - - - - UDP guarantees neither that messages arrive, nor that they arrive in the correct order. - - - To view the logging results, a custom application can be developed that listens for logging - events. - - - When decoding events send via this appender remember to use the same encoding - to decode the events as was used to send the events. See the - property to specify the encoding to use. - - - - This example shows how to log receive logging events that are sent - on IP address 244.0.0.1 and port 8080 to the console. The event is - encoded in the packet as a unicode string and it is decoded as such. - - IPEndPoint remoteEndPoint = new IPEndPoint(IPAddress.Any, 0); - UdpClient udpClient; - byte[] buffer; - string loggingEvent; - - try - { - udpClient = new UdpClient(8080); - - while(true) - { - buffer = udpClient.Receive(ref remoteEndPoint); - loggingEvent = System.Text.Encoding.Unicode.GetString(buffer); - Console.WriteLine(loggingEvent); - } - } - catch(Exception e) - { - Console.WriteLine(e.ToString()); - } - - - Dim remoteEndPoint as IPEndPoint - Dim udpClient as UdpClient - Dim buffer as Byte() - Dim loggingEvent as String - - Try - remoteEndPoint = new IPEndPoint(IPAddress.Any, 0) - udpClient = new UdpClient(8080) - - While True - buffer = udpClient.Receive(ByRef remoteEndPoint) - loggingEvent = System.Text.Encoding.Unicode.GetString(buffer) - Console.WriteLine(loggingEvent) - Wend - Catch e As Exception - Console.WriteLine(e.ToString()) - End Try - - - An example configuration section to log information using this appender to the - IP 224.0.0.1 on port 8080: - - - - - - - - - - Gert Driesen - Nicko Cadell - - - - Initializes a new instance of the class. - - - The default constructor initializes all fields to their default values. - - - - - Initialize the appender based on the options set. - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - The appender will be ignored if no was specified or - an invalid remote or local TCP port number was specified. - - - The required property was not specified. - The TCP port number assigned to or is less than or greater than . - - - - This method is called by the method. - - The event to log. - - - Sends the event using an UDP datagram. - - - Exceptions are passed to the . - - - - - - Closes the UDP connection and releases all resources associated with - this instance. - - - - Disables the underlying and releases all managed - and unmanaged resources associated with the . - - - - - - Initializes the underlying connection. - - - - The underlying is initialized and binds to the - port number from which you intend to communicate. - - - Exceptions are passed to the . - - - - - - The IP address of the remote host or multicast group to which - the logging event will be sent. - - - - - The TCP port number of the remote host or multicast group to - which the logging event will be sent. - - - - - The cached remote endpoint to which the logging events will be sent. - - - - - The TCP port number from which the will communicate. - - - - - The instance that will be used for sending the - logging events. - - - - - The encoding to use for the packet. - - - - - Gets or sets the IP address of the remote host or multicast group to which - the underlying should sent the logging event. - - - The IP address of the remote host or multicast group to which the logging event - will be sent. - - - - Multicast addresses are identified by IP class D addresses (in the range 224.0.0.0 to - 239.255.255.255). Multicast packets can pass across different networks through routers, so - it is possible to use multicasts in an Internet scenario as long as your network provider - supports multicasting. - - - Hosts that want to receive particular multicast messages must register their interest by joining - the multicast group. Multicast messages are not sent to networks where no host has joined - the multicast group. Class D IP addresses are used for multicast groups, to differentiate - them from normal host addresses, allowing nodes to easily detect if a message is of interest. - - - Static multicast addresses that are needed globally are assigned by IANA. A few examples are listed in the table below: - - - - - IP Address - Description - - - 224.0.0.1 - - - Sends a message to all system on the subnet. - - - - - 224.0.0.2 - - - Sends a message to all routers on the subnet. - - - - - 224.0.0.12 - - - The DHCP server answers messages on the IP address 224.0.0.12, but only on a subnet. - - - - - - - A complete list of actually reserved multicast addresses and their owners in the ranges - defined by RFC 3171 can be found at the IANA web site. - - - The address range 239.0.0.0 to 239.255.255.255 is reserved for administrative scope-relative - addresses. These addresses can be reused with other local groups. Routers are typically - configured with filters to prevent multicast traffic in this range from flowing outside - of the local network. - - - - - - Gets or sets the TCP port number of the remote host or multicast group to which - the underlying should sent the logging event. - - - An integer value in the range to - indicating the TCP port number of the remote host or multicast group to which the logging event - will be sent. - - - The underlying will send messages to this TCP port number - on the remote host or multicast group. - - The value specified is less than or greater than . - - - - Gets or sets the TCP port number from which the underlying will communicate. - - - An integer value in the range to - indicating the TCP port number from which the underlying will communicate. - - - - The underlying will bind to this port for sending messages. - - - Setting the value to 0 (the default) will cause the udp client not to bind to - a local port. - - - The value specified is less than or greater than . - - - - Gets or sets used to write the packets. - - - The used to write the packets. - - - - The used to write the packets. - - - - - - Gets or sets the underlying . - - - The underlying . - - - creates a to send logging events - over a network. Classes deriving from can use this - property to get or set this . Use the underlying - returned from if you require access beyond that which - provides. - - - - - Gets or sets the cached remote endpoint to which the logging events should be sent. - - - The cached remote endpoint to which the logging events will be sent. - - - The method will initialize the remote endpoint - with the values of the and - properties. - - - - - This appender requires a to be set. - - true - - - This appender requires a to be set. - - - - - - Syslog port 514 - - - - - Initializes a new instance of the class. - - - This instance of the class is set up to write - to a remote syslog daemon. - - - - - Add a mapping of level to severity - - The mapping to add - - - Add a mapping to this appender. - - - - - - This method is called by the method. - - The event to log. - - - Writes the event to a remote syslog daemon. - - - The format of the output will depend on the appender's layout. - - - - - - Initialize the options for this appender - - - - Initialize the level to syslog severity mappings set on this appender. - - - - - - Translates a log4net level to a syslog severity. - - A log4net level. - A syslog severity. - - - Translates a log4net level to a syslog severity. - - - - - - Generate a syslog priority. - - The syslog facility. - The syslog severity. - A syslog priority. - - - Generate a syslog priority. - - - - - - The facility. The default facility is . - - - - - The message identity - - - - - Mapping from level object to syslog severity - - - - - Message identity - - - - An identifier is specified with each log message. This can be specified - by setting the property. The identity (also know - as the tag) must not contain white space. The default value for the - identity is the application name (from ). - - - - - - Syslog facility - - - Set to one of the values. The list of - facilities is predefined and cannot be extended. The default value - is . - - - - - syslog severities - - - - The syslog severities. - - - - - - system is unusable - - - - - action must be taken immediately - - - - - critical conditions - - - - - error conditions - - - - - warning conditions - - - - - normal but significant condition - - - - - informational - - - - - debug-level messages - - - - - syslog facilities - - - - The syslog facilities - - - - - - kernel messages - - - - - random user-level messages - - - - - mail system - - - - - system daemons - - - - - security/authorization messages - - - - - messages generated internally by syslogd - - - - - line printer subsystem - - - - - network news subsystem - - - - - UUCP subsystem - - - - - clock (cron/at) daemon - - - - - security/authorization messages (private) - - - - - ftp daemon - - - - - NTP subsystem - - - - - log audit - - - - - log alert - - - - - clock daemon - - - - - reserved for local use - - - - - reserved for local use - - - - - reserved for local use - - - - - reserved for local use - - - - - reserved for local use - - - - - reserved for local use - - - - - reserved for local use - - - - - reserved for local use - - - - - A class to act as a mapping between the level that a logging call is made at and - the syslog severity that is should be logged at. - - - - A class to act as a mapping between the level that a logging call is made at and - the syslog severity that is should be logged at. - - - - - - The mapped syslog severity for the specified level - - - - Required property. - The mapped syslog severity for the specified level - - - - - - Delivers logging events to a remote logging sink. - - - - This Appender is designed to deliver events to a remote sink. - That is any object that implements the - interface. It delivers the events using .NET remoting. The - object to deliver events to is specified by setting the - appenders property. - - The RemotingAppender buffers events before sending them. This allows it to - make more efficient use of the remoting infrastructure. - - Once the buffer is full the events are still not sent immediately. - They are scheduled to be sent using a pool thread. The effect is that - the send occurs asynchronously. This is very important for a - number of non obvious reasons. The remoting infrastructure will - flow thread local variables (stored in the ), - if they are marked as , across the - remoting boundary. If the server is not contactable then - the remoting infrastructure will clear the - objects from the . To prevent a logging failure from - having side effects on the calling application the remoting call must be made - from a separate thread to the one used by the application. A - thread is used for this. If no thread is available then - the events will block in the thread pool manager until a thread is available. - - Because the events are sent asynchronously using pool threads it is possible to close - this appender before all the queued events have been sent. - When closing the appender attempts to wait until all the queued events have been sent, but - this will timeout after 30 seconds regardless. - - If this appender is being closed because the - event has fired it may not be possible to send all the queued events. During process - exit the runtime limits the time that a - event handler is allowed to run for. If the runtime terminates the threads before - the queued events have been sent then they will be lost. To ensure that all events - are sent the appender must be closed before the application exits. See - for details on how to shutdown - log4net programmatically. - - - Nicko Cadell - Gert Driesen - Daniel Cazzulino - - - - Initializes a new instance of the class. - - - - Default constructor. - - - - - - Initialize the appender based on the options set - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - - - - Send the contents of the buffer to the remote sink. - - - The events are not sent immediately. They are scheduled to be sent - using a pool thread. The effect is that the send occurs asynchronously. - This is very important for a number of non obvious reasons. The remoting - infrastructure will flow thread local variables (stored in the ), - if they are marked as , across the - remoting boundary. If the server is not contactable then - the remoting infrastructure will clear the - objects from the . To prevent a logging failure from - having side effects on the calling application the remoting call must be made - from a separate thread to the one used by the application. A - thread is used for this. If no thread is available then - the events will block in the thread pool manager until a thread is available. - - The events to send. - - - - Override base class close. - - - - This method waits while there are queued work items. The events are - sent asynchronously using work items. These items - will be sent once a thread pool thread is available to send them, therefore - it is possible to close the appender before all the queued events have been - sent. - - This method attempts to wait until all the queued events have been sent, but this - method will timeout after 30 seconds regardless. - - If the appender is being closed because the - event has fired it may not be possible to send all the queued events. During process - exit the runtime limits the time that a - event handler is allowed to run for. - - - - - A work item is being queued into the thread pool - - - - - A work item from the thread pool has completed - - - - - Send the contents of the buffer to the remote sink. - - - This method is designed to be used with the . - This method expects to be passed an array of - objects in the state param. - - the logging events to send - - - - The URL of the remote sink. - - - - - The local proxy (.NET remoting) for the remote logging sink. - - - - - The number of queued callbacks currently waiting or executing - - - - - Event used to signal when there are no queued work items - - - This event is set when there are no queued work items. In this - state it is safe to close the appender. - - - - - Gets or sets the URL of the well-known object that will accept - the logging events. - - - The well-known URL of the remote sink. - - - - The URL of the remoting sink that will accept logging events. - The sink must implement the - interface. - - - - - - Interface used to deliver objects to a remote sink. - - - This interface must be implemented by a remoting sink - if the is to be used - to deliver logging events to the sink. - - - - - Delivers logging events to the remote sink - - Array of events to log. - - - Delivers logging events to the remote sink - - - - - - Appender that rolls log files based on size or date or both. - - - - RollingFileAppender can roll log files based on size or date or both - depending on the setting of the property. - When set to the log file will be rolled - once its size exceeds the . - When set to the log file will be rolled - once the date boundary specified in the property - is crossed. - When set to the log file will be - rolled once the date boundary specified in the property - is crossed, but within a date boundary the file will also be rolled - once its size exceeds the . - When set to the log file will be rolled when - the appender is configured. This effectively means that the log file can be - rolled once per program execution. - - - A of few additional optional features have been added: - - Attach date pattern for current log file - Backup number increments for newer files - Infinite number of backups by file size - - - - - - For large or infinite numbers of backup files a - greater than zero is highly recommended, otherwise all the backup files need - to be renamed each time a new backup is created. - - - When Date/Time based rolling is used setting - to will reduce the number of file renamings to few or none. - - - - - - Changing or without clearing - the log file directory of backup files will cause unexpected and unwanted side effects. - - - - - If Date/Time based rolling is enabled this appender will attempt to roll existing files - in the directory without a Date/Time tag based on the last write date of the base log file. - The appender only rolls the log file when a message is logged. If Date/Time based rolling - is enabled then the appender will not roll the log file at the Date/Time boundary but - at the point when the next message is logged after the boundary has been crossed. - - - - The extends the and - has the same behavior when opening the log file. - The appender will first try to open the file for writing when - is called. This will typically be during configuration. - If the file cannot be opened for writing the appender will attempt - to open the file again each time a message is logged to the appender. - If the file cannot be opened for writing when a message is logged then - the message will be discarded by this appender. - - - When rolling a backup file necessitates deleting an older backup file the - file to be deleted is moved to a temporary name before being deleted. - - - - - A maximum number of backup files when rolling on date/time boundaries is not supported. - - - - Nicko Cadell - Gert Driesen - Aspi Havewala - Douglas de la Torre - Edward Smit - - - - Initializes a new instance of the class. - - - - Default constructor. - - - - - - Sets the quiet writer being used. - - - This method can be overridden by sub classes. - - the writer to set - - - - Write out a logging event. - - the event to write to file. - - - Handles append time behavior for RollingFileAppender. This checks - if a roll over either by date (checked first) or time (checked second) - is need and then appends to the file last. - - - - - - Write out an array of logging events. - - the events to write to file. - - - Handles append time behavior for RollingFileAppender. This checks - if a roll over either by date (checked first) or time (checked second) - is need and then appends to the file last. - - - - - - Performs any required rolling before outputting the next event - - - - Handles append time behavior for RollingFileAppender. This checks - if a roll over either by date (checked first) or time (checked second) - is need and then appends to the file last. - - - - - - Creates and opens the file for logging. If - is false then the fully qualified name is determined and used. - - the name of the file to open - true to append to existing file - - This method will ensure that the directory structure - for the specified exists. - - - - - Get the current output file name - - the base file name - the output file name - - The output file name is based on the base fileName specified. - If is set then the output - file name is the same as the base file passed in. Otherwise - the output file depends on the date pattern, on the count - direction or both. - - - - - Determines curSizeRollBackups (only within the current roll point) - - - - - Generates a wildcard pattern that can be used to find all files - that are similar to the base file name. - - - - - - - Builds a list of filenames for all files matching the base filename plus a file - pattern. - - - - - - - Initiates a roll over if needed for crossing a date boundary since the last run. - - - - - Initializes based on existing conditions at time of . - - - - Initializes based on existing conditions at time of . - The following is done - - determine curSizeRollBackups (only within the current roll point) - initiates a roll over if needed for crossing a date boundary since the last run. - - - - - - - Does the work of bumping the 'current' file counter higher - to the highest count when an incremental file name is seen. - The highest count is either the first file (when count direction - is greater than 0) or the last file (when count direction less than 0). - In either case, we want to know the highest count that is present. - - - - - - - Takes a list of files and a base file name, and looks for - 'incremented' versions of the base file. Bumps the max - count up to the highest count seen. - - - - - - - Calculates the RollPoint for the datePattern supplied. - - the date pattern to calculate the check period for - The RollPoint that is most accurate for the date pattern supplied - - Essentially the date pattern is examined to determine what the - most suitable roll point is. The roll point chosen is the roll point - with the smallest period that can be detected using the date pattern - supplied. i.e. if the date pattern only outputs the year, month, day - and hour then the smallest roll point that can be detected would be - and hourly roll point as minutes could not be detected. - - - - - Initialize the appender based on the options set - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - Sets initial conditions including date/time roll over information, first check, - scheduledFilename, and calls to initialize - the current number of backups. - - - - - - Rollover the file(s) to date/time tagged file(s). - - set to true if the file to be rolled is currently open - - - Rollover the file(s) to date/time tagged file(s). - Resets curSizeRollBackups. - If fileIsOpen is set then the new file is opened (through SafeOpenFile). - - - - - - Renames file to file . - - Name of existing file to roll. - New name for file. - - - Renames file to file . It - also checks for existence of target file and deletes if it does. - - - - - - Test if a file exists at a specified path - - the path to the file - true if the file exists - - - Test if a file exists at a specified path - - - - - - Deletes the specified file if it exists. - - The file to delete. - - - Delete a file if is exists. - The file is first moved to a new filename then deleted. - This allows the file to be removed even when it cannot - be deleted, but it still can be moved. - - - - - - Implements file roll base on file size. - - - - If the maximum number of size based backups is reached - (curSizeRollBackups == maxSizeRollBackups) then the oldest - file is deleted -- its index determined by the sign of countDirection. - If countDirection < 0, then files - {File.1, ..., File.curSizeRollBackups -1} - are renamed to {File.2, ..., - File.curSizeRollBackups}. Moreover, File is - renamed File.1 and closed. - - - A new file is created to receive further log output. - - - If maxSizeRollBackups is equal to zero, then the - File is truncated with no backup files created. - - - If maxSizeRollBackups < 0, then File is - renamed if needed and no files are deleted. - - - - - - Implements file roll. - - the base name to rename - - - If the maximum number of size based backups is reached - (curSizeRollBackups == maxSizeRollBackups) then the oldest - file is deleted -- its index determined by the sign of countDirection. - If countDirection < 0, then files - {File.1, ..., File.curSizeRollBackups -1} - are renamed to {File.2, ..., - File.curSizeRollBackups}. - - - If maxSizeRollBackups is equal to zero, then the - File is truncated with no backup files created. - - - If maxSizeRollBackups < 0, then File is - renamed if needed and no files are deleted. - - - This is called by to rename the files. - - - - - - Get the start time of the next window for the current rollpoint - - the current date - the type of roll point we are working with - the start time for the next roll point an interval after the currentDateTime date - - - Returns the date of the next roll point after the currentDateTime date passed to the method. - - - The basic strategy is to subtract the time parts that are less significant - than the rollpoint from the current time. This should roll the time back to - the start of the time window for the current rollpoint. Then we add 1 window - worth of time and get the start time of the next window for the rollpoint. - - - - - - This object supplies the current date/time. Allows test code to plug in - a method to control this class when testing date/time based rolling. - - - - - The date pattern. By default, the pattern is set to ".yyyy-MM-dd" - meaning daily rollover. - - - - - The actual formatted filename that is currently being written to - or will be the file transferred to on roll over - (based on staticLogFileName). - - - - - The timestamp when we shall next recompute the filename. - - - - - Holds date of last roll over - - - - - The type of rolling done - - - - - The default maximum file size is 10MB - - - - - There is zero backup files by default - - - - - How many sized based backups have been made so far - - - - - The rolling file count direction. - - - - - The rolling mode used in this appender. - - - - - Cache flag set if we are rolling by date. - - - - - Cache flag set if we are rolling by size. - - - - - Value indicating whether to always log to the same file. - - - - - FileName provided in configuration. Used for rolling properly - - - - - The 1st of January 1970 in UTC - - - - - Gets or sets the date pattern to be used for generating file names - when rolling over on date. - - - The date pattern to be used for generating file names when rolling - over on date. - - - - Takes a string in the same format as expected by - . - - - This property determines the rollover schedule when rolling over - on date. - - - - - - Gets or sets the maximum number of backup files that are kept before - the oldest is erased. - - - The maximum number of backup files that are kept before the oldest is - erased. - - - - If set to zero, then there will be no backup files and the log file - will be truncated when it reaches . - - - If a negative number is supplied then no deletions will be made. Note - that this could result in very slow performance as a large number of - files are rolled over unless is used. - - - The maximum applies to each time based group of files and - not the total. - - - - - - Gets or sets the maximum size that the output file is allowed to reach - before being rolled over to backup files. - - - The maximum size in bytes that the output file is allowed to reach before being - rolled over to backup files. - - - - This property is equivalent to except - that it is required for differentiating the setter taking a - argument from the setter taking a - argument. - - - The default maximum file size is 10MB (10*1024*1024). - - - - - - Gets or sets the maximum size that the output file is allowed to reach - before being rolled over to backup files. - - - The maximum size that the output file is allowed to reach before being - rolled over to backup files. - - - - This property allows you to specify the maximum size with the - suffixes "KB", "MB" or "GB" so that the size is interpreted being - expressed respectively in kilobytes, megabytes or gigabytes. - - - For example, the value "10KB" will be interpreted as 10240 bytes. - - - The default maximum file size is 10MB. - - - If you have the option to set the maximum file size programmatically - consider using the property instead as this - allows you to set the size in bytes as a . - - - - - - Gets or sets the rolling file count direction. - - - The rolling file count direction. - - - - Indicates if the current file is the lowest numbered file or the - highest numbered file. - - - By default newer files have lower numbers ( < 0), - i.e. log.1 is most recent, log.5 is the 5th backup, etc... - - - >= 0 does the opposite i.e. - log.1 is the first backup made, log.5 is the 5th backup made, etc. - For infinite backups use >= 0 to reduce - rollover costs. - - The default file count direction is -1. - - - - - Gets or sets the rolling style. - - The rolling style. - - - The default rolling style is . - - - When set to this appender's - property is set to false, otherwise - the appender would append to a single file rather than rolling - the file each time it is opened. - - - - - - Gets or sets a value indicating whether to always log to - the same file. - - - true if always should be logged to the same file, otherwise false. - - - - By default file.log is always the current file. Optionally - file.log.yyyy-mm-dd for current formatted datePattern can by the currently - logging file (or file.log.curSizeRollBackup or even - file.log.yyyy-mm-dd.curSizeRollBackup). - - - This will make time based rollovers with a large number of backups - much faster as the appender it won't have to rename all the backups! - - - - - - Style of rolling to use - - - - Style of rolling to use - - - - - - Roll files once per program execution - - - - Roll files once per program execution. - Well really once each time this appender is - configured. - - - Setting this option also sets AppendToFile to - false on the RollingFileAppender, otherwise - this appender would just be a normal file appender. - - - - - - Roll files based only on the size of the file - - - - - Roll files based only on the date - - - - - Roll files based on both the size and date of the file - - - - - The code assumes that the following 'time' constants are in a increasing sequence. - - - - The code assumes that the following 'time' constants are in a increasing sequence. - - - - - - Roll the log not based on the date - - - - - Roll the log for each minute - - - - - Roll the log for each hour - - - - - Roll the log twice a day (midday and midnight) - - - - - Roll the log each day (midnight) - - - - - Roll the log each week - - - - - Roll the log each month - - - - - This interface is used to supply Date/Time information to the . - - - This interface is used to supply Date/Time information to the . - Used primarily to allow test classes to plug themselves in so they can - supply test date/times. - - - - - Gets the current time. - - The current time. - - - Gets the current time. - - - - - - Default implementation of that returns the current time. - - - - - Gets the current time. - - The current time. - - - Gets the current time. - - - - - - Send an e-mail when a specific logging event occurs, typically on errors - or fatal errors. - - - - The number of logging events delivered in this e-mail depend on - the value of option. The - keeps only the last - logging events in its - cyclic buffer. This keeps memory requirements at a reasonable level while - still delivering useful application context. - - - Authentication and setting the server Port are only available on the MS .NET 1.1 runtime. - For these features to be enabled you need to ensure that you are using a version of - the log4net assembly that is built against the MS .NET 1.1 framework and that you are - running the your application on the MS .NET 1.1 runtime. On all other platforms only sending - unauthenticated messages to a server listening on port 25 (the default) is supported. - - - Authentication is supported by setting the property to - either or . - If using authentication then the - and properties must also be set. - - - To set the SMTP server port use the property. The default port is 25. - - - Nicko Cadell - Gert Driesen - - - - Default constructor - - - - Default constructor - - - - - - Sends the contents of the cyclic buffer as an e-mail message. - - The logging events to send. - - - - Send the email message - - the body text to include in the mail - - - - Gets or sets a semicolon-delimited list of recipient e-mail addresses. - - - A semicolon-delimited list of e-mail addresses. - - - - A semicolon-delimited list of recipient e-mail addresses. - - - - - - Gets or sets the e-mail address of the sender. - - - The e-mail address of the sender. - - - - The e-mail address of the sender. - - - - - - Gets or sets the subject line of the e-mail message. - - - The subject line of the e-mail message. - - - - The subject line of the e-mail message. - - - - - - Gets or sets the name of the SMTP relay mail server to use to send - the e-mail messages. - - - The name of the e-mail relay server. If SmtpServer is not set, the - name of the local SMTP server is used. - - - - The name of the e-mail relay server. If SmtpServer is not set, the - name of the local SMTP server is used. - - - - - - Obsolete - - - Use the BufferingAppenderSkeleton Fix methods instead - - - - Obsolete property. - - - - - - The mode to use to authentication with the SMTP server - - - Authentication is only available on the MS .NET 1.1 runtime. - - Valid Authentication mode values are: , - , and . - The default value is . When using - you must specify the - and to use to authenticate. - When using the Windows credentials for the current - thread, if impersonating, or the process will be used to authenticate. - - - - - - The username to use to authenticate with the SMTP server - - - Authentication is only available on the MS .NET 1.1 runtime. - - A and must be specified when - is set to , - otherwise the username will be ignored. - - - - - - The password to use to authenticate with the SMTP server - - - Authentication is only available on the MS .NET 1.1 runtime. - - A and must be specified when - is set to , - otherwise the password will be ignored. - - - - - - The port on which the SMTP server is listening - - - Server Port is only available on the MS .NET 1.1 runtime. - - The port on which the SMTP server is listening. The default - port is 25. The Port can only be changed when running on - the MS .NET 1.1 runtime. - - - - - - Gets or sets the priority of the e-mail message - - - One of the values. - - - - Sets the priority of the e-mails generated by this - appender. The default priority is . - - - If you are using this appender to report errors then - you may want to set the priority to . - - - - - - This appender requires a to be set. - - true - - - This appender requires a to be set. - - - - - - Values for the property. - - - - SMTP authentication modes. - - - - - - No authentication - - - - - Basic authentication. - - - Requires a username and password to be supplied - - - - - Integrated authentication - - - Uses the Windows credentials from the current thread or process to authenticate. - - - - - Send an email when a specific logging event occurs, typically on errors - or fatal errors. Rather than sending via smtp it writes a file into the - directory specified by . This allows services such - as the IIS SMTP agent to manage sending the messages. - - - - The configuration for this appender is identical to that of the SMTPAppender, - except that instead of specifying the SMTPAppender.SMTPHost you specify - . - - - The number of logging events delivered in this e-mail depend on - the value of option. The - keeps only the last - logging events in its - cyclic buffer. This keeps memory requirements at a reasonable level while - still delivering useful application context. - - - Niall Daley - Nicko Cadell - - - - Default constructor - - - - Default constructor - - - - - - Sends the contents of the cyclic buffer as an e-mail message. - - The logging events to send. - - - Sends the contents of the cyclic buffer as an e-mail message. - - - - - - Activate the options on this appender. - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - - - - Convert a path into a fully qualified path. - - The path to convert. - The fully qualified path. - - - Converts the path specified to a fully - qualified path. If the path is relative it is - taken as relative from the application base - directory. - - - - - - The security context to use for privileged calls - - - - - Gets or sets a semicolon-delimited list of recipient e-mail addresses. - - - A semicolon-delimited list of e-mail addresses. - - - - A semicolon-delimited list of e-mail addresses. - - - - - - Gets or sets the e-mail address of the sender. - - - The e-mail address of the sender. - - - - The e-mail address of the sender. - - - - - - Gets or sets the subject line of the e-mail message. - - - The subject line of the e-mail message. - - - - The subject line of the e-mail message. - - - - - - Gets or sets the path to write the messages to. - - - - Gets or sets the path to write the messages to. This should be the same - as that used by the agent sending the messages. - - - - - - Gets or sets the used to write to the pickup directory. - - - The used to write to the pickup directory. - - - - Unless a specified here for this appender - the is queried for the - security context to use. The default behavior is to use the security context - of the current thread. - - - - - - This appender requires a to be set. - - true - - - This appender requires a to be set. - - - - - - Appender that allows clients to connect via Telnet to receive log messages - - - - The TelnetAppender accepts socket connections and streams logging messages - back to the client. - The output is provided in a telnet-friendly way so that a log can be monitored - over a TCP/IP socket. - This allows simple remote monitoring of application logging. - - - The default is 23 (the telnet port). - - - Keith Long - Nicko Cadell - - - - Default constructor - - - - Default constructor - - - - - - Overrides the parent method to close the socket handler - - - - Closes all the outstanding connections. - - - - - - Initialize the appender based on the options set. - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - Create the socket handler and wait for connections - - - - - - Writes the logging event to each connected client. - - The event to log. - - - Writes the logging event to each connected client. - - - - - - Gets or sets the TCP port number on which this will listen for connections. - - - An integer value in the range to - indicating the TCP port number on which this will listen for connections. - - - - The default value is 23 (the telnet port). - - - The value specified is less than - or greater than . - - - - This appender requires a to be set. - - true - - - This appender requires a to be set. - - - - - - Helper class to manage connected clients - - - - The SocketHandler class is used to accept connections from - clients. It is threaded so that clients can connect/disconnect - asynchronously. - - - - - - Opens a new server port on - - the local port to listen on for connections - - - Creates a socket handler on the specified local server port. - - - - - - Sends a string message to each of the connected clients - - the text to send - - - Sends a string message to each of the connected clients - - - - - - Add a client to the internal clients list - - client to add - - - - Remove a client from the internal clients list - - client to remove - - - - Callback used to accept a connection on the server socket - - The result of the asynchronous operation - - - On connection adds to the list of connections - if there are two many open connections you will be disconnected - - - - - - Close all network connections - - - - Make sure we close all network connections - - - - - - Test if this handler has active connections - - - true if this handler has active connections - - - - This property will be true while this handler has - active connections, that is at least one connection that - the handler will attempt to send a message to. - - - - - - Class that represents a client connected to this handler - - - - Class that represents a client connected to this handler - - - - - - Create this for the specified - - the client's socket - - - Opens a stream writer on the socket. - - - - - - Write a string to the client - - string to send - - - Write a string to the client - - - - - - Cleanup the clients connection - - - - Close the socket connection. - - - - - - Appends log events to the system. - - - - The application configuration file can be used to control what listeners - are actually used. See the MSDN documentation for the - class for details on configuring the - trace system. - - - Events are written using the System.Diagnostics.Trace.Write(string,string) - method. The event's logger name is passed as the value for the category name to the Write method. - - - Compact Framework
- The Compact Framework does not support the - class for any operation except Assert. When using the Compact Framework this - appender will write to the system rather than - the Trace system. This appender will therefore behave like the . -
-
- Douglas de la Torre - Nicko Cadell - Gert Driesen -
- - - Initializes a new instance of the . - - - - Default constructor. - - - - - - Initializes a new instance of the - with a specified layout. - - The layout to use with this appender. - - - Obsolete constructor. - - - - - - Writes the logging event to the system. - - The event to log. - - - Writes the logging event to the system. - - - - - - Immediate flush means that the underlying writer or output stream - will be flushed at the end of each append operation. - - - - Immediate flush is slower but ensures that each append request is - actually written. If is set to - false, then there is a good chance that the last few - logs events are not actually written to persistent media if and - when the application crashes. - - - The default value is true. - - - - - Gets or sets a value that indicates whether the appender will - flush at the end of each write. - - - The default behavior is to flush at the end of each - write. If the option is set tofalse, then the underlying - stream can defer writing to physical medium to a later time. - - - Avoiding the flush operation at the end of each append results - in a performance gain of 10 to 20 percent. However, there is safety - trade-off involved in skipping flushing. Indeed, when flushing is - skipped, then it is likely that the last few log events will not - be recorded on disk when the application exits. This is a high - price to pay even for a 20% performance gain. - - - - - - This appender requires a to be set. - - true - - - This appender requires a to be set. - - - - - - Assembly level attribute that specifies a domain to alias to this assembly's repository. - - - - AliasDomainAttribute is obsolete. Use AliasRepositoryAttribute instead of AliasDomainAttribute. - - - An assembly's logger repository is defined by its , - however this can be overridden by an assembly loaded before the target assembly. - - - An assembly can alias another assembly's domain to its repository by - specifying this attribute with the name of the target domain. - - - This attribute can only be specified on the assembly and may be used - as many times as necessary to alias all the required domains. - - - Nicko Cadell - Gert Driesen - - - - Assembly level attribute that specifies a repository to alias to this assembly's repository. - - - - An assembly's logger repository is defined by its , - however this can be overridden by an assembly loaded before the target assembly. - - - An assembly can alias another assembly's repository to its repository by - specifying this attribute with the name of the target repository. - - - This attribute can only be specified on the assembly and may be used - as many times as necessary to alias all the required repositories. - - - Nicko Cadell - Gert Driesen - - - - Initializes a new instance of the class with - the specified repository to alias to this assembly's repository. - - The repository to alias to this assemby's repository. - - - Initializes a new instance of the class with - the specified repository to alias to this assembly's repository. - - - - - - Gets or sets the repository to alias to this assemby's repository. - - - The repository to alias to this assemby's repository. - - - - The name of the repository to alias to this assemby's repository. - - - - - - Initializes a new instance of the class with - the specified domain to alias to this assembly's repository. - - The domain to alias to this assemby's repository. - - - Obsolete. Use instead of . - - - - - - Use this class to quickly configure a . - - - - Allows very simple programmatic configuration of log4net. - - - Only one appender can be configured using this configurator. - The appender is set at the root of the hierarchy and all logging - events will be delivered to that appender. - - - Appenders can also implement the interface. Therefore - they would require that the method - be called after the appenders properties have been configured. - - - Nicko Cadell - Gert Driesen - - - - Initializes a new instance of the class. - - - - Uses a private access modifier to prevent instantiation of this class. - - - - - - Initializes the log4net system with a default configuration. - - - - Initializes the log4net logging system using a - that will write to Console.Out. The log messages are - formatted using the layout object - with the - layout style. - - - - - - Initializes the log4net system using the specified appender. - - The appender to use to log all logging events. - - - Initializes the log4net system using the specified appender. - - - - - - Initializes the with a default configuration. - - The repository to configure. - - - Initializes the specified repository using a - that will write to Console.Out. The log messages are - formatted using the layout object - with the - layout style. - - - - - - Initializes the using the specified appender. - - The repository to configure. - The appender to use to log all logging events. - - - Initializes the using the specified appender. - - - - - - Base class for all log4net configuration attributes. - - - This is an abstract class that must be extended by - specific configurators. This attribute allows the - configurator to be parameterized by an assembly level - attribute. - - Nicko Cadell - Gert Driesen - - - - Constructor used by subclasses. - - the ordering priority for this configurator - - - The is used to order the configurator - attributes before they are invoked. Higher priority configurators are executed - before lower priority ones. - - - - - - Configures the for the specified assembly. - - The assembly that this attribute was defined on. - The repository to configure. - - - Abstract method implemented by a subclass. When this method is called - the subclass should configure the . - - - - - - Compare this instance to another ConfiguratorAttribute - - the object to compare to - see - - - Compares the priorities of the two instances. - Sorts by priority in descending order. Objects with the same priority are - randomly ordered. - - - - - - Assembly level attribute that specifies the logging domain for the assembly. - - - - DomainAttribute is obsolete. Use RepositoryAttribute instead of DomainAttribute. - - - Assemblies are mapped to logging domains. Each domain has its own - logging repository. This attribute specified on the assembly controls - the configuration of the domain. The property specifies the name - of the domain that this assembly is a part of. The - specifies the type of the repository objects to create for the domain. If - this attribute is not specified and a is not specified - then the assembly will be part of the default shared logging domain. - - - This attribute can only be specified on the assembly and may only be used - once per assembly. - - - Nicko Cadell - Gert Driesen - - - - Assembly level attribute that specifies the logging repository for the assembly. - - - - Assemblies are mapped to logging repository. This attribute specified - on the assembly controls - the configuration of the repository. The property specifies the name - of the repository that this assembly is a part of. The - specifies the type of the object - to create for the assembly. If this attribute is not specified or a - is not specified then the assembly will be part of the default shared logging repository. - - - This attribute can only be specified on the assembly and may only be used - once per assembly. - - - Nicko Cadell - Gert Driesen - - - - Initializes a new instance of the class. - - - - Default constructor. - - - - - - Initialize a new instance of the class - with the name of the repository. - - The name of the repository. - - - Initialize the attribute with the name for the assembly's repository. - - - - - - Gets or sets the name of the logging repository. - - - The string name to use as the name of the repository associated with this - assembly. - - - - This value does not have to be unique. Several assemblies can share the - same repository. They will share the logging configuration of the repository. - - - - - - Gets or sets the type of repository to create for this assembly. - - - The type of repository to create for this assembly. - - - - The type of the repository to create for the assembly. - The type must implement the - interface. - - - This will be the type of repository created when - the repository is created. If multiple assemblies reference the - same repository then the repository is only created once using the - of the first assembly to call into the - repository. - - - - - - Initializes a new instance of the class. - - - - Obsolete. Use RepositoryAttribute instead of DomainAttribute. - - - - - - Initialize a new instance of the class - with the name of the domain. - - The name of the domain. - - - Obsolete. Use RepositoryAttribute instead of DomainAttribute. - - - - - - Use this class to initialize the log4net environment using an Xml tree. - - - - DOMConfigurator is obsolete. Use XmlConfigurator instead of DOMConfigurator. - - - Configures a using an Xml tree. - - - Nicko Cadell - Gert Driesen - - - - Private constructor - - - - - Automatically configures the log4net system based on the - application's configuration settings. - - - - DOMConfigurator is obsolete. Use XmlConfigurator instead of DOMConfigurator. - - Each application has a configuration file. This has the - same name as the application with '.config' appended. - This file is XML and calling this function prompts the - configurator to look in that file for a section called - log4net that contains the configuration data. - - - - - Automatically configures the using settings - stored in the application's configuration file. - - - - DOMConfigurator is obsolete. Use XmlConfigurator instead of DOMConfigurator. - - Each application has a configuration file. This has the - same name as the application with '.config' appended. - This file is XML and calling this function prompts the - configurator to look in that file for a section called - log4net that contains the configuration data. - - The repository to configure. - - - - Configures log4net using a log4net element - - - - DOMConfigurator is obsolete. Use XmlConfigurator instead of DOMConfigurator. - - Loads the log4net configuration from the XML element - supplied as . - - The element to parse. - - - - Configures the using the specified XML - element. - - - - DOMConfigurator is obsolete. Use XmlConfigurator instead of DOMConfigurator. - - Loads the log4net configuration from the XML element - supplied as . - - The repository to configure. - The element to parse. - - - - Configures log4net using the specified configuration file. - - The XML file to load the configuration from. - - - DOMConfigurator is obsolete. Use XmlConfigurator instead of DOMConfigurator. - - - The configuration file must be valid XML. It must contain - at least one element called log4net that holds - the log4net configuration data. - - - The log4net configuration file can possible be specified in the application's - configuration file (either MyAppName.exe.config for a - normal application on Web.config for an ASP.NET application). - - - The following example configures log4net using a configuration file, of which the - location is stored in the application's configuration file : - - - using log4net.Config; - using System.IO; - using System.Configuration; - - ... - - DOMConfigurator.Configure(new FileInfo(ConfigurationSettings.AppSettings["log4net-config-file"])); - - - In the .config file, the path to the log4net can be specified like this : - - - - - - - - - - - - - Configures log4net using the specified configuration file. - - A stream to load the XML configuration from. - - - DOMConfigurator is obsolete. Use XmlConfigurator instead of DOMConfigurator. - - - The configuration data must be valid XML. It must contain - at least one element called log4net that holds - the log4net configuration data. - - - Note that this method will NOT close the stream parameter. - - - - - - Configures the using the specified configuration - file. - - The repository to configure. - The XML file to load the configuration from. - - - DOMConfigurator is obsolete. Use XmlConfigurator instead of DOMConfigurator. - - - The configuration file must be valid XML. It must contain - at least one element called log4net that holds - the configuration data. - - - The log4net configuration file can possible be specified in the application's - configuration file (either MyAppName.exe.config for a - normal application on Web.config for an ASP.NET application). - - - The following example configures log4net using a configuration file, of which the - location is stored in the application's configuration file : - - - using log4net.Config; - using System.IO; - using System.Configuration; - - ... - - DOMConfigurator.Configure(new FileInfo(ConfigurationSettings.AppSettings["log4net-config-file"])); - - - In the .config file, the path to the log4net can be specified like this : - - - - - - - - - - - - - Configures the using the specified configuration - file. - - The repository to configure. - The stream to load the XML configuration from. - - - DOMConfigurator is obsolete. Use XmlConfigurator instead of DOMConfigurator. - - - The configuration data must be valid XML. It must contain - at least one element called log4net that holds - the configuration data. - - - Note that this method will NOT close the stream parameter. - - - - - - Configures log4net using the file specified, monitors the file for changes - and reloads the configuration if a change is detected. - - The XML file to load the configuration from. - - - DOMConfigurator is obsolete. Use XmlConfigurator instead of DOMConfigurator. - - - The configuration file must be valid XML. It must contain - at least one element called log4net that holds - the configuration data. - - - The configuration file will be monitored using a - and depends on the behavior of that class. - - - For more information on how to configure log4net using - a separate configuration file, see . - - - - - - - Configures the using the file specified, - monitors the file for changes and reloads the configuration if a change - is detected. - - The repository to configure. - The XML file to load the configuration from. - - - DOMConfigurator is obsolete. Use XmlConfigurator instead of DOMConfigurator. - - - The configuration file must be valid XML. It must contain - at least one element called log4net that holds - the configuration data. - - - The configuration file will be monitored using a - and depends on the behavior of that class. - - - For more information on how to configure log4net using - a separate configuration file, see . - - - - - - - Assembly level attribute to configure the . - - - - AliasDomainAttribute is obsolete. Use AliasRepositoryAttribute instead of AliasDomainAttribute. - - - This attribute may only be used at the assembly scope and can only - be used once per assembly. - - - Use this attribute to configure the - without calling one of the - methods. - - - Nicko Cadell - Gert Driesen - - - - Assembly level attribute to configure the . - - - - This attribute may only be used at the assembly scope and can only - be used once per assembly. - - - Use this attribute to configure the - without calling one of the - methods. - - - If neither of the or - properties are set the configuration is loaded from the application's .config file. - If set the property takes priority over the - property. The property - specifies a path to a file to load the config from. The path is relative to the - application's base directory; . - The property is used as a postfix to the assembly file name. - The config file must be located in the application's base directory; . - For example in a console application setting the to - config has the same effect as not specifying the or - properties. - - - The property can be set to cause the - to watch the configuration file for changes. - - - - Log4net will only look for assembly level configuration attributes once. - When using the log4net assembly level attributes to control the configuration - of log4net you must ensure that the first call to any of the - methods is made from the assembly with the configuration - attributes. - - - If you cannot guarantee the order in which log4net calls will be made from - different assemblies you must use programmatic configuration instead, i.e. - call the method directly. - - - - Nicko Cadell - Gert Driesen - - - - Default constructor - - - - Default constructor - - - - - - Configures the for the specified assembly. - - The assembly that this attribute was defined on. - The repository to configure. - - - Configure the repository using the . - The specified must extend the - class otherwise the will not be able to - configure it. - - - The does not extend . - - - - Attempt to load configuration from the local file system - - The assembly that this attribute was defined on. - The repository to configure. - - - - Configure the specified repository using a - - The repository to configure. - the FileInfo pointing to the config file - - - - Attempt to load configuration from a URI - - The assembly that this attribute was defined on. - The repository to configure. - - - - Gets or sets the filename of the configuration file. - - - The filename of the configuration file. - - - - If specified, this is the name of the configuration file to use with - the . This file path is relative to the - application base directory (). - - - The takes priority over the . - - - - - - Gets or sets the extension of the configuration file. - - - The extension of the configuration file. - - - - If specified this is the extension for the configuration file. - The path to the config file is built by using the application - base directory (), - the assembly file name and the config file extension. - - - If the is set to MyExt then - possible config file names would be: MyConsoleApp.exe.MyExt or - MyClassLibrary.dll.MyExt. - - - The takes priority over the . - - - - - - Gets or sets a value indicating whether to watch the configuration file. - - - true if the configuration should be watched, false otherwise. - - - - If this flag is specified and set to true then the framework - will watch the configuration file and will reload the config each time - the file is modified. - - - The config file can only be watched if it is loaded from local disk. - In a No-Touch (Smart Client) deployment where the application is downloaded - from a web server the config file may not reside on the local disk - and therefore it may not be able to watch it. - - - Watching configuration is not supported on the SSCLI. - - - - - - Class to register for the log4net section of the configuration file - - - The log4net section of the configuration file needs to have a section - handler registered. This is the section handler used. It simply returns - the XML element that is the root of the section. - - - Example of registering the log4net section handler : - - - -
- - - log4net configuration XML goes here - - - - - Nicko Cadell - Gert Driesen - - - - Initializes a new instance of the class. - - - - Default constructor. - - - - - - Parses the configuration section. - - The configuration settings in a corresponding parent configuration section. - The configuration context when called from the ASP.NET configuration system. Otherwise, this parameter is reserved and is a null reference. - The for the log4net section. - The for the log4net section. - - - Returns the containing the configuration data, - - - - - - Assembly level attribute that specifies a plugin to attach to - the repository. - - - - Specifies the type of a plugin to create and attach to the - assembly's repository. The plugin type must implement the - interface. - - - Nicko Cadell - Gert Driesen - - - - Interface used to create plugins. - - - - Interface used to create a plugin. - - - Nicko Cadell - Gert Driesen - - - - Creates the plugin object. - - the new plugin instance - - - Create and return a new plugin instance. - - - - - - Initializes a new instance of the class - with the specified type. - - The type name of plugin to create. - - - Create the attribute with the plugin type specified. - - - Where possible use the constructor that takes a . - - - - - - Initializes a new instance of the class - with the specified type. - - The type of plugin to create. - - - Create the attribute with the plugin type specified. - - - - - - Creates the plugin object defined by this attribute. - - - - Creates the instance of the object as - specified by this attribute. - - - The plugin object. - - - - Returns a representation of the properties of this object. - - - - Overrides base class method to - return a representation of the properties of this object. - - - A representation of the properties of this object - - - - Gets or sets the type for the plugin. - - - The type for the plugin. - - - - The type for the plugin. - - - - - - Gets or sets the type name for the plugin. - - - The type name for the plugin. - - - - The type name for the plugin. - - - Where possible use the property instead. - - - - - - Assembly level attribute to configure the . - - - - This attribute may only be used at the assembly scope and can only - be used once per assembly. - - - Use this attribute to configure the - without calling one of the - methods. - - - Nicko Cadell - - - - Construct provider attribute with type specified - - the type of the provider to use - - - The provider specified must subclass the - class. - - - - - - Configures the SecurityContextProvider - - The assembly that this attribute was defined on. - The repository to configure. - - - Creates a provider instance from the specified. - Sets this as the default security context provider . - - - - - - Gets or sets the type of the provider to use. - - - the type of the provider to use. - - - - The provider specified must subclass the - class. - - - - - - Use this class to initialize the log4net environment using an Xml tree. - - - - Configures a using an Xml tree. - - - Nicko Cadell - Gert Driesen - - - - Private constructor - - - - - Automatically configures the log4net system based on the - application's configuration settings. - - - - Each application has a configuration file. This has the - same name as the application with '.config' appended. - This file is XML and calling this function prompts the - configurator to look in that file for a section called - log4net that contains the configuration data. - - - To use this method to configure log4net you must specify - the section - handler for the log4net configuration section. See the - for an example. - - - - - - - Automatically configures the using settings - stored in the application's configuration file. - - - - Each application has a configuration file. This has the - same name as the application with '.config' appended. - This file is XML and calling this function prompts the - configurator to look in that file for a section called - log4net that contains the configuration data. - - - To use this method to configure log4net you must specify - the section - handler for the log4net configuration section. See the - for an example. - - - The repository to configure. - - - - Configures log4net using a log4net element - - - - Loads the log4net configuration from the XML element - supplied as . - - - The element to parse. - - - - Configures the using the specified XML - element. - - - Loads the log4net configuration from the XML element - supplied as . - - The repository to configure. - The element to parse. - - - - Configures log4net using the specified configuration file. - - The XML file to load the configuration from. - - - The configuration file must be valid XML. It must contain - at least one element called log4net that holds - the log4net configuration data. - - - The log4net configuration file can possible be specified in the application's - configuration file (either MyAppName.exe.config for a - normal application on Web.config for an ASP.NET application). - - - The first element matching <configuration> will be read as the - configuration. If this file is also a .NET .config file then you must specify - a configuration section for the log4net element otherwise .NET will - complain. Set the type for the section handler to , for example: - - -
- - - - - The following example configures log4net using a configuration file, of which the - location is stored in the application's configuration file : - - - using log4net.Config; - using System.IO; - using System.Configuration; - - ... - - XmlConfigurator.Configure(new FileInfo(ConfigurationSettings.AppSettings["log4net-config-file"])); - - - In the .config file, the path to the log4net can be specified like this : - - - - - - - - - - - - - Configures log4net using the specified configuration URI. - - A URI to load the XML configuration from. - - - The configuration data must be valid XML. It must contain - at least one element called log4net that holds - the log4net configuration data. - - - The must support the URI scheme specified. - - - - - - Configures log4net using the specified configuration data stream. - - A stream to load the XML configuration from. - - - The configuration data must be valid XML. It must contain - at least one element called log4net that holds - the log4net configuration data. - - - Note that this method will NOT close the stream parameter. - - - - - - Configures the using the specified configuration - file. - - The repository to configure. - The XML file to load the configuration from. - - - The configuration file must be valid XML. It must contain - at least one element called log4net that holds - the configuration data. - - - The log4net configuration file can possible be specified in the application's - configuration file (either MyAppName.exe.config for a - normal application on Web.config for an ASP.NET application). - - - The first element matching <configuration> will be read as the - configuration. If this file is also a .NET .config file then you must specify - a configuration section for the log4net element otherwise .NET will - complain. Set the type for the section handler to , for example: - - -
- - - - - The following example configures log4net using a configuration file, of which the - location is stored in the application's configuration file : - - - using log4net.Config; - using System.IO; - using System.Configuration; - - ... - - XmlConfigurator.Configure(new FileInfo(ConfigurationSettings.AppSettings["log4net-config-file"])); - - - In the .config file, the path to the log4net can be specified like this : - - - - - - - - - - - - - Configures the using the specified configuration - URI. - - The repository to configure. - A URI to load the XML configuration from. - - - The configuration data must be valid XML. It must contain - at least one element called log4net that holds - the configuration data. - - - The must support the URI scheme specified. - - - - - - Configures the using the specified configuration - file. - - The repository to configure. - The stream to load the XML configuration from. - - - The configuration data must be valid XML. It must contain - at least one element called log4net that holds - the configuration data. - - - Note that this method will NOT close the stream parameter. - - - - - - Configures log4net using the file specified, monitors the file for changes - and reloads the configuration if a change is detected. - - The XML file to load the configuration from. - - - The configuration file must be valid XML. It must contain - at least one element called log4net that holds - the configuration data. - - - The configuration file will be monitored using a - and depends on the behavior of that class. - - - For more information on how to configure log4net using - a separate configuration file, see . - - - - - - - Configures the using the file specified, - monitors the file for changes and reloads the configuration if a change - is detected. - - The repository to configure. - The XML file to load the configuration from. - - - The configuration file must be valid XML. It must contain - at least one element called log4net that holds - the configuration data. - - - The configuration file will be monitored using a - and depends on the behavior of that class. - - - For more information on how to configure log4net using - a separate configuration file, see . - - - - - - - Configures the specified repository using a log4net element. - - The hierarchy to configure. - The element to parse. - - - Loads the log4net configuration from the XML element - supplied as . - - - This method is ultimately called by one of the Configure methods - to load the configuration from an . - - - - - - Class used to watch config files. - - - - Uses the to monitor - changes to a specified file. Because multiple change notifications - may be raised when the file is modified, a timer is used to - compress the notifications into a single event. The timer - waits for time before delivering - the event notification. If any further - change notifications arrive while the timer is waiting it - is reset and waits again for to - elapse. - - - - - - The default amount of time to wait after receiving notification - before reloading the config file. - - - - - Watch a specified config file used to configure a repository - - The repository to configure. - The configuration file to watch. - - - Watch a specified config file used to configure a repository - - - - - - Holds the FileInfo used to configure the XmlConfigurator - - - - - Holds the repository being configured. - - - - - The timer used to compress the notification events. - - - - - Initializes a new instance of the class. - - The repository to configure. - The configuration file to watch. - - - Initializes a new instance of the class. - - - - - - Event handler used by . - - The firing the event. - The argument indicates the file that caused the event to be fired. - - - This handler reloads the configuration from the file when the event is fired. - - - - - - Event handler used by . - - The firing the event. - The argument indicates the file that caused the event to be fired. - - - This handler reloads the configuration from the file when the event is fired. - - - - - - Called by the timer when the configuration has been updated. - - null - - - - The implementation of the interface suitable - for use with the compact framework - - - - This implementation is a simple - mapping between repository name and - object. - - - The .NET Compact Framework 1.0 does not support retrieving assembly - level attributes therefore unlike the DefaultRepositorySelector - this selector does not examine the calling assembly for attributes. - - - Nicko Cadell - - - - Interface used by the to select the . - - - - The uses a - to specify the policy for selecting the correct - to return to the caller. - - - Nicko Cadell - Gert Driesen - - - - Gets the for the specified assembly. - - The assembly to use to lookup to the - The for the assembly. - - - Gets the for the specified assembly. - - - How the association between and - is made is not defined. The implementation may choose any method for - this association. The results of this method must be repeatable, i.e. - when called again with the same arguments the result must be the - save value. - - - - - - Gets the named . - - The name to use to lookup to the . - The named - - Lookup a named . This is the repository created by - calling . - - - - - Creates a new repository for the assembly specified. - - The assembly to use to create the domain to associate with the . - The type of repository to create, must implement . - The repository created. - - - The created will be associated with the domain - specified such that a call to with the - same assembly specified will return the same repository instance. - - - How the association between and - is made is not defined. The implementation may choose any method for - this association. - - - - - - Creates a new repository with the name specified. - - The name to associate with the . - The type of repository to create, must implement . - The repository created. - - - The created will be associated with the name - specified such that a call to with the - same name will return the same repository instance. - - - - - - Test if a named repository exists - - the named repository to check - true if the repository exists - - - Test if a named repository exists. Use - to create a new repository and to retrieve - a repository. - - - - - - Gets an array of all currently defined repositories. - - - An array of the instances created by - this . - - - Gets an array of all of the repositories created by this selector. - - - - - - Event to notify that a logger repository has been created. - - - Event to notify that a logger repository has been created. - - - - Event raised when a new repository is created. - The event source will be this selector. The event args will - be a which - holds the newly created . - - - - - - Create a new repository selector - - the type of the repositories to create, must implement - - - Create an new compact repository selector. - The default type for repositories must be specified, - an appropriate value would be . - - - throw if is null - throw if does not implement - - - - Get the for the specified assembly - - not used - The default - - - The argument is not used. This selector does not create a - separate repository for each assembly. - - - As a named repository is not specified the default repository is - returned. The default repository is named log4net-default-repository. - - - - - - Get the named - - the name of the repository to lookup - The named - - - Get the named . The default - repository is log4net-default-repository. Other repositories - must be created using the . - If the named repository does not exist an exception is thrown. - - - throw if is null - throw if the does not exist - - - - Create a new repository for the assembly specified - - not used - the type of repository to create, must implement - the repository created - - - The argument is not used. This selector does not create a - separate repository for each assembly. - - - If the is null then the - default repository type specified to the constructor is used. - - - As a named repository is not specified the default repository is - returned. The default repository is named log4net-default-repository. - - - - - - Create a new repository for the repository specified - - the repository to associate with the - the type of repository to create, must implement . - If this param is null then the default repository type is used. - the repository created - - - The created will be associated with the repository - specified such that a call to with the - same repository specified will return the same repository instance. - - - If the named repository already exists an exception will be thrown. - - - If is null then the default - repository type specified to the constructor is used. - - - throw if is null - throw if the already exists - - - - Test if a named repository exists - - the named repository to check - true if the repository exists - - - Test if a named repository exists. Use - to create a new repository and to retrieve - a repository. - - - - - - Gets a list of objects - - an array of all known objects - - - Gets an array of all of the repositories created by this selector. - - - - - - Notify the registered listeners that the repository has been created - - The repository that has been created - - - Raises the LoggerRepositoryCreatedEvent - event. - - - - - - Event to notify that a logger repository has been created. - - - Event to notify that a logger repository has been created. - - - - Event raised when a new repository is created. - The event source will be this selector. The event args will - be a which - holds the newly created . - - - - - - The default implementation of the interface. - - - - Uses attributes defined on the calling assembly to determine how to - configure the hierarchy for the repository. - - - Nicko Cadell - Gert Driesen - - - - Creates a new repository selector. - - The type of the repositories to create, must implement - - - Create an new repository selector. - The default type for repositories must be specified, - an appropriate value would be . - - - is . - does not implement . - - - - Gets the for the specified assembly. - - The assembly use to lookup the . - - - The type of the created and the repository - to create can be overridden by specifying the - attribute on the . - - - The default values are to use the - implementation of the interface and to use the - as the name of the repository. - - - The created will be automatically configured using - any attributes defined on - the . - - - The for the assembly - is . - - - - Gets the for the specified repository. - - The repository to use to lookup the . - The for the specified repository. - - - Returns the named repository. If is null - a is thrown. If the repository - does not exist a is thrown. - - - Use to create a repository. - - - is . - does not exist. - - - - Create a new repository for the assembly specified - - the assembly to use to create the repository to associate with the . - The type of repository to create, must implement . - The repository created. - - - The created will be associated with the repository - specified such that a call to with the - same assembly specified will return the same repository instance. - - - The type of the created and - the repository to create can be overridden by specifying the - attribute on the - . The default values are to use the - implementation of the - interface and to use the - as the name of the repository. - - - The created will be automatically - configured using any - attributes defined on the . - - - If a repository for the already exists - that repository will be returned. An error will not be raised and that - repository may be of a different type to that specified in . - Also the attribute on the - assembly may be used to override the repository type specified in - . - - - is . - - - - Creates a new repository for the assembly specified. - - the assembly to use to create the repository to associate with the . - The type of repository to create, must implement . - The name to assign to the created repository - Set to true to read and apply the assembly attributes - The repository created. - - - The created will be associated with the repository - specified such that a call to with the - same assembly specified will return the same repository instance. - - - The type of the created and - the repository to create can be overridden by specifying the - attribute on the - . The default values are to use the - implementation of the - interface and to use the - as the name of the repository. - - - The created will be automatically - configured using any - attributes defined on the . - - - If a repository for the already exists - that repository will be returned. An error will not be raised and that - repository may be of a different type to that specified in . - Also the attribute on the - assembly may be used to override the repository type specified in - . - - - is . - - - - Creates a new repository for the specified repository. - - The repository to associate with the . - The type of repository to create, must implement . - If this param is then the default repository type is used. - The new repository. - - - The created will be associated with the repository - specified such that a call to with the - same repository specified will return the same repository instance. - - - is . - already exists. - - - - Test if a named repository exists - - the named repository to check - true if the repository exists - - - Test if a named repository exists. Use - to create a new repository and to retrieve - a repository. - - - - - - Gets a list of objects - - an array of all known objects - - - Gets an array of all of the repositories created by this selector. - - - - - - Aliases a repository to an existing repository. - - The repository to alias. - The repository that the repository is aliased to. - - - The repository specified will be aliased to the repository when created. - The repository must not already exist. - - - When the repository is created it must utilize the same repository type as - the repository it is aliased to, otherwise the aliasing will fail. - - - - is . - -or- - is . - - - - - Notifies the registered listeners that the repository has been created. - - The repository that has been created. - - - Raises the event. - - - - - - Gets the repository name and repository type for the specified assembly. - - The assembly that has a . - in/out param to hold the repository name to use for the assembly, caller should set this to the default value before calling. - in/out param to hold the type of the repository to create for the assembly, caller should set this to the default value before calling. - is . - - - - Configures the repository using information from the assembly. - - The assembly containing - attributes which define the configuration for the repository. - The repository to configure. - - is . - -or- - is . - - - - - Loads the attribute defined plugins on the assembly. - - The assembly that contains the attributes. - The repository to add the plugins to. - - is . - -or- - is . - - - - - Loads the attribute defined aliases on the assembly. - - The assembly that contains the attributes. - The repository to alias to. - - is . - -or- - is . - - - - - Event to notify that a logger repository has been created. - - - Event to notify that a logger repository has been created. - - - - Event raised when a new repository is created. - The event source will be this selector. The event args will - be a which - holds the newly created . - - - - - - Defined error codes that can be passed to the method. - - - - Values passed to the method. - - - Nicko Cadell - - - - A general error - - - - - Error while writing output - - - - - Failed to flush file - - - - - Failed to close file - - - - - Unable to open output file - - - - - No layout specified - - - - - Failed to parse address - - - - - Appenders may delegate their error handling to an . - - - - Error handling is a particularly tedious to get right because by - definition errors are hard to predict and to reproduce. - - - Nicko Cadell - Gert Driesen - - - - Handles the error and information about the error condition is passed as - a parameter. - - The message associated with the error. - The that was thrown when the error occurred. - The error code associated with the error. - - - Handles the error and information about the error condition is passed as - a parameter. - - - - - - Prints the error message passed as a parameter. - - The message associated with the error. - The that was thrown when the error occurred. - - - See . - - - - - - Prints the error message passed as a parameter. - - The message associated with the error. - - - See . - - - - - - Interface for objects that require fixing. - - - - Interface that indicates that the object requires fixing before it - can be taken outside the context of the appender's - method. - - - When objects that implement this interface are stored - in the context properties maps - and - are fixed - (see ) the - method will be called. - - - Nicko Cadell - - - - Get a portable version of this object - - the portable instance of this object - - - Get a portable instance object that represents the current - state of this object. The portable object can be stored - and logged from any thread with identical results. - - - - - - Interface that all loggers implement - - - - This interface supports logging events and testing if a level - is enabled for logging. - - - These methods will not throw exceptions. Note to implementor, ensure - that the implementation of these methods cannot allow an exception - to be thrown to the caller. - - - Nicko Cadell - Gert Driesen - - - - This generic form is intended to be used by wrappers. - - The declaring type of the method that is - the stack boundary into the logging system for this call. - The level of the message to be logged. - The message object to log. - the exception to log, including its stack trace. Pass null to not log an exception. - - - Generates a logging event for the specified using - the and . - - - - - - This is the most generic printing method that is intended to be used - by wrappers. - - The event being logged. - - - Logs the specified logging event through this logger. - - - - - - Checks if this logger is enabled for a given passed as parameter. - - The level to check. - - true if this logger is enabled for level, otherwise false. - - - - Test if this logger is going to log events of the specified . - - - - - - Gets the name of the logger. - - - The name of the logger. - - - - The name of this logger - - - - - - Gets the where this - Logger instance is attached to. - - - The that this logger belongs to. - - - - Gets the where this - Logger instance is attached to. - - - - - - Base interface for all wrappers - - - - Base interface for all wrappers. - - - All wrappers must implement this interface. - - - Nicko Cadell - - - - Get the implementation behind this wrapper object. - - - The object that in implementing this object. - - - - The object that in implementing this - object. The Logger object may not - be the same object as this object because of logger decorators. - This gets the actual underlying objects that is used to process - the log events. - - - - - - Delegate used to handle logger repository creation event notifications - - The which created the repository. - The event args - that holds the instance that has been created. - - - Delegate used to handle logger repository creation event notifications. - - - - - - Provides data for the event. - - - - A - event is raised every time a is created. - - - - - - The created - - - - - Construct instance using specified - - the that has been created - - - Construct instance using specified - - - - - - The that has been created - - - The that has been created - - - - The that has been created - - - - - - Test if an triggers an action - - - - Implementations of this interface allow certain appenders to decide - when to perform an appender specific action. - - - The action or behavior triggered is defined by the implementation. - - - Nicko Cadell - - - - Test if this event triggers the action - - The event to check - true if this event triggers the action, otherwise false - - - Return true if this event triggers the action - - - - - - Defines the default set of levels recognized by the system. - - - - Each has an associated . - - - Levels have a numeric that defines the relative - ordering between levels. Two Levels with the same - are deemed to be equivalent. - - - The levels that are recognized by log4net are set for each - and each repository can have different levels defined. The levels are stored - in the on the repository. Levels are - looked up by name from the . - - - When logging at level INFO the actual level used is not but - the value of LoggerRepository.LevelMap["INFO"]. The default value for this is - , but this can be changed by reconfiguring the level map. - - - Each level has a in addition to its . The - is the string that is written into the output log. By default - the display name is the same as the level name, but this can be used to alias levels - or to localize the log output. - - - Some of the predefined levels recognized by the system are: - - - - . - - - . - - - . - - - . - - - . - - - . - - - . - - - - Nicko Cadell - Gert Driesen - - - - Constructor - - Integer value for this level, higher values represent more severe levels. - The string name of this level. - The display name for this level. This may be localized or otherwise different from the name - - - Initializes a new instance of the class with - the specified level name and value. - - - - - - Constructor - - Integer value for this level, higher values represent more severe levels. - The string name of this level. - - - Initializes a new instance of the class with - the specified level name and value. - - - - - - Returns the representation of the current - . - - - A representation of the current . - - - - Returns the level . - - - - - - Compares levels. - - The object to compare against. - true if the objects are equal. - - - Compares the levels of instances, and - defers to base class if the target object is not a - instance. - - - - - - Returns a hash code - - A hash code for the current . - - - Returns a hash code suitable for use in hashing algorithms and data - structures like a hash table. - - - Returns the hash code of the level . - - - - - - Compares this instance to a specified object and returns an - indication of their relative values. - - A instance or to compare with this instance. - - A 32-bit signed integer that indicates the relative order of the - values compared. The return value has these meanings: - - - Value - Meaning - - - Less than zero - This instance is less than . - - - Zero - This instance is equal to . - - - Greater than zero - - This instance is greater than . - -or- - is . - - - - - - - must be an instance of - or ; otherwise, an exception is thrown. - - - is not a . - - - - Returns a value indicating whether a specified - is greater than another specified . - - A - A - - true if is greater than - ; otherwise, false. - - - - Compares two levels. - - - - - - Returns a value indicating whether a specified - is less than another specified . - - A - A - - true if is less than - ; otherwise, false. - - - - Compares two levels. - - - - - - Returns a value indicating whether a specified - is greater than or equal to another specified . - - A - A - - true if is greater than or equal to - ; otherwise, false. - - - - Compares two levels. - - - - - - Returns a value indicating whether a specified - is less than or equal to another specified . - - A - A - - true if is less than or equal to - ; otherwise, false. - - - - Compares two levels. - - - - - - Returns a value indicating whether two specified - objects have the same value. - - A or . - A or . - - true if the value of is the same as the - value of ; otherwise, false. - - - - Compares two levels. - - - - - - Returns a value indicating whether two specified - objects have different values. - - A or . - A or . - - true if the value of is different from - the value of ; otherwise, false. - - - - Compares two levels. - - - - - - Compares two specified instances. - - The first to compare. - The second to compare. - - A 32-bit signed integer that indicates the relative order of the - two values compared. The return value has these meanings: - - - Value - Meaning - - - Less than zero - is less than . - - - Zero - is equal to . - - - Greater than zero - is greater than . - - - - - - Compares two levels. - - - - - - The level designates a higher level than all the rest. - - - - - The level designates very severe error events. - System unusable, emergencies. - - - - - The level designates very severe error events - that will presumably lead the application to abort. - - - - - The level designates very severe error events. - Take immediate action, alerts. - - - - - The level designates very severe error events. - Critical condition, critical. - - - - - The level designates very severe error events. - - - - - The level designates error events that might - still allow the application to continue running. - - - - - The level designates potentially harmful - situations. - - - - - The level designates informational messages - that highlight the progress of the application at the highest level. - - - - - The level designates informational messages that - highlight the progress of the application at coarse-grained level. - - - - - The level designates fine-grained informational - events that are most useful to debug an application. - - - - - The level designates fine-grained informational - events that are most useful to debug an application. - - - - - The level designates fine-grained informational - events that are most useful to debug an application. - - - - - The level designates fine-grained informational - events that are most useful to debug an application. - - - - - The level designates fine-grained informational - events that are most useful to debug an application. - - - - - The level designates fine-grained informational - events that are most useful to debug an application. - - - - - The level designates the lowest level possible. - - - - - Gets the name of this level. - - - The name of this level. - - - - Gets the name of this level. - - - - - - Gets the value of this level. - - - The value of this level. - - - - Gets the value of this level. - - - - - - Gets the display name of this level. - - - The display name of this level. - - - - Gets the display name of this level. - - - - - - A strongly-typed collection of objects. - - Nicko Cadell - - - - Creates a read-only wrapper for a LevelCollection instance. - - list to create a readonly wrapper arround - - A LevelCollection wrapper that is read-only. - - - - - Initializes a new instance of the LevelCollection class - that is empty and has the default initial capacity. - - - - - Initializes a new instance of the LevelCollection class - that has the specified initial capacity. - - - The number of elements that the new LevelCollection is initially capable of storing. - - - - - Initializes a new instance of the LevelCollection class - that contains elements copied from the specified LevelCollection. - - The LevelCollection whose elements are copied to the new collection. - - - - Initializes a new instance of the LevelCollection class - that contains elements copied from the specified array. - - The array whose elements are copied to the new list. - - - - Initializes a new instance of the LevelCollection class - that contains elements copied from the specified collection. - - The collection whose elements are copied to the new list. - - - - Allow subclasses to avoid our default constructors - - - - - - Copies the entire LevelCollection to a one-dimensional - array. - - The one-dimensional array to copy to. - - - - Copies the entire LevelCollection to a one-dimensional - array, starting at the specified index of the target array. - - The one-dimensional array to copy to. - The zero-based index in at which copying begins. - - - - Adds a to the end of the LevelCollection. - - The to be added to the end of the LevelCollection. - The index at which the value has been added. - - - - Removes all elements from the LevelCollection. - - - - - Creates a shallow copy of the . - - A new with a shallow copy of the collection data. - - - - Determines whether a given is in the LevelCollection. - - The to check for. - true if is found in the LevelCollection; otherwise, false. - - - - Returns the zero-based index of the first occurrence of a - in the LevelCollection. - - The to locate in the LevelCollection. - - The zero-based index of the first occurrence of - in the entire LevelCollection, if found; otherwise, -1. - - - - - Inserts an element into the LevelCollection at the specified index. - - The zero-based index at which should be inserted. - The to insert. - - is less than zero - -or- - is equal to or greater than . - - - - - Removes the first occurrence of a specific from the LevelCollection. - - The to remove from the LevelCollection. - - The specified was not found in the LevelCollection. - - - - - Removes the element at the specified index of the LevelCollection. - - The zero-based index of the element to remove. - - is less than zero - -or- - is equal to or greater than . - - - - - Returns an enumerator that can iterate through the LevelCollection. - - An for the entire LevelCollection. - - - - Adds the elements of another LevelCollection to the current LevelCollection. - - The LevelCollection whose elements should be added to the end of the current LevelCollection. - The new of the LevelCollection. - - - - Adds the elements of a array to the current LevelCollection. - - The array whose elements should be added to the end of the LevelCollection. - The new of the LevelCollection. - - - - Adds the elements of a collection to the current LevelCollection. - - The collection whose elements should be added to the end of the LevelCollection. - The new of the LevelCollection. - - - - Sets the capacity to the actual number of elements. - - - - - is less than zero - -or- - is equal to or greater than . - - - - - is less than zero - -or- - is equal to or greater than . - - - - - Gets the number of elements actually contained in the LevelCollection. - - - - - Gets a value indicating whether access to the collection is synchronized (thread-safe). - - true if access to the ICollection is synchronized (thread-safe); otherwise, false. - - - - Gets an object that can be used to synchronize access to the collection. - - - - - Gets or sets the at the specified index. - - The zero-based index of the element to get or set. - - is less than zero - -or- - is equal to or greater than . - - - - - Gets a value indicating whether the collection has a fixed size. - - true if the collection has a fixed size; otherwise, false. The default is false - - - - Gets a value indicating whether the IList is read-only. - - true if the collection is read-only; otherwise, false. The default is false - - - - Gets or sets the number of elements the LevelCollection can contain. - - - - - Supports type-safe iteration over a . - - - - - Advances the enumerator to the next element in the collection. - - - true if the enumerator was successfully advanced to the next element; - false if the enumerator has passed the end of the collection. - - - The collection was modified after the enumerator was created. - - - - - Sets the enumerator to its initial position, before the first element in the collection. - - - - - Gets the current element in the collection. - - - - - Type visible only to our subclasses - Used to access protected constructor - - - - - A value - - - - - Supports simple iteration over a . - - - - - Initializes a new instance of the Enumerator class. - - - - - - Advances the enumerator to the next element in the collection. - - - true if the enumerator was successfully advanced to the next element; - false if the enumerator has passed the end of the collection. - - - The collection was modified after the enumerator was created. - - - - - Sets the enumerator to its initial position, before the first element in the collection. - - - - - Gets the current element in the collection. - - - - - An evaluator that triggers at a threshold level - - - - This evaluator will trigger if the level of the event - passed to - is equal to or greater than the - level. - - - Nicko Cadell - - - - The threshold for triggering - - - - - Create a new evaluator using the threshold. - - - - Create a new evaluator using the threshold. - - - This evaluator will trigger if the level of the event - passed to - is equal to or greater than the - level. - - - - - - Create a new evaluator using the specified threshold. - - the threshold to trigger at - - - Create a new evaluator using the specified threshold. - - - This evaluator will trigger if the level of the event - passed to - is equal to or greater than the - level. - - - - - - Is this the triggering event? - - The event to check - This method returns true, if the event level - is equal or higher than the . - Otherwise it returns false - - - This evaluator will trigger if the level of the event - passed to - is equal to or greater than the - level. - - - - - - the threshold to trigger at - - - The that will cause this evaluator to trigger - - - - This evaluator will trigger if the level of the event - passed to - is equal to or greater than the - level. - - - - - - Mapping between string name and Level object - - - - Mapping between string name and object. - This mapping is held separately for each . - The level name is case insensitive. - - - Nicko Cadell - - - - Mapping from level name to Level object. The - level name is case insensitive - - - - - Construct the level map - - - - Construct the level map. - - - - - - Clear the internal maps of all levels - - - - Clear the internal maps of all levels - - - - - - Create a new Level and add it to the map - - the string to display for the Level - the level value to give to the Level - - - Create a new Level and add it to the map - - - - - - - Create a new Level and add it to the map - - the string to display for the Level - the level value to give to the Level - the display name to give to the Level - - - Create a new Level and add it to the map - - - - - - Add a Level to the map - - the Level to add - - - Add a Level to the map - - - - - - Lookup a named level from the map - - the name of the level to lookup is taken from this level. - If the level is not set on the map then this level is added - the level in the map with the name specified - - - Lookup a named level from the map. The name of the level to lookup is taken - from the property of the - argument. - - - If no level with the specified name is found then the - argument is added to the level map - and returned. - - - - - - Lookup a by name - - The name of the Level to lookup - a Level from the map with the name specified - - - Returns the from the - map with the name specified. If the no level is - found then null is returned. - - - - - - Return all possible levels as a list of Level objects. - - all possible levels as a list of Level objects - - - Return all possible levels as a list of Level objects. - - - - - - The internal representation of caller location information. - - - - This class uses the System.Diagnostics.StackTrace class to generate - a call stack. The caller's information is then extracted from this stack. - - - The System.Diagnostics.StackTrace class is not supported on the - .NET Compact Framework 1.0 therefore caller location information is not - available on that framework. - - - The System.Diagnostics.StackTrace class has this to say about Release builds: - - - "StackTrace information will be most informative with Debug build configurations. - By default, Debug builds include debug symbols, while Release builds do not. The - debug symbols contain most of the file, method name, line number, and column - information used in constructing StackFrame and StackTrace objects. StackTrace - might not report as many method calls as expected, due to code transformations - that occur during optimization." - - - This means that in a Release build the caller information may be incomplete or may - not exist at all! Therefore caller location information cannot be relied upon in a Release build. - - - Nicko Cadell - Gert Driesen - - - - When location information is not available the constant - NA is returned. Current value of this string - constant is ?. - - - - - Constructor - - The declaring type of the method that is - the stack boundary into the logging system for this call. - - - Initializes a new instance of the - class based on the current thread. - - - - - - Constructor - - The fully qualified class name. - The method name. - The file name. - The line number of the method within the file. - - - Initializes a new instance of the - class with the specified data. - - - - - - Gets the fully qualified class name of the caller making the logging - request. - - - The fully qualified class name of the caller making the logging - request. - - - - Gets the fully qualified class name of the caller making the logging - request. - - - - - - Gets the file name of the caller. - - - The file name of the caller. - - - - Gets the file name of the caller. - - - - - - Gets the line number of the caller. - - - The line number of the caller. - - - - Gets the line number of the caller. - - - - - - Gets the method name of the caller. - - - The method name of the caller. - - - - Gets the method name of the caller. - - - - - - Gets all available caller information - - - All available caller information, in the format - fully.qualified.classname.of.caller.methodName(Filename:line) - - - - Gets all available caller information, in the format - fully.qualified.classname.of.caller.methodName(Filename:line) - - - - - - Static manager that controls the creation of repositories - - - - Static manager that controls the creation of repositories - - - This class is used by the wrapper managers (e.g. ) - to provide access to the objects. - - - This manager also holds the that is used to - lookup and create repositories. The selector can be set either programmatically using - the property, or by setting the log4net.RepositorySelector - AppSetting in the applications config file to the fully qualified type name of the - selector to use. - - - Nicko Cadell - Gert Driesen - - - - Private constructor to prevent instances. Only static methods should be used. - - - - Private constructor to prevent instances. Only static methods should be used. - - - - - - Hook the shutdown event - - - - On the full .NET runtime, the static constructor hooks up the - AppDomain.ProcessExit and AppDomain.DomainUnload> events. - These are used to shutdown the log4net system as the application exits. - - - - - - Register for ProcessExit and DomainUnload events on the AppDomain - - - - This needs to be in a separate method because the events make - a LinkDemand for the ControlAppDomain SecurityPermission. Because - this is a LinkDemand it is demanded at JIT time. Therefore we cannot - catch the exception in the method itself, we have to catch it in the - caller. - - - - - - Return the default instance. - - the repository to lookup in - Return the default instance - - - Gets the for the repository specified - by the argument. - - - - - - Returns the default instance. - - The assembly to use to lookup the repository. - The default instance. - - - - Return the default instance. - - the repository to lookup in - Return the default instance - - - Gets the for the repository specified - by the argument. - - - - - - Returns the default instance. - - The assembly to use to lookup the repository. - The default instance. - - - Returns the default instance. - - - - - - Returns the named logger if it exists. - - The repository to lookup in. - The fully qualified logger name to look for. - - The logger found, or null if the named logger does not exist in the - specified repository. - - - - If the named logger exists (in the specified repository) then it - returns a reference to the logger, otherwise it returns - null. - - - - - - Returns the named logger if it exists. - - The assembly to use to lookup the repository. - The fully qualified logger name to look for. - - The logger found, or null if the named logger does not exist in the - specified assembly's repository. - - - - If the named logger exists (in the specified assembly's repository) then it - returns a reference to the logger, otherwise it returns - null. - - - - - - Returns all the currently defined loggers in the specified repository. - - The repository to lookup in. - All the defined loggers. - - - The root logger is not included in the returned array. - - - - - - Returns all the currently defined loggers in the specified assembly's repository. - - The assembly to use to lookup the repository. - All the defined loggers. - - - The root logger is not included in the returned array. - - - - - - Retrieves or creates a named logger. - - The repository to lookup in. - The name of the logger to retrieve. - The logger with the name specified. - - - Retrieves a logger named as the - parameter. If the named logger already exists, then the - existing instance will be returned. Otherwise, a new instance is - created. - - - By default, loggers do not have a set level but inherit - it from the hierarchy. This is one of the central features of - log4net. - - - - - - Retrieves or creates a named logger. - - The assembly to use to lookup the repository. - The name of the logger to retrieve. - The logger with the name specified. - - - Retrieves a logger named as the - parameter. If the named logger already exists, then the - existing instance will be returned. Otherwise, a new instance is - created. - - - By default, loggers do not have a set level but inherit - it from the hierarchy. This is one of the central features of - log4net. - - - - - - Shorthand for . - - The repository to lookup in. - The of which the fullname will be used as the name of the logger to retrieve. - The logger with the name specified. - - - Gets the logger for the fully qualified name of the type specified. - - - - - - Shorthand for . - - the assembly to use to lookup the repository - The of which the fullname will be used as the name of the logger to retrieve. - The logger with the name specified. - - - Gets the logger for the fully qualified name of the type specified. - - - - - - Shuts down the log4net system. - - - - Calling this method will safely close and remove all - appenders in all the loggers including root contained in all the - default repositories. - - - Some appenders need to be closed before the application exists. - Otherwise, pending logging events might be lost. - - - The shutdown method is careful to close nested - appenders before closing regular appenders. This is allows - configurations where a regular appender is attached to a logger - and again to a nested appender. - - - - - - Shuts down the repository for the repository specified. - - The repository to shutdown. - - - Calling this method will safely close and remove all - appenders in all the loggers including root contained in the - repository for the specified. - - - Some appenders need to be closed before the application exists. - Otherwise, pending logging events might be lost. - - - The shutdown method is careful to close nested - appenders before closing regular appenders. This is allows - configurations where a regular appender is attached to a logger - and again to a nested appender. - - - - - - Shuts down the repository for the repository specified. - - The assembly to use to lookup the repository. - - - Calling this method will safely close and remove all - appenders in all the loggers including root contained in the - repository for the repository. The repository is looked up using - the specified. - - - Some appenders need to be closed before the application exists. - Otherwise, pending logging events might be lost. - - - The shutdown method is careful to close nested - appenders before closing regular appenders. This is allows - configurations where a regular appender is attached to a logger - and again to a nested appender. - - - - - - Resets all values contained in this repository instance to their defaults. - - The repository to reset. - - - Resets all values contained in the repository instance to their - defaults. This removes all appenders from all loggers, sets - the level of all non-root loggers to null, - sets their additivity flag to true and sets the level - of the root logger to . Moreover, - message disabling is set its default "off" value. - - - - - - Resets all values contained in this repository instance to their defaults. - - The assembly to use to lookup the repository to reset. - - - Resets all values contained in the repository instance to their - defaults. This removes all appenders from all loggers, sets - the level of all non-root loggers to null, - sets their additivity flag to true and sets the level - of the root logger to . Moreover, - message disabling is set its default "off" value. - - - - - - Creates a repository with the specified name. - - The name of the repository, this must be unique amongst repositories. - The created for the repository. - - - CreateDomain is obsolete. Use CreateRepository instead of CreateDomain. - - - Creates the default type of which is a - object. - - - The name must be unique. Repositories cannot be redefined. - An will be thrown if the repository already exists. - - - The specified repository already exists. - - - - Creates a repository with the specified name. - - The name of the repository, this must be unique amongst repositories. - The created for the repository. - - - Creates the default type of which is a - object. - - - The name must be unique. Repositories cannot be redefined. - An will be thrown if the repository already exists. - - - The specified repository already exists. - - - - Creates a repository with the specified name and repository type. - - The name of the repository, this must be unique to the repository. - A that implements - and has a no arg constructor. An instance of this type will be created to act - as the for the repository specified. - The created for the repository. - - - CreateDomain is obsolete. Use CreateRepository instead of CreateDomain. - - - The name must be unique. Repositories cannot be redefined. - An Exception will be thrown if the repository already exists. - - - The specified repository already exists. - - - - Creates a repository with the specified name and repository type. - - The name of the repository, this must be unique to the repository. - A that implements - and has a no arg constructor. An instance of this type will be created to act - as the for the repository specified. - The created for the repository. - - - The name must be unique. Repositories cannot be redefined. - An Exception will be thrown if the repository already exists. - - - The specified repository already exists. - - - - Creates a repository for the specified assembly and repository type. - - The assembly to use to get the name of the repository. - A that implements - and has a no arg constructor. An instance of this type will be created to act - as the for the repository specified. - The created for the repository. - - - CreateDomain is obsolete. Use CreateRepository instead of CreateDomain. - - - The created will be associated with the repository - specified such that a call to with the - same assembly specified will return the same repository instance. - - - - - - Creates a repository for the specified assembly and repository type. - - The assembly to use to get the name of the repository. - A that implements - and has a no arg constructor. An instance of this type will be created to act - as the for the repository specified. - The created for the repository. - - - The created will be associated with the repository - specified such that a call to with the - same assembly specified will return the same repository instance. - - - - - - Gets an array of all currently defined repositories. - - An array of all the known objects. - - - Gets an array of all currently defined repositories. - - - - - - Internal method to get pertinent version info. - - A string of version info. - - - - Called when the event fires - - the that is exiting - null - - - Called when the event fires. - - - When the event is triggered the log4net system is . - - - - - - Called when the event fires - - the that is exiting - null - - - Called when the event fires. - - - When the event is triggered the log4net system is . - - - - - - Initialize the default repository selector - - - - - Gets or sets the repository selector used by the . - - - The repository selector used by the . - - - - The repository selector () is used by - the to create and select repositories - (). - - - The caller to supplies either a string name - or an assembly (if not supplied the assembly is inferred using - ). - - - This context is used by the selector to lookup a specific repository. - - - For the full .NET Framework, the default repository is DefaultRepositorySelector; - for the .NET Compact Framework CompactRepositorySelector is the default - repository. - - - - - - Implementation of the interface. - - - - This class should be used as the base for all wrapper implementations. - - - Nicko Cadell - Gert Driesen - - - - Constructs a new wrapper for the specified logger. - - The logger to wrap. - - - Constructs a new wrapper for the specified logger. - - - - - - The logger that this object is wrapping - - - - - Gets the implementation behind this wrapper object. - - - The object that this object is implementing. - - - - The Logger object may not be the same object as this object - because of logger decorators. - - - This gets the actual underlying objects that is used to process - the log events. - - - - - - Portable data structure used by - - - - Portable data structure used by - - - Nicko Cadell - - - - The logger name. - - - - The logger name. - - - - - - Level of logging event. - - - - Level of logging event. Level cannot be Serializable - because it is a flyweight. Due to its special serialization it - cannot be declared final either. - - - - - - The application supplied message. - - - - The application supplied message of logging event. - - - - - - The name of thread - - - - The name of thread in which this logging event was generated - - - - - - The time the event was logged - - - - The TimeStamp is stored in the local time zone for this computer. - - - - - - Location information for the caller. - - - - Location information for the caller. - - - - - - String representation of the user - - - - String representation of the user's windows name, - like DOMAIN\username - - - - - - String representation of the identity. - - - - String representation of the current thread's principal identity. - - - - - - The string representation of the exception - - - - The string representation of the exception - - - - - - String representation of the AppDomain. - - - - String representation of the AppDomain. - - - - - - Additional event specific properties - - - - A logger or an appender may attach additional - properties to specific events. These properties - have a string key and an object value. - - - - - - Flags passed to the property - - - - Flags passed to the property - - - Nicko Cadell - - - - Fix the MDC - - - - - Fix the NDC - - - - - Fix the rendered message - - - - - Fix the thread name - - - - - Fix the callers location information - - - CAUTION: Very slow to generate - - - - - Fix the callers windows user name - - - CAUTION: Slow to generate - - - - - Fix the domain friendly name - - - - - Fix the callers principal name - - - CAUTION: May be slow to generate - - - - - Fix the exception text - - - - - Fix the event properties - - - - - No fields fixed - - - - - All fields fixed - - - - - Partial fields fixed - - - - This set of partial fields gives good performance. The following fields are fixed: - - - - - - - - - - - - - The internal representation of logging events. - - - - When an affirmative decision is made to log then a - instance is created. This instance - is passed around to the different log4net components. - - - This class is of concern to those wishing to extend log4net. - - - Some of the values in instances of - are considered volatile, that is the values are correct at the - time the event is delivered to appenders, but will not be consistent - at any time afterwards. If an event is to be stored and then processed - at a later time these volatile values must be fixed by calling - . There is a performance penalty - for incurred by calling but it - is essential to maintaining data consistency. - - - Nicko Cadell - Gert Driesen - Douglas de la Torre - Daniel Cazzulino - - - - The key into the Properties map for the host name value. - - - - - The key into the Properties map for the thread identity value. - - - - - The key into the Properties map for the user name value. - - - - - Initializes a new instance of the class - from the supplied parameters. - - The declaring type of the method that is - the stack boundary into the logging system for this call. - The repository this event is logged in. - The name of the logger of this event. - The level of this event. - The message of this event. - The exception for this event. - - - Except , and , - all fields of LoggingEvent are filled when actually needed. Call - to cache all data locally - to prevent inconsistencies. - - This method is called by the log4net framework - to create a logging event. - - - - - - Initializes a new instance of the class - using specific data. - - The declaring type of the method that is - the stack boundary into the logging system for this call. - The repository this event is logged in. - Data used to initialize the logging event. - The fields in the struct that have already been fixed. - - - This constructor is provided to allow a - to be created independently of the log4net framework. This can - be useful if you require a custom serialization scheme. - - - Use the method to obtain an - instance of the class. - - - The parameter should be used to specify which fields in the - struct have been preset. Fields not specified in the - will be captured from the environment if requested or fixed. - - - - - - Initializes a new instance of the class - using specific data. - - The declaring type of the method that is - the stack boundary into the logging system for this call. - The repository this event is logged in. - Data used to initialize the logging event. - - - This constructor is provided to allow a - to be created independently of the log4net framework. This can - be useful if you require a custom serialization scheme. - - - Use the method to obtain an - instance of the class. - - - This constructor sets this objects flags to , - this assumes that all the data relating to this event is passed in via the - parameter and no other data should be captured from the environment. - - - - - - Initializes a new instance of the class - using specific data. - - Data used to initialize the logging event. - - - This constructor is provided to allow a - to be created independently of the log4net framework. This can - be useful if you require a custom serialization scheme. - - - Use the method to obtain an - instance of the class. - - - This constructor sets this objects flags to , - this assumes that all the data relating to this event is passed in via the - parameter and no other data should be captured from the environment. - - - - - - Serialization constructor - - The that holds the serialized object data. - The that contains contextual information about the source or destination. - - - Initializes a new instance of the class - with serialized data. - - - - - - Ensure that the repository is set. - - the value for the repository - - - - Write the rendered message to a TextWriter - - the writer to write the message to - - - Unlike the property this method - does store the message data in the internal cache. Therefore - if called only once this method should be faster than the - property, however if the message is - to be accessed multiple times then the property will be more efficient. - - - - - - Serializes this object into the provided. - - The to populate with data. - The destination for this serialization. - - - The data in this event must be fixed before it can be serialized. - - - The method must be called during the - method call if this event - is to be used outside that method. - - - - - - Gets the portable data for this . - - The for this event. - - - A new can be constructed using a - instance. - - - Does a fix of the data - in the logging event before returning the event data. - - - - - - Gets the portable data for this . - - The set of data to ensure is fixed in the LoggingEventData - The for this event. - - - A new can be constructed using a - instance. - - - - - - Returns this event's exception's rendered using the - . - - - This event's exception's rendered using the . - - - - Obsolete. Use instead. - - - - - - Returns this event's exception's rendered using the - . - - - This event's exception's rendered using the . - - - - Returns this event's exception's rendered using the - . - - - - - - Fix instance fields that hold volatile data. - - - - Some of the values in instances of - are considered volatile, that is the values are correct at the - time the event is delivered to appenders, but will not be consistent - at any time afterwards. If an event is to be stored and then processed - at a later time these volatile values must be fixed by calling - . There is a performance penalty - incurred by calling but it - is essential to maintaining data consistency. - - - Calling is equivalent to - calling passing the parameter - false. - - - See for more - information. - - - - - - Fixes instance fields that hold volatile data. - - Set to true to not fix data that takes a long time to fix. - - - Some of the values in instances of - are considered volatile, that is the values are correct at the - time the event is delivered to appenders, but will not be consistent - at any time afterwards. If an event is to be stored and then processed - at a later time these volatile values must be fixed by calling - . There is a performance penalty - for incurred by calling but it - is essential to maintaining data consistency. - - - The param controls the data that - is fixed. Some of the data that can be fixed takes a long time to - generate, therefore if you do not require those settings to be fixed - they can be ignored by setting the param - to true. This setting will ignore the - and settings. - - - Set to false to ensure that all - settings are fixed. - - - - - - Fix the fields specified by the parameter - - the fields to fix - - - Only fields specified in the will be fixed. - Fields will not be fixed if they have previously been fixed. - It is not possible to 'unfix' a field. - - - - - - Lookup a composite property in this event - - the key for the property to lookup - the value for the property - - - This event has composite properties that combine together properties from - several different contexts in the following order: - - - this events properties - - This event has that can be set. These - properties are specific to this event only. - - - - the thread properties - - The that are set on the current - thread. These properties are shared by all events logged on this thread. - - - - the global properties - - The that are set globally. These - properties are shared by all the threads in the AppDomain. - - - - - - - - - Get all the composite properties in this event - - the containing all the properties - - - See for details of the composite properties - stored by the event. - - - This method returns a single containing all the - properties defined for this event. - - - - - - The internal logging event data. - - - - - The internal logging event data. - - - - - The internal logging event data. - - - - - The fully qualified Type of the calling - logger class in the stack frame (i.e. the declaring type of the method). - - - - - The application supplied message of logging event. - - - - - The exception that was thrown. - - - This is not serialized. The string representation - is serialized instead. - - - - - The repository that generated the logging event - - - This is not serialized. - - - - - The fix state for this event - - - These flags indicate which fields have been fixed. - Not serialized. - - - - - Indicated that the internal cache is updateable (ie not fixed) - - - This is a seperate flag to m_fixFlags as it allows incrementel fixing and simpler - changes in the caching strategy. - - - - - Gets the time when the current process started. - - - This is the time when this process started. - - - - The TimeStamp is stored in the local time zone for this computer. - - - Tries to get the start time for the current process. - Failing that it returns the time of the first call to - this property. - - - Note that AppDomains may be loaded and unloaded within the - same process without the process terminating and therefore - without the process start time being reset. - - - - - - Gets the of the logging event. - - - The of the logging event. - - - - Gets the of the logging event. - - - - - - Gets the time of the logging event. - - - The time of the logging event. - - - - The TimeStamp is stored in the local time zone for this computer. - - - - - - Gets the name of the logger that logged the event. - - - The name of the logger that logged the event. - - - - Gets the name of the logger that logged the event. - - - - - - Gets the location information for this logging event. - - - The location information for this logging event. - - - - The collected information is cached for future use. - - - See the class for more information on - supported frameworks and the different behavior in Debug and - Release builds. - - - - - - Gets the message object used to initialize this event. - - - The message object used to initialize this event. - - - - Gets the message object used to initialize this event. - Note that this event may not have a valid message object. - If the event is serialized the message object will not - be transferred. To get the text of the message the - property must be used - not this property. - - - If there is no defined message object for this event then - null will be returned. - - - - - - Gets the exception object used to initialize this event. - - - The exception object used to initialize this event. - - - - Gets the exception object used to initialize this event. - Note that this event may not have a valid exception object. - If the event is serialized the exception object will not - be transferred. To get the text of the exception the - method must be used - not this property. - - - If there is no defined exception object for this event then - null will be returned. - - - - - - The that this event was created in. - - - - The that this event was created in. - - - - - - Gets the message, rendered through the . - - - The message rendered through the . - - - - The collected information is cached for future use. - - - - - - Gets the name of the current thread. - - - The name of the current thread, or the thread ID when - the name is not available. - - - - The collected information is cached for future use. - - - - - - Gets the name of the current user. - - - The name of the current user, or NOT AVAILABLE when the - underlying runtime has no support for retrieving the name of the - current user. - - - - Calls WindowsIdentity.GetCurrent().Name to get the name of - the current windows user. - - - To improve performance, we could cache the string representation of - the name, and reuse that as long as the identity stayed constant. - Once the identity changed, we would need to re-assign and re-render - the string. - - - However, the WindowsIdentity.GetCurrent() call seems to - return different objects every time, so the current implementation - doesn't do this type of caching. - - - Timing for these operations: - - - - Method - Results - - - WindowsIdentity.GetCurrent() - 10000 loops, 00:00:00.2031250 seconds - - - WindowsIdentity.GetCurrent().Name - 10000 loops, 00:00:08.0468750 seconds - - - - This means we could speed things up almost 40 times by caching the - value of the WindowsIdentity.GetCurrent().Name property, since - this takes (8.04-0.20) = 7.84375 seconds. - - - - - - Gets the identity of the current thread principal. - - - The string name of the identity of the current thread principal. - - - - Calls System.Threading.Thread.CurrentPrincipal.Identity.Name to get - the name of the current thread principal. - - - - - - Gets the AppDomain friendly name. - - - The AppDomain friendly name. - - - - Gets the AppDomain friendly name. - - - - - - Additional event specific properties. - - - Additional event specific properties. - - - - A logger or an appender may attach additional - properties to specific events. These properties - have a string key and an object value. - - - This property is for events that have been added directly to - this event. The aggregate properties (which include these - event properties) can be retrieved using - and . - - - Once the properties have been fixed this property - returns the combined cached properties. This ensures that updates to - this property are always reflected in the underlying storage. When - returning the combined properties there may be more keys in the - Dictionary than expected. - - - - - - The fixed fields in this event - - - The set of fields that are fixed in this event - - - - Fields will not be fixed if they have previously been fixed. - It is not possible to 'unfix' a field. - - - - - - Implementation of wrapper interface. - - - - This implementation of the interface - forwards to the held by the base class. - - - This logger has methods to allow the caller to log at the following - levels: - - - - DEBUG - - The and methods log messages - at the DEBUG level. That is the level with that name defined in the - repositories . The default value - for this level is . The - property tests if this level is enabled for logging. - - - - INFO - - The and methods log messages - at the INFO level. That is the level with that name defined in the - repositories . The default value - for this level is . The - property tests if this level is enabled for logging. - - - - WARN - - The and methods log messages - at the WARN level. That is the level with that name defined in the - repositories . The default value - for this level is . The - property tests if this level is enabled for logging. - - - - ERROR - - The and methods log messages - at the ERROR level. That is the level with that name defined in the - repositories . The default value - for this level is . The - property tests if this level is enabled for logging. - - - - FATAL - - The and methods log messages - at the FATAL level. That is the level with that name defined in the - repositories . The default value - for this level is . The - property tests if this level is enabled for logging. - - - - - The values for these levels and their semantic meanings can be changed by - configuring the for the repository. - - - Nicko Cadell - Gert Driesen - - - - The ILog interface is use by application to log messages into - the log4net framework. - - - - Use the to obtain logger instances - that implement this interface. The - static method is used to get logger instances. - - - This class contains methods for logging at different levels and also - has properties for determining if those logging levels are - enabled in the current configuration. - - - This interface can be implemented in different ways. This documentation - specifies reasonable behavior that a caller can expect from the actual - implementation, however different implementations reserve the right to - do things differently. - - - Simple example of logging messages - - ILog log = LogManager.GetLogger("application-log"); - - log.Info("Application Start"); - log.Debug("This is a debug message"); - - if (log.IsDebugEnabled) - { - log.Debug("This is another debug message"); - } - - - - - Nicko Cadell - Gert Driesen - - - Log a message object with the level. - - Log a message object with the level. - - The message object to log. - - - This method first checks if this logger is DEBUG - enabled by comparing the level of this logger with the - level. If this logger is - DEBUG enabled, then it converts the message object - (passed as parameter) to a string by invoking the appropriate - . It then - proceeds to call all the registered appenders in this logger - and also higher in the hierarchy depending on the value of - the additivity flag. - - WARNING Note that passing an - to this method will print the name of the - but no stack trace. To print a stack trace use the - form instead. - - - - - - - - Log a message object with the level including - the stack trace of the passed - as a parameter. - - The message object to log. - The exception to log, including its stack trace. - - - See the form for more detailed information. - - - - - - - Log a formatted string with the level. - - Logs a formatted message string with the level. - - A String containing zero or more format items - An Object array containing zero or more objects to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - - Logs a formatted message string with the level. - - A String containing zero or more format items - An Object to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - - Logs a formatted message string with the level. - - A String containing zero or more format items - An Object to format - An Object to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - - Logs a formatted message string with the level. - - A String containing zero or more format items - An Object to format - An Object to format - An Object to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - - Logs a formatted message string with the level. - - An that supplies culture-specific formatting information - A String containing zero or more format items - An Object array containing zero or more objects to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - Log a message object with the level. - - Logs a message object with the level. - - - - This method first checks if this logger is INFO - enabled by comparing the level of this logger with the - level. If this logger is - INFO enabled, then it converts the message object - (passed as parameter) to a string by invoking the appropriate - . It then - proceeds to call all the registered appenders in this logger - and also higher in the hierarchy depending on the value of the - additivity flag. - - WARNING Note that passing an - to this method will print the name of the - but no stack trace. To print a stack trace use the - form instead. - - - The message object to log. - - - - - - Logs a message object with the INFO level including - the stack trace of the passed - as a parameter. - - The message object to log. - The exception to log, including its stack trace. - - - See the form for more detailed information. - - - - - - - Log a formatted message string with the level. - - Logs a formatted message string with the level. - - A String containing zero or more format items - An Object array containing zero or more objects to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - - Logs a formatted message string with the level. - - A String containing zero or more format items - An Object to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - - Logs a formatted message string with the level. - - A String containing zero or more format items - An Object to format - An Object to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - - Logs a formatted message string with the level. - - A String containing zero or more format items - An Object to format - An Object to format - An Object to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - - Logs a formatted message string with the level. - - An that supplies culture-specific formatting information - A String containing zero or more format items - An Object array containing zero or more objects to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - Log a message object with the level. - - Log a message object with the level. - - - - This method first checks if this logger is WARN - enabled by comparing the level of this logger with the - level. If this logger is - WARN enabled, then it converts the message object - (passed as parameter) to a string by invoking the appropriate - . It then - proceeds to call all the registered appenders in this logger - and also higher in the hierarchy depending on the value of the - additivity flag. - - WARNING Note that passing an - to this method will print the name of the - but no stack trace. To print a stack trace use the - form instead. - - - The message object to log. - - - - - - Log a message object with the level including - the stack trace of the passed - as a parameter. - - The message object to log. - The exception to log, including its stack trace. - - - See the form for more detailed information. - - - - - - - Log a formatted message string with the level. - - Logs a formatted message string with the level. - - A String containing zero or more format items - An Object array containing zero or more objects to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - - Logs a formatted message string with the level. - - A String containing zero or more format items - An Object to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - - Logs a formatted message string with the level. - - A String containing zero or more format items - An Object to format - An Object to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - - Logs a formatted message string with the level. - - A String containing zero or more format items - An Object to format - An Object to format - An Object to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - - Logs a formatted message string with the level. - - An that supplies culture-specific formatting information - A String containing zero or more format items - An Object array containing zero or more objects to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - Log a message object with the level. - - Logs a message object with the level. - - The message object to log. - - - This method first checks if this logger is ERROR - enabled by comparing the level of this logger with the - level. If this logger is - ERROR enabled, then it converts the message object - (passed as parameter) to a string by invoking the appropriate - . It then - proceeds to call all the registered appenders in this logger - and also higher in the hierarchy depending on the value of the - additivity flag. - - WARNING Note that passing an - to this method will print the name of the - but no stack trace. To print a stack trace use the - form instead. - - - - - - - - Log a message object with the level including - the stack trace of the passed - as a parameter. - - The message object to log. - The exception to log, including its stack trace. - - - See the form for more detailed information. - - - - - - - Log a formatted message string with the level. - - Logs a formatted message string with the level. - - A String containing zero or more format items - An Object array containing zero or more objects to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - - Logs a formatted message string with the level. - - A String containing zero or more format items - An Object to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - - Logs a formatted message string with the level. - - A String containing zero or more format items - An Object to format - An Object to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - - Logs a formatted message string with the level. - - A String containing zero or more format items - An Object to format - An Object to format - An Object to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - - Logs a formatted message string with the level. - - An that supplies culture-specific formatting information - A String containing zero or more format items - An Object array containing zero or more objects to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - Log a message object with the level. - - Log a message object with the level. - - - - This method first checks if this logger is FATAL - enabled by comparing the level of this logger with the - level. If this logger is - FATAL enabled, then it converts the message object - (passed as parameter) to a string by invoking the appropriate - . It then - proceeds to call all the registered appenders in this logger - and also higher in the hierarchy depending on the value of the - additivity flag. - - WARNING Note that passing an - to this method will print the name of the - but no stack trace. To print a stack trace use the - form instead. - - - The message object to log. - - - - - - Log a message object with the level including - the stack trace of the passed - as a parameter. - - The message object to log. - The exception to log, including its stack trace. - - - See the form for more detailed information. - - - - - - - Log a formatted message string with the level. - - Logs a formatted message string with the level. - - A String containing zero or more format items - An Object array containing zero or more objects to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - - Logs a formatted message string with the level. - - A String containing zero or more format items - An Object to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - - Logs a formatted message string with the level. - - A String containing zero or more format items - An Object to format - An Object to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - - Logs a formatted message string with the level. - - A String containing zero or more format items - An Object to format - An Object to format - An Object to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - - Logs a formatted message string with the level. - - An that supplies culture-specific formatting information - A String containing zero or more format items - An Object array containing zero or more objects to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - - Checks if this logger is enabled for the level. - - - true if this logger is enabled for events, false otherwise. - - - - This function is intended to lessen the computational cost of - disabled log debug statements. - - For some ILog interface log, when you write: - - log.Debug("This is entry number: " + i ); - - - You incur the cost constructing the message, string construction and concatenation in - this case, regardless of whether the message is logged or not. - - - If you are worried about speed (who isn't), then you should write: - - - if (log.IsDebugEnabled) - { - log.Debug("This is entry number: " + i ); - } - - - This way you will not incur the cost of parameter - construction if debugging is disabled for log. On - the other hand, if the log is debug enabled, you - will incur the cost of evaluating whether the logger is debug - enabled twice. Once in and once in - the . This is an insignificant overhead - since evaluating a logger takes about 1% of the time it - takes to actually log. This is the preferred style of logging. - - Alternatively if your logger is available statically then the is debug - enabled state can be stored in a static variable like this: - - - private static readonly bool isDebugEnabled = log.IsDebugEnabled; - - - Then when you come to log you can write: - - - if (isDebugEnabled) - { - log.Debug("This is entry number: " + i ); - } - - - This way the debug enabled state is only queried once - when the class is loaded. Using a private static readonly - variable is the most efficient because it is a run time constant - and can be heavily optimized by the JIT compiler. - - - Of course if you use a static readonly variable to - hold the enabled state of the logger then you cannot - change the enabled state at runtime to vary the logging - that is produced. You have to decide if you need absolute - speed or runtime flexibility. - - - - - - - - Checks if this logger is enabled for the level. - - - true if this logger is enabled for events, false otherwise. - - - For more information see . - - - - - - - - Checks if this logger is enabled for the level. - - - true if this logger is enabled for events, false otherwise. - - - For more information see . - - - - - - - - Checks if this logger is enabled for the level. - - - true if this logger is enabled for events, false otherwise. - - - For more information see . - - - - - - - - Checks if this logger is enabled for the level. - - - true if this logger is enabled for events, false otherwise. - - - For more information see . - - - - - - - - Construct a new wrapper for the specified logger. - - The logger to wrap. - - - Construct a new wrapper for the specified logger. - - - - - - Virtual method called when the configuration of the repository changes - - the repository holding the levels - - - Virtual method called when the configuration of the repository changes - - - - - - Logs a message object with the DEBUG level. - - The message object to log. - - - This method first checks if this logger is DEBUG - enabled by comparing the level of this logger with the - DEBUG level. If this logger is - DEBUG enabled, then it converts the message object - (passed as parameter) to a string by invoking the appropriate - . It then - proceeds to call all the registered appenders in this logger - and also higher in the hierarchy depending on the value of the - additivity flag. - - - WARNING Note that passing an - to this method will print the name of the - but no stack trace. To print a stack trace use the - form instead. - - - - - - Logs a message object with the DEBUG level - - The message object to log. - The exception to log, including its stack trace. - - - Logs a message object with the DEBUG level including - the stack trace of the passed - as a parameter. - - - See the form for more detailed information. - - - - - - - Logs a formatted message string with the DEBUG level. - - A String containing zero or more format items - An Object array containing zero or more objects to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - The string is formatted using the - format provider. To specify a localized provider use the - method. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Logs a formatted message string with the DEBUG level. - - A String containing zero or more format items - An Object to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - The string is formatted using the - format provider. To specify a localized provider use the - method. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Logs a formatted message string with the DEBUG level. - - A String containing zero or more format items - An Object to format - An Object to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - The string is formatted using the - format provider. To specify a localized provider use the - method. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Logs a formatted message string with the DEBUG level. - - A String containing zero or more format items - An Object to format - An Object to format - An Object to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - The string is formatted using the - format provider. To specify a localized provider use the - method. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Logs a formatted message string with the DEBUG level. - - An that supplies culture-specific formatting information - A String containing zero or more format items - An Object array containing zero or more objects to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Logs a message object with the INFO level. - - The message object to log. - - - This method first checks if this logger is INFO - enabled by comparing the level of this logger with the - INFO level. If this logger is - INFO enabled, then it converts the message object - (passed as parameter) to a string by invoking the appropriate - . It then - proceeds to call all the registered appenders in this logger - and also higher in the hierarchy depending on the value of - the additivity flag. - - - WARNING Note that passing an - to this method will print the name of the - but no stack trace. To print a stack trace use the - form instead. - - - - - - Logs a message object with the INFO level. - - The message object to log. - The exception to log, including its stack trace. - - - Logs a message object with the INFO level including - the stack trace of the - passed as a parameter. - - - See the form for more detailed information. - - - - - - - Logs a formatted message string with the INFO level. - - A String containing zero or more format items - An Object array containing zero or more objects to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - The string is formatted using the - format provider. To specify a localized provider use the - method. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Logs a formatted message string with the INFO level. - - A String containing zero or more format items - An Object to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - The string is formatted using the - format provider. To specify a localized provider use the - method. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Logs a formatted message string with the INFO level. - - A String containing zero or more format items - An Object to format - An Object to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - The string is formatted using the - format provider. To specify a localized provider use the - method. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Logs a formatted message string with the INFO level. - - A String containing zero or more format items - An Object to format - An Object to format - An Object to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - The string is formatted using the - format provider. To specify a localized provider use the - method. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Logs a formatted message string with the INFO level. - - An that supplies culture-specific formatting information - A String containing zero or more format items - An Object array containing zero or more objects to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Logs a message object with the WARN level. - - the message object to log - - - This method first checks if this logger is WARN - enabled by comparing the level of this logger with the - WARN level. If this logger is - WARN enabled, then it converts the message object - (passed as parameter) to a string by invoking the appropriate - . It then - proceeds to call all the registered appenders in this logger and - also higher in the hierarchy depending on the value of the - additivity flag. - - - WARNING Note that passing an to this - method will print the name of the but no - stack trace. To print a stack trace use the - form instead. - - - - - - Logs a message object with the WARN level - - The message object to log. - The exception to log, including its stack trace. - - - Logs a message object with the WARN level including - the stack trace of the - passed as a parameter. - - - See the form for more detailed information. - - - - - - - Logs a formatted message string with the WARN level. - - A String containing zero or more format items - An Object array containing zero or more objects to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - The string is formatted using the - format provider. To specify a localized provider use the - method. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Logs a formatted message string with the WARN level. - - A String containing zero or more format items - An Object to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - The string is formatted using the - format provider. To specify a localized provider use the - method. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Logs a formatted message string with the WARN level. - - A String containing zero or more format items - An Object to format - An Object to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - The string is formatted using the - format provider. To specify a localized provider use the - method. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Logs a formatted message string with the WARN level. - - A String containing zero or more format items - An Object to format - An Object to format - An Object to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - The string is formatted using the - format provider. To specify a localized provider use the - method. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Logs a formatted message string with the WARN level. - - An that supplies culture-specific formatting information - A String containing zero or more format items - An Object array containing zero or more objects to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Logs a message object with the ERROR level. - - The message object to log. - - - This method first checks if this logger is ERROR - enabled by comparing the level of this logger with the - ERROR level. If this logger is - ERROR enabled, then it converts the message object - (passed as parameter) to a string by invoking the appropriate - . It then - proceeds to call all the registered appenders in this logger and - also higher in the hierarchy depending on the value of the - additivity flag. - - - WARNING Note that passing an to this - method will print the name of the but no - stack trace. To print a stack trace use the - form instead. - - - - - - Logs a message object with the ERROR level - - The message object to log. - The exception to log, including its stack trace. - - - Logs a message object with the ERROR level including - the stack trace of the - passed as a parameter. - - - See the form for more detailed information. - - - - - - - Logs a formatted message string with the ERROR level. - - A String containing zero or more format items - An Object array containing zero or more objects to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - The string is formatted using the - format provider. To specify a localized provider use the - method. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Logs a formatted message string with the ERROR level. - - A String containing zero or more format items - An Object to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - The string is formatted using the - format provider. To specify a localized provider use the - method. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Logs a formatted message string with the ERROR level. - - A String containing zero or more format items - An Object to format - An Object to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - The string is formatted using the - format provider. To specify a localized provider use the - method. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Logs a formatted message string with the ERROR level. - - A String containing zero or more format items - An Object to format - An Object to format - An Object to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - The string is formatted using the - format provider. To specify a localized provider use the - method. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Logs a formatted message string with the ERROR level. - - An that supplies culture-specific formatting information - A String containing zero or more format items - An Object array containing zero or more objects to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Logs a message object with the FATAL level. - - The message object to log. - - - This method first checks if this logger is FATAL - enabled by comparing the level of this logger with the - FATAL level. If this logger is - FATAL enabled, then it converts the message object - (passed as parameter) to a string by invoking the appropriate - . It then - proceeds to call all the registered appenders in this logger and - also higher in the hierarchy depending on the value of the - additivity flag. - - - WARNING Note that passing an to this - method will print the name of the but no - stack trace. To print a stack trace use the - form instead. - - - - - - Logs a message object with the FATAL level - - The message object to log. - The exception to log, including its stack trace. - - - Logs a message object with the FATAL level including - the stack trace of the - passed as a parameter. - - - See the form for more detailed information. - - - - - - - Logs a formatted message string with the FATAL level. - - A String containing zero or more format items - An Object array containing zero or more objects to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - The string is formatted using the - format provider. To specify a localized provider use the - method. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Logs a formatted message string with the FATAL level. - - A String containing zero or more format items - An Object to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - The string is formatted using the - format provider. To specify a localized provider use the - method. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Logs a formatted message string with the FATAL level. - - A String containing zero or more format items - An Object to format - An Object to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - The string is formatted using the - format provider. To specify a localized provider use the - method. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Logs a formatted message string with the FATAL level. - - A String containing zero or more format items - An Object to format - An Object to format - An Object to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - The string is formatted using the - format provider. To specify a localized provider use the - method. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Logs a formatted message string with the FATAL level. - - An that supplies culture-specific formatting information - A String containing zero or more format items - An Object array containing zero or more objects to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Event handler for the event - - the repository - Empty - - - - The fully qualified name of this declaring type not the type of any subclass. - - - - - Checks if this logger is enabled for the DEBUG - level. - - - true if this logger is enabled for DEBUG events, - false otherwise. - - - - This function is intended to lessen the computational cost of - disabled log debug statements. - - - For some log Logger object, when you write: - - - log.Debug("This is entry number: " + i ); - - - You incur the cost constructing the message, concatenation in - this case, regardless of whether the message is logged or not. - - - If you are worried about speed, then you should write: - - - if (log.IsDebugEnabled()) - { - log.Debug("This is entry number: " + i ); - } - - - This way you will not incur the cost of parameter - construction if debugging is disabled for log. On - the other hand, if the log is debug enabled, you - will incur the cost of evaluating whether the logger is debug - enabled twice. Once in IsDebugEnabled and once in - the Debug. This is an insignificant overhead - since evaluating a logger takes about 1% of the time it - takes to actually log. - - - - - - Checks if this logger is enabled for the INFO level. - - - true if this logger is enabled for INFO events, - false otherwise. - - - - See for more information and examples - of using this method. - - - - - - - Checks if this logger is enabled for the WARN level. - - - true if this logger is enabled for WARN events, - false otherwise. - - - - See for more information and examples - of using this method. - - - - - - - Checks if this logger is enabled for the ERROR level. - - - true if this logger is enabled for ERROR events, - false otherwise. - - - - See for more information and examples of using this method. - - - - - - - Checks if this logger is enabled for the FATAL level. - - - true if this logger is enabled for FATAL events, - false otherwise. - - - - See for more information and examples of using this method. - - - - - - - A SecurityContext used by log4net when interacting with protected resources - - - - A SecurityContext used by log4net when interacting with protected resources - for example with operating system services. This can be used to impersonate - a principal that has been granted privileges on the system resources. - - - Nicko Cadell - - - - Impersonate this SecurityContext - - State supplied by the caller - An instance that will - revoke the impersonation of this SecurityContext, or null - - - Impersonate this security context. Further calls on the current - thread should now be made in the security context provided - by this object. When the result - method is called the security - context of the thread should be reverted to the state it was in - before was called. - - - - - - The providers default instances. - - - - A configured component that interacts with potentially protected system - resources uses a to provide the elevated - privileges required. If the object has - been not been explicitly provided to the component then the component - will request one from this . - - - By default the is - an instance of which returns only - objects. This is a reasonable default - where the privileges required are not know by the system. - - - This default behavior can be overridden by subclassing the - and overriding the method to return - the desired objects. The default provider - can be replaced by programmatically setting the value of the - property. - - - An alternative is to use the log4net.Config.SecurityContextProviderAttribute - This attribute can be applied to an assembly in the same way as the - log4net.Config.XmlConfiguratorAttribute". The attribute takes - the type to use as the as an argument. - - - Nicko Cadell - - - - The default provider - - - - - Protected default constructor to allow subclassing - - - - Protected default constructor to allow subclassing - - - - - - Create a SecurityContext for a consumer - - The consumer requesting the SecurityContext - An impersonation context - - - The default implementation is to return a . - - - Subclasses should override this method to provide their own - behavior. - - - - - - Gets or sets the default SecurityContextProvider - - - The default SecurityContextProvider - - - - The default provider is used by configured components that - require a and have not had one - given to them. - - - By default this is an instance of - that returns objects. - - - The default provider can be set programmatically by setting - the value of this property to a sub class of - that has the desired behavior. - - - - - - Delegate used to handle creation of new wrappers. - - The logger to wrap in a wrapper. - - - Delegate used to handle creation of new wrappers. This delegate - is called from the - method to construct the wrapper for the specified logger. - - - The delegate to use is supplied to the - constructor. - - - - - - Maps between logger objects and wrapper objects. - - - - This class maintains a mapping between objects and - objects. Use the method to - lookup the for the specified . - - - New wrapper instances are created by the - method. The default behavior is for this method to delegate construction - of the wrapper to the delegate supplied - to the constructor. This allows specialization of the behavior without - requiring subclassing of this type. - - - Nicko Cadell - Gert Driesen - - - - Initializes a new instance of the - - The handler to use to create the wrapper objects. - - - Initializes a new instance of the class with - the specified handler to create the wrapper objects. - - - - - - Gets the wrapper object for the specified logger. - - The wrapper object for the specified logger - - - If the logger is null then the corresponding wrapper is null. - - - Looks up the wrapper it it has previously been requested and - returns it. If the wrapper has never been requested before then - the virtual method is - called. - - - - - - Creates the wrapper object for the specified logger. - - The logger to wrap in a wrapper. - The wrapper object for the logger. - - - This implementation uses the - passed to the constructor to create the wrapper. This method - can be overridden in a subclass. - - - - - - Called when a monitored repository shutdown event is received. - - The that is shutting down - - - This method is called when a that this - is holding loggers for has signaled its shutdown - event . The default - behavior of this method is to release the references to the loggers - and their wrappers generated for this repository. - - - - - - Event handler for repository shutdown event. - - The sender of the event. - The event args. - - - - Map of logger repositories to hashtables of ILogger to ILoggerWrapper mappings - - - - - The handler to use to create the extension wrapper objects. - - - - - Internal reference to the delegate used to register for repository shutdown events. - - - - - Gets the map of logger repositories. - - - Map of logger repositories. - - - - Gets the hashtable that is keyed on . The - values are hashtables keyed on with the - value being the corresponding . - - - - - - Formats a as "HH:mm:ss,fff". - - - - Formats a in the format "HH:mm:ss,fff" for example, "15:49:37,459". - - - Nicko Cadell - Gert Driesen - - - - Render a as a string. - - - - Interface to abstract the rendering of a - instance into a string. - - - The method is used to render the - date to a text writer. - - - Nicko Cadell - Gert Driesen - - - - Formats the specified date as a string. - - The date to format. - The writer to write to. - - - Format the as a string and write it - to the provided. - - - - - - String constant used to specify AbsoluteTimeDateFormat in layouts. Current value is ABSOLUTE. - - - - - String constant used to specify DateTimeDateFormat in layouts. Current value is DATE. - - - - - String constant used to specify ISO8601DateFormat in layouts. Current value is ISO8601. - - - - - Renders the date into a string. Format is "HH:mm:ss". - - The date to render into a string. - The string builder to write to. - - - Subclasses should override this method to render the date - into a string using a precision up to the second. This method - will be called at most once per second and the result will be - reused if it is needed again during the same second. - - - - - - Renders the date into a string. Format is "HH:mm:ss,fff". - - The date to render into a string. - The writer to write to. - - - Uses the method to generate the - time string up to the seconds and then appends the current - milliseconds. The results from are - cached and is called at most once - per second. - - - Sub classes should override - rather than . - - - - - - Last stored time with precision up to the second. - - - - - Last stored time with precision up to the second, formatted - as a string. - - - - - Last stored time with precision up to the second, formatted - as a string. - - - - - Formats a as "dd MMM yyyy HH:mm:ss,fff" - - - - Formats a in the format - "dd MMM yyyy HH:mm:ss,fff" for example, - "06 Nov 1994 15:49:37,459". - - - Nicko Cadell - Gert Driesen - Angelika Schnagl - - - - Default constructor. - - - - Initializes a new instance of the class. - - - - - - Formats the date without the milliseconds part - - The date to format. - The string builder to write to. - - - Formats a DateTime in the format "dd MMM yyyy HH:mm:ss" - for example, "06 Nov 1994 15:49:37". - - - The base class will append the ",fff" milliseconds section. - This method will only be called at most once per second. - - - - - - The format info for the invariant culture. - - - - - Formats the as "yyyy-MM-dd HH:mm:ss,fff". - - - - Formats the specified as a string: "yyyy-MM-dd HH:mm:ss,fff". - - - Nicko Cadell - Gert Driesen - - - - Default constructor - - - - Initializes a new instance of the class. - - - - - - Formats the date without the milliseconds part - - The date to format. - The string builder to write to. - - - Formats the date specified as a string: "yyyy-MM-dd HH:mm:ss". - - - The base class will append the ",fff" milliseconds section. - This method will only be called at most once per second. - - - - - - Formats the using the method. - - - - Formats the using the method. - - - Nicko Cadell - Gert Driesen - - - - Constructor - - The format string. - - - Initializes a new instance of the class - with the specified format string. - - - The format string must be compatible with the options - that can be supplied to . - - - - - - Formats the date using . - - The date to convert to a string. - The writer to write to. - - - Uses the date format string supplied to the constructor to call - the method to format the date. - - - - - - The format string used to format the . - - - - The format string must be compatible with the options - that can be supplied to . - - - - - - This filter drops all . - - - - You can add this filter to the end of a filter chain to - switch from the default "accept all unless instructed otherwise" - filtering behavior to a "deny all unless instructed otherwise" - behavior. - - - Nicko Cadell - Gert Driesen - - - - Subclass this type to implement customized logging event filtering - - - - Users should extend this class to implement customized logging - event filtering. Note that and - , the parent class of all standard - appenders, have built-in filtering rules. It is suggested that you - first use and understand the built-in rules before rushing to write - your own custom filters. - - - This abstract class assumes and also imposes that filters be - organized in a linear chain. The - method of each filter is called sequentially, in the order of their - addition to the chain. - - - The method must return one - of the integer constants , - or . - - - If the value is returned, then the log event is dropped - immediately without consulting with the remaining filters. - - - If the value is returned, then the next filter - in the chain is consulted. If there are no more filters in the - chain, then the log event is logged. Thus, in the presence of no - filters, the default behavior is to log all logging events. - - - If the value is returned, then the log - event is logged without consulting the remaining filters. - - - The philosophy of log4net filters is largely inspired from the - Linux ipchains. - - - Nicko Cadell - Gert Driesen - - - - Implement this interface to provide customized logging event filtering - - - - Users should implement this interface to implement customized logging - event filtering. Note that and - , the parent class of all standard - appenders, have built-in filtering rules. It is suggested that you - first use and understand the built-in rules before rushing to write - your own custom filters. - - - This abstract class assumes and also imposes that filters be - organized in a linear chain. The - method of each filter is called sequentially, in the order of their - addition to the chain. - - - The method must return one - of the integer constants , - or . - - - If the value is returned, then the log event is dropped - immediately without consulting with the remaining filters. - - - If the value is returned, then the next filter - in the chain is consulted. If there are no more filters in the - chain, then the log event is logged. Thus, in the presence of no - filters, the default behavior is to log all logging events. - - - If the value is returned, then the log - event is logged without consulting the remaining filters. - - - The philosophy of log4net filters is largely inspired from the - Linux ipchains. - - - Nicko Cadell - Gert Driesen - - - - Decide if the logging event should be logged through an appender. - - The LoggingEvent to decide upon - The decision of the filter - - - If the decision is , then the event will be - dropped. If the decision is , then the next - filter, if any, will be invoked. If the decision is then - the event will be logged without consulting with other filters in - the chain. - - - - - - Property to get and set the next filter - - - The next filter in the chain - - - - Filters are typically composed into chains. This property allows the next filter in - the chain to be accessed. - - - - - - Points to the next filter in the filter chain. - - - - See for more information. - - - - - - Initialize the filter with the options set - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - Typically filter's options become active immediately on set, - however this method must still be called. - - - - - - Decide if the should be logged through an appender. - - The to decide upon - The decision of the filter - - - If the decision is , then the event will be - dropped. If the decision is , then the next - filter, if any, will be invoked. If the decision is then - the event will be logged without consulting with other filters in - the chain. - - - This method is marked abstract and must be implemented - in a subclass. - - - - - - Property to get and set the next filter - - - The next filter in the chain - - - - Filters are typically composed into chains. This property allows the next filter in - the chain to be accessed. - - - - - - Default constructor - - - - - Always returns the integer constant - - the LoggingEvent to filter - Always returns - - - Ignores the event being logged and just returns - . This can be used to change the default filter - chain behavior from to . This filter - should only be used as the last filter in the chain - as any further filters will be ignored! - - - - - - The return result from - - - - The return result from - - - - - - The log event must be dropped immediately without - consulting with the remaining filters, if any, in the chain. - - - - - This filter is neutral with respect to the log event. - The remaining filters, if any, should be consulted for a final decision. - - - - - The log event must be logged immediately without - consulting with the remaining filters, if any, in the chain. - - - - - This is a very simple filter based on matching. - - - - The filter admits two options and - . If there is an exact match between the value - of the option and the of the - , then the method returns in - case the option value is set - to true, if it is false then - is returned. If the does not match then - the result will be . - - - Nicko Cadell - Gert Driesen - - - - flag to indicate if the filter should on a match - - - - - the to match against - - - - - Default constructor - - - - - Tests if the of the logging event matches that of the filter - - the event to filter - see remarks - - - If the of the event matches the level of the - filter then the result of the function depends on the - value of . If it is true then - the function will return , it it is false then it - will return . If the does not match then - the result will be . - - - - - - when matching - - - - The property is a flag that determines - the behavior when a matching is found. If the - flag is set to true then the filter will the - logging event, otherwise it will the event. - - - The default is true i.e. to the event. - - - - - - The that the filter will match - - - - The level that this filter will attempt to match against the - level. If a match is found then - the result depends on the value of . - - - - - - This is a simple filter based on matching. - - - - The filter admits three options and - that determine the range of priorities that are matched, and - . If there is a match between the range - of priorities and the of the , then the - method returns in case the - option value is set to true, if it is false - then is returned. If there is no match, is returned. - - - Nicko Cadell - Gert Driesen - - - - Flag to indicate the behavior when matching a - - - - - the minimum value to match - - - - - the maximum value to match - - - - - Default constructor - - - - - Check if the event should be logged. - - the logging event to check - see remarks - - - If the of the logging event is outside the range - matched by this filter then - is returned. If the is matched then the value of - is checked. If it is true then - is returned, otherwise - is returned. - - - - - - when matching and - - - - The property is a flag that determines - the behavior when a matching is found. If the - flag is set to true then the filter will the - logging event, otherwise it will the event. - - - The default is true i.e. to the event. - - - - - - Set the minimum matched - - - - The minimum level that this filter will attempt to match against the - level. If a match is found then - the result depends on the value of . - - - - - - Sets the maximum matched - - - - The maximum level that this filter will attempt to match against the - level. If a match is found then - the result depends on the value of . - - - - - - Simple filter to match a string in the event's logger name. - - - - The works very similar to the . It admits two - options and . If the - of the starts - with the value of the option, then the - method returns in - case the option value is set to true, - if it is false then is returned. - - - Daniel Cazzulino - - - - Flag to indicate the behavior when we have a match - - - - - The logger name string to substring match against the event - - - - - Default constructor - - - - - Check if this filter should allow the event to be logged - - the event being logged - see remarks - - - The rendered message is matched against the . - If the equals the beginning of - the incoming () - then a match will have occurred. If no match occurs - this function will return - allowing other filters to check the event. If a match occurs then - the value of is checked. If it is - true then is returned otherwise - is returned. - - - - - - when matching - - - - The property is a flag that determines - the behavior when a matching is found. If the - flag is set to true then the filter will the - logging event, otherwise it will the event. - - - The default is true i.e. to the event. - - - - - - The that the filter will match - - - - This filter will attempt to match this value against logger name in - the following way. The match will be done against the beginning of the - logger name (using ). The match is - case sensitive. If a match is found then - the result depends on the value of . - - - - - - Simple filter to match a keyed string in the - - - - Simple filter to match a keyed string in the - - - As the MDC has been replaced with layered properties the - should be used instead. - - - Nicko Cadell - Gert Driesen - - - - Simple filter to match a string an event property - - - - Simple filter to match a string in the value for a - specific event property - - - Nicko Cadell - - - - Simple filter to match a string in the rendered message - - - - Simple filter to match a string in the rendered message - - - Nicko Cadell - Gert Driesen - - - - Flag to indicate the behavior when we have a match - - - - - The string to substring match against the message - - - - - A string regex to match - - - - - A regex object to match (generated from m_stringRegexToMatch) - - - - - Default constructor - - - - - Initialize and precompile the Regex if required - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - - - - Check if this filter should allow the event to be logged - - the event being logged - see remarks - - - The rendered message is matched against the . - If the occurs as a substring within - the message then a match will have occurred. If no match occurs - this function will return - allowing other filters to check the event. If a match occurs then - the value of is checked. If it is - true then is returned otherwise - is returned. - - - - - - when matching or - - - - The property is a flag that determines - the behavior when a matching is found. If the - flag is set to true then the filter will the - logging event, otherwise it will the event. - - - The default is true i.e. to the event. - - - - - - Sets the static string to match - - - - The string that will be substring matched against - the rendered message. If the message contains this - string then the filter will match. If a match is found then - the result depends on the value of . - - - One of or - must be specified. - - - - - - Sets the regular expression to match - - - - The regular expression pattern that will be matched against - the rendered message. If the message matches this - pattern then the filter will match. If a match is found then - the result depends on the value of . - - - One of or - must be specified. - - - - - - The key to use to lookup the string from the event properties - - - - - Default constructor - - - - - Check if this filter should allow the event to be logged - - the event being logged - see remarks - - - The event property for the is matched against - the . - If the occurs as a substring within - the property value then a match will have occurred. If no match occurs - this function will return - allowing other filters to check the event. If a match occurs then - the value of is checked. If it is - true then is returned otherwise - is returned. - - - - - - The key to lookup in the event properties and then match against. - - - - The key name to use to lookup in the properties map of the - . The match will be performed against - the value of this property if it exists. - - - - - - Simple filter to match a string in the - - - - Simple filter to match a string in the - - - As the MDC has been replaced with named stacks stored in the - properties collections the should - be used instead. - - - Nicko Cadell - Gert Driesen - - - - Default constructor - - - - Sets the to "NDC". - - - - - - Write the event appdomain name to the output - - - - Writes the to the output writer. - - - Daniel Cazzulino - Nicko Cadell - - - - Abstract class that provides the formatting functionality that - derived classes need. - - - Conversion specifiers in a conversion patterns are parsed to - individual PatternConverters. Each of which is responsible for - converting a logging event in a converter specific manner. - - Nicko Cadell - - - - Abstract class that provides the formatting functionality that - derived classes need. - - - - Conversion specifiers in a conversion patterns are parsed to - individual PatternConverters. Each of which is responsible for - converting a logging event in a converter specific manner. - - - Nicko Cadell - Gert Driesen - - - - Initial buffer size - - - - - Maximum buffer size before it is recycled - - - - - Protected constructor - - - - Initializes a new instance of the class. - - - - - - Evaluate this pattern converter and write the output to a writer. - - that will receive the formatted result. - The state object on which the pattern converter should be executed. - - - Derived pattern converters must override this method in order to - convert conversion specifiers in the appropriate way. - - - - - - Set the next pattern converter in the chains - - the pattern converter that should follow this converter in the chain - the next converter - - - The PatternConverter can merge with its neighbor during this method (or a sub class). - Therefore the return value may or may not be the value of the argument passed in. - - - - - - Write the pattern converter to the writer with appropriate formatting - - that will receive the formatted result. - The state object on which the pattern converter should be executed. - - - This method calls to allow the subclass to perform - appropriate conversion of the pattern converter. If formatting options have - been specified via the then this method will - apply those formattings before writing the output. - - - - - - Fast space padding method. - - to which the spaces will be appended. - The number of spaces to be padded. - - - Fast space padding method. - - - - - - The option string to the converter - - - - - Write an dictionary to a - - the writer to write to - a to use for object conversion - the value to write to the writer - - - Writes the to a writer in the form: - - - {key1=value1, key2=value2, key3=value3} - - - If the specified - is not null then it is used to render the key and value to text, otherwise - the object's ToString method is called. - - - - - - Write an object to a - - the writer to write to - a to use for object conversion - the value to write to the writer - - - Writes the Object to a writer. If the specified - is not null then it is used to render the object to text, otherwise - the object's ToString method is called. - - - - - - Get the next pattern converter in the chain - - - the next pattern converter in the chain - - - - Get the next pattern converter in the chain - - - - - - Gets or sets the formatting info for this converter - - - The formatting info for this converter - - - - Gets or sets the formatting info for this converter - - - - - - Gets or sets the option value for this converter - - - The option for this converter - - - - Gets or sets the option value for this converter - - - - - - Initializes a new instance of the class. - - - - - Derived pattern converters must override this method in order to - convert conversion specifiers in the correct way. - - that will receive the formatted result. - The on which the pattern converter should be executed. - - - - Derived pattern converters must override this method in order to - convert conversion specifiers in the correct way. - - that will receive the formatted result. - The state object on which the pattern converter should be executed. - - - - Flag indicating if this converter handles exceptions - - - false if this converter handles exceptions - - - - - Flag indicating if this converter handles the logging event exception - - false if this converter handles the logging event exception - - - If this converter handles the exception object contained within - , then this property should be set to - false. Otherwise, if the layout ignores the exception - object, then the property should be set to true. - - - Set this value to override a this default setting. The default - value is true, this converter does not handle the exception. - - - - - - Write the event appdomain name to the output - - that will receive the formatted result. - the event being logged - - - Writes the to the output . - - - - - - Date pattern converter, uses a to format - the date of a . - - - - Render the to the writer as a string. - - - The value of the determines - the formatting of the date. The following values are allowed: - - - Option value - Output - - - ISO8601 - - Uses the formatter. - Formats using the "yyyy-MM-dd HH:mm:ss,fff" pattern. - - - - DATE - - Uses the formatter. - Formats using the "dd MMM yyyy HH:mm:ss,fff" for example, "06 Nov 1994 15:49:37,459". - - - - ABSOLUTE - - Uses the formatter. - Formats using the "HH:mm:ss,yyyy" for example, "15:49:37,459". - - - - other - - Any other pattern string uses the formatter. - This formatter passes the pattern string to the - method. - For details on valid patterns see - DateTimeFormatInfo Class. - - - - - - The is in the local time zone and is rendered in that zone. - To output the time in Universal time see . - - - Nicko Cadell - - - - The used to render the date to a string - - - - The used to render the date to a string - - - - - - Initialize the converter pattern based on the property. - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - - - - Convert the pattern into the rendered message - - that will receive the formatted result. - the event being logged - - - Pass the to the - for it to render it to the writer. - - - The passed is in the local time zone. - - - - - - Write the exception text to the output - - - - If an exception object is stored in the logging event - it will be rendered into the pattern output with a - trailing newline. - - - If there is no exception then nothing will be output - and no trailing newline will be appended. - It is typical to put a newline before the exception - and to have the exception as the last data in the pattern. - - - Nicko Cadell - - - - Default constructor - - - - - Write the exception text to the output - - that will receive the formatted result. - the event being logged - - - If an exception object is stored in the logging event - it will be rendered into the pattern output with a - trailing newline. - - - If there is no exception then nothing will be output - and no trailing newline will be appended. - It is typical to put a newline before the exception - and to have the exception as the last data in the pattern. - - - - - - Writes the caller location file name to the output - - - - Writes the value of the for - the event to the output writer. - - - Nicko Cadell - - - - Write the caller location file name to the output - - that will receive the formatted result. - the event being logged - - - Writes the value of the for - the to the output . - - - - - - Write the caller location info to the output - - - - Writes the to the output writer. - - - Nicko Cadell - - - - Write the caller location info to the output - - that will receive the formatted result. - the event being logged - - - Writes the to the output writer. - - - - - - Writes the event identity to the output - - - - Writes the value of the to - the output writer. - - - Daniel Cazzulino - Nicko Cadell - - - - Writes the event identity to the output - - that will receive the formatted result. - the event being logged - - - Writes the value of the - to - the output . - - - - - - Write the event level to the output - - - - Writes the display name of the event - to the writer. - - - Nicko Cadell - - - - Write the event level to the output - - that will receive the formatted result. - the event being logged - - - Writes the of the - to the . - - - - - - Write the caller location line number to the output - - - - Writes the value of the for - the event to the output writer. - - - Nicko Cadell - - - - Write the caller location line number to the output - - that will receive the formatted result. - the event being logged - - - Writes the value of the for - the to the output . - - - - - - Converter for logger name - - - - Outputs the of the event. - - - Nicko Cadell - - - - Converter to output and truncate '.' separated strings - - - - This abstract class supports truncating a '.' separated string - to show a specified number of elements from the right hand side. - This is used to truncate class names that are fully qualified. - - - Subclasses should override the method to - return the fully qualified string. - - - Nicko Cadell - - - - Initialize the converter - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - - - - Get the fully qualified string data - - the event being logged - the fully qualified name - - - Overridden by subclasses to get the fully qualified name before the - precision is applied to it. - - - Return the fully qualified '.' (dot/period) separated string. - - - - - - Convert the pattern to the rendered message - - that will receive the formatted result. - the event being logged - - Render the to the precision - specified by the property. - - - - - Gets the fully qualified name of the logger - - the event being logged - The fully qualified logger name - - - Returns the of the . - - - - - - Writes the event message to the output - - - - Uses the method - to write out the event message. - - - Nicko Cadell - - - - Writes the event message to the output - - that will receive the formatted result. - the event being logged - - - Uses the method - to write out the event message. - - - - - - Write the method name to the output - - - - Writes the caller location to - the output. - - - Nicko Cadell - - - - Write the method name to the output - - that will receive the formatted result. - the event being logged - - - Writes the caller location to - the output. - - - - - - Converter to include event NDC - - - - Outputs the value of the event property named NDC. - - - The should be used instead. - - - Nicko Cadell - - - - Write the event NDC to the output - - that will receive the formatted result. - the event being logged - - - As the thread context stacks are now stored in named event properties - this converter simply looks up the value of the NDC property. - - - The should be used instead. - - - - - - Property pattern converter - - - - Writes out the value of a named property. The property name - should be set in the - property. - - - If the is set to null - then all the properties are written as key value pairs. - - - Nicko Cadell - - - - Write the property value to the output - - that will receive the formatted result. - the event being logged - - - Writes out the value of a named property. The property name - should be set in the - property. - - - If the is set to null - then all the properties are written as key value pairs. - - - - - - Converter to output the relative time of the event - - - - Converter to output the time of the event relative to the start of the program. - - - Nicko Cadell - - - - Write the relative time to the output - - that will receive the formatted result. - the event being logged - - - Writes out the relative time of the event in milliseconds. - That is the number of milliseconds between the event - and the . - - - - - - Helper method to get the time difference between two DateTime objects - - start time (in the current local time zone) - end time (in the current local time zone) - the time difference in milliseconds - - - - Converter to include event thread name - - - - Writes the to the output. - - - Nicko Cadell - - - - Write the ThreadName to the output - - that will receive the formatted result. - the event being logged - - - Writes the to the . - - - - - - Pattern converter for the class name - - - - Outputs the of the event. - - - Nicko Cadell - - - - Gets the fully qualified name of the class - - the event being logged - The fully qualified type name for the caller location - - - Returns the of the . - - - - - - Converter to include event user name - - Douglas de la Torre - Nicko Cadell - - - - Convert the pattern to the rendered message - - that will receive the formatted result. - the event being logged - - - - Write the TimeStamp to the output - - - - Date pattern converter, uses a to format - the date of a . - - - Uses a to format the - in Universal time. - - - See the for details on the date pattern syntax. - - - - Nicko Cadell - - - - Write the TimeStamp to the output - - that will receive the formatted result. - the event being logged - - - Pass the to the - for it to render it to the writer. - - - The passed is in the local time zone, this is converted - to Universal time before it is rendered. - - - - - - - A Layout that renders only the Exception text from the logging event - - - - A Layout that renders only the Exception text from the logging event. - - - This Layout should only be used with appenders that utilize multiple - layouts (e.g. ). - - - Nicko Cadell - Gert Driesen - - - - Extend this abstract class to create your own log layout format. - - - - This is the base implementation of the - interface. Most layout objects should extend this class. - - - - - - Subclasses must implement the - method. - - - Subclasses should set the in their default - constructor. - - - - Nicko Cadell - Gert Driesen - - - - Interface implemented by layout objects - - - - An object is used to format a - as text. The method is called by an - appender to transform the into a string. - - - The layout can also supply and - text that is appender before any events and after all the events respectively. - - - Nicko Cadell - Gert Driesen - - - - Implement this method to create your own layout format. - - The TextWriter to write the formatted event to - The event to format - - - This method is called by an appender to format - the as text and output to a writer. - - - If the caller does not have a and prefers the - event to be formatted as a then the following - code can be used to format the event into a . - - - StringWriter writer = new StringWriter(); - Layout.Format(writer, loggingEvent); - string formattedEvent = writer.ToString(); - - - - - - The content type output by this layout. - - The content type - - - The content type output by this layout. - - - This is a MIME type e.g. "text/plain". - - - - - - The header for the layout format. - - the layout header - - - The Header text will be appended before any logging events - are formatted and appended. - - - - - - The footer for the layout format. - - the layout footer - - - The Footer text will be appended after all the logging events - have been formatted and appended. - - - - - - Flag indicating if this layout handle exceptions - - false if this layout handles exceptions - - - If this layout handles the exception object contained within - , then the layout should return - false. Otherwise, if the layout ignores the exception - object, then the layout should return true. - - - - - - The header text - - - - See for more information. - - - - - - The footer text - - - - See for more information. - - - - - - Flag indicating if this layout handles exceptions - - - - false if this layout handles exceptions - - - - - - Empty default constructor - - - - Empty default constructor - - - - - - Activate component options - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - This method must be implemented by the subclass. - - - - - - Implement this method to create your own layout format. - - The TextWriter to write the formatted event to - The event to format - - - This method is called by an appender to format - the as text. - - - - - - The content type output by this layout. - - The content type is "text/plain" - - - The content type output by this layout. - - - This base class uses the value "text/plain". - To change this value a subclass must override this - property. - - - - - - The header for the layout format. - - the layout header - - - The Header text will be appended before any logging events - are formatted and appended. - - - - - - The footer for the layout format. - - the layout footer - - - The Footer text will be appended after all the logging events - have been formatted and appended. - - - - - - Flag indicating if this layout handles exceptions - - false if this layout handles exceptions - - - If this layout handles the exception object contained within - , then the layout should return - false. Otherwise, if the layout ignores the exception - object, then the layout should return true. - - - Set this value to override a this default setting. The default - value is true, this layout does not handle the exception. - - - - - - Default constructor - - - - Constructs a ExceptionLayout - - - - - - Activate component options - - - - Part of the component activation - framework. - - - This method does nothing as options become effective immediately. - - - - - - Gets the exception text from the logging event - - The TextWriter to write the formatted event to - the event being logged - - - Write the exception string to the . - The exception string is retrieved from . - - - - - - Interface for raw layout objects - - - - Interface used to format a - to an object. - - - This interface should not be confused with the - interface. This interface is used in - only certain specialized situations where a raw object is - required rather than a formatted string. The - is not generally useful than this interface. - - - Nicko Cadell - Gert Driesen - - - - Implement this method to create your own layout format. - - The event to format - returns the formatted event - - - Implement this method to create your own layout format. - - - - - - Adapts any to a - - - - Where an is required this adapter - allows a to be specified. - - - Nicko Cadell - Gert Driesen - - - - The layout to adapt - - - - - Construct a new adapter - - the layout to adapt - - - Create the adapter for the specified . - - - - - - Format the logging event as an object. - - The event to format - returns the formatted event - - - Format the logging event as an object. - - - Uses the object supplied to - the constructor to perform the formatting. - - - - - - A flexible layout configurable with pattern string. - - - - The goal of this class is to a - as a string. The results - depend on the conversion pattern. - - - The conversion pattern is closely related to the conversion - pattern of the printf function in C. A conversion pattern is - composed of literal text and format control expressions called - conversion specifiers. - - - You are free to insert any literal text within the conversion - pattern. - - - Each conversion specifier starts with a percent sign (%) and is - followed by optional format modifiers and a conversion - pattern name. The conversion pattern name specifies the type of - data, e.g. logger, level, date, thread name. The format - modifiers control such things as field width, padding, left and - right justification. The following is a simple example. - - - Let the conversion pattern be "%-5level [%thread]: %message%newline" and assume - that the log4net environment was set to use a PatternLayout. Then the - statements - - - ILog log = LogManager.GetLogger(typeof(TestApp)); - log.Debug("Message 1"); - log.Warn("Message 2"); - - would yield the output - - DEBUG [main]: Message 1 - WARN [main]: Message 2 - - - Note that there is no explicit separator between text and - conversion specifiers. The pattern parser knows when it has reached - the end of a conversion specifier when it reads a conversion - character. In the example above the conversion specifier - %-5level means the level of the logging event should be left - justified to a width of five characters. - - - The recognized conversion pattern names are: - - - - Conversion Pattern Name - Effect - - - a - Equivalent to appdomain - - - appdomain - - Used to output the friendly name of the AppDomain where the - logging event was generated. - - - - c - Equivalent to logger - - - C - Equivalent to type - - - class - Equivalent to type - - - d - Equivalent to date - - - date - - - Used to output the date of the logging event in the local time zone. - To output the date in universal time use the %utcdate pattern. - The date conversion - specifier may be followed by a date format specifier enclosed - between braces. For example, %date{HH:mm:ss,fff} or - %date{dd MMM yyyy HH:mm:ss,fff}. If no date format specifier is - given then ISO8601 format is - assumed (). - - - The date format specifier admits the same syntax as the - time pattern string of the . - - - For better results it is recommended to use the log4net date - formatters. These can be specified using one of the strings - "ABSOLUTE", "DATE" and "ISO8601" for specifying - , - and respectively - . For example, - %date{ISO8601} or %date{ABSOLUTE}. - - - These dedicated date formatters perform significantly - better than . - - - - - exception - - - Used to output the exception passed in with the log message. - - - If an exception object is stored in the logging event - it will be rendered into the pattern output with a - trailing newline. - If there is no exception then nothing will be output - and no trailing newline will be appended. - It is typical to put a newline before the exception - and to have the exception as the last data in the pattern. - - - - - F - Equivalent to file - - - file - - - Used to output the file name where the logging request was - issued. - - - WARNING Generating caller location information is - extremely slow. Its use should be avoided unless execution speed - is not an issue. - - - See the note below on the availability of caller location information. - - - - - identity - - - Used to output the user name for the currently active user - (Principal.Identity.Name). - - - WARNING Generating caller information is - extremely slow. Its use should be avoided unless execution speed - is not an issue. - - - - - l - Equivalent to location - - - L - Equivalent to line - - - location - - - Used to output location information of the caller which generated - the logging event. - - - The location information depends on the CLI implementation but - usually consists of the fully qualified name of the calling - method followed by the callers source the file name and line - number between parentheses. - - - The location information can be very useful. However, its - generation is extremely slow. Its use should be avoided - unless execution speed is not an issue. - - - See the note below on the availability of caller location information. - - - - - level - - - Used to output the level of the logging event. - - - - - line - - - Used to output the line number from where the logging request - was issued. - - - WARNING Generating caller location information is - extremely slow. Its use should be avoided unless execution speed - is not an issue. - - - See the note below on the availability of caller location information. - - - - - logger - - - Used to output the logger of the logging event. The - logger conversion specifier can be optionally followed by - precision specifier, that is a decimal constant in - brackets. - - - If a precision specifier is given, then only the corresponding - number of right most components of the logger name will be - printed. By default the logger name is printed in full. - - - For example, for the logger name "a.b.c" the pattern - %logger{2} will output "b.c". - - - - - m - Equivalent to message - - - M - Equivalent to method - - - message - - - Used to output the application supplied message associated with - the logging event. - - - - - mdc - - - The MDC (old name for the ThreadContext.Properties) is now part of the - combined event properties. This pattern is supported for compatibility - but is equivalent to property. - - - - - method - - - Used to output the method name where the logging request was - issued. - - - WARNING Generating caller location information is - extremely slow. Its use should be avoided unless execution speed - is not an issue. - - - See the note below on the availability of caller location information. - - - - - n - Equivalent to newline - - - newline - - - Outputs the platform dependent line separator character or - characters. - - - This conversion pattern offers the same performance as using - non-portable line separator strings such as "\n", or "\r\n". - Thus, it is the preferred way of specifying a line separator. - - - - - ndc - - - Used to output the NDC (nested diagnostic context) associated - with the thread that generated the logging event. - - - - - p - Equivalent to level - - - P - Equivalent to property - - - properties - Equivalent to property - - - property - - - Used to output the an event specific property. The key to - lookup must be specified within braces and directly following the - pattern specifier, e.g. %property{user} would include the value - from the property that is keyed by the string 'user'. Each property value - that is to be included in the log must be specified separately. - Properties are added to events by loggers or appenders. By default - the log4net:HostName property is set to the name of machine on - which the event was originally logged. - - - If no key is specified, e.g. %property then all the keys and their - values are printed in a comma separated list. - - - The properties of an event are combined from a number of different - contexts. These are listed below in the order in which they are searched. - - - - the event properties - - The event has that can be set. These - properties are specific to this event only. - - - - the thread properties - - The that are set on the current - thread. These properties are shared by all events logged on this thread. - - - - the global properties - - The that are set globally. These - properties are shared by all the threads in the AppDomain. - - - - - - - - r - Equivalent to timestamp - - - t - Equivalent to thread - - - timestamp - - - Used to output the number of milliseconds elapsed since the start - of the application until the creation of the logging event. - - - - - thread - - - Used to output the name of the thread that generated the - logging event. Uses the thread number if no name is available. - - - - - type - - - Used to output the fully qualified type name of the caller - issuing the logging request. This conversion specifier - can be optionally followed by precision specifier, that - is a decimal constant in brackets. - - - If a precision specifier is given, then only the corresponding - number of right most components of the class name will be - printed. By default the class name is output in fully qualified form. - - - For example, for the class name "log4net.Layout.PatternLayout", the - pattern %type{1} will output "PatternLayout". - - - WARNING Generating the caller class information is - slow. Thus, its use should be avoided unless execution speed is - not an issue. - - - See the note below on the availability of caller location information. - - - - - u - Equivalent to identity - - - username - - - Used to output the WindowsIdentity for the currently - active user. - - - WARNING Generating caller WindowsIdentity information is - extremely slow. Its use should be avoided unless execution speed - is not an issue. - - - - - utcdate - - - Used to output the date of the logging event in universal time. - The date conversion - specifier may be followed by a date format specifier enclosed - between braces. For example, %utcdate{HH:mm:ss,fff} or - %utcdate{dd MMM yyyy HH:mm:ss,fff}. If no date format specifier is - given then ISO8601 format is - assumed (). - - - The date format specifier admits the same syntax as the - time pattern string of the . - - - For better results it is recommended to use the log4net date - formatters. These can be specified using one of the strings - "ABSOLUTE", "DATE" and "ISO8601" for specifying - , - and respectively - . For example, - %utcdate{ISO8601} or %utcdate{ABSOLUTE}. - - - These dedicated date formatters perform significantly - better than . - - - - - w - Equivalent to username - - - x - Equivalent to ndc - - - X - Equivalent to mdc - - - % - - - The sequence %% outputs a single percent sign. - - - - - - The single letter patterns are deprecated in favor of the - longer more descriptive pattern names. - - - By default the relevant information is output as is. However, - with the aid of format modifiers it is possible to change the - minimum field width, the maximum field width and justification. - - - The optional format modifier is placed between the percent sign - and the conversion pattern name. - - - The first optional format modifier is the left justification - flag which is just the minus (-) character. Then comes the - optional minimum field width modifier. This is a decimal - constant that represents the minimum number of characters to - output. If the data item requires fewer characters, it is padded on - either the left or the right until the minimum width is - reached. The default is to pad on the left (right justify) but you - can specify right padding with the left justification flag. The - padding character is space. If the data item is larger than the - minimum field width, the field is expanded to accommodate the - data. The value is never truncated. - - - This behavior can be changed using the maximum field - width modifier which is designated by a period followed by a - decimal constant. If the data item is longer than the maximum - field, then the extra characters are removed from the - beginning of the data item and not from the end. For - example, it the maximum field width is eight and the data item is - ten characters long, then the first two characters of the data item - are dropped. This behavior deviates from the printf function in C - where truncation is done from the end. - - - Below are various format modifier examples for the logger - conversion specifier. - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Format modifierleft justifyminimum widthmaximum widthcomment
%20loggerfalse20none - - Left pad with spaces if the logger name is less than 20 - characters long. - -
%-20loggertrue20none - - Right pad with spaces if the logger - name is less than 20 characters long. - -
%.30loggerNAnone30 - - Truncate from the beginning if the logger - name is longer than 30 characters. - -
%20.30loggerfalse2030 - - Left pad with spaces if the logger name is shorter than 20 - characters. However, if logger name is longer than 30 characters, - then truncate from the beginning. - -
%-20.30loggertrue2030 - - Right pad with spaces if the logger name is shorter than 20 - characters. However, if logger name is longer than 30 characters, - then truncate from the beginning. - -
-
- - Note about caller location information.
- The following patterns %type %file %line %method %location %class %C %F %L %l %M - all generate caller location information. - Location information uses the System.Diagnostics.StackTrace class to generate - a call stack. The caller's information is then extracted from this stack. -
- - - The System.Diagnostics.StackTrace class is not supported on the - .NET Compact Framework 1.0 therefore caller location information is not - available on that framework. - - - - - The System.Diagnostics.StackTrace class has this to say about Release builds: - - - "StackTrace information will be most informative with Debug build configurations. - By default, Debug builds include debug symbols, while Release builds do not. The - debug symbols contain most of the file, method name, line number, and column - information used in constructing StackFrame and StackTrace objects. StackTrace - might not report as many method calls as expected, due to code transformations - that occur during optimization." - - - This means that in a Release build the caller information may be incomplete or may - not exist at all! Therefore caller location information cannot be relied upon in a Release build. - - - - Additional pattern converters may be registered with a specific - instance using the method. - -
- - This is a more detailed pattern. - %timestamp [%thread] %level %logger %ndc - %message%newline - - - A similar pattern except that the relative time is - right padded if less than 6 digits, thread name is right padded if - less than 15 characters and truncated if longer and the logger - name is left padded if shorter than 30 characters and truncated if - longer. - %-6timestamp [%15.15thread] %-5level %30.30logger %ndc - %message%newline - - Nicko Cadell - Gert Driesen - Douglas de la Torre - Daniel Cazzulino -
- - - Default pattern string for log output. - - - - Default pattern string for log output. - Currently set to the string "%message%newline" - which just prints the application supplied message. - - - - - - A detailed conversion pattern - - - - A conversion pattern which includes Time, Thread, Logger, and Nested Context. - Current value is %timestamp [%thread] %level %logger %ndc - %message%newline. - - - - - - Internal map of converter identifiers to converter types. - - - - This static map is overridden by the m_converterRegistry instance map - - - - - - the pattern - - - - - the head of the pattern converter chain - - - - - patterns defined on this PatternLayout only - - - - - Initialize the global registry - - - - Defines the builtin global rules. - - - - - - Constructs a PatternLayout using the DefaultConversionPattern - - - - The default pattern just produces the application supplied message. - - - Note to Inheritors: This constructor calls the virtual method - . If you override this method be - aware that it will be called before your is called constructor. - - - As per the contract the - method must be called after the properties on this object have been - configured. - - - - - - Constructs a PatternLayout using the supplied conversion pattern - - the pattern to use - - - Note to Inheritors: This constructor calls the virtual method - . If you override this method be - aware that it will be called before your is called constructor. - - - When using this constructor the method - need not be called. This may not be the case when using a subclass. - - - - - - Create the pattern parser instance - - the pattern to parse - The that will format the event - - - Creates the used to parse the conversion string. Sets the - global and instance rules on the . - - - - - - Initialize layout options - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - - - - Produces a formatted string as specified by the conversion pattern. - - the event being logged - The TextWriter to write the formatted event to - - - Parse the using the patter format - specified in the property. - - - - - - Add a converter to this PatternLayout - - the converter info - - - This version of the method is used by the configurator. - Programmatic users should use the alternative method. - - - - - - Add a converter to this PatternLayout - - the name of the conversion pattern for this converter - the type of the converter - - - Add a named pattern converter to this instance. This - converter will be used in the formatting of the event. - This method must be called before . - - - The specified must extend the - type. - - - - - - The pattern formatting string - - - - The ConversionPattern option. This is the string which - controls formatting and consists of a mix of literal content and - conversion specifiers. - - - - - - Wrapper class used to map converter names to converter types - - - - Pattern converter info class used during configuration to - pass to the - method. - - - - - - default constructor - - - - - Gets or sets the name of the conversion pattern - - - - The name of the pattern in the format string - - - - - - Gets or sets the type of the converter - - - - The value specified must extend the - type. - - - - - - Type converter for the interface - - - - Used to convert objects to the interface. - Supports converting from the interface to - the interface using the . - - - Nicko Cadell - Gert Driesen - - - - Interface supported by type converters - - - - This interface supports conversion from arbitrary types - to a single target type. See . - - - Nicko Cadell - Gert Driesen - - - - Can the source type be converted to the type supported by this object - - the type to convert - true if the conversion is possible - - - Test if the can be converted to the - type supported by this converter. - - - - - - Convert the source object to the type supported by this object - - the object to convert - the converted object - - - Converts the to the type supported - by this converter. - - - - - - Can the sourceType be converted to an - - the source to be to be converted - true if the source type can be converted to - - - Test if the can be converted to a - . Only is supported - as the . - - - - - - Convert the value to a object - - the value to convert - the object - - - Convert the object to a - object. If the object - is a then the - is used to adapt between the two interfaces, otherwise an - exception is thrown. - - - - - - Extract the value of a property from the - - - - Extract the value of a property from the - - - Nicko Cadell - - - - Constructs a RawPropertyLayout - - - - - Lookup the property for - - The event to format - returns property value - - - Looks up and returns the object value of the property - named . If there is no property defined - with than name then null will be returned. - - - - - - The name of the value to lookup in the LoggingEvent Properties collection. - - - Value to lookup in the LoggingEvent Properties collection - - - - String name of the property to lookup in the . - - - - - - Extract the date from the - - - - Extract the date from the - - - Nicko Cadell - Gert Driesen - - - - Constructs a RawTimeStampLayout - - - - - Gets the as a . - - The event to format - returns the time stamp - - - Gets the as a . - - - The time stamp is in local time. To format the time stamp - in universal time use . - - - - - - Extract the date from the - - - - Extract the date from the - - - Nicko Cadell - Gert Driesen - - - - Constructs a RawUtcTimeStampLayout - - - - - Gets the as a . - - The event to format - returns the time stamp - - - Gets the as a . - - - The time stamp is in universal time. To format the time stamp - in local time use . - - - - - - A very simple layout - - - - SimpleLayout consists of the level of the log statement, - followed by " - " and then the log message itself. For example, - - DEBUG - Hello world - - - - Nicko Cadell - Gert Driesen - - - - Constructs a SimpleLayout - - - - - Initialize layout options - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - - - - Produces a simple formatted output. - - the event being logged - The TextWriter to write the formatted event to - - - Formats the event as the level of the even, - followed by " - " and then the log message itself. The - output is terminated by a newline. - - - - - - Layout that formats the log events as XML elements. - - - - The output of the consists of a series of - log4net:event elements. It does not output a complete well-formed XML - file. The output is designed to be included as an external entity - in a separate file to form a correct XML file. - - - For example, if abc is the name of the file where - the output goes, then a well-formed XML file would - be: - - - <?xml version="1.0" ?> - - <!DOCTYPE log4net:events SYSTEM "log4net-events.dtd" [<!ENTITY data SYSTEM "abc">]> - - <log4net:events version="1.2" xmlns:log4net="http://logging.apache.org/log4net/schemas/log4net-events-1.2> - &data; - </log4net:events> - - - This approach enforces the independence of the - and the appender where it is embedded. - - - The version attribute helps components to correctly - interpret output generated by . The value of - this attribute should be "1.2" for release 1.2 and later. - - - Alternatively the Header and Footer properties can be - configured to output the correct XML header, open tag and close tag. - When setting the Header and Footer properties it is essential - that the underlying data store not be appendable otherwise the data - will become invalid XML. - - - Nicko Cadell - Gert Driesen - - - - Layout that formats the log events as XML elements. - - - - This is an abstract class that must be subclassed by an implementation - to conform to a specific schema. - - - Deriving classes must implement the method. - - - Nicko Cadell - Gert Driesen - - - - Protected constructor to support subclasses - - - - Initializes a new instance of the class - with no location info. - - - - - - Protected constructor to support subclasses - - - - The parameter determines whether - location information will be output by the layout. If - is set to true, then the - file name and line number of the statement at the origin of the log - statement will be output. - - - If you are embedding this layout within an SMTPAppender - then make sure to set the LocationInfo option of that - appender as well. - - - - - - Initialize layout options - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - - - - Produces a formatted string. - - The event being logged. - The TextWriter to write the formatted event to - - - Format the and write it to the . - - - This method creates an that writes to the - . The is passed - to the method. Subclasses should override the - method rather than this method. - - - - - - Does the actual writing of the XML. - - The writer to use to output the event to. - The event to write. - - - Subclasses should override this method to format - the as XML. - - - - - - Flag to indicate if location information should be included in - the XML events. - - - - - Writer adapter that ignores Close - - - - - The string to replace invalid chars with - - - - - Gets a value indicating whether to include location information in - the XML events. - - - true if location information should be included in the XML - events; otherwise, false. - - - - If is set to true, then the file - name and line number of the statement at the origin of the log - statement will be output. - - - If you are embedding this layout within an SMTPAppender - then make sure to set the LocationInfo option of that - appender as well. - - - - - - The string to replace characters that can not be expressed in XML with. - - - Not all characters may be expressed in XML. This property contains the - string to replace those that can not with. This defaults to a ?. Set it - to the empty string to simply remove offending characters. For more - details on the allowed character ranges see http://www.w3.org/TR/REC-xml/#charsets - Character replacement will occur in the log message, the property names - and the property values. - - - - - - - Gets the content type output by this layout. - - - As this is the XML layout, the value is always "text/xml". - - - - As this is the XML layout, the value is always "text/xml". - - - - - - Constructs an XmlLayout - - - - - Constructs an XmlLayout. - - - - The LocationInfo option takes a boolean value. By - default, it is set to false which means there will be no location - information output by this layout. If the the option is set to - true, then the file name and line number of the statement - at the origin of the log statement will be output. - - - If you are embedding this layout within an SmtpAppender - then make sure to set the LocationInfo option of that - appender as well. - - - - - - Initialize layout options - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - Builds a cache of the element names - - - - - - Does the actual writing of the XML. - - The writer to use to output the event to. - The event to write. - - - Override the base class method - to write the to the . - - - - - - The prefix to use for all generated element names - - - - - The prefix to use for all element names - - - - The default prefix is log4net. Set this property - to change the prefix. If the prefix is set to an empty string - then no prefix will be written. - - - - - - Set whether or not to base64 encode the message. - - - - By default the log message will be written as text to the xml - output. This can cause problems when the message contains binary - data. By setting this to true the contents of the message will be - base64 encoded. If this is set then invalid character replacement - (see ) will not be performed - on the log message. - - - - - - Set whether or not to base64 encode the property values. - - - - By default the properties will be written as text to the xml - output. This can cause problems when one or more properties contain - binary data. By setting this to true the values of the properties - will be base64 encoded. If this is set then invalid character replacement - (see ) will not be performed - on the property values. - - - - - - Layout that formats the log events as XML elements compatible with the log4j schema - - - - Formats the log events according to the http://logging.apache.org/log4j schema. - - - Nicko Cadell - - - - The 1st of January 1970 in UTC - - - - - Constructs an XMLLayoutSchemaLog4j - - - - - Constructs an XMLLayoutSchemaLog4j. - - - - The LocationInfo option takes a boolean value. By - default, it is set to false which means there will be no location - information output by this layout. If the the option is set to - true, then the file name and line number of the statement - at the origin of the log statement will be output. - - - If you are embedding this layout within an SMTPAppender - then make sure to set the LocationInfo option of that - appender as well. - - - - - - Actually do the writing of the xml - - the writer to use - the event to write - - - Generate XML that is compatible with the log4j schema. - - - - - - The version of the log4j schema to use. - - - - Only version 1.2 of the log4j schema is supported. - - - - - - The default object Renderer. - - - - The default renderer supports rendering objects and collections to strings. - - - See the method for details of the output. - - - Nicko Cadell - Gert Driesen - - - - Implement this interface in order to render objects as strings - - - - Certain types require special case conversion to - string form. This conversion is done by an object renderer. - Object renderers implement the - interface. - - - Nicko Cadell - Gert Driesen - - - - Render the object to a string - - The map used to lookup renderers - The object to render - The writer to render to - - - Render the object to a - string. - - - The parameter is - provided to lookup and render other objects. This is - very useful where contains - nested objects of unknown type. The - method can be used to render these objects. - - - - - - Default constructor - - - - Default constructor - - - - - - Render the object to a string - - The map used to lookup renderers - The object to render - The writer to render to - - - Render the object to a string. - - - The parameter is - provided to lookup and render other objects. This is - very useful where contains - nested objects of unknown type. The - method can be used to render these objects. - - - The default renderer supports rendering objects to strings as follows: - - - - Value - Rendered String - - - null - - "(null)" - - - - - - - For a one dimensional array this is the - array type name, an open brace, followed by a comma - separated list of the elements (using the appropriate - renderer), followed by a close brace. - - - For example: int[] {1, 2, 3}. - - - If the array is not one dimensional the - Array.ToString() is returned. - - - - - , & - - - Rendered as an open brace, followed by a comma - separated list of the elements (using the appropriate - renderer), followed by a close brace. - - - For example: {a, b, c}. - - - All collection classes that implement its subclasses, - or generic equivalents all implement the interface. - - - - - - - - Rendered as the key, an equals sign ('='), and the value (using the appropriate - renderer). - - - For example: key=value. - - - - - other - - Object.ToString() - - - - - - - - Render the array argument into a string - - The map used to lookup renderers - the array to render - The writer to render to - - - For a one dimensional array this is the - array type name, an open brace, followed by a comma - separated list of the elements (using the appropriate - renderer), followed by a close brace. For example: - int[] {1, 2, 3}. - - - If the array is not one dimensional the - Array.ToString() is returned. - - - - - - Render the enumerator argument into a string - - The map used to lookup renderers - the enumerator to render - The writer to render to - - - Rendered as an open brace, followed by a comma - separated list of the elements (using the appropriate - renderer), followed by a close brace. For example: - {a, b, c}. - - - - - - Render the DictionaryEntry argument into a string - - The map used to lookup renderers - the DictionaryEntry to render - The writer to render to - - - Render the key, an equals sign ('='), and the value (using the appropriate - renderer). For example: key=value. - - - - - - Map class objects to an . - - - - Maintains a mapping between types that require special - rendering and the that - is used to render them. - - - The method is used to render an - object using the appropriate renderers defined in this map. - - - Nicko Cadell - Gert Driesen - - - - Default Constructor - - - - Default constructor. - - - - - - Render using the appropriate renderer. - - the object to render to a string - the object rendered as a string - - - This is a convenience method used to render an object to a string. - The alternative method - should be used when streaming output to a . - - - - - - Render using the appropriate renderer. - - the object to render to a string - The writer to render to - - - Find the appropriate renderer for the type of the - parameter. This is accomplished by calling the - method. Once a renderer is found, it is - applied on the object and the result is returned - as a . - - - - - - Gets the renderer for the specified object type - - the object to lookup the renderer for - the renderer for - - - Gets the renderer for the specified object type. - - - Syntactic sugar method that calls - with the type of the object parameter. - - - - - - Gets the renderer for the specified type - - the type to lookup the renderer for - the renderer for the specified type - - - Returns the renderer for the specified type. - If no specific renderer has been defined the - will be returned. - - - - - - Internal function to recursively search interfaces - - the type to lookup the renderer for - the renderer for the specified type - - - - Clear the map of renderers - - - - Clear the custom renderers defined by using - . The - cannot be removed. - - - - - - Register an for . - - the type that will be rendered by - the renderer for - - - Register an object renderer for a specific source type. - This renderer will be returned from a call to - specifying the same as an argument. - - - - - - Get the default renderer instance - - the default renderer - - - Get the default renderer - - - - - - Interface implemented by logger repository plugins. - - - - Plugins define additional behavior that can be associated - with a . - The held by the - property is used to store the plugins for a repository. - - - The log4net.Config.PluginAttribute can be used to - attach plugins to repositories created using configuration - attributes. - - - Nicko Cadell - Gert Driesen - - - - Attaches the plugin to the specified . - - The that this plugin should be attached to. - - - A plugin may only be attached to a single repository. - - - This method is called when the plugin is attached to the repository. - - - - - - Is called when the plugin is to shutdown. - - - - This method is called to notify the plugin that - it should stop operating and should detach from - the repository. - - - - - - Gets the name of the plugin. - - - The name of the plugin. - - - - Plugins are stored in the - keyed by name. Each plugin instance attached to a - repository must be a unique name. - - - - - - A strongly-typed collection of objects. - - Nicko Cadell - - - - Creates a read-only wrapper for a PluginCollection instance. - - list to create a readonly wrapper arround - - A PluginCollection wrapper that is read-only. - - - - - Initializes a new instance of the PluginCollection class - that is empty and has the default initial capacity. - - - - - Initializes a new instance of the PluginCollection class - that has the specified initial capacity. - - - The number of elements that the new PluginCollection is initially capable of storing. - - - - - Initializes a new instance of the PluginCollection class - that contains elements copied from the specified PluginCollection. - - The PluginCollection whose elements are copied to the new collection. - - - - Initializes a new instance of the PluginCollection class - that contains elements copied from the specified array. - - The array whose elements are copied to the new list. - - - - Initializes a new instance of the PluginCollection class - that contains elements copied from the specified collection. - - The collection whose elements are copied to the new list. - - - - Allow subclasses to avoid our default constructors - - - - - - - Copies the entire PluginCollection to a one-dimensional - array. - - The one-dimensional array to copy to. - - - - Copies the entire PluginCollection to a one-dimensional - array, starting at the specified index of the target array. - - The one-dimensional array to copy to. - The zero-based index in at which copying begins. - - - - Adds a to the end of the PluginCollection. - - The to be added to the end of the PluginCollection. - The index at which the value has been added. - - - - Removes all elements from the PluginCollection. - - - - - Creates a shallow copy of the . - - A new with a shallow copy of the collection data. - - - - Determines whether a given is in the PluginCollection. - - The to check for. - true if is found in the PluginCollection; otherwise, false. - - - - Returns the zero-based index of the first occurrence of a - in the PluginCollection. - - The to locate in the PluginCollection. - - The zero-based index of the first occurrence of - in the entire PluginCollection, if found; otherwise, -1. - - - - - Inserts an element into the PluginCollection at the specified index. - - The zero-based index at which should be inserted. - The to insert. - - is less than zero - -or- - is equal to or greater than . - - - - - Removes the first occurrence of a specific from the PluginCollection. - - The to remove from the PluginCollection. - - The specified was not found in the PluginCollection. - - - - - Removes the element at the specified index of the PluginCollection. - - The zero-based index of the element to remove. - - is less than zero. - -or- - is equal to or greater than . - - - - - Returns an enumerator that can iterate through the PluginCollection. - - An for the entire PluginCollection. - - - - Adds the elements of another PluginCollection to the current PluginCollection. - - The PluginCollection whose elements should be added to the end of the current PluginCollection. - The new of the PluginCollection. - - - - Adds the elements of a array to the current PluginCollection. - - The array whose elements should be added to the end of the PluginCollection. - The new of the PluginCollection. - - - - Adds the elements of a collection to the current PluginCollection. - - The collection whose elements should be added to the end of the PluginCollection. - The new of the PluginCollection. - - - - Sets the capacity to the actual number of elements. - - - - - is less than zero. - -or- - is equal to or greater than . - - - - - is less than zero. - -or- - is equal to or greater than . - - - - - Gets the number of elements actually contained in the PluginCollection. - - - - - Gets a value indicating whether access to the collection is synchronized (thread-safe). - - true if access to the ICollection is synchronized (thread-safe); otherwise, false. - - - - Gets an object that can be used to synchronize access to the collection. - - - An object that can be used to synchronize access to the collection. - - - - - Gets or sets the at the specified index. - - - The at the specified index. - - The zero-based index of the element to get or set. - - is less than zero. - -or- - is equal to or greater than . - - - - - Gets a value indicating whether the collection has a fixed size. - - true if the collection has a fixed size; otherwise, false. The default is false. - - - - Gets a value indicating whether the IList is read-only. - - true if the collection is read-only; otherwise, false. The default is false. - - - - Gets or sets the number of elements the PluginCollection can contain. - - - The number of elements the PluginCollection can contain. - - - - - Supports type-safe iteration over a . - - - - - - Advances the enumerator to the next element in the collection. - - - true if the enumerator was successfully advanced to the next element; - false if the enumerator has passed the end of the collection. - - - The collection was modified after the enumerator was created. - - - - - Sets the enumerator to its initial position, before the first element in the collection. - - - - - Gets the current element in the collection. - - - - - Type visible only to our subclasses - Used to access protected constructor - - - - - - A value - - - - - Supports simple iteration over a . - - - - - - Initializes a new instance of the Enumerator class. - - - - - - Advances the enumerator to the next element in the collection. - - - true if the enumerator was successfully advanced to the next element; - false if the enumerator has passed the end of the collection. - - - The collection was modified after the enumerator was created. - - - - - Sets the enumerator to its initial position, before the first element in the collection. - - - - - Gets the current element in the collection. - - - The current element in the collection. - - - - - - - - Map of repository plugins. - - - - This class is a name keyed map of the plugins that are - attached to a repository. - - - Nicko Cadell - Gert Driesen - - - - Constructor - - The repository that the plugins should be attached to. - - - Initialize a new instance of the class with a - repository that the plugins should be attached to. - - - - - - Adds a to the map. - - The to add to the map. - - - The will be attached to the repository when added. - - - If there already exists a plugin with the same name - attached to the repository then the old plugin will - be and replaced with - the new plugin. - - - - - - Removes a from the map. - - The to remove from the map. - - - Remove a specific plugin from this map. - - - - - - Gets a by name. - - The name of the to lookup. - - The from the map with the name specified, or - null if no plugin is found. - - - - Lookup a plugin by name. If the plugin is not found null - will be returned. - - - - - - Gets all possible plugins as a list of objects. - - All possible plugins as a list of objects. - - - Get a collection of all the plugins defined in this map. - - - - - - Base implementation of - - - - Default abstract implementation of the - interface. This base class can be used by implementors - of the interface. - - - Nicko Cadell - Gert Driesen - - - - Constructor - - the name of the plugin - - Initializes a new Plugin with the specified name. - - - - - Attaches this plugin to a . - - The that this plugin should be attached to. - - - A plugin may only be attached to a single repository. - - - This method is called when the plugin is attached to the repository. - - - - - - Is called when the plugin is to shutdown. - - - - This method is called to notify the plugin that - it should stop operating and should detach from - the repository. - - - - - - The name of this plugin. - - - - - The repository this plugin is attached to. - - - - - Gets or sets the name of the plugin. - - - The name of the plugin. - - - - Plugins are stored in the - keyed by name. Each plugin instance attached to a - repository must be a unique name. - - - The name of the plugin must not change one the - plugin has been attached to a repository. - - - - - - The repository for this plugin - - - The that this plugin is attached to. - - - - Gets or sets the that this plugin is - attached to. - - - - - - Plugin that listens for events from the - - - - This plugin publishes an instance of - on a specified . This listens for logging events delivered from - a remote . - - - When an event is received it is relogged within the attached repository - as if it had been raised locally. - - - Nicko Cadell - Gert Driesen - - - - Default constructor - - - - Initializes a new instance of the class. - - - The property must be set. - - - - - - Construct with sink Uri. - - The name to publish the sink under in the remoting infrastructure. - See for more details. - - - Initializes a new instance of the class - with specified name. - - - - - - Attaches this plugin to a . - - The that this plugin should be attached to. - - - A plugin may only be attached to a single repository. - - - This method is called when the plugin is attached to the repository. - - - - - - Is called when the plugin is to shutdown. - - - - When the plugin is shutdown the remote logging - sink is disconnected. - - - - - - Gets or sets the URI of this sink. - - - The URI of this sink. - - - - This is the name under which the object is marshaled. - - - - - - - Delivers objects to a remote sink. - - - - Internal class used to listen for logging events - and deliver them to the local repository. - - - - - - Constructor - - The repository to log to. - - - Initializes a new instance of the for the - specified . - - - - - - Logs the events to the repository. - - The events to log. - - - The events passed are logged to the - - - - - - Obtains a lifetime service object to control the lifetime - policy for this instance. - - null to indicate that this instance should live forever. - - - Obtains a lifetime service object to control the lifetime - policy for this instance. This object should live forever - therefore this implementation returns null. - - - - - - The underlying that events should - be logged to. - - - - - Default implementation of - - - - This default implementation of the - interface is used to create the default subclass - of the object. - - - Nicko Cadell - Gert Driesen - - - - Interface abstracts creation of instances - - - - This interface is used by the to - create new objects. - - - The method is called - to create a named . - - - Implement this interface to create new subclasses of . - - - Nicko Cadell - Gert Driesen - - - - Create a new instance - - The name of the . - The instance for the specified name. - - - Create a new instance with the - specified name. - - - Called by the to create - new named instances. - - - If the is null then the root logger - must be returned. - - - - - - Default constructor - - - - Initializes a new instance of the class. - - - - - - Create a new instance - - The name of the . - The instance for the specified name. - - - Create a new instance with the - specified name. - - - Called by the to create - new named instances. - - - If the is null then the root logger - must be returned. - - - - - - Default internal subclass of - - - - This subclass has no additional behavior over the - class but does allow instances - to be created. - - - - - - Implementation of used by - - - - Internal class used to provide implementation of - interface. Applications should use to get - logger instances. - - - This is one of the central classes in the log4net implementation. One of the - distinctive features of log4net are hierarchical loggers and their - evaluation. The organizes the - instances into a rooted tree hierarchy. - - - The class is abstract. Only concrete subclasses of - can be created. The - is used to create instances of this type for the . - - - Nicko Cadell - Gert Driesen - Aspi Havewala - Douglas de la Torre - - - - This constructor created a new instance and - sets its name. - - The name of the . - - - This constructor is protected and designed to be used by - a subclass that is not abstract. - - - Loggers are constructed by - objects. See for the default - logger creator. - - - - - - Add to the list of appenders of this - Logger instance. - - An appender to add to this logger - - - Add to the list of appenders of this - Logger instance. - - - If is already in the list of - appenders, then it won't be added again. - - - - - - Look for the appender named as name - - The name of the appender to lookup - The appender with the name specified, or null. - - - Returns the named appender, or null if the appender is not found. - - - - - - Remove all previously added appenders from this Logger instance. - - - - Remove all previously added appenders from this Logger instance. - - - This is useful when re-reading configuration information. - - - - - - Remove the appender passed as parameter form the list of appenders. - - The appender to remove - The appender removed from the list - - - Remove the appender passed as parameter form the list of appenders. - The appender removed is not closed. - If you are discarding the appender you must call - on the appender removed. - - - - - - Remove the appender passed as parameter form the list of appenders. - - The name of the appender to remove - The appender removed from the list - - - Remove the named appender passed as parameter form the list of appenders. - The appender removed is not closed. - If you are discarding the appender you must call - on the appender removed. - - - - - - This generic form is intended to be used by wrappers. - - The declaring type of the method that is - the stack boundary into the logging system for this call. - The level of the message to be logged. - The message object to log. - The exception to log, including its stack trace. - - - Generate a logging event for the specified using - the and . - - - This method must not throw any exception to the caller. - - - - - - This is the most generic printing method that is intended to be used - by wrappers. - - The event being logged. - - - Logs the specified logging event through this logger. - - - This method must not throw any exception to the caller. - - - - - - Checks if this logger is enabled for a given passed as parameter. - - The level to check. - - true if this logger is enabled for level, otherwise false. - - - - Test if this logger is going to log events of the specified . - - - This method must not throw any exception to the caller. - - - - - - Deliver the to the attached appenders. - - The event to log. - - - Call the appenders in the hierarchy starting at - this. If no appenders could be found, emit a - warning. - - - This method calls all the appenders inherited from the - hierarchy circumventing any evaluation of whether to log or not - to log the particular log request. - - - - - - Closes all attached appenders implementing the interface. - - - - Used to ensure that the appenders are correctly shutdown. - - - - - - This is the most generic printing method. This generic form is intended to be used by wrappers - - The level of the message to be logged. - The message object to log. - The exception to log, including its stack trace. - - - Generate a logging event for the specified using - the . - - - - - - Creates a new logging event and logs the event without further checks. - - The declaring type of the method that is - the stack boundary into the logging system for this call. - The level of the message to be logged. - The message object to log. - The exception to log, including its stack trace. - - - Generates a logging event and delivers it to the attached - appenders. - - - - - - Creates a new logging event and logs the event without further checks. - - The event being logged. - - - Delivers the logging event to the attached appenders. - - - - - - The fully qualified type of the Logger class. - - - - - The name of this logger. - - - - - The assigned level of this logger. - - - - The level variable need not be - assigned a value in which case it is inherited - form the hierarchy. - - - - - - The parent of this logger. - - - - The parent of this logger. - All loggers have at least one ancestor which is the root logger. - - - - - - Loggers need to know what Hierarchy they are in. - - - - Loggers need to know what Hierarchy they are in. - The hierarchy that this logger is a member of is stored - here. - - - - - - Helper implementation of the interface - - - - - Flag indicating if child loggers inherit their parents appenders - - - - Additivity is set to true by default, that is children inherit - the appenders of their ancestors by default. If this variable is - set to false then the appenders found in the - ancestors of this logger are not used. However, the children - of this logger will inherit its appenders, unless the children - have their additivity flag set to false too. See - the user manual for more details. - - - - - - Lock to protect AppenderAttachedImpl variable m_appenderAttachedImpl - - - - - Gets or sets the parent logger in the hierarchy. - - - The parent logger in the hierarchy. - - - - Part of the Composite pattern that makes the hierarchy. - The hierarchy is parent linked rather than child linked. - - - - - - Gets or sets a value indicating if child loggers inherit their parent's appenders. - - - true if child loggers inherit their parent's appenders. - - - - Additivity is set to true by default, that is children inherit - the appenders of their ancestors by default. If this variable is - set to false then the appenders found in the - ancestors of this logger are not used. However, the children - of this logger will inherit its appenders, unless the children - have their additivity flag set to false too. See - the user manual for more details. - - - - - - Gets the effective level for this logger. - - The nearest level in the logger hierarchy. - - - Starting from this logger, searches the logger hierarchy for a - non-null level and returns it. Otherwise, returns the level of the - root logger. - - The Logger class is designed so that this method executes as - quickly as possible. - - - - - Gets or sets the where this - Logger instance is attached to. - - The hierarchy that this logger belongs to. - - - This logger must be attached to a single . - - - - - - Gets or sets the assigned , if any, for this Logger. - - - The of this logger. - - - - The assigned can be null. - - - - - - Get the appenders contained in this logger as an - . - - A collection of the appenders in this logger - - - Get the appenders contained in this logger as an - . If no appenders - can be found, then a is returned. - - - - - - Gets the logger name. - - - The name of the logger. - - - - The name of this logger - - - - - - Gets the where this - Logger instance is attached to. - - - The that this logger belongs to. - - - - Gets the where this - Logger instance is attached to. - - - - - - Construct a new Logger - - the name of the logger - - - Initializes a new instance of the class - with the specified name. - - - - - - Delegate used to handle logger creation event notifications. - - The in which the has been created. - The event args that hold the instance that has been created. - - - Delegate used to handle logger creation event notifications. - - - - - - Provides data for the event. - - - - A event is raised every time a - is created. - - - - - - The created - - - - - Constructor - - The that has been created. - - - Initializes a new instance of the event argument - class,with the specified . - - - - - - Gets the that has been created. - - - The that has been created. - - - - The that has been created. - - - - - - Hierarchical organization of loggers - - - - The casual user should not have to deal with this class - directly. - - - This class is specialized in retrieving loggers by name and - also maintaining the logger hierarchy. Implements the - interface. - - - The structure of the logger hierarchy is maintained by the - method. The hierarchy is such that children - link to their parent but parents do not have any references to their - children. Moreover, loggers can be instantiated in any order, in - particular descendant before ancestor. - - - In case a descendant is created before a particular ancestor, - then it creates a provision node for the ancestor and adds itself - to the provision node. Other descendants of the same ancestor add - themselves to the previously created provision node. - - - Nicko Cadell - Gert Driesen - - - - Base implementation of - - - - Default abstract implementation of the interface. - - - Skeleton implementation of the interface. - All types can extend this type. - - - Nicko Cadell - Gert Driesen - - - - Interface implemented by logger repositories. - - - - This interface is implemented by logger repositories. e.g. - . - - - This interface is used by the - to obtain interfaces. - - - Nicko Cadell - Gert Driesen - - - - Check if the named logger exists in the repository. If so return - its reference, otherwise returns null. - - The name of the logger to lookup - The Logger object with the name specified - - - If the names logger exists it is returned, otherwise - null is returned. - - - - - - Returns all the currently defined loggers as an Array. - - All the defined loggers - - - Returns all the currently defined loggers as an Array. - - - - - - Returns a named logger instance - - The name of the logger to retrieve - The logger object with the name specified - - - Returns a named logger instance. - - - If a logger of that name already exists, then it will be - returned. Otherwise, a new logger will be instantiated and - then linked with its existing ancestors as well as children. - - - - - Shutdown the repository - - - Shutting down a repository will safely close and remove - all appenders in all loggers including the root logger. - - - Some appenders need to be closed before the - application exists. Otherwise, pending logging events might be - lost. - - - The method is careful to close nested - appenders before closing regular appenders. This is allows - configurations where a regular appender is attached to a logger - and again to a nested appender. - - - - - - Reset the repositories configuration to a default state - - - - Reset all values contained in this instance to their - default state. - - - Existing loggers are not removed. They are just reset. - - - This method should be used sparingly and with care as it will - block all logging until it is completed. - - - - - - Log the through this repository. - - the event to log - - - This method should not normally be used to log. - The interface should be used - for routine logging. This interface can be obtained - using the method. - - - The logEvent is delivered to the appropriate logger and - that logger is then responsible for logging the event. - - - - - - Returns all the Appenders that are configured as an Array. - - All the Appenders - - - Returns all the Appenders that are configured as an Array. - - - - - - The name of the repository - - - The name of the repository - - - - The name of the repository. - - - - - - RendererMap accesses the object renderer map for this repository. - - - RendererMap accesses the object renderer map for this repository. - - - - RendererMap accesses the object renderer map for this repository. - - - The RendererMap holds a mapping between types and - objects. - - - - - - The plugin map for this repository. - - - The plugin map for this repository. - - - - The plugin map holds the instances - that have been attached to this repository. - - - - - - Get the level map for the Repository. - - - - Get the level map for the Repository. - - - The level map defines the mappings between - level names and objects in - this repository. - - - - - - The threshold for all events in this repository - - - The threshold for all events in this repository - - - - The threshold for all events in this repository. - - - - - - Flag indicates if this repository has been configured. - - - Flag indicates if this repository has been configured. - - - - Flag indicates if this repository has been configured. - - - - - - Event to notify that the repository has been shutdown. - - - Event to notify that the repository has been shutdown. - - - - Event raised when the repository has been shutdown. - - - - - - Event to notify that the repository has had its configuration reset. - - - Event to notify that the repository has had its configuration reset. - - - - Event raised when the repository's configuration has been - reset to default. - - - - - - Event to notify that the repository has had its configuration changed. - - - Event to notify that the repository has had its configuration changed. - - - - Event raised when the repository's configuration has been changed. - - - - - - Repository specific properties - - - Repository specific properties - - - - These properties can be specified on a repository specific basis. - - - - - - Default Constructor - - - - Initializes the repository with default (empty) properties. - - - - - - Construct the repository using specific properties - - the properties to set for this repository - - - Initializes the repository with specified properties. - - - - - - Test if logger exists - - The name of the logger to lookup - The Logger object with the name specified - - - Check if the named logger exists in the repository. If so return - its reference, otherwise returns null. - - - - - - Returns all the currently defined loggers in the repository - - All the defined loggers - - - Returns all the currently defined loggers in the repository as an Array. - - - - - - Return a new logger instance - - The name of the logger to retrieve - The logger object with the name specified - - - Return a new logger instance. - - - If a logger of that name already exists, then it will be - returned. Otherwise, a new logger will be instantiated and - then linked with its existing ancestors as well as children. - - - - - - Shutdown the repository - - - - Shutdown the repository. Can be overridden in a subclass. - This base class implementation notifies the - listeners and all attached plugins of the shutdown event. - - - - - - Reset the repositories configuration to a default state - - - - Reset all values contained in this instance to their - default state. - - - Existing loggers are not removed. They are just reset. - - - This method should be used sparingly and with care as it will - block all logging until it is completed. - - - - - - Log the logEvent through this repository. - - the event to log - - - This method should not normally be used to log. - The interface should be used - for routine logging. This interface can be obtained - using the method. - - - The logEvent is delivered to the appropriate logger and - that logger is then responsible for logging the event. - - - - - - Returns all the Appenders that are configured as an Array. - - All the Appenders - - - Returns all the Appenders that are configured as an Array. - - - - - - Adds an object renderer for a specific class. - - The type that will be rendered by the renderer supplied. - The object renderer used to render the object. - - - Adds an object renderer for a specific class. - - - - - - Notify the registered listeners that the repository is shutting down - - Empty EventArgs - - - Notify any listeners that this repository is shutting down. - - - - - - Notify the registered listeners that the repository has had its configuration reset - - Empty EventArgs - - - Notify any listeners that this repository's configuration has been reset. - - - - - - Notify the registered listeners that the repository has had its configuration changed - - Empty EventArgs - - - Notify any listeners that this repository's configuration has changed. - - - - - - Raise a configuration changed event on this repository - - EventArgs.Empty - - - Applications that programmatically change the configuration of the repository should - raise this event notification to notify listeners. - - - - - - The name of the repository - - - The string name of the repository - - - - The name of this repository. The name is - used to store and lookup the repositories - stored by the . - - - - - - The threshold for all events in this repository - - - The threshold for all events in this repository - - - - The threshold for all events in this repository - - - - - - RendererMap accesses the object renderer map for this repository. - - - RendererMap accesses the object renderer map for this repository. - - - - RendererMap accesses the object renderer map for this repository. - - - The RendererMap holds a mapping between types and - objects. - - - - - - The plugin map for this repository. - - - The plugin map for this repository. - - - - The plugin map holds the instances - that have been attached to this repository. - - - - - - Get the level map for the Repository. - - - - Get the level map for the Repository. - - - The level map defines the mappings between - level names and objects in - this repository. - - - - - - Flag indicates if this repository has been configured. - - - Flag indicates if this repository has been configured. - - - - Flag indicates if this repository has been configured. - - - - - - Event to notify that the repository has been shutdown. - - - Event to notify that the repository has been shutdown. - - - - Event raised when the repository has been shutdown. - - - - - - Event to notify that the repository has had its configuration reset. - - - Event to notify that the repository has had its configuration reset. - - - - Event raised when the repository's configuration has been - reset to default. - - - - - - Event to notify that the repository has had its configuration changed. - - - Event to notify that the repository has had its configuration changed. - - - - Event raised when the repository's configuration has been changed. - - - - - - Repository specific properties - - - Repository specific properties - - - These properties can be specified on a repository specific basis - - - - - Basic Configurator interface for repositories - - - - Interface used by basic configurator to configure a - with a default . - - - A should implement this interface to support - configuration by the . - - - Nicko Cadell - Gert Driesen - - - - Initialize the repository using the specified appender - - the appender to use to log all logging events - - - Configure the repository to route all logging events to the - specified appender. - - - - - - Configure repository using XML - - - - Interface used by Xml configurator to configure a . - - - A should implement this interface to support - configuration by the . - - - Nicko Cadell - Gert Driesen - - - - Initialize the repository using the specified config - - the element containing the root of the config - - - The schema for the XML configuration data is defined by - the implementation. - - - - - - Default constructor - - - - Initializes a new instance of the class. - - - - - - Construct with properties - - The properties to pass to this repository. - - - Initializes a new instance of the class. - - - - - - Construct with a logger factory - - The factory to use to create new logger instances. - - - Initializes a new instance of the class with - the specified . - - - - - - Construct with properties and a logger factory - - The properties to pass to this repository. - The factory to use to create new logger instances. - - - Initializes a new instance of the class with - the specified . - - - - - - Test if a logger exists - - The name of the logger to lookup - The Logger object with the name specified - - - Check if the named logger exists in the hierarchy. If so return - its reference, otherwise returns null. - - - - - - Returns all the currently defined loggers in the hierarchy as an Array - - All the defined loggers - - - Returns all the currently defined loggers in the hierarchy as an Array. - The root logger is not included in the returned - enumeration. - - - - - - Return a new logger instance named as the first parameter using - the default factory. - - - - Return a new logger instance named as the first parameter using - the default factory. - - - If a logger of that name already exists, then it will be - returned. Otherwise, a new logger will be instantiated and - then linked with its existing ancestors as well as children. - - - The name of the logger to retrieve - The logger object with the name specified - - - - Shutting down a hierarchy will safely close and remove - all appenders in all loggers including the root logger. - - - - Shutting down a hierarchy will safely close and remove - all appenders in all loggers including the root logger. - - - Some appenders need to be closed before the - application exists. Otherwise, pending logging events might be - lost. - - - The Shutdown method is careful to close nested - appenders before closing regular appenders. This is allows - configurations where a regular appender is attached to a logger - and again to a nested appender. - - - - - - Reset all values contained in this hierarchy instance to their default. - - - - Reset all values contained in this hierarchy instance to their - default. This removes all appenders from all loggers, sets - the level of all non-root loggers to null, - sets their additivity flag to true and sets the level - of the root logger to . Moreover, - message disabling is set its default "off" value. - - - Existing loggers are not removed. They are just reset. - - - This method should be used sparingly and with care as it will - block all logging until it is completed. - - - - - - Log the logEvent through this hierarchy. - - the event to log - - - This method should not normally be used to log. - The interface should be used - for routine logging. This interface can be obtained - using the method. - - - The logEvent is delivered to the appropriate logger and - that logger is then responsible for logging the event. - - - - - - Returns all the Appenders that are currently configured - - An array containing all the currently configured appenders - - - Returns all the instances that are currently configured. - All the loggers are searched for appenders. The appenders may also be containers - for appenders and these are also searched for additional loggers. - - - The list returned is unordered but does not contain duplicates. - - - - - - Collect the appenders from an . - The appender may also be a container. - - - - - - - Collect the appenders from an container - - - - - - - Initialize the log4net system using the specified appender - - the appender to use to log all logging events - - - - Initialize the log4net system using the specified appender - - the appender to use to log all logging events - - - This method provides the same functionality as the - method implemented - on this object, but it is protected and therefore can be called by subclasses. - - - - - - Initialize the log4net system using the specified config - - the element containing the root of the config - - - - Initialize the log4net system using the specified config - - the element containing the root of the config - - - This method provides the same functionality as the - method implemented - on this object, but it is protected and therefore can be called by subclasses. - - - - - - Test if this hierarchy is disabled for the specified . - - The level to check against. - - true if the repository is disabled for the level argument, false otherwise. - - - - If this hierarchy has not been configured then this method will - always return true. - - - This method will return true if this repository is - disabled for level object passed as parameter and - false otherwise. - - - See also the property. - - - - - - Clear all logger definitions from the internal hashtable - - - - This call will clear all logger definitions from the internal - hashtable. Invoking this method will irrevocably mess up the - logger hierarchy. - - - You should really know what you are doing before - invoking this method. - - - - - - Return a new logger instance named as the first parameter using - . - - The name of the logger to retrieve - The factory that will make the new logger instance - The logger object with the name specified - - - If a logger of that name already exists, then it will be - returned. Otherwise, a new logger will be instantiated by the - parameter and linked with its existing - ancestors as well as children. - - - - - - Sends a logger creation event to all registered listeners - - The newly created logger - - Raises the logger creation event. - - - - - Updates all the parents of the specified logger - - The logger to update the parents for - - - This method loops through all the potential parents of - . There 3 possible cases: - - - - No entry for the potential parent of exists - - We create a ProvisionNode for this potential - parent and insert in that provision node. - - - - The entry is of type Logger for the potential parent. - - The entry is 's nearest existing parent. We - update 's parent field with this entry. We also break from - he loop because updating our parent's parent is our parent's - responsibility. - - - - The entry is of type ProvisionNode for this potential parent. - - We add to the list of children for this - potential parent. - - - - - - - - Replace a with a in the hierarchy. - - - - - - We update the links for all the children that placed themselves - in the provision node 'pn'. The second argument 'log' is a - reference for the newly created Logger, parent of all the - children in 'pn'. - - - We loop on all the children 'c' in 'pn'. - - - If the child 'c' has been already linked to a child of - 'log' then there is no need to update 'c'. - - - Otherwise, we set log's parent field to c's parent and set - c's parent field to log. - - - - - - Define or redefine a Level using the values in the argument - - the level values - - - Define or redefine a Level using the values in the argument - - - Supports setting levels via the configuration file. - - - - - - Set a Property using the values in the argument - - the property value - - - Set a Property using the values in the argument. - - - Supports setting property values via the configuration file. - - - - - - Event used to notify that a logger has been created. - - - - Event raised when a logger is created. - - - - - - Has no appender warning been emitted - - - - Flag to indicate if we have already issued a warning - about not having an appender warning. - - - - - - Get the root of this hierarchy - - - - Get the root of this hierarchy. - - - - - - Gets or sets the default instance. - - The default - - - The logger factory is used to create logger instances. - - - - - - A class to hold the value, name and display name for a level - - - - A class to hold the value, name and display name for a level - - - - - - Override Object.ToString to return sensible debug info - - string info about this object - - - - Value of the level - - - - If the value is not set (defaults to -1) the value will be looked - up for the current level with the same name. - - - - - - Name of the level - - - The name of the level - - - - The name of the level. - - - - - - Display name for the level - - - The display name of the level - - - - The display name of the level. - - - - - - A class to hold the key and data for a property set in the config file - - - - A class to hold the key and data for a property set in the config file - - - - - - Override Object.ToString to return sensible debug info - - string info about this object - - - - Property Key - - - Property Key - - - - Property Key. - - - - - - Property Value - - - Property Value - - - - Property Value. - - - - - - Used internally to accelerate hash table searches. - - - - Internal class used to improve performance of - string keyed hashtables. - - - The hashcode of the string is cached for reuse. - The string is stored as an interned value. - When comparing two objects for equality - the reference equality of the interned strings is compared. - - - Nicko Cadell - Gert Driesen - - - - Construct key with string name - - - - Initializes a new instance of the class - with the specified name. - - - Stores the hashcode of the string and interns - the string key to optimize comparisons. - - - The Compact Framework 1.0 the - method does not work. On the Compact Framework - the string keys are not interned nor are they - compared by reference. - - - The name of the logger. - - - - Returns a hash code for the current instance. - - A hash code for the current instance. - - - Returns the cached hashcode. - - - - - - Determines whether two instances - are equal. - - The to compare with the current . - - true if the specified is equal to the current ; otherwise, false. - - - - Compares the references of the interned strings. - - - - - - Provision nodes are used where no logger instance has been specified - - - - instances are used in the - when there is no specified - for that node. - - - A provision node holds a list of child loggers on behalf of - a logger that does not exist. - - - Nicko Cadell - Gert Driesen - - - - Create a new provision node with child node - - A child logger to add to this node. - - - Initializes a new instance of the class - with the specified child logger. - - - - - - The sits at the root of the logger hierarchy tree. - - - - The is a regular except - that it provides several guarantees. - - - First, it cannot be assigned a null - level. Second, since the root logger cannot have a parent, the - property always returns the value of the - level field without walking the hierarchy. - - - Nicko Cadell - Gert Driesen - - - - Construct a - - The level to assign to the root logger. - - - Initializes a new instance of the class with - the specified logging level. - - - The root logger names itself as "root". However, the root - logger cannot be retrieved by name. - - - - - - Gets the assigned level value without walking the logger hierarchy. - - The assigned level value without walking the logger hierarchy. - - - Because the root logger cannot have a parent and its level - must not be null this property just returns the - value of . - - - - - - Gets or sets the assigned for the root logger. - - - The of the root logger. - - - - Setting the level of the root logger to a null reference - may have catastrophic results. We prevent this here. - - - - - - Initializes the log4net environment using an XML DOM. - - - - Configures a using an XML DOM. - - - Nicko Cadell - Gert Driesen - - - - Construct the configurator for a hierarchy - - The hierarchy to build. - - - Initializes a new instance of the class - with the specified . - - - - - - Configure the hierarchy by parsing a DOM tree of XML elements. - - The root element to parse. - - - Configure the hierarchy by parsing a DOM tree of XML elements. - - - - - - Parse appenders by IDREF. - - The appender ref element. - The instance of the appender that the ref refers to. - - - Parse an XML element that represents an appender and return - the appender. - - - - - - Parses an appender element. - - The appender element. - The appender instance or null when parsing failed. - - - Parse an XML element that represents an appender and return - the appender instance. - - - - - - Parses a logger element. - - The logger element. - - - Parse an XML element that represents a logger. - - - - - - Parses the root logger element. - - The root element. - - - Parse an XML element that represents the root logger. - - - - - - Parses the children of a logger element. - - The category element. - The logger instance. - Flag to indicate if the logger is the root logger. - - - Parse the child elements of a <logger> element. - - - - - - Parses an object renderer. - - The renderer element. - - - Parse an XML element that represents a renderer. - - - - - - Parses a level element. - - The level element. - The logger object to set the level on. - Flag to indicate if the logger is the root logger. - - - Parse an XML element that represents a level. - - - - - - Sets a parameter on an object. - - The parameter element. - The object to set the parameter on. - - The parameter name must correspond to a writable property - on the object. The value of the parameter is a string, - therefore this function will attempt to set a string - property first. If unable to set a string property it - will inspect the property and its argument type. It will - attempt to call a static method called Parse on the - type of the property. This method will take a single - string argument and return a value that can be used to - set the property. - - - - - Test if an element has no attributes or child elements - - the element to inspect - true if the element has any attributes or child elements, false otherwise - - - - Test if a is constructible with Activator.CreateInstance. - - the type to inspect - true if the type is creatable using a default constructor, false otherwise - - - - Look for a method on the that matches the supplied - - the type that has the method - the name of the method - the method info found - - - The method must be a public instance method on the . - The method must be named or "Add" followed by . - The method must take a single parameter. - - - - - - Converts a string value to a target type. - - The type of object to convert the string to. - The string value to use as the value of the object. - - - An object of type with value or - null when the conversion could not be performed. - - - - - - Creates an object as specified in XML. - - The XML element that contains the definition of the object. - The object type to use if not explicitly specified. - The type that the returned object must be or must inherit from. - The object or null - - - Parse an XML element and create an object instance based on the configuration - data. - - - The type of the instance may be specified in the XML. If not - specified then the is used - as the type. However the type is specified it must support the - type. - - - - - - key: appenderName, value: appender. - - - - - The Hierarchy being configured. - - - - - Delegate used to handle logger repository shutdown event notifications - - The that is shutting down. - Empty event args - - - Delegate used to handle logger repository shutdown event notifications. - - - - - - Delegate used to handle logger repository configuration reset event notifications - - The that has had its configuration reset. - Empty event args - - - Delegate used to handle logger repository configuration reset event notifications. - - - - - - Delegate used to handle event notifications for logger repository configuration changes. - - The that has had its configuration changed. - Empty event arguments. - - - Delegate used to handle event notifications for logger repository configuration changes. - - - - - - Write the name of the current AppDomain to the output - - - - Write the name of the current AppDomain to the output writer - - - Nicko Cadell - - - - Write the name of the current AppDomain to the output - - the writer to write to - null, state is not set - - - Writes name of the current AppDomain to the output . - - - - - - Write the current date to the output - - - - Date pattern converter, uses a to format - the current date and time to the writer as a string. - - - The value of the determines - the formatting of the date. The following values are allowed: - - - Option value - Output - - - ISO8601 - - Uses the formatter. - Formats using the "yyyy-MM-dd HH:mm:ss,fff" pattern. - - - - DATE - - Uses the formatter. - Formats using the "dd MMM yyyy HH:mm:ss,fff" for example, "06 Nov 1994 15:49:37,459". - - - - ABSOLUTE - - Uses the formatter. - Formats using the "HH:mm:ss,fff" for example, "15:49:37,459". - - - - other - - Any other pattern string uses the formatter. - This formatter passes the pattern string to the - method. - For details on valid patterns see - DateTimeFormatInfo Class. - - - - - - The date and time is in the local time zone and is rendered in that zone. - To output the time in Universal time see . - - - Nicko Cadell - - - - The used to render the date to a string - - - - The used to render the date to a string - - - - - - Initialize the converter options - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - - - - Write the current date to the output - - that will receive the formatted result. - null, state is not set - - - Pass the current date and time to the - for it to render it to the writer. - - - The date and time passed is in the local time zone. - - - - - - Write an environment variable to the output - - - - Write an environment variable to the output writer. - The value of the determines - the name of the variable to output. - - - Nicko Cadell - - - - Write an environment variable to the output - - the writer to write to - null, state is not set - - - Writes the environment variable to the output . - The name of the environment variable to output must be set - using the - property. - - - - - - Write the current thread identity to the output - - - - Write the current thread identity to the output writer - - - Nicko Cadell - - - - Write the current thread identity to the output - - the writer to write to - null, state is not set - - - Writes the current thread identity to the output . - - - - - - Pattern converter for literal string instances in the pattern - - - - Writes the literal string value specified in the - property to - the output. - - - Nicko Cadell - - - - Set the next converter in the chain - - The next pattern converter in the chain - The next pattern converter - - - Special case the building of the pattern converter chain - for instances. Two adjacent - literals in the pattern can be represented by a single combined - pattern converter. This implementation detects when a - is added to the chain - after this converter and combines its value with this converter's - literal value. - - - - - - Write the literal to the output - - the writer to write to - null, not set - - - Override the formatting behavior to ignore the FormattingInfo - because we have a literal instead. - - - Writes the value of - to the output . - - - - - - Convert this pattern into the rendered message - - that will receive the formatted result. - null, not set - - - This method is not used. - - - - - - Writes a newline to the output - - - - Writes the system dependent line terminator to the output. - This behavior can be overridden by setting the : - - - - Option Value - Output - - - DOS - DOS or Windows line terminator "\r\n" - - - UNIX - UNIX line terminator "\n" - - - - Nicko Cadell - - - - Initialize the converter - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - - - - Write the current process ID to the output - - - - Write the current process ID to the output writer - - - Nicko Cadell - - - - Write the current process ID to the output - - the writer to write to - null, state is not set - - - Write the current process ID to the output . - - - - - - Property pattern converter - - - - This pattern converter reads the thread and global properties. - The thread properties take priority over global properties. - See for details of the - thread properties. See for - details of the global properties. - - - If the is specified then that will be used to - lookup a single property. If no is specified - then all properties will be dumped as a list of key value pairs. - - - Nicko Cadell - - - - Write the property value to the output - - that will receive the formatted result. - null, state is not set - - - Writes out the value of a named property. The property name - should be set in the - property. - - - If the is set to null - then all the properties are written as key value pairs. - - - - - - A Pattern converter that generates a string of random characters - - - - The converter generates a string of random characters. By default - the string is length 4. This can be changed by setting the - to the string value of the length required. - - - The random characters in the string are limited to uppercase letters - and numbers only. - - - The random number generator used by this class is not cryptographically secure. - - - Nicko Cadell - - - - Shared random number generator - - - - - Length of random string to generate. Default length 4. - - - - - Initialize the converter options - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - - - - Write a randoim string to the output - - the writer to write to - null, state is not set - - - Write a randoim string to the output . - - - - - - Write the current threads username to the output - - - - Write the current threads username to the output writer - - - Nicko Cadell - - - - Write the current threads username to the output - - the writer to write to - null, state is not set - - - Write the current threads username to the output . - - - - - - Write the UTC date time to the output - - - - Date pattern converter, uses a to format - the current date and time in Universal time. - - - See the for details on the date pattern syntax. - - - - Nicko Cadell - - - - Write the current date and time to the output - - that will receive the formatted result. - null, state is not set - - - Pass the current date and time to the - for it to render it to the writer. - - - The date is in Universal time when it is rendered. - - - - - - - Type converter for Boolean. - - - - Supports conversion from string to bool type. - - - - - - Nicko Cadell - Gert Driesen - - - - Can the source type be converted to the type supported by this object - - the type to convert - true if the conversion is possible - - - Returns true if the is - the type. - - - - - - Convert the source object to the type supported by this object - - the object to convert - the converted object - - - Uses the method to convert the - argument to a . - - - - The object cannot be converted to the - target type. To check for this condition use the - method. - - - - - Exception base type for conversion errors. - - - - This type extends . It - does not add any new functionality but does differentiate the - type of exception being thrown. - - - Nicko Cadell - Gert Driesen - - - - Constructor - - - - Initializes a new instance of the class. - - - - - - Constructor - - A message to include with the exception. - - - Initializes a new instance of the class - with the specified message. - - - - - - Constructor - - A message to include with the exception. - A nested exception to include. - - - Initializes a new instance of the class - with the specified message and inner exception. - - - - - - Serialization constructor - - The that holds the serialized object data about the exception being thrown. - The that contains contextual information about the source or destination. - - - Initializes a new instance of the class - with serialized data. - - - - - - Creates a new instance of the class. - - The conversion destination type. - The value to convert. - An instance of the . - - - Creates a new instance of the class. - - - - - - Creates a new instance of the class. - - The conversion destination type. - The value to convert. - A nested exception to include. - An instance of the . - - - Creates a new instance of the class. - - - - - - Register of type converters for specific types. - - - - Maintains a registry of type converters used to convert between - types. - - - Use the and - methods to register new converters. - The and methods - lookup appropriate converters to use. - - - - - Nicko Cadell - Gert Driesen - - - - Private constructor - - - Initializes a new instance of the class. - - - - - Static constructor. - - - - This constructor defines the intrinsic type converters. - - - - - - Adds a converter for a specific type. - - The type being converted to. - The type converter to use to convert to the destination type. - - - Adds a converter instance for a specific type. - - - - - - Adds a converter for a specific type. - - The type being converted to. - The type of the type converter to use to convert to the destination type. - - - Adds a converter for a specific type. - - - - - - Gets the type converter to use to convert values to the destination type. - - The type being converted from. - The type being converted to. - - The type converter instance to use for type conversions or null - if no type converter is found. - - - - Gets the type converter to use to convert values to the destination type. - - - - - - Gets the type converter to use to convert values to the destination type. - - The type being converted to. - - The type converter instance to use for type conversions or null - if no type converter is found. - - - - Gets the type converter to use to convert values to the destination type. - - - - - - Lookups the type converter to use as specified by the attributes on the - destination type. - - The type being converted to. - - The type converter instance to use for type conversions or null - if no type converter is found. - - - - - Creates the instance of the type converter. - - The type of the type converter. - - The type converter instance to use for type conversions or null - if no type converter is found. - - - - The type specified for the type converter must implement - the or interfaces - and must have a public default (no argument) constructor. - - - - - - Mapping from to type converter. - - - - - Supports conversion from string to type. - - - - Supports conversion from string to type. - - - - - - Nicko Cadell - Gert Driesen - - - - Can the source type be converted to the type supported by this object - - the type to convert - true if the conversion is possible - - - Returns true if the is - the type. - - - - - - Overrides the ConvertFrom method of IConvertFrom. - - the object to convert to an encoding - the encoding - - - Uses the method to - convert the argument to an . - - - - The object cannot be converted to the - target type. To check for this condition use the - method. - - - - - Interface supported by type converters - - - - This interface supports conversion from a single type to arbitrary types. - See . - - - Nicko Cadell - - - - Returns whether this converter can convert the object to the specified type - - A Type that represents the type you want to convert to - true if the conversion is possible - - - Test if the type supported by this converter can be converted to the - . - - - - - - Converts the given value object to the specified type, using the arguments - - the object to convert - The Type to convert the value parameter to - the converted object - - - Converts the (which must be of the type supported - by this converter) to the specified.. - - - - - - Supports conversion from string to type. - - - - Supports conversion from string to type. - - - - - Nicko Cadell - - - - Can the source type be converted to the type supported by this object - - the type to convert - true if the conversion is possible - - - Returns true if the is - the type. - - - - - - Overrides the ConvertFrom method of IConvertFrom. - - the object to convert to an IPAddress - the IPAddress - - - Uses the method to convert the - argument to an . - If that fails then the string is resolved as a DNS hostname. - - - - The object cannot be converted to the - target type. To check for this condition use the - method. - - - - - Valid characters in an IPv4 or IPv6 address string. (Does not support subnets) - - - - - Supports conversion from string to type. - - - - Supports conversion from string to type. - - - The string is used as the - of the . - - - - - - Nicko Cadell - - - - Can the source type be converted to the type supported by this object - - the type to convert - true if the conversion is possible - - - Returns true if the is - the type. - - - - - - Overrides the ConvertFrom method of IConvertFrom. - - the object to convert to a PatternLayout - the PatternLayout - - - Creates and returns a new using - the as the - . - - - - The object cannot be converted to the - target type. To check for this condition use the - method. - - - - - Convert between string and - - - - Supports conversion from string to type, - and from a type to a string. - - - The string is used as the - of the . - - - - - - Nicko Cadell - - - - Can the target type be converted to the type supported by this object - - A that represents the type you want to convert to - true if the conversion is possible - - - Returns true if the is - assignable from a type. - - - - - - Converts the given value object to the specified type, using the arguments - - the object to convert - The Type to convert the value parameter to - the converted object - - - Uses the method to convert the - argument to a . - - - - The object cannot be converted to the - . To check for this condition use the - method. - - - - - Can the source type be converted to the type supported by this object - - the type to convert - true if the conversion is possible - - - Returns true if the is - the type. - - - - - - Overrides the ConvertFrom method of IConvertFrom. - - the object to convert to a PatternString - the PatternString - - - Creates and returns a new using - the as the - . - - - - The object cannot be converted to the - target type. To check for this condition use the - method. - - - - - Supports conversion from string to type. - - - - Supports conversion from string to type. - - - - - - Nicko Cadell - - - - Can the source type be converted to the type supported by this object - - the type to convert - true if the conversion is possible - - - Returns true if the is - the type. - - - - - - Overrides the ConvertFrom method of IConvertFrom. - - the object to convert to a Type - the Type - - - Uses the method to convert the - argument to a . - Additional effort is made to locate partially specified types - by searching the loaded assemblies. - - - - The object cannot be converted to the - target type. To check for this condition use the - method. - - - - - Attribute used to associate a type converter - - - - Class and Interface level attribute that specifies a type converter - to use with the associated type. - - - To associate a type converter with a target type apply a - TypeConverterAttribute to the target type. Specify the - type of the type converter on the attribute. - - - Nicko Cadell - Gert Driesen - - - - The string type name of the type converter - - - - - Default constructor - - - - Default constructor - - - - - - Create a new type converter attribute for the specified type name - - The string type name of the type converter - - - The type specified must implement the - or the interfaces. - - - - - - Create a new type converter attribute for the specified type - - The type of the type converter - - - The type specified must implement the - or the interfaces. - - - - - - The string type name of the type converter - - - The string type name of the type converter - - - - The type specified must implement the - or the interfaces. - - - - - - A straightforward implementation of the interface. - - - - This is the default implementation of the - interface. Implementors of the interface - should aggregate an instance of this type. - - - Nicko Cadell - Gert Driesen - - - - Constructor - - - - Initializes a new instance of the class. - - - - - - Append on on all attached appenders. - - The event being logged. - The number of appenders called. - - - Calls the method on all - attached appenders. - - - - - - Append on on all attached appenders. - - The array of events being logged. - The number of appenders called. - - - Calls the method on all - attached appenders. - - - - - - Calls the DoAppende method on the with - the objects supplied. - - The appender - The events - - - If the supports the - interface then the will be passed - through using that interface. Otherwise the - objects in the array will be passed one at a time. - - - - - - Attaches an appender. - - The appender to add. - - - If the appender is already in the list it won't be added again. - - - - - - Gets an attached appender with the specified name. - - The name of the appender to get. - - The appender with the name specified, or null if no appender with the - specified name is found. - - - - Lookup an attached appender by name. - - - - - - Removes all attached appenders. - - - - Removes and closes all attached appenders - - - - - - Removes the specified appender from the list of attached appenders. - - The appender to remove. - The appender removed from the list - - - The appender removed is not closed. - If you are discarding the appender you must call - on the appender removed. - - - - - - Removes the appender with the specified name from the list of appenders. - - The name of the appender to remove. - The appender removed from the list - - - The appender removed is not closed. - If you are discarding the appender you must call - on the appender removed. - - - - - - List of appenders - - - - - Array of appenders, used to cache the m_appenderList - - - - - Gets all attached appenders. - - - A collection of attached appenders, or null if there - are no attached appenders. - - - - The read only collection of all currently attached appenders. - - - - - - This class aggregates several PropertiesDictionary collections together. - - - - Provides a dictionary style lookup over an ordered list of - collections. - - - Nicko Cadell - - - - Constructor - - - - Initializes a new instance of the class. - - - - - - Add a Properties Dictionary to this composite collection - - the properties to add - - - Properties dictionaries added first take precedence over dictionaries added - later. - - - - - - Flatten this composite collection into a single properties dictionary - - the flattened dictionary - - - Reduces the collection of ordered dictionaries to a single dictionary - containing the resultant values for the keys. - - - - - - Gets the value of a property - - - The value for the property with the specified key - - - - Looks up the value for the specified. - The collections are searched - in the order in which they were added to this collection. The value - returned is the value held by the first collection that contains - the specified key. - - - If none of the collections contain the specified key then - null is returned. - - - - - - Base class for Context Properties implementations - - - - This class defines a basic property get set accessor - - - Nicko Cadell - - - - Gets or sets the value of a property - - - The value for the property with the specified key - - - - Gets or sets the value of a property - - - - - - Subclass of that maintains a count of - the number of bytes written. - - - - This writer counts the number of bytes written. - - - Nicko Cadell - Gert Driesen - - - - that does not leak exceptions - - - - does not throw exceptions when things go wrong. - Instead, it delegates error handling to its . - - - Nicko Cadell - Gert Driesen - - - - Adapter that extends and forwards all - messages to an instance of . - - - - Adapter that extends and forwards all - messages to an instance of . - - - Nicko Cadell - - - - The writer to forward messages to - - - - - Create an instance of that forwards all - messages to a . - - The to forward to - - - Create an instance of that forwards all - messages to a . - - - - - - Closes the writer and releases any system resources associated with the writer - - - - - - - - - Dispose this writer - - flag indicating if we are being disposed - - - Dispose this writer - - - - - - Flushes any buffered output - - - - Clears all buffers for the writer and causes any buffered data to be written - to the underlying device - - - - - - Writes a character to the wrapped TextWriter - - the value to write to the TextWriter - - - Writes a character to the wrapped TextWriter - - - - - - Writes a character buffer to the wrapped TextWriter - - the data buffer - the start index - the number of characters to write - - - Writes a character buffer to the wrapped TextWriter - - - - - - Writes a string to the wrapped TextWriter - - the value to write to the TextWriter - - - Writes a string to the wrapped TextWriter - - - - - - Gets or sets the underlying . - - - The underlying . - - - - Gets or sets the underlying . - - - - - - The Encoding in which the output is written - - - The - - - - The Encoding in which the output is written - - - - - - Gets an object that controls formatting - - - The format provider - - - - Gets an object that controls formatting - - - - - - Gets or sets the line terminator string used by the TextWriter - - - The line terminator to use - - - - Gets or sets the line terminator string used by the TextWriter - - - - - - Constructor - - the writer to actually write to - the error handler to report error to - - - Create a new QuietTextWriter using a writer and error handler - - - - - - Writes a character to the underlying writer - - the char to write - - - Writes a character to the underlying writer - - - - - - Writes a buffer to the underlying writer - - the buffer to write - the start index to write from - the number of characters to write - - - Writes a buffer to the underlying writer - - - - - - Writes a string to the output. - - The string data to write to the output. - - - Writes a string to the output. - - - - - - Closes the underlying output writer. - - - - Closes the underlying output writer. - - - - - - The error handler instance to pass all errors to - - - - - Flag to indicate if this writer is closed - - - - - Gets or sets the error handler that all errors are passed to. - - - The error handler that all errors are passed to. - - - - Gets or sets the error handler that all errors are passed to. - - - - - - Gets a value indicating whether this writer is closed. - - - true if this writer is closed, otherwise false. - - - - Gets a value indicating whether this writer is closed. - - - - - - Constructor - - The to actually write to. - The to report errors to. - - - Creates a new instance of the class - with the specified and . - - - - - - Writes a character to the underlying writer and counts the number of bytes written. - - the char to write - - - Overrides implementation of . Counts - the number of bytes written. - - - - - - Writes a buffer to the underlying writer and counts the number of bytes written. - - the buffer to write - the start index to write from - the number of characters to write - - - Overrides implementation of . Counts - the number of bytes written. - - - - - - Writes a string to the output and counts the number of bytes written. - - The string data to write to the output. - - - Overrides implementation of . Counts - the number of bytes written. - - - - - - Total number of bytes written. - - - - - Gets or sets the total number of bytes written. - - - The total number of bytes written. - - - - Gets or sets the total number of bytes written. - - - - - - A fixed size rolling buffer of logging events. - - - - An array backed fixed size leaky bucket. - - - Nicko Cadell - Gert Driesen - - - - Constructor - - The maximum number of logging events in the buffer. - - - Initializes a new instance of the class with - the specified maximum number of buffered logging events. - - - The argument is not a positive integer. - - - - Appends a to the buffer. - - The event to append to the buffer. - The event discarded from the buffer, if the buffer is full, otherwise null. - - - Append an event to the buffer. If the buffer still contains free space then - null is returned. If the buffer is full then an event will be dropped - to make space for the new event, the event dropped is returned. - - - - - - Get and remove the oldest event in the buffer. - - The oldest logging event in the buffer - - - Gets the oldest (first) logging event in the buffer and removes it - from the buffer. - - - - - - Pops all the logging events from the buffer into an array. - - An array of all the logging events in the buffer. - - - Get all the events in the buffer and clear the buffer. - - - - - - Clear the buffer - - - - Clear the buffer of all events. The events in the buffer are lost. - - - - - - Gets the th oldest event currently in the buffer. - - The th oldest event currently in the buffer. - - - If is outside the range 0 to the number of events - currently in the buffer, then null is returned. - - - - - - Gets the maximum size of the buffer. - - The maximum size of the buffer. - - - Gets the maximum size of the buffer - - - - - - Gets the number of logging events in the buffer. - - The number of logging events in the buffer. - - - This number is guaranteed to be in the range 0 to - (inclusive). - - - - - - An always empty . - - - - A singleton implementation of the - interface that always represents an empty collection. - - - Nicko Cadell - Gert Driesen - - - - Initializes a new instance of the class. - - - - Uses a private access modifier to enforce the singleton pattern. - - - - - - Copies the elements of the to an - , starting at a particular Array index. - - The one-dimensional - that is the destination of the elements copied from - . The Array must have zero-based - indexing. - The zero-based index in array at which - copying begins. - - - As the collection is empty no values are copied into the array. - - - - - - Returns an enumerator that can iterate through a collection. - - - An that can be used to - iterate through the collection. - - - - As the collection is empty a is returned. - - - - - - The singleton instance of the empty collection. - - - - - Gets the singleton instance of the empty collection. - - The singleton instance of the empty collection. - - - Gets the singleton instance of the empty collection. - - - - - - Gets a value indicating if access to the is synchronized (thread-safe). - - - true if access to the is synchronized (thread-safe); otherwise, false. - - - - For the this property is always true. - - - - - - Gets the number of elements contained in the . - - - The number of elements contained in the . - - - - As the collection is empty the is always 0. - - - - - - Gets an object that can be used to synchronize access to the . - - - An object that can be used to synchronize access to the . - - - - As the collection is empty and thread safe and synchronized this instance is also - the object. - - - - - - An always empty . - - - - A singleton implementation of the - interface that always represents an empty collection. - - - Nicko Cadell - Gert Driesen - - - - Initializes a new instance of the class. - - - - Uses a private access modifier to enforce the singleton pattern. - - - - - - Copies the elements of the to an - , starting at a particular Array index. - - The one-dimensional - that is the destination of the elements copied from - . The Array must have zero-based - indexing. - The zero-based index in array at which - copying begins. - - - As the collection is empty no values are copied into the array. - - - - - - Returns an enumerator that can iterate through a collection. - - - An that can be used to - iterate through the collection. - - - - As the collection is empty a is returned. - - - - - - Adds an element with the provided key and value to the - . - - The to use as the key of the element to add. - The to use as the value of the element to add. - - - As the collection is empty no new values can be added. A - is thrown if this method is called. - - - This dictionary is always empty and cannot be modified. - - - - Removes all elements from the . - - - - As the collection is empty no values can be removed. A - is thrown if this method is called. - - - This dictionary is always empty and cannot be modified. - - - - Determines whether the contains an element - with the specified key. - - The key to locate in the . - false - - - As the collection is empty the method always returns false. - - - - - - Returns an enumerator that can iterate through a collection. - - - An that can be used to - iterate through the collection. - - - - As the collection is empty a is returned. - - - - - - Removes the element with the specified key from the . - - The key of the element to remove. - - - As the collection is empty no values can be removed. A - is thrown if this method is called. - - - This dictionary is always empty and cannot be modified. - - - - The singleton instance of the empty dictionary. - - - - - Gets the singleton instance of the . - - The singleton instance of the . - - - Gets the singleton instance of the . - - - - - - Gets a value indicating if access to the is synchronized (thread-safe). - - - true if access to the is synchronized (thread-safe); otherwise, false. - - - - For the this property is always true. - - - - - - Gets the number of elements contained in the - - - The number of elements contained in the . - - - - As the collection is empty the is always 0. - - - - - - Gets an object that can be used to synchronize access to the . - - - An object that can be used to synchronize access to the . - - - - As the collection is empty and thread safe and synchronized this instance is also - the object. - - - - - - Gets a value indicating whether the has a fixed size. - - true - - - As the collection is empty always returns true. - - - - - - Gets a value indicating whether the is read-only. - - true - - - As the collection is empty always returns true. - - - - - - Gets an containing the keys of the . - - An containing the keys of the . - - - As the collection is empty a is returned. - - - - - - Gets an containing the values of the . - - An containing the values of the . - - - As the collection is empty a is returned. - - - - - - Gets or sets the element with the specified key. - - The key of the element to get or set. - null - - - As the collection is empty no values can be looked up or stored. - If the index getter is called then null is returned. - A is thrown if the setter is called. - - - This dictionary is always empty and cannot be modified. - - - - Contain the information obtained when parsing formatting modifiers - in conversion modifiers. - - - - Holds the formatting information extracted from the format string by - the . This is used by the - objects when rendering the output. - - - Nicko Cadell - Gert Driesen - - - - Defaut Constructor - - - - Initializes a new instance of the class. - - - - - - Constructor - - - - Initializes a new instance of the class - with the specified parameters. - - - - - - Gets or sets the minimum value. - - - The minimum value. - - - - Gets or sets the minimum value. - - - - - - Gets or sets the maximum value. - - - The maximum value. - - - - Gets or sets the maximum value. - - - - - - Gets or sets a flag indicating whether left align is enabled - or not. - - - A flag indicating whether left align is enabled or not. - - - - Gets or sets a flag indicating whether left align is enabled or not. - - - - - - Implementation of Properties collection for the - - - - This class implements a properties collection that is thread safe and supports both - storing properties and capturing a read only copy of the current propertied. - - - This class is optimized to the scenario where the properties are read frequently - and are modified infrequently. - - - Nicko Cadell - - - - The read only copy of the properties. - - - - This variable is declared volatile to prevent the compiler and JIT from - reordering reads and writes of this thread performed on different threads. - - - - - - Lock object used to synchronize updates within this instance - - - - - Constructor - - - - Initializes a new instance of the class. - - - - - - Remove a property from the global context - - the key for the entry to remove - - - Removing an entry from the global context properties is relatively expensive compared - with reading a value. - - - - - - Clear the global context properties - - - - - Get a readonly immutable copy of the properties - - the current global context properties - - - This implementation is fast because the GlobalContextProperties class - stores a readonly copy of the properties. - - - - - - Gets or sets the value of a property - - - The value for the property with the specified key - - - - Reading the value for a key is faster than setting the value. - When the value is written a new read only copy of - the properties is created. - - - - - - Manages a mapping from levels to - - - - Manages an ordered mapping from instances - to subclasses. - - - Nicko Cadell - - - - Default constructor - - - - Initialise a new instance of . - - - - - - Add a to this mapping - - the entry to add - - - If a has previously been added - for the same then that entry will be - overwritten. - - - - - - Lookup the mapping for the specified level - - the level to lookup - the for the level or null if no mapping found - - - Lookup the value for the specified level. Finds the nearest - mapping value for the level that is equal to or less than the - specified. - - - If no mapping could be found then null is returned. - - - - - - Initialize options - - - - Caches the sorted list of in an array - - - - - - Implementation of Properties collection for the - - - - Class implements a collection of properties that is specific to each thread. - The class is not synchronized as each thread has its own . - - - Nicko Cadell - - - - Constructor - - - - Initializes a new instance of the class. - - - - - - Remove a property - - the key for the entry to remove - - - Remove the value for the specified from the context. - - - - - - Clear all the context properties - - - - Clear all the context properties - - - - - - Get the PropertiesDictionary stored in the LocalDataStoreSlot for this thread. - - create the dictionary if it does not exist, otherwise return null if is does not exist - the properties for this thread - - - The collection returned is only to be used on the calling thread. If the - caller needs to share the collection between different threads then the - caller must clone the collection before doings so. - - - - - - Gets or sets the value of a property - - - The value for the property with the specified key - - - - Get or set the property value for the specified. - - - - - - Outputs log statements from within the log4net assembly. - - - - Log4net components cannot make log4net logging calls. However, it is - sometimes useful for the user to learn about what log4net is - doing. - - - All log4net internal debug calls go to the standard output stream - whereas internal error messages are sent to the standard error output - stream. - - - Nicko Cadell - Gert Driesen - - - - Initializes a new instance of the class. - - - - Uses a private access modifier to prevent instantiation of this class. - - - - - - Static constructor that initializes logging by reading - settings from the application configuration file. - - - - The log4net.Internal.Debug application setting - controls internal debugging. This setting should be set - to true to enable debugging. - - - The log4net.Internal.Quiet application setting - suppresses all internal logging including error messages. - This setting should be set to true to enable message - suppression. - - - - - - Writes log4net internal debug messages to the - standard output stream. - - The message to log. - - - All internal debug messages are prepended with - the string "log4net: ". - - - - - - Writes log4net internal debug messages to the - standard output stream. - - The message to log. - An exception to log. - - - All internal debug messages are prepended with - the string "log4net: ". - - - - - - Writes log4net internal warning messages to the - standard error stream. - - The message to log. - - - All internal warning messages are prepended with - the string "log4net:WARN ". - - - - - - Writes log4net internal warning messages to the - standard error stream. - - The message to log. - An exception to log. - - - All internal warning messages are prepended with - the string "log4net:WARN ". - - - - - - Writes log4net internal error messages to the - standard error stream. - - The message to log. - - - All internal error messages are prepended with - the string "log4net:ERROR ". - - - - - - Writes log4net internal error messages to the - standard error stream. - - The message to log. - An exception to log. - - - All internal debug messages are prepended with - the string "log4net:ERROR ". - - - - - - Writes output to the standard output stream. - - The message to log. - - - Writes to both Console.Out and System.Diagnostics.Trace. - Note that the System.Diagnostics.Trace is not supported - on the Compact Framework. - - - If the AppDomain is not configured with a config file then - the call to System.Diagnostics.Trace may fail. This is only - an issue if you are programmatically creating your own AppDomains. - - - - - - Writes output to the standard error stream. - - The message to log. - - - Writes to both Console.Error and System.Diagnostics.Trace. - Note that the System.Diagnostics.Trace is not supported - on the Compact Framework. - - - If the AppDomain is not configured with a config file then - the call to System.Diagnostics.Trace may fail. This is only - an issue if you are programmatically creating your own AppDomains. - - - - - - Default debug level - - - - - In quietMode not even errors generate any output. - - - - - Gets or sets a value indicating whether log4net internal logging - is enabled or disabled. - - - true if log4net internal logging is enabled, otherwise - false. - - - - When set to true, internal debug level logging will be - displayed. - - - This value can be set by setting the application setting - log4net.Internal.Debug in the application configuration - file. - - - The default value is false, i.e. debugging is - disabled. - - - - - The following example enables internal debugging using the - application configuration file : - - - - - - - - - - - - - Gets or sets a value indicating whether log4net should generate no output - from internal logging, not even for errors. - - - true if log4net should generate no output at all from internal - logging, otherwise false. - - - - When set to true will cause internal logging at all levels to be - suppressed. This means that no warning or error reports will be logged. - This option overrides the setting and - disables all debug also. - - This value can be set by setting the application setting - log4net.Internal.Quiet in the application configuration file. - - - The default value is false, i.e. internal logging is not - disabled. - - - - The following example disables internal logging using the - application configuration file : - - - - - - - - - - - - Test if LogLog.Debug is enabled for output. - - - true if Debug is enabled - - - - Test if LogLog.Debug is enabled for output. - - - - - - Test if LogLog.Warn is enabled for output. - - - true if Warn is enabled - - - - Test if LogLog.Warn is enabled for output. - - - - - - Test if LogLog.Error is enabled for output. - - - true if Error is enabled - - - - Test if LogLog.Error is enabled for output. - - - - - - Represents a native error code and message. - - - - Represents a Win32 platform native error. - - - Nicko Cadell - Gert Driesen - - - - Create an instance of the class with the specified - error number and message. - - The number of the native error. - The message of the native error. - - - Create an instance of the class with the specified - error number and message. - - - - - - Create a new instance of the class for the last Windows error. - - - An instance of the class for the last windows error. - - - - The message for the error number is lookup up using the - native Win32 FormatMessage function. - - - - - - Create a new instance of the class. - - the error number for the native error - - An instance of the class for the specified - error number. - - - - The message for the specified error number is lookup up using the - native Win32 FormatMessage function. - - - - - - Retrieves the message corresponding with a Win32 message identifier. - - Message identifier for the requested message. - - The message corresponding with the specified message identifier. - - - - The message will be searched for in system message-table resource(s) - using the native FormatMessage function. - - - - - - Return error information string - - error information string - - - Return error information string - - - - - - Formats a message string. - - Formatting options, and how to interpret the parameter. - Location of the message definition. - Message identifier for the requested message. - Language identifier for the requested message. - If includes FORMAT_MESSAGE_ALLOCATE_BUFFER, the function allocates a buffer using the LocalAlloc function, and places the pointer to the buffer at the address specified in . - If the FORMAT_MESSAGE_ALLOCATE_BUFFER flag is not set, this parameter specifies the maximum number of TCHARs that can be stored in the output buffer. If FORMAT_MESSAGE_ALLOCATE_BUFFER is set, this parameter specifies the minimum number of TCHARs to allocate for an output buffer. - Pointer to an array of values that are used as insert values in the formatted message. - - - The function requires a message definition as input. The message definition can come from a - buffer passed into the function. It can come from a message table resource in an - already-loaded module. Or the caller can ask the function to search the system's message - table resource(s) for the message definition. The function finds the message definition - in a message table resource based on a message identifier and a language identifier. - The function copies the formatted message text to an output buffer, processing any embedded - insert sequences if requested. - - - To prevent the usage of unsafe code, this stub does not support inserting values in the formatted message. - - - - - If the function succeeds, the return value is the number of TCHARs stored in the output - buffer, excluding the terminating null character. - - - If the function fails, the return value is zero. To get extended error information, - call . - - - - - - Gets the number of the native error. - - - The number of the native error. - - - - Gets the number of the native error. - - - - - - Gets the message of the native error. - - - The message of the native error. - - - - - Gets the message of the native error. - - - - - An always empty . - - - - A singleton implementation of the over a collection - that is empty and not modifiable. - - - Nicko Cadell - Gert Driesen - - - - Initializes a new instance of the class. - - - - Uses a private access modifier to enforce the singleton pattern. - - - - - - Test if the enumerator can advance, if so advance. - - false as the cannot advance. - - - As the enumerator is over an empty collection its - value cannot be moved over a valid position, therefore - will always return false. - - - - - - Resets the enumerator back to the start. - - - - As the enumerator is over an empty collection does nothing. - - - - - - The singleton instance of the . - - - - - Gets the singleton instance of the . - - The singleton instance of the . - - - Gets the singleton instance of the . - - - - - - Gets the current object from the enumerator. - - - Throws an because the - never has a current value. - - - - As the enumerator is over an empty collection its - value cannot be moved over a valid position, therefore - will throw an . - - - The collection is empty and - cannot be positioned over a valid location. - - - - Gets the current key from the enumerator. - - - Throws an exception because the - never has a current value. - - - - As the enumerator is over an empty collection its - value cannot be moved over a valid position, therefore - will throw an . - - - The collection is empty and - cannot be positioned over a valid location. - - - - Gets the current value from the enumerator. - - The current value from the enumerator. - - Throws an because the - never has a current value. - - - - As the enumerator is over an empty collection its - value cannot be moved over a valid position, therefore - will throw an . - - - The collection is empty and - cannot be positioned over a valid location. - - - - Gets the current entry from the enumerator. - - - Throws an because the - never has a current entry. - - - - As the enumerator is over an empty collection its - value cannot be moved over a valid position, therefore - will throw an . - - - The collection is empty and - cannot be positioned over a valid location. - - - - An always empty . - - - - A singleton implementation of the over a collection - that is empty and not modifiable. - - - Nicko Cadell - Gert Driesen - - - - Initializes a new instance of the class. - - - - Uses a private access modifier to enforce the singleton pattern. - - - - - - Test if the enumerator can advance, if so advance - - false as the cannot advance. - - - As the enumerator is over an empty collection its - value cannot be moved over a valid position, therefore - will always return false. - - - - - - Resets the enumerator back to the start. - - - - As the enumerator is over an empty collection does nothing. - - - - - - The singleton instance of the . - - - - - Get the singleton instance of the . - - The singleton instance of the . - - - Gets the singleton instance of the . - - - - - - Gets the current object from the enumerator. - - - Throws an because the - never has a current value. - - - - As the enumerator is over an empty collection its - value cannot be moved over a valid position, therefore - will throw an . - - - The collection is empty and - cannot be positioned over a valid location. - - - - A SecurityContext used when a SecurityContext is not required - - - - The is a no-op implementation of the - base class. It is used where a - is required but one has not been provided. - - - Nicko Cadell - - - - Singleton instance of - - - - Singleton instance of - - - - - - Private constructor - - - - Private constructor for singleton pattern. - - - - - - Impersonate this SecurityContext - - State supplied by the caller - null - - - No impersonation is done and null is always returned. - - - - - - Implements log4net's default error handling policy which consists - of emitting a message for the first error in an appender and - ignoring all subsequent errors. - - - - The error message is printed on the standard error output stream. - - - This policy aims at protecting an otherwise working application - from being flooded with error messages when logging fails. - - - Nicko Cadell - Gert Driesen - - - - Default Constructor - - - - Initializes a new instance of the class. - - - - - - Constructor - - The prefix to use for each message. - - - Initializes a new instance of the class - with the specified prefix. - - - - - - Log an Error - - The error message. - The exception. - The internal error code. - - - Prints the message and the stack trace of the exception on the standard - error output stream. - - - - - - Log an Error - - The error message. - The exception. - - - Prints the message and the stack trace of the exception on the standard - error output stream. - - - - - - Log an error - - The error message. - - - Print a the error message passed as parameter on the standard - error output stream. - - - - - - Flag to indicate if it is the first error - - - - - String to prefix each message with - - - - - Is error logging enabled - - - - Is error logging enabled. Logging is only enabled for the - first error delivered to the . - - - - - - A convenience class to convert property values to specific types. - - - - Utility functions for converting types and parsing values. - - - Nicko Cadell - Gert Driesen - - - - Initializes a new instance of the class. - - - - Uses a private access modifier to prevent instantiation of this class. - - - - - - Converts a string to a value. - - String to convert. - The default value. - The value of . - - - If is "true", then true is returned. - If is "false", then false is returned. - Otherwise, is returned. - - - - - - Parses a file size into a number. - - String to parse. - The default value. - The value of . - - - Parses a file size of the form: number[KB|MB|GB] into a - long value. It is scaled with the appropriate multiplier. - - - is returned when - cannot be converted to a value. - - - - - - Converts a string to an object. - - The target type to convert to. - The string to convert to an object. - - The object converted from a string or null when the - conversion failed. - - - - Converts a string to an object. Uses the converter registry to try - to convert the string value into the specified target type. - - - - - - Checks if there is an appropriate type conversion from the source type to the target type. - - The type to convert from. - The type to convert to. - true if there is a conversion from the source type to the target type. - - Checks if there is an appropriate type conversion from the source type to the target type. - - - - - - - Converts an object to the target type. - - The object to convert to the target type. - The type to convert to. - The converted object. - - - Converts an object to the target type. - - - - - - Instantiates an object given a class name. - - The fully qualified class name of the object to instantiate. - The class to which the new object should belong. - The object to return in case of non-fulfillment. - - An instance of the or - if the object could not be instantiated. - - - - Checks that the is a subclass of - . If that test fails or the object could - not be instantiated, then is returned. - - - - - - Performs variable substitution in string from the - values of keys found in . - - The string on which variable substitution is performed. - The dictionary to use to lookup variables. - The result of the substitutions. - - - The variable substitution delimiters are ${ and }. - - - For example, if props contains key=value, then the call - - - - string s = OptionConverter.SubstituteVariables("Value of key is ${key}."); - - - - will set the variable s to "Value of key is value.". - - - If no value could be found for the specified key, then substitution - defaults to an empty string. - - - For example, if system properties contains no value for the key - "nonExistentKey", then the call - - - - string s = OptionConverter.SubstituteVariables("Value of nonExistentKey is [${nonExistentKey}]"); - - - - will set s to "Value of nonExistentKey is []". - - - An Exception is thrown if contains a start - delimiter "${" which is not balanced by a stop delimiter "}". - - - - - - Converts the string representation of the name or numeric value of one or - more enumerated constants to an equivalent enumerated object. - - The type to convert to. - The enum string value. - If true, ignore case; otherwise, regard case. - An object of type whose value is represented by . - - - - Most of the work of the class - is delegated to the PatternParser class. - - - - The PatternParser processes a pattern string and - returns a chain of objects. - - - Nicko Cadell - Gert Driesen - - - - Constructor - - The pattern to parse. - - - Initializes a new instance of the class - with the specified pattern string. - - - - - - Parses the pattern into a chain of pattern converters. - - The head of a chain of pattern converters. - - - Parses the pattern into a chain of pattern converters. - - - - - - Build the unified cache of converters from the static and instance maps - - the list of all the converter names - - - Build the unified cache of converters from the static and instance maps - - - - - - Internal method to parse the specified pattern to find specified matches - - the pattern to parse - the converter names to match in the pattern - - - The matches param must be sorted such that longer strings come before shorter ones. - - - - - - Process a parsed literal - - the literal text - - - - Process a parsed converter pattern - - the name of the converter - the optional option for the converter - the formatting info for the converter - - - - Resets the internal state of the parser and adds the specified pattern converter - to the chain. - - The pattern converter to add. - - - - The first pattern converter in the chain - - - - - the last pattern converter in the chain - - - - - The pattern - - - - - Internal map of converter identifiers to converter types - - - - This map overrides the static s_globalRulesRegistry map. - - - - - - Get the converter registry used by this parser - - - The converter registry used by this parser - - - - Get the converter registry used by this parser - - - - - - Sort strings by length - - - - that orders strings by string length. - The longest strings are placed first - - - - - - This class implements a patterned string. - - - - This string has embedded patterns that are resolved and expanded - when the string is formatted. - - - This class functions similarly to the - in that it accepts a pattern and renders it to a string. Unlike the - however the PatternString - does not render the properties of a specific but - of the process in general. - - - The recognized conversion pattern names are: - - - - Conversion Pattern Name - Effect - - - appdomain - - - Used to output the friendly name of the current AppDomain. - - - - - date - - - Used to output the date of the logging event in the local time zone. - To output the date in universal time use the %utcdate pattern. - The date conversion - specifier may be followed by a date format specifier enclosed - between braces. For example, %date{HH:mm:ss,fff} or - %date{dd MMM yyyy HH:mm:ss,fff}. If no date format specifier is - given then ISO8601 format is - assumed (). - - - The date format specifier admits the same syntax as the - time pattern string of the . - - - For better results it is recommended to use the log4net date - formatters. These can be specified using one of the strings - "ABSOLUTE", "DATE" and "ISO8601" for specifying - , - and respectively - . For example, - %date{ISO8601} or %date{ABSOLUTE}. - - - These dedicated date formatters perform significantly - better than . - - - - - env - - - Used to output the a specific environment variable. The key to - lookup must be specified within braces and directly following the - pattern specifier, e.g. %env{COMPUTERNAME} would include the value - of the COMPUTERNAME environment variable. - - - The env pattern is not supported on the .NET Compact Framework. - - - - - identity - - - Used to output the user name for the currently active user - (Principal.Identity.Name). - - - - - newline - - - Outputs the platform dependent line separator character or - characters. - - - This conversion pattern name offers the same performance as using - non-portable line separator strings such as "\n", or "\r\n". - Thus, it is the preferred way of specifying a line separator. - - - - - processid - - - Used to output the system process ID for the current process. - - - - - property - - - Used to output a specific context property. The key to - lookup must be specified within braces and directly following the - pattern specifier, e.g. %property{user} would include the value - from the property that is keyed by the string 'user'. Each property value - that is to be included in the log must be specified separately. - Properties are stored in logging contexts. By default - the log4net:HostName property is set to the name of machine on - which the event was originally logged. - - - If no key is specified, e.g. %property then all the keys and their - values are printed in a comma separated list. - - - The properties of an event are combined from a number of different - contexts. These are listed below in the order in which they are searched. - - - - the thread properties - - The that are set on the current - thread. These properties are shared by all events logged on this thread. - - - - the global properties - - The that are set globally. These - properties are shared by all the threads in the AppDomain. - - - - - - - random - - - Used to output a random string of characters. The string is made up of - uppercase letters and numbers. By default the string is 4 characters long. - The length of the string can be specified within braces directly following the - pattern specifier, e.g. %random{8} would output an 8 character string. - - - - - username - - - Used to output the WindowsIdentity for the currently - active user. - - - - - utcdate - - - Used to output the date of the logging event in universal time. - The date conversion - specifier may be followed by a date format specifier enclosed - between braces. For example, %utcdate{HH:mm:ss,fff} or - %utcdate{dd MMM yyyy HH:mm:ss,fff}. If no date format specifier is - given then ISO8601 format is - assumed (). - - - The date format specifier admits the same syntax as the - time pattern string of the . - - - For better results it is recommended to use the log4net date - formatters. These can be specified using one of the strings - "ABSOLUTE", "DATE" and "ISO8601" for specifying - , - and respectively - . For example, - %utcdate{ISO8601} or %utcdate{ABSOLUTE}. - - - These dedicated date formatters perform significantly - better than . - - - - - % - - - The sequence %% outputs a single percent sign. - - - - - - Additional pattern converters may be registered with a specific - instance using or - . - - - See the for details on the - format modifiers supported by the patterns. - - - Nicko Cadell - - - - Internal map of converter identifiers to converter types. - - - - - the pattern - - - - - the head of the pattern converter chain - - - - - patterns defined on this PatternString only - - - - - Initialize the global registry - - - - - Default constructor - - - - Initialize a new instance of - - - - - - Constructs a PatternString - - The pattern to use with this PatternString - - - Initialize a new instance of with the pattern specified. - - - - - - Initialize object options - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - - - - Create the used to parse the pattern - - the pattern to parse - The - - - Returns PatternParser used to parse the conversion string. Subclasses - may override this to return a subclass of PatternParser which recognize - custom conversion pattern name. - - - - - - Produces a formatted string as specified by the conversion pattern. - - The TextWriter to write the formatted event to - - - Format the pattern to the . - - - - - - Format the pattern as a string - - the pattern formatted as a string - - - Format the pattern to a string. - - - - - - Add a converter to this PatternString - - the converter info - - - This version of the method is used by the configurator. - Programmatic users should use the alternative method. - - - - - - Add a converter to this PatternString - - the name of the conversion pattern for this converter - the type of the converter - - - Add a converter to this PatternString - - - - - - Gets or sets the pattern formatting string - - - The pattern formatting string - - - - The ConversionPattern option. This is the string which - controls formatting and consists of a mix of literal content and - conversion specifiers. - - - - - - Wrapper class used to map converter names to converter types - - - - Wrapper class used to map converter names to converter types - - - - - - default constructor - - - - - Gets or sets the name of the conversion pattern - - - The name of the conversion pattern - - - - Gets or sets the name of the conversion pattern - - - - - - Gets or sets the type of the converter - - - The type of the converter - - - - Gets or sets the type of the converter - - - - - - String keyed object map. - - - - While this collection is serializable only member - objects that are serializable will - be serialized along with this collection. - - - Nicko Cadell - Gert Driesen - - - - String keyed object map that is read only. - - - - This collection is readonly and cannot be modified. - - - While this collection is serializable only member - objects that are serializable will - be serialized along with this collection. - - - Nicko Cadell - Gert Driesen - - - - The Hashtable used to store the properties data - - - - - Constructor - - - - Initializes a new instance of the class. - - - - - - Copy Constructor - - properties to copy - - - Initializes a new instance of the class. - - - - - - Deserialization constructor - - The that holds the serialized object data. - The that contains contextual information about the source or destination. - - - Initializes a new instance of the class - with serialized data. - - - - - - Gets the key names. - - An array of all the keys. - - - Gets the key names. - - - - - - Test if the dictionary contains a specified key - - the key to look for - true if the dictionary contains the specified key - - - Test if the dictionary contains a specified key - - - - - - Serializes this object into the provided. - - The to populate with data. - The destination for this serialization. - - - Serializes this object into the provided. - - - - - - See - - - - - See - - - - - - See - - - - - - - Remove all properties from the properties collection - - - - - See - - - - - - - See - - - - - - - See - - - - - Gets or sets the value of the property with the specified key. - - - The value of the property with the specified key. - - The key of the property to get or set. - - - The property value will only be serialized if it is serializable. - If it cannot be serialized it will be silently ignored if - a serialization operation is performed. - - - - - - The hashtable used to store the properties - - - The internal collection used to store the properties - - - - The hashtable used to store the properties - - - - - - See - - - - - See - - - - - See - - - - - See - - - - - See - - - - - See - - - - - The number of properties in this collection - - - - - See - - - - - Constructor - - - - Initializes a new instance of the class. - - - - - - Constructor - - properties to copy - - - Initializes a new instance of the class. - - - - - - Initializes a new instance of the class - with serialized data. - - The that holds the serialized object data. - The that contains contextual information about the source or destination. - - - Because this class is sealed the serialization constructor is private. - - - - - - Remove the entry with the specified key from this dictionary - - the key for the entry to remove - - - Remove the entry with the specified key from this dictionary - - - - - - See - - an enumerator - - - Returns a over the contest of this collection. - - - - - - See - - the key to remove - - - Remove the entry with the specified key from this dictionary - - - - - - See - - the key to lookup in the collection - true if the collection contains the specified key - - - Test if this collection contains a specified key. - - - - - - Remove all properties from the properties collection - - - - Remove all properties from the properties collection - - - - - - See - - the key - the value to store for the key - - - Store a value for the specified . - - - Thrown if the is not a string - - - - See - - - - - - - See - - - - - Gets or sets the value of the property with the specified key. - - - The value of the property with the specified key. - - The key of the property to get or set. - - - The property value will only be serialized if it is serializable. - If it cannot be serialized it will be silently ignored if - a serialization operation is performed. - - - - - - See - - - false - - - - This collection is modifiable. This property always - returns false. - - - - - - See - - - The value for the key specified. - - - - Get or set a value for the specified . - - - Thrown if the is not a string - - - - See - - - - - See - - - - - See - - - - - See - - - - - See - - - - - A that ignores the message - - - - This writer is used in special cases where it is necessary - to protect a writer from being closed by a client. - - - Nicko Cadell - - - - Constructor - - the writer to actually write to - - - Create a new ProtectCloseTextWriter using a writer - - - - - - Attach this instance to a different underlying - - the writer to attach to - - - Attach this instance to a different underlying - - - - - - Does not close the underlying output writer. - - - - Does not close the underlying output writer. - This method does nothing. - - - - - - Defines a lock that supports single writers and multiple readers - - - - ReaderWriterLock is used to synchronize access to a resource. - At any given time, it allows either concurrent read access for - multiple threads, or write access for a single thread. In a - situation where a resource is changed infrequently, a - ReaderWriterLock provides better throughput than a simple - one-at-a-time lock, such as . - - - If a platform does not support a System.Threading.ReaderWriterLock - implementation then all readers and writers are serialized. Therefore - the caller must not rely on multiple simultaneous readers. - - - Nicko Cadell - - - - Constructor - - - - Initializes a new instance of the class. - - - - - - Acquires a reader lock - - - - blocks if a different thread has the writer - lock, or if at least one thread is waiting for the writer lock. - - - - - - Decrements the lock count - - - - decrements the lock count. When the count - reaches zero, the lock is released. - - - - - - Acquires the writer lock - - - - This method blocks if another thread has a reader lock or writer lock. - - - - - - Decrements the lock count on the writer lock - - - - ReleaseWriterLock decrements the writer lock count. - When the count reaches zero, the writer lock is released. - - - - - - A that can be and reused - - - - A that can be and reused. - This uses a single buffer for string operations. - - - Nicko Cadell - - - - Create an instance of - - the format provider to use - - - Create an instance of - - - - - - Override Dispose to prevent closing of writer - - flag - - - Override Dispose to prevent closing of writer - - - - - - Reset this string writer so that it can be reused. - - the maximum buffer capacity before it is trimmed - the default size to make the buffer - - - Reset this string writer so that it can be reused. - The internal buffers are cleared and reset. - - - - - - Utility class for system specific information. - - - - Utility class of static methods for system specific information. - - - Nicko Cadell - Gert Driesen - Alexey Solofnenko - - - - Private constructor to prevent instances. - - - - Only static methods are exposed from this type. - - - - - - Initialize default values for private static fields. - - - - Only static methods are exposed from this type. - - - - - - Gets the assembly location path for the specified assembly. - - The assembly to get the location for. - The location of the assembly. - - - This method does not guarantee to return the correct path - to the assembly. If only tries to give an indication as to - where the assembly was loaded from. - - - - - - Gets the fully qualified name of the , including - the name of the assembly from which the was - loaded. - - The to get the fully qualified name for. - The fully qualified name for the . - - - This is equivalent to the Type.AssemblyQualifiedName property, - but this method works on the .NET Compact Framework 1.0 as well as - the full .NET runtime. - - - - - - Gets the short name of the . - - The to get the name for. - The short name of the . - - - The short name of the assembly is the - without the version, culture, or public key. i.e. it is just the - assembly's file name without the extension. - - - Use this rather than Assembly.GetName().Name because that - is not available on the Compact Framework. - - - Because of a FileIOPermission security demand we cannot do - the obvious Assembly.GetName().Name. We are allowed to get - the of the assembly so we - start from there and strip out just the assembly name. - - - - - - Gets the file name portion of the , including the extension. - - The to get the file name for. - The file name of the assembly. - - - Gets the file name portion of the , including the extension. - - - - - - Loads the type specified in the type string. - - A sibling type to use to load the type. - The name of the type to load. - Flag set to true to throw an exception if the type cannot be loaded. - true to ignore the case of the type name; otherwise, false - The type loaded or null if it could not be loaded. - - - If the type name is fully qualified, i.e. if contains an assembly name in - the type name, the type will be loaded from the system using - . - - - If the type name is not fully qualified, it will be loaded from the assembly - containing the specified relative type. If the type is not found in the assembly - then all the loaded assemblies will be searched for the type. - - - - - - Loads the type specified in the type string. - - The name of the type to load. - Flag set to true to throw an exception if the type cannot be loaded. - true to ignore the case of the type name; otherwise, false - The type loaded or null if it could not be loaded. - - - If the type name is fully qualified, i.e. if contains an assembly name in - the type name, the type will be loaded from the system using - . - - - If the type name is not fully qualified it will be loaded from the - assembly that is directly calling this method. If the type is not found - in the assembly then all the loaded assemblies will be searched for the type. - - - - - - Loads the type specified in the type string. - - An assembly to load the type from. - The name of the type to load. - Flag set to true to throw an exception if the type cannot be loaded. - true to ignore the case of the type name; otherwise, false - The type loaded or null if it could not be loaded. - - - If the type name is fully qualified, i.e. if contains an assembly name in - the type name, the type will be loaded from the system using - . - - - If the type name is not fully qualified it will be loaded from the specified - assembly. If the type is not found in the assembly then all the loaded assemblies - will be searched for the type. - - - - - - Generate a new guid - - A new Guid - - - Generate a new guid - - - - - - Create an - - The name of the parameter that caused the exception - The value of the argument that causes this exception - The message that describes the error - the ArgumentOutOfRangeException object - - - Create a new instance of the class - with a specified error message, the parameter name, and the value - of the argument. - - - The Compact Framework does not support the 3 parameter constructor for the - type. This method provides an - implementation that works for all platforms. - - - - - - Parse a string into an value - - the string to parse - out param where the parsed value is placed - true if the string was able to be parsed into an integer - - - Attempts to parse the string into an integer. If the string cannot - be parsed then this method returns false. The method does not throw an exception. - - - - - - Parse a string into an value - - the string to parse - out param where the parsed value is placed - true if the string was able to be parsed into an integer - - - Attempts to parse the string into an integer. If the string cannot - be parsed then this method returns false. The method does not throw an exception. - - - - - - Lookup an application setting - - the application settings key to lookup - the value for the key, or null - - - Configuration APIs are not supported under the Compact Framework - - - - - - Convert a path into a fully qualified local file path. - - The path to convert. - The fully qualified path. - - - Converts the path specified to a fully - qualified path. If the path is relative it is - taken as relative from the application base - directory. - - - The path specified must be a local file path, a URI is not supported. - - - - - - Creates a new case-insensitive instance of the class with the default initial capacity. - - A new case-insensitive instance of the class with the default initial capacity - - - The new Hashtable instance uses the default load factor, the CaseInsensitiveHashCodeProvider, and the CaseInsensitiveComparer. - - - - - - Gets an empty array of types. - - - - The Type.EmptyTypes field is not available on - the .NET Compact Framework 1.0. - - - - - - Cache the host name for the current machine - - - - - Cache the application friendly name - - - - - Text to output when a null is encountered. - - - - - Text to output when an unsupported feature is requested. - - - - - Start time for the current process. - - - - - Gets the system dependent line terminator. - - - The system dependent line terminator. - - - - Gets the system dependent line terminator. - - - - - - Gets the base directory for this . - - The base directory path for the current . - - - Gets the base directory for this . - - - The value returned may be either a local file path or a URI. - - - - - - Gets the path to the configuration file for the current . - - The path to the configuration file for the current . - - - The .NET Compact Framework 1.0 does not have a concept of a configuration - file. For this runtime, we use the entry assembly location as the root for - the configuration file name. - - - The value returned may be either a local file path or a URI. - - - - - - Gets the path to the file that first executed in the current . - - The path to the entry assembly. - - - Gets the path to the file that first executed in the current . - - - - - - Gets the ID of the current thread. - - The ID of the current thread. - - - On the .NET framework, the AppDomain.GetCurrentThreadId method - is used to obtain the thread ID for the current thread. This is the - operating system ID for the thread. - - - On the .NET Compact Framework 1.0 it is not possible to get the - operating system thread ID for the current thread. The native method - GetCurrentThreadId is implemented inline in a header file - and cannot be called. - - - On the .NET Framework 2.0 the Thread.ManagedThreadId is used as this - gives a stable id unrelated to the operating system thread ID which may - change if the runtime is using fibers. - - - - - - Get the host name or machine name for the current machine - - - The hostname or machine name - - - - Get the host name or machine name for the current machine - - - The host name () or - the machine name (Environment.MachineName) for - the current machine, or if neither of these are available - then NOT AVAILABLE is returned. - - - - - - Get this application's friendly name - - - The friendly name of this application as a string - - - - If available the name of the application is retrieved from - the AppDomain using AppDomain.CurrentDomain.FriendlyName. - - - Otherwise the file name of the entry assembly is used. - - - - - - Get the start time for the current process. - - - - This is the time at which the log4net library was loaded into the - AppDomain. Due to reports of a hang in the call to System.Diagnostics.Process.StartTime - this is not the start time for the current process. - - - The log4net library should be loaded by an application early during its - startup, therefore this start time should be a good approximation for - the actual start time. - - - Note that AppDomains may be loaded and unloaded within the - same process without the process terminating, however this start time - will be set per AppDomain. - - - - - - Text to output when a null is encountered. - - - - Use this value to indicate a null has been encountered while - outputting a string representation of an item. - - - The default value is (null). This value can be overridden by specifying - a value for the log4net.NullText appSetting in the application's - .config file. - - - - - - Text to output when an unsupported feature is requested. - - - - Use this value when an unsupported feature is requested. - - - The default value is NOT AVAILABLE. This value can be overridden by specifying - a value for the log4net.NotAvailableText appSetting in the application's - .config file. - - - - - - Utility class that represents a format string. - - - - Utility class that represents a format string. - - - Nicko Cadell - - - - Initialise the - - An that supplies culture-specific formatting information. - A containing zero or more format items. - An array containing zero or more objects to format. - - - - Format the string and arguments - - the formatted string - - - - Replaces the format item in a specified with the text equivalent - of the value of a corresponding instance in a specified array. - A specified parameter supplies culture-specific formatting information. - - An that supplies culture-specific formatting information. - A containing zero or more format items. - An array containing zero or more objects to format. - - A copy of format in which the format items have been replaced by the - equivalent of the corresponding instances of in args. - - - - This method does not throw exceptions. If an exception thrown while formatting the result the - exception and arguments are returned in the result string. - - - - - - Process an error during StringFormat - - - - - Dump the contents of an array into a string builder - - - - - Dump an object to a string - - - - - Implementation of Properties collection for the - - - - Class implements a collection of properties that is specific to each thread. - The class is not synchronized as each thread has its own . - - - Nicko Cadell - - - - The thread local data slot to use to store a PropertiesDictionary. - - - - - Internal constructor - - - - Initializes a new instance of the class. - - - - - - Remove a property - - the key for the entry to remove - - - Remove a property - - - - - - Clear all properties - - - - Clear all properties - - - - - - Get the PropertiesDictionary for this thread. - - create the dictionary if it does not exist, otherwise return null if is does not exist - the properties for this thread - - - The collection returned is only to be used on the calling thread. If the - caller needs to share the collection between different threads then the - caller must clone the collection before doing so. - - - - - - Gets or sets the value of a property - - - The value for the property with the specified key - - - - Gets or sets the value of a property - - - - - - Implementation of Stack for the - - - - Implementation of Stack for the - - - Nicko Cadell - - - - The stack store. - - - - - Internal constructor - - - - Initializes a new instance of the class. - - - - - - Clears all the contextual information held in this stack. - - - - Clears all the contextual information held in this stack. - Only call this if you think that this tread is being reused after - a previous call execution which may not have completed correctly. - You do not need to use this method if you always guarantee to call - the method of the - returned from even in exceptional circumstances, - for example by using the using(log4net.ThreadContext.Stacks["NDC"].Push("Stack_Message")) - syntax. - - - - - - Removes the top context from this stack. - - The message in the context that was removed from the top of this stack. - - - Remove the top context from this stack, and return - it to the caller. If this stack is empty then an - empty string (not ) is returned. - - - - - - Pushes a new context message into this stack. - - The new context message. - - An that can be used to clean up the context stack. - - - - Pushes a new context onto this stack. An - is returned that can be used to clean up this stack. This - can be easily combined with the using keyword to scope the - context. - - - Simple example of using the Push method with the using keyword. - - using(log4net.ThreadContext.Stacks["NDC"].Push("Stack_Message")) - { - log.Warn("This should have an ThreadContext Stack message"); - } - - - - - - Gets the current context information for this stack. - - The current context information. - - - - Gets the current context information for this stack. - - Gets the current context information - - - Gets the current context information for this stack. - - - - - - Get a portable version of this object - - the portable instance of this object - - - Get a cross thread portable version of this object - - - - - - The number of messages in the stack - - - The current number of messages in the stack - - - - The current number of messages in the stack. That is - the number of times has been called - minus the number of times has been called. - - - - - - Gets and sets the internal stack used by this - - The internal storage stack - - - This property is provided only to support backward compatability - of the . Tytpically the internal stack should not - be modified. - - - - - - Inner class used to represent a single context frame in the stack. - - - - Inner class used to represent a single context frame in the stack. - - - - - - Constructor - - The message for this context. - The parent context in the chain. - - - Initializes a new instance of the class - with the specified message and parent context. - - - - - - Get the message. - - The message. - - - Get the message. - - - - - - Gets the full text of the context down to the root level. - - - The full text of the context down to the root level. - - - - Gets the full text of the context down to the root level. - - - - - - Struct returned from the method. - - - - This struct implements the and is designed to be used - with the pattern to remove the stack frame at the end of the scope. - - - - - - The ThreadContextStack internal stack - - - - - The depth to trim the stack to when this instance is disposed - - - - - Constructor - - The internal stack used by the ThreadContextStack. - The depth to return the stack to when this object is disposed. - - - Initializes a new instance of the class with - the specified stack and return depth. - - - - - - Returns the stack to the correct depth. - - - - Returns the stack to the correct depth. - - - - - - Implementation of Stacks collection for the - - - - Implementation of Stacks collection for the - - - Nicko Cadell - - - - Internal constructor - - - - Initializes a new instance of the class. - - - - - - Gets the named thread context stack - - - The named stack - - - - Gets the named thread context stack - - - - - - Utility class for transforming strings. - - - - Utility class for transforming strings. - - - Nicko Cadell - Gert Driesen - - - - Initializes a new instance of the class. - - - - Uses a private access modifier to prevent instantiation of this class. - - - - - - Write a string to an - - the writer to write to - the string to write - The string to replace non XML compliant chars with - - - The test is escaped either using XML escape entities - or using CDATA sections. - - - - - - Replace invalid XML characters in text string - - the XML text input string - the string to use in place of invalid characters - A string that does not contain invalid XML characters. - - - Certain Unicode code points are not allowed in the XML InfoSet, for - details see: http://www.w3.org/TR/REC-xml/#charsets. - - - This method replaces any illegal characters in the input string - with the mask string specified. - - - - - - Count the number of times that the substring occurs in the text - - the text to search - the substring to find - the number of times the substring occurs in the text - - - The substring is assumed to be non repeating within itself. - - - - - - Impersonate a Windows Account - - - - This impersonates a Windows account. - - - How the impersonation is done depends on the value of . - This allows the context to either impersonate a set of user credentials specified - using username, domain name and password or to revert to the process credentials. - - - - - - Default constructor - - - - Default constructor - - - - - - Initialize the SecurityContext based on the options set. - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - The security context will try to Logon the specified user account and - capture a primary token for impersonation. - - - The required , - or properties were not specified. - - - - Impersonate the Windows account specified by the and properties. - - caller provided state - - An instance that will revoke the impersonation of this SecurityContext - - - - Depending on the property either - impersonate a user using credentials supplied or revert - to the process credentials. - - - - - - Create a given the userName, domainName and password. - - the user name - the domain name - the password - the for the account specified - - - Uses the Windows API call LogonUser to get a principal token for the account. This - token is used to initialize the WindowsIdentity. - - - - - - Gets or sets the impersonation mode for this security context - - - The impersonation mode for this security context - - - - Impersonate either a user with user credentials or - revert this thread to the credentials of the process. - The value is one of the - enum. - - - The default value is - - - When the mode is set to - the user's credentials are established using the - , and - values. - - - When the mode is set to - no other properties need to be set. If the calling thread is - impersonating then it will be reverted back to the process credentials. - - - - - - Gets or sets the Windows username for this security context - - - The Windows username for this security context - - - - This property must be set if - is set to (the default setting). - - - - - - Gets or sets the Windows domain name for this security context - - - The Windows domain name for this security context - - - - The default value for is the local machine name - taken from the property. - - - This property must be set if - is set to (the default setting). - - - - - - Sets the password for the Windows account specified by the and properties. - - - The password for the Windows account specified by the and properties. - - - - This property must be set if - is set to (the default setting). - - - - - - The impersonation modes for the - - - - See the property for - details. - - - - - - Impersonate a user using the credentials supplied - - - - - Revert this the thread to the credentials of the process - - - - - Adds to - - - - Helper class to expose the - through the interface. - - - - - - Constructor - - the impersonation context being wrapped - - - Constructor - - - - - - Revert the impersonation - - - - Revert the impersonation - - - - - - The log4net Global Context. - - - - The GlobalContext provides a location for global debugging - information to be stored. - - - The global context has a properties map and these properties can - be included in the output of log messages. The - supports selecting and outputing these properties. - - - By default the log4net:HostName property is set to the name of - the current machine. - - - - - GlobalContext.Properties["hostname"] = Environment.MachineName; - - - - Nicko Cadell - - - - Private Constructor. - - - Uses a private access modifier to prevent instantiation of this class. - - - - - The global context properties instance - - - - - The global properties map. - - - The global properties map. - - - - The global properties map. - - - - - - The log4net Logical Thread Context. - - - - The LogicalThreadContext provides a location for specific debugging - information to be stored. - The LogicalThreadContext properties override any or - properties with the same name. - - - The Logical Thread Context has a properties map and a stack. - The properties and stack can - be included in the output of log messages. The - supports selecting and outputting these properties. - - - The Logical Thread Context provides a diagnostic context for the current call context. - This is an instrument for distinguishing interleaved log - output from different sources. Log output is typically interleaved - when a server handles multiple clients near-simultaneously. - - - The Logical Thread Context is managed on a per basis. - - - Example of using the thread context properties to store a username. - - LogicalThreadContext.Properties["user"] = userName; - log.Info("This log message has a LogicalThreadContext Property called 'user'"); - - - Example of how to push a message into the context stack - - using(LogicalThreadContext.Stacks["LDC"].Push("my context message")) - { - log.Info("This log message has a LogicalThreadContext Stack message that includes 'my context message'"); - - } // at the end of the using block the message is automatically popped - - - - Nicko Cadell - - - - Private Constructor. - - - - Uses a private access modifier to prevent instantiation of this class. - - - - - - The thread context properties instance - - - - - The thread context stacks instance - - - - - The thread properties map - - - The thread properties map - - - - The LogicalThreadContext properties override any - or properties with the same name. - - - - - - The thread stacks - - - stack map - - - - The logical thread stacks. - - - - - - This class is used by client applications to request logger instances. - - - - This class has static methods that are used by a client to request - a logger instance. The method is - used to retrieve a logger. - - - See the interface for more details. - - - Simple example of logging messages - - ILog log = LogManager.GetLogger("application-log"); - - log.Info("Application Start"); - log.Debug("This is a debug message"); - - if (log.IsDebugEnabled) - { - log.Debug("This is another debug message"); - } - - - - - Nicko Cadell - Gert Driesen - - - - Initializes a new instance of the class. - - - Uses a private access modifier to prevent instantiation of this class. - - - - Returns the named logger if it exists. - - Returns the named logger if it exists. - - - - If the named logger exists (in the default repository) then it - returns a reference to the logger, otherwise it returns null. - - - The fully qualified logger name to look for. - The logger found, or null if no logger could be found. - - - - Returns the named logger if it exists. - - - - If the named logger exists (in the specified repository) then it - returns a reference to the logger, otherwise it returns - null. - - - The repository to lookup in. - The fully qualified logger name to look for. - - The logger found, or null if the logger doesn't exist in the specified - repository. - - - - - Returns the named logger if it exists. - - - - If the named logger exists (in the repository for the specified assembly) then it - returns a reference to the logger, otherwise it returns - null. - - - The assembly to use to lookup the repository. - The fully qualified logger name to look for. - - The logger, or null if the logger doesn't exist in the specified - assembly's repository. - - - - Get the currently defined loggers. - - Returns all the currently defined loggers in the default repository. - - - The root logger is not included in the returned array. - - All the defined loggers. - - - - Returns all the currently defined loggers in the specified repository. - - The repository to lookup in. - - The root logger is not included in the returned array. - - All the defined loggers. - - - - Returns all the currently defined loggers in the specified assembly's repository. - - The assembly to use to lookup the repository. - - The root logger is not included in the returned array. - - All the defined loggers. - - - Get or create a logger. - - Retrieves or creates a named logger. - - - - Retrieves a logger named as the - parameter. If the named logger already exists, then the - existing instance will be returned. Otherwise, a new instance is - created. - - By default, loggers do not have a set level but inherit - it from the hierarchy. This is one of the central features of - log4net. - - - The name of the logger to retrieve. - The logger with the name specified. - - - - Retrieves or creates a named logger. - - - - Retrieve a logger named as the - parameter. If the named logger already exists, then the - existing instance will be returned. Otherwise, a new instance is - created. - - - By default, loggers do not have a set level but inherit - it from the hierarchy. This is one of the central features of - log4net. - - - The repository to lookup in. - The name of the logger to retrieve. - The logger with the name specified. - - - - Retrieves or creates a named logger. - - - - Retrieve a logger named as the - parameter. If the named logger already exists, then the - existing instance will be returned. Otherwise, a new instance is - created. - - - By default, loggers do not have a set level but inherit - it from the hierarchy. This is one of the central features of - log4net. - - - The assembly to use to lookup the repository. - The name of the logger to retrieve. - The logger with the name specified. - - - - Shorthand for . - - - Get the logger for the fully qualified name of the type specified. - - The full name of will be used as the name of the logger to retrieve. - The logger with the name specified. - - - - Shorthand for . - - - Gets the logger for the fully qualified name of the type specified. - - The repository to lookup in. - The full name of will be used as the name of the logger to retrieve. - The logger with the name specified. - - - - Shorthand for . - - - Gets the logger for the fully qualified name of the type specified. - - The assembly to use to lookup the repository. - The full name of will be used as the name of the logger to retrieve. - The logger with the name specified. - - - - Shuts down the log4net system. - - - - Calling this method will safely close and remove all - appenders in all the loggers including root contained in all the - default repositories. - - - Some appenders need to be closed before the application exists. - Otherwise, pending logging events might be lost. - - The shutdown method is careful to close nested - appenders before closing regular appenders. This is allows - configurations where a regular appender is attached to a logger - and again to a nested appender. - - - - - Shutdown a logger repository. - - Shuts down the default repository. - - - - Calling this method will safely close and remove all - appenders in all the loggers including root contained in the - default repository. - - Some appenders need to be closed before the application exists. - Otherwise, pending logging events might be lost. - - The shutdown method is careful to close nested - appenders before closing regular appenders. This is allows - configurations where a regular appender is attached to a logger - and again to a nested appender. - - - - - - Shuts down the repository for the repository specified. - - - - Calling this method will safely close and remove all - appenders in all the loggers including root contained in the - specified. - - - Some appenders need to be closed before the application exists. - Otherwise, pending logging events might be lost. - - The shutdown method is careful to close nested - appenders before closing regular appenders. This is allows - configurations where a regular appender is attached to a logger - and again to a nested appender. - - - The repository to shutdown. - - - - Shuts down the repository specified. - - - - Calling this method will safely close and remove all - appenders in all the loggers including root contained in the - repository. The repository is looked up using - the specified. - - - Some appenders need to be closed before the application exists. - Otherwise, pending logging events might be lost. - - - The shutdown method is careful to close nested - appenders before closing regular appenders. This is allows - configurations where a regular appender is attached to a logger - and again to a nested appender. - - - The assembly to use to lookup the repository. - - - Reset the configuration of a repository - - Resets all values contained in this repository instance to their defaults. - - - - Resets all values contained in the repository instance to their - defaults. This removes all appenders from all loggers, sets - the level of all non-root loggers to null, - sets their additivity flag to true and sets the level - of the root logger to . Moreover, - message disabling is set to its default "off" value. - - - - - - Resets all values contained in this repository instance to their defaults. - - - - Reset all values contained in the repository instance to their - defaults. This removes all appenders from all loggers, sets - the level of all non-root loggers to null, - sets their additivity flag to true and sets the level - of the root logger to . Moreover, - message disabling is set to its default "off" value. - - - The repository to reset. - - - - Resets all values contained in this repository instance to their defaults. - - - - Reset all values contained in the repository instance to their - defaults. This removes all appenders from all loggers, sets - the level of all non-root loggers to null, - sets their additivity flag to true and sets the level - of the root logger to . Moreover, - message disabling is set to its default "off" value. - - - The assembly to use to lookup the repository to reset. - - - Get the logger repository. - - Returns the default instance. - - - - Gets the for the repository specified - by the callers assembly (). - - - The instance for the default repository. - - - - Returns the default instance. - - The default instance. - - - Gets the for the repository specified - by the argument. - - - The repository to lookup in. - - - - Returns the default instance. - - The default instance. - - - Gets the for the repository specified - by the argument. - - - The assembly to use to lookup the repository. - - - Get a logger repository. - - Returns the default instance. - - - - Gets the for the repository specified - by the callers assembly (). - - - The instance for the default repository. - - - - Returns the default instance. - - The default instance. - - - Gets the for the repository specified - by the argument. - - - The repository to lookup in. - - - - Returns the default instance. - - The default instance. - - - Gets the for the repository specified - by the argument. - - - The assembly to use to lookup the repository. - - - Create a domain - - Creates a repository with the specified repository type. - - - - CreateDomain is obsolete. Use CreateRepository instead of CreateDomain. - - - The created will be associated with the repository - specified such that a call to will return - the same repository instance. - - - A that implements - and has a no arg constructor. An instance of this type will be created to act - as the for the repository specified. - The created for the repository. - - - Create a logger repository. - - Creates a repository with the specified repository type. - - A that implements - and has a no arg constructor. An instance of this type will be created to act - as the for the repository specified. - The created for the repository. - - - The created will be associated with the repository - specified such that a call to will return - the same repository instance. - - - - - - Creates a repository with the specified name. - - - - CreateDomain is obsolete. Use CreateRepository instead of CreateDomain. - - - Creates the default type of which is a - object. - - - The name must be unique. Repositories cannot be redefined. - An will be thrown if the repository already exists. - - - The name of the repository, this must be unique amongst repositories. - The created for the repository. - The specified repository already exists. - - - - Creates a repository with the specified name. - - - - Creates the default type of which is a - object. - - - The name must be unique. Repositories cannot be redefined. - An will be thrown if the repository already exists. - - - The name of the repository, this must be unique amongst repositories. - The created for the repository. - The specified repository already exists. - - - - Creates a repository with the specified name and repository type. - - - - CreateDomain is obsolete. Use CreateRepository instead of CreateDomain. - - - The name must be unique. Repositories cannot be redefined. - An will be thrown if the repository already exists. - - - The name of the repository, this must be unique to the repository. - A that implements - and has a no arg constructor. An instance of this type will be created to act - as the for the repository specified. - The created for the repository. - The specified repository already exists. - - - - Creates a repository with the specified name and repository type. - - - - The name must be unique. Repositories cannot be redefined. - An will be thrown if the repository already exists. - - - The name of the repository, this must be unique to the repository. - A that implements - and has a no arg constructor. An instance of this type will be created to act - as the for the repository specified. - The created for the repository. - The specified repository already exists. - - - - Creates a repository for the specified assembly and repository type. - - - - CreateDomain is obsolete. Use CreateRepository instead of CreateDomain. - - - The created will be associated with the repository - specified such that a call to with the - same assembly specified will return the same repository instance. - - - The assembly to use to get the name of the repository. - A that implements - and has a no arg constructor. An instance of this type will be created to act - as the for the repository specified. - The created for the repository. - - - - Creates a repository for the specified assembly and repository type. - - - - The created will be associated with the repository - specified such that a call to with the - same assembly specified will return the same repository instance. - - - The assembly to use to get the name of the repository. - A that implements - and has a no arg constructor. An instance of this type will be created to act - as the for the repository specified. - The created for the repository. - - - - Gets the list of currently defined repositories. - - - - Get an array of all the objects that have been created. - - - An array of all the known objects. - - - - Looks up the wrapper object for the logger specified. - - The logger to get the wrapper for. - The wrapper for the logger specified. - - - - Looks up the wrapper objects for the loggers specified. - - The loggers to get the wrappers for. - The wrapper objects for the loggers specified. - - - - Create the objects used by - this manager. - - The logger to wrap. - The wrapper for the logger specified. - - - - The wrapper map to use to hold the objects. - - - - - Implementation of Mapped Diagnostic Contexts. - - - - - The MDC is deprecated and has been replaced by the . - The current MDC implementation forwards to the ThreadContext.Properties. - - - - The MDC class is similar to the class except that it is - based on a map instead of a stack. It provides mapped - diagnostic contexts. A Mapped Diagnostic Context, or - MDC in short, is an instrument for distinguishing interleaved log - output from different sources. Log output is typically interleaved - when a server handles multiple clients near-simultaneously. - - - The MDC is managed on a per thread basis. - - - - Nicko Cadell - Gert Driesen - - - - Initializes a new instance of the class. - - - Uses a private access modifier to prevent instantiation of this class. - - - - - Gets the context value identified by the parameter. - - The key to lookup in the MDC. - The string value held for the key, or a null reference if no corresponding value is found. - - - - The MDC is deprecated and has been replaced by the . - The current MDC implementation forwards to the ThreadContext.Properties. - - - - If the parameter does not look up to a - previously defined context then null will be returned. - - - - - - Add an entry to the MDC - - The key to store the value under. - The value to store. - - - - The MDC is deprecated and has been replaced by the . - The current MDC implementation forwards to the ThreadContext.Properties. - - - - Puts a context value (the parameter) as identified - with the parameter into the current thread's - context map. - - - If a value is already defined for the - specified then the value will be replaced. If the - is specified as null then the key value mapping will be removed. - - - - - - Removes the key value mapping for the key specified. - - The key to remove. - - - - The MDC is deprecated and has been replaced by the . - The current MDC implementation forwards to the ThreadContext.Properties. - - - - Remove the specified entry from this thread's MDC - - - - - - Clear all entries in the MDC - - - - - The MDC is deprecated and has been replaced by the . - The current MDC implementation forwards to the ThreadContext.Properties. - - - - Remove all the entries from this thread's MDC - - - - - - Implementation of Nested Diagnostic Contexts. - - - - - The NDC is deprecated and has been replaced by the . - The current NDC implementation forwards to the ThreadContext.Stacks["NDC"]. - - - - A Nested Diagnostic Context, or NDC in short, is an instrument - to distinguish interleaved log output from different sources. Log - output is typically interleaved when a server handles multiple - clients near-simultaneously. - - - Interleaved log output can still be meaningful if each log entry - from different contexts had a distinctive stamp. This is where NDCs - come into play. - - - Note that NDCs are managed on a per thread basis. The NDC class - is made up of static methods that operate on the context of the - calling thread. - - - How to push a message into the context - - using(NDC.Push("my context message")) - { - ... all log calls will have 'my context message' included ... - - } // at the end of the using block the message is automatically removed - - - - Nicko Cadell - Gert Driesen - - - - Initializes a new instance of the class. - - - Uses a private access modifier to prevent instantiation of this class. - - - - - Clears all the contextual information held on the current thread. - - - - - The NDC is deprecated and has been replaced by the . - The current NDC implementation forwards to the ThreadContext.Stacks["NDC"]. - - - - Clears the stack of NDC data held on the current thread. - - - - - - Creates a clone of the stack of context information. - - A clone of the context info for this thread. - - - - The NDC is deprecated and has been replaced by the . - The current NDC implementation forwards to the ThreadContext.Stacks["NDC"]. - - - - The results of this method can be passed to the - method to allow child threads to inherit the context of their - parent thread. - - - - - - Inherits the contextual information from another thread. - - The context stack to inherit. - - - - The NDC is deprecated and has been replaced by the . - The current NDC implementation forwards to the ThreadContext.Stacks["NDC"]. - - - - This thread will use the context information from the stack - supplied. This can be used to initialize child threads with - the same contextual information as their parent threads. These - contexts will NOT be shared. Any further contexts that - are pushed onto the stack will not be visible to the other. - Call to obtain a stack to pass to - this method. - - - - - - Removes the top context from the stack. - - - The message in the context that was removed from the top - of the stack. - - - - - The NDC is deprecated and has been replaced by the . - The current NDC implementation forwards to the ThreadContext.Stacks["NDC"]. - - - - Remove the top context from the stack, and return - it to the caller. If the stack is empty then an - empty string (not null) is returned. - - - - - - Pushes a new context message. - - The new context message. - - An that can be used to clean up - the context stack. - - - - - The NDC is deprecated and has been replaced by the . - The current NDC implementation forwards to the ThreadContext.Stacks["NDC"]. - - - - Pushes a new context onto the context stack. An - is returned that can be used to clean up the context stack. This - can be easily combined with the using keyword to scope the - context. - - - Simple example of using the Push method with the using keyword. - - using(log4net.NDC.Push("NDC_Message")) - { - log.Warn("This should have an NDC message"); - } - - - - - - Removes the context information for this thread. It is - not required to call this method. - - - - - The NDC is deprecated and has been replaced by the . - The current NDC implementation forwards to the ThreadContext.Stacks["NDC"]. - - - - This method is not implemented. - - - - - - Forces the stack depth to be at most . - - The maximum depth of the stack - - - - The NDC is deprecated and has been replaced by the . - The current NDC implementation forwards to the ThreadContext.Stacks["NDC"]. - - - - Forces the stack depth to be at most . - This may truncate the head of the stack. This only affects the - stack in the current thread. Also it does not prevent it from - growing, it only sets the maximum depth at the time of the - call. This can be used to return to a known context depth. - - - - - - Gets the current context depth. - - The current context depth. - - - - The NDC is deprecated and has been replaced by the . - The current NDC implementation forwards to the ThreadContext.Stacks["NDC"]. - - - - The number of context values pushed onto the context stack. - - - Used to record the current depth of the context. This can then - be restored using the method. - - - - - - - The log4net Thread Context. - - - - The ThreadContext provides a location for thread specific debugging - information to be stored. - The ThreadContext properties override any - properties with the same name. - - - The thread context has a properties map and a stack. - The properties and stack can - be included in the output of log messages. The - supports selecting and outputting these properties. - - - The Thread Context provides a diagnostic context for the current thread. - This is an instrument for distinguishing interleaved log - output from different sources. Log output is typically interleaved - when a server handles multiple clients near-simultaneously. - - - The Thread Context is managed on a per thread basis. - - - Example of using the thread context properties to store a username. - - ThreadContext.Properties["user"] = userName; - log.Info("This log message has a ThreadContext Property called 'user'"); - - - Example of how to push a message into the context stack - - using(ThreadContext.Stacks["NDC"].Push("my context message")) - { - log.Info("This log message has a ThreadContext Stack message that includes 'my context message'"); - - } // at the end of the using block the message is automatically popped - - - - Nicko Cadell - - - - Private Constructor. - - - - Uses a private access modifier to prevent instantiation of this class. - - - - - - The thread context properties instance - - - - - The thread context stacks instance - - - - - The thread properties map - - - The thread properties map - - - - The ThreadContext properties override any - properties with the same name. - - - - - - The thread stacks - - - stack map - - - - The thread local stacks. - - - - - diff --git a/lib/NHibernate20/net/2.0/Castle.Core.dll b/lib/NHibernate20/net/2.0/Castle.Core.dll deleted file mode 100644 index 2464e661..00000000 Binary files a/lib/NHibernate20/net/2.0/Castle.Core.dll and /dev/null differ diff --git a/lib/NHibernate20/net/2.0/Castle.Core.xml b/lib/NHibernate20/net/2.0/Castle.Core.xml deleted file mode 100644 index 51e5d1ec..00000000 --- a/lib/NHibernate20/net/2.0/Castle.Core.xml +++ /dev/null @@ -1,3176 +0,0 @@ - - - - Castle.Core - - - - - This attribute is usefull only when you want to register all components - on an assembly as a batch process. - By doing so, the batch register will look - for this attribute to distinguish components from other classes. - - - - - Base for Attributes that want to express lifestyle - chosen by the component. - - - - - Initializes a new instance of the class. - - The type. - - - - Gets or sets the lifestyle. - - The lifestyle. - - - - Initializes a new instance of the class. - - The key. - - - - Initializes a new instance of the class. - - The key. - The service. - - - - Initializes a new instance of the class. - - The key. - The service. - The lifestyle. - - - - Gets the service. - - The service. - - - - Gets the key. - - The key. - - - - Associates a custom component with a component - - - - - Initializes a new instance of the class. - - Type of the component activator. - - - - Gets the type of the component activator. - - The type of the component activator. - - - - Specifies the proxying behavior for a component. - - - - - Initializes a new instance of the class. - - - - - Gets or sets a value indicating whether the generated - interface proxy should inherit from . - - - - - Determines if the component requires a single interface proxy. - - true if the component requires a single interface proxy. - - - - Gets or sets the additional interfaces used during proxy generation. - - - - - Marks as property to be skipped and not be wired - by the IoC container - - - - - Used to declare that a component wants interceptors acting on it. - - - - - Constructs the InterceptorAttribute pointing to - a key to a interceptor - - - - - - Constructs the InterceptorAttribute pointing to - a service - - - - - - Indicates that the target components wants a - singleton lifestyle. - - - - - Initializes a new instance of the class. - - - - - Indicates that the target components wants a - transient lifestyle. - - - - - Initializes a new instance of the class. - - - - - Indicates that the target components wants a - per thread lifestyle. - - - - - Initializes a new instance of the class. - - - - - Indicates that the target components wants a - per web request lifestyle. - - - - - Indicates that the target components wants a - pooled lifestyle. - - - - - Initializes a new instance of the class - using the default initial pool size (5) and the max pool size (15). - - - - - Initializes a new instance of the class. - - Initial size of the pool. - Max pool size. - - - - Gets the initial size of the pool. - - The initial size of the pool. - - - - Gets the maximum pool size. - - The size of the max pool. - - - - Indicates that the target components wants a - custom lifestyle. - - - - - Initializes a new instance of the class. - - The lifestyle handler. - - - - Gets the type of the lifestyle handler. - - The type of the lifestyle handler. - - - - New interface that is going to be used by DynamicProxy 2 - - - - - New interface that is going to be used by DynamicProxy 2 - - - - - Returns the concrete instantiation of , with any generic parameters bound to real types. - - The concrete instantiation of , or if not a generic method. - Can be slower than calling . - - - - Returns the concrete instantiation of , with any generic parameters bound to real types. - - The concrete instantiation of , or if not a generic method. - Can be slower than calling . - - - - - - - - - - The generic arguments of the method, or null if not a generic method. - - - - - - - - - - For interface proxies, this will point to the - on the target class - - - - - Interceptors might implement this to receive the - ComponentModel on behalf of the component where the - interceptor is acting. - - - - - Get the proxy target (note that null is a valid target!) - - - - - - Gets the interceptors for the proxy - - - - - - Abstract representation of a vertex. - - - - - The nodes that dependes on this node - - - - - The nodes that this node depends - - - - - The node has not been visited yet - - - - - This node is in the process of being visited - - - - - This now was visited - - - - - Represents a collection of objects - which are guaranted to be unique - and holds a color for them - - - - - Holds a timestamp (integer) - for a given item - - - - - Returns the node at the specified index. - - The lookup index. - The node at the specified index. - - If the specified is greater than the - number of objects within the list. - - - - - Validates the specified index. - - The lookup index. - - If the index is invalid. - - - - - Lifecycle interface. If implemented by a component, - the method Initialized will be invoked by the container - before making the component available to the external world. - - - - - Implementors should perform any initialization logic. - - - - - Only called for components that - belongs to a pool when the component - comes back to the pool. - - - - - Implementors should perform any - initialization/clean up. - - - - - Interface for components that wish to be started by the container - - - - - Starts this instance. - - - - - Stops this instance. - - - - - Provides a factory that can produce either or - classes. - - - - - Manages the instantiation of s. - - - - - Creates a new logger, getting the logger name from the specified type. - - - - - Creates a new logger. - - - - - Creates a new logger, getting the logger name from the specified type. - - - - - Creates a new logger. - - - - - Creates a new extended logger, getting the logger name from the specified type. - - - - - Creates a new extended logger. - - - - - Creates a new extended logger, getting the logger name from the specified type. - - - - - Creates a new extended logger. - - - - - Creates a new extended logger, getting the logger name from the specified type. - - - - - Creates a new extended logger. - - - - - Creates a new extended logger, getting the logger name from the specified type. - - - - - Creates a new extended logger. - - - - - Creates a new logger, getting the logger name from the specified type. - - - - - Creates a new logger. - - - - - Creates a new logger, getting the logger name from the specified type. - - - - - Creates a new logger. - - - - - Gets the configuration file. - - i.e. log4net.config - - - - - Gets the configuration file. - - i.e. log4net.config - - - - - Summary description for ConsoleFactory. - - - - - NullLogFactory used when logging is turned off. - - - - - Creates an instance of ILogger with the specified name. - - Name. - - - - - Creates an instance of ILogger with the specified name and LoggerLevel. - - Name. - Level. - - - - - Creates outputing - to files. The name of the file is derived from the log name - plus the 'log' extension. - - - - - Used to create the TraceLogger implementation of ILogger interface. See . - - - - - The Logger sending everything to the standard output streams. - This is mainly for the cases when you have a utility that - does not have a logger to supply. - - - - - The Level Filtered Logger class. This is a base clase which - provides a LogLevel attribute and reroutes all functions into - one Log method. - - - - - Manages logging. - - - This is a facade for the different logging subsystems. - It offers a simplified interface that follows IOC patterns - and a simplified priority/level/severity abstraction. - - - - - Logs a debug message. - - The message to log - - - - Logs a debug message. - - The exception to log - The message to log - - - - Logs a debug message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs a debug message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs a debug message. - - The exception to log - Format string for the message to log - Format arguments for the message to log - - - - Logs a debug message. - - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs a debug message. - - The exception to log - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs an info message. - - The message to log - - - - Logs an info message. - - The exception to log - The message to log - - - - Logs an info message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs an info message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs an info message. - - The exception to log - Format string for the message to log - Format arguments for the message to log - - - - Logs an info message. - - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs an info message. - - The exception to log - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs a warn message. - - The message to log - - - - Logs a warn message. - - The exception to log - The message to log - - - - Logs a warn message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs a warn message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs a warn message. - - The exception to log - Format string for the message to log - Format arguments for the message to log - - - - Logs a warn message. - - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs a warn message. - - The exception to log - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs an error message. - - The message to log - - - - Logs an error message. - - The exception to log - The message to log - - - - Logs an error message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs an error message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs an error message. - - The exception to log - Format string for the message to log - Format arguments for the message to log - - - - Logs an error message. - - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs an error message. - - The exception to log - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs a fatal message. - - The message to log - - - - Logs a fatal message. - - The exception to log - The message to log - - - - Logs a fatal message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs a fatal message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs a fatal message. - - The exception to log - Format string for the message to log - Format arguments for the message to log - - - - Logs a fatal message. - - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs a fatal message. - - The exception to log - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs a fatal error message. - - The Message - - - - Logs a fatal error message. - - The Message - The Exception - - - - Logs a fatal error message. - - Message format - Array of objects to write using format - - - - Create a new child logger. - The name of the child logger is [current-loggers-name].[passed-in-name] - - The Subname of this logger. - The New ILogger instance. - If the name has an empty element name. - - - - Determines if messages of priority "debug" will be logged. - - True if "debug" messages will be logged. - - - - Determines if messages of priority "info" will be logged. - - True if "info" messages will be logged. - - - - Determines if messages of priority "warn" will be logged. - - True if "warn" messages will be logged. - - - - Determines if messages of priority "error" will be logged. - - True if "error" messages will be logged. - - - - Determines if messages of priority "fatal" will be logged. - - True if "fatal" messages will be logged. - - - - Determines if messages of priority "fatalError" will be logged. - - True if "fatalError" messages will be logged. - - - - Creates a new LevelFilteredLogger. - - - - - Keep the instance alive in a remoting scenario - - - - - - Logs a debug message. - - The message to log - - - - Logs a debug message. - - The exception to log - The message to log - - - - Logs a debug message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs a debug message. - - The exception to log - Format string for the message to log - Format arguments for the message to log - - - - Logs a debug message. - - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs a debug message. - - The exception to log - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs a debug message. - - Message format - Array of objects to write using format - - - - Logs an info message. - - The message to log - - - - Logs an info message. - - The exception to log - The message to log - - - - Logs an info message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs an info message. - - The exception to log - Format string for the message to log - Format arguments for the message to log - - - - Logs an info message. - - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs an info message. - - The exception to log - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs an info message. - - Message format - Array of objects to write using format - - - - Logs a warn message. - - The message to log - - - - Logs a warn message. - - The exception to log - The message to log - - - - Logs a warn message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs a warn message. - - The exception to log - Format string for the message to log - Format arguments for the message to log - - - - Logs a warn message. - - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs a warn message. - - The exception to log - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs a warn message. - - Message format - Array of objects to write using format - - - - Logs an error message. - - The message to log - - - - Logs an error message. - - The exception to log - The message to log - - - - Logs an error message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs an error message. - - The exception to log - Format string for the message to log - Format arguments for the message to log - - - - Logs an error message. - - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs an error message. - - The exception to log - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs an error message. - - Message format - Array of objects to write using format - - - - Logs a fatal message. - - The message to log - - - - Logs a fatal message. - - The exception to log - The message to log - - - - Logs a fatal message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs a fatal message. - - The exception to log - Format string for the message to log - Format arguments for the message to log - - - - Logs a fatal message. - - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs a fatal message. - - The exception to log - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs a fatal message. - - Message format - Array of objects to write using format - - - - Logs a fatal error message. - - The Message - - - - Logs a fatal error message. - - The Message - The Exception - - - - Logs a fatal error message. - - Message format - Array of objects to write using format - - - - Implementors output the log content by implementing this method only. - Note that exception can be null - - - - - - - - - The LoggerLevel that this logger - will be using. Defaults to LoggerLevel.Off - - - - - The name that this logger will be using. - Defaults to String.Empty - - - - - Determines if messages of priority "debug" will be logged. - - true if log level flags include the bit - - - - Determines if messages of priority "info" will be logged. - - true if log level flags include the bit - - - - Determines if messages of priority "warn" will be logged. - - true if log level flags include the bit - - - - Determines if messages of priority "error" will be logged. - - true if log level flags include the bit - - - - Determines if messages of priority "fatal" will be logged. - - true if log level flags include the bit - - - - Determines if messages of priority "fatal" will be logged. - - true if log level flags include the bit - - - - Creates a new ConsoleLogger with the Level - set to LoggerLevel.Debug and the Name - set to String.Empty. - - - - - Creates a new ConsoleLogger with the Name - set to String.Empty. - - The logs Level. - - - - Creates a new ConsoleLogger with the Level - set to LoggerLevel.Debug. - - The logs Name. - - - - Creates a new ConsoleLogger. - - The logs Name. - The logs Level. - - - - A Common method to log. - - The level of logging - The name of the logger - The Message - The Exception - - - - Returns a new ConsoleLogger with the name - added after this loggers name, with a dot in between. - - The added hierarchical name. - A new ConsoleLogger. - - - - The Logger using standart Diagnostics namespace. - - - - - Creates a logger based on . - - - - - - Creates a logger based on . - - - - - - - Creates a logger based on . - - - - - - - - The Null Logger class. This is useful for implementations where you need - to provide a logger to a utility class, but do not want any output from it. - It also helps when you have a utility that does not have a logger to supply. - - - - - Provides an interface that supports and - allows the storage and retrieval of Contexts. These are supported in - both log4net and NLog. - - - - - Exposes the Global Context of the extended logger. - - - - - Exposes the Thread Context of the extended logger. - - - - - Exposes the Thread Stack of the extended logger. - - - - - Creates a new NullLogger. - - - - - No-op. - - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - - - - Returns this NullLogger. - - Ignored - This ILogger instance. - - - - No-op. - - false - - - - No-op. - - false - - - - No-op. - - false - - - - No-op. - - false - - - - No-op. - - false - - - - No-op. - - false - - - - Returns empty context properties. - - - - - Returns empty context properties. - - - - - Returns empty context stacks. - - - - - Interface for Context Properties implementations - - - - This interface defines a basic property get set accessor. - - - Based on the ContextPropertiesBase of log4net, by Nicko Cadell. - - - - - - Gets or sets the value of a property - - - The value for the property with the specified key - - - - Gets or sets the value of a property - - - - - - The Stream Logger class. This class can stream log information - to any stream, it is suitable for storing a log file to disk, - or to a MemoryStream for testing your components. - - - This logger is not thread safe. - - - - - Creates a new StreamLogger with default encoding - and buffer size. Initial Level is set to Debug. - - - The name of the log. - - - The stream that will be used for logging, - seeking while the logger is alive - - - - - Creates a new StreamLogger with default buffer size. - Initial Level is set to Debug. - - - The name of the log. - - - The stream that will be used for logging, - seeking while the logger is alive - - - The encoding that will be used for this stream. - - - - - - Creates a new StreamLogger. - Initial Level is set to Debug. - - - The name of the log. - - - The stream that will be used for logging, - seeking while the logger is alive - - - The encoding that will be used for this stream. - - - - The buffer size that will be used for this stream. - - - - - - Creates a new StreamLogger with - Debug as default Level. - - The name of the log. - The StreamWriter the log will write to. - - - - The TraceLogger sends all logging to the System.Diagnostics.TraceSource - built into the .net framework. - - - Logging can be configured in the system.diagnostics configuration - section. - - If logger doesn't find a source name with a full match it will - use source names which match the namespace partially. For example you can - configure from all castle components by adding a source name with the - name "Castle". - - If no portion of the namespace matches the source named "Default" will - be used. - - - - - Build a new trace logger based on the named TraceSource - - The name used to locate the best TraceSource. In most cases comes from the using type's fullname. - - - - Build a new trace logger based on the named TraceSource - - The name used to locate the best TraceSource. In most cases comes from the using type's fullname. - The default logging level at which this source should write messages. In almost all cases this - default value will be overridden in the config file. - - - - Create a new child logger. - The name of the child logger is [current-loggers-name].[passed-in-name] - - The Subname of this logger. - The New ILogger instance. - - - - The WebLogger sends everything to the HttpContext.Trace - - - Trace must be enabled on the Asp.Net configuration file (web.config or machine.config) - - - - - Creates a new WebLogger with the priority set to DEBUG. - - - - - Creates a new WebLogger. - - The Log level typecode. - - - - Creates a new WebLogger. - - The Log name. - - - - Creates a new WebLogger. - - The Log name. - The Log level typecode. - - - - A Common method to log. - - The level of logging - The Log name. - The Message - The Exception - - - - Just returns this logger (WebLogger is not hierarchical). - - Ignored - This ILogger instance. - - - - Tries to get the current http context's trace context. - - The current http context's trace context or null if none is - available - - - - Supporting Logger levels. - - - - - Logging will be off - - - - - Fatal logging level - - - - - Error logging level - - - - - Warn logging level - - - - - Info logging level - - - - - Debug logging level - - - - - Pendent - - - - - Deserializes the specified node into an abstract representation of configuration. - - The node. - - - - - If a config value is an empty string we return null, this is to keep - backward compability with old code - - - - - This is an abstract implementation - that deals with methods that can be abstracted away - from underlying implementations. - - - AbstractConfiguration makes easier to implementers - to create a new version of - - - - - Summary description for IConfiguration. - - - is a interface encapsulating a configuration node - used to retrieve configuration values. - - - - - Gets the value of the node and converts it - into specified . - - The - - The Default value returned if the convertion fails. - - The Value converted into the specified type. - - - - Gets the name of the node. - - - The Name of the node. - - - - - Gets the value of the node. - - - The Value of the node. - - - - - Gets an of - elements containing all node children. - - The Collection of child nodes. - - - - Gets an of the configuration attributes. - - - - - Gets the value of the node and converts it - into specified . - - The - - The Default value returned if the convertion fails. - - The Value converted into the specified type. - - - - Gets the name of the . - - - The Name of the . - - - - - Gets the value of . - - - The Value of the . - - - - - Gets all child nodes. - - The of child nodes. - - - - Gets node attributes. - - - All attributes of the node. - - - - - A collection of objects. - - - - - Creates a new instance of ConfigurationCollection. - - - - - Creates a new instance of ConfigurationCollection. - - - - - Adds an array of . - - The Array of to add. - - - - Summary description for MutableConfiguration. - - - - - Initializes a new instance of the class. - - The name. - - - - Enumeration used to mark the component's lifestyle. - - - - - No lifestyle specified. - - - - - Singleton components are instantiated once, and shared - between all clients. - - - - - Thread components have a unique instance per thread. - - - - - Transient components are created on demand. - - - - - Optimization of transient components that keeps - instance in a pool instead of always creating them. - - - - - Any other logic to create/release components. - - - - - PerWebRequest components are created once per Http Request - - - - - - - - - - Represents the collection of information and - meta information collected about a component. - - - - Name (key) of the component - - - Service exposed - - - Implementation for the service - - - Extended properties - - - Lifestyle for the component - - - Custom lifestyle, if any - - - Custom activator, if any - - - Dependencies the kernel must resolve - - - All available constructors - - - All potential properties that can be setted by the kernel - - - Steps of lifecycle - - - External parameters - - - Configuration node associated - - - Interceptors associated - - - /// Custom dependencies/// - - - - Constructs a ComponentModel - - - - - Requires the selected property dependencies. - - The property selector. - - - - Requires the property dependencies of type . - - The dependency type. - - - - Sets or returns the component key - - - - - Gets or sets the service exposed. - - The service. - - - - Gets or sets the component implementation. - - The implementation. - - - - Gets or sets a value indicating whether the component requires generic arguments. - - - true if generic arguments are required; otherwise, false. - - - - - Gets or sets the extended properties. - - The extended properties. - - - - Gets the constructors candidates. - - The constructors. - - - - Gets the properties set. - - The properties. - - - - Gets or sets the configuration. - - The configuration. - - - - Gets the lifecycle steps. - - The lifecycle steps. - - - - Gets or sets the lifestyle type. - - The type of the lifestyle. - - - - Gets or sets the strategy for - inspecting public properties - on the components - - - - - Gets or sets the custom lifestyle. - - The custom lifestyle. - - - - Gets or sets the custom component activator. - - The custom component activator. - - - - Gets the interceptors. - - The interceptors. - - - - Gets the parameter collection. - - The parameters. - - - - Dependencies are kept within constructors and - properties. Others dependencies must be - registered here, so the kernel (as a matter - of fact the handler) can check them - - - - - Gets the custom dependencies. - - The custom dependencies. - - - - Represents a constructor of the component - that the container can use to initialize it properly. - - - - - Initializes a new instance of the class. - - The constructor info. - The dependencies. - - - - Gets the ConstructorInfo (from reflection). - - The constructor. - - - - Gets the dependencies this constructor candidate exposes. - - The dependencies. - - - - Collection of - - - - - Gets the fewer arguments candidate. - - The fewer arguments candidate. - - - - Represents a dependency (other component or a - fixed value available through external configuration). - - - - - Initializes a new instance of the class. - - The type. - The dependency key. - Type of the target. - if set to true [is optional]. - - - - Returns a that represents the current . - - - A that represents the current . - - - - - Serves as a hash function for a particular type, suitable - for use in hashing algorithms and data structures like a hash table. - - - A hash code for the current . - - - - - Determines whether the specified is equal to the current . - - The to compare with the current . - - if the specified is equal to the - current ; otherwise, . - - - - - Gets or sets the type of the dependency. - - The type of the dependency. - - - - Gets or sets the dependency key. - - The dependency key. - - - - Gets the type of the target. - - The type of the target. - - - - Gets or sets whether this dependency is optional. - - - true if this dependency is optional; otherwise, false. - - - - - Collection of . - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - The dependencies. - - - - Represents an reference to a Interceptor component. - - - - - Initializes a new instance of the class. - - The component key. - - - - Initializes a new instance of the class. - - Type of the service. - - - - Gets an for the component key. - - The component key. - The - - - - Gets an for the service. - - The service. - The - - - - Gets an for the service. - - The service type. - The - - - - Gets the type of the service. - - The type of the service. - - - - Gets the interceptor component key. - - The component key. - - - - Gets the type of the reference. - - The type of the reference. - - - - Collection of - - - - - Adds the specified interceptor. - - The interceptor. - - - - Adds the the specified interceptor as the first. - - The interceptor. - - - - Adds the the specified interceptor as the last. - - The interceptor. - - - - Inserts the specified interceptor at the specified index. - - The index. - The interceptor. - - - - When implemented by a class, copies the elements of - the to an , starting at a particular index. - - The one-dimensional that is the destination of the elements copied from . The must have zero-based indexing. - The zero-based index in at which copying begins. - - is . - - is less than zero. - - - 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 . - - The type of the source cannot be cast automatically to the type of the destination . - - - - Returns an enumerator that can iterate through a collection. - - - An - that can be used to iterate through the collection. - - - - - Adds the interceptor to the end of the interceptors list if it does not exist already. - - The interceptor reference. - - - - Gets a value indicating whether this instance has interceptors. - - - true if this instance has interceptors; otherwise, false. - - - - - Gets the number of - elements contained in the . - - - - - - Gets an object that - can be used to synchronize access to the . - - - - - - Gets a value - indicating whether access to the is synchronized - (thread-safe). - - - - - - Represents a collection of ordered lifecycle steps. - - - - - Initializes a new instance of the class. - - - - - Returns all steps for the commission phase - - - - - - Returns all steps for the decommission phase - - - - - - Adds a step to the commission or decomission phases. - - - - - - - Copies the elements of - the to an , starting at a particular index. - - The one-dimensional that is the destination of the elements copied from . The must have zero-based indexing. - The zero-based index in at which copying begins. - - is . - - is less than zero. - - - 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 . - - The type of the source cannot be cast automatically to the type of the destination . - - - - Returns an enumerator that can iterate through a collection. - - - An - that can be used to iterate through the collection. - - - - - Gets a value indicating whether this instance has commission steps. - - - true if this instance has commission steps; otherwise, false. - - - - - Gets a value indicating whether this instance has decommission steps. - - - true if this instance has decommission steps; otherwise, false. - - - - - Gets the number of - elements contained in the . - - - - - - Gets an object that - can be used to synchronize access to the . - - - - - - Gets a value - indicating whether access to the is synchronized - (thread-safe). - - - - - - Represents meta information associated with a method - (not yet defined) - - - - - Initializes a new instance of the class. - - The config node. - - - - Gets the config node. - - The config node. - - - - Collection of - - - - - Gets the method info2 model. - - The method info2 model. - - - - Represents a parameter. Usually the parameter - comes from the external world, ie, an external configuration. - - - - - Initializes a new instance of the class. - - The name. - The value. - - - - Initializes a new instance of the class. - - The name. - The value. - - - - Gets the name. - - The name. - - - - Gets the value. - - The value. - - - - Gets the config value. - - The config value. - - - - Collection of - - - - - Initializes a new instance of the class. - - - - - Adds the specified name. - - The name. - The value. - - - - Adds the specified name. - - The name. - The config node. - - - - Determines whether this collection contains the specified key. - - The key. - - true if yes; otherwise, false. - - - - - Adds the specified key. - - - Not implemented - - The key. - The value. - - - - Clears this instance. - - - Not implemented - - - - - Removes the specified key. - - The key. - - Not implemented - - - - - Copy the content to the specified array - - target array - target index - - Not implemented - - - - - Returns an enumerator that can iterate through a collection. - - - An - that can be used to iterate through the collection. - - - - - Gets the keys. - - The keys. - - Not implemented - - - - - Gets the values. - - The values. - - Not implemented - - - - - Gets a value indicating whether this instance is read only. - - - true if this instance is read only; otherwise, false. - - - - - Gets a value indicating whether this instance is fixed size. - - - true if this instance is fixed size; otherwise, false. - - - - - Gets the with the specified key. - - - - - - Gets the count. - - The count. - - - - Gets the sync root. - - The sync root. - - - - Gets a value indicating whether this instance is synchronized. - - - true if this instance is synchronized; otherwise, false. - - - - - Represents a property and the respective dependency. - - - - - Initializes a new instance of the class. - - The property info. - The dependency. - - - - Gets the property. - - The property. - - - - Gets the dependency. - - The dependency. - - - - Collection of - - - - - Finds a PropertySet the by PropertyInfo. - - The info. - - - - - Represents a 'streamable' resource. Can - be a file, a resource in an assembly. - - - - - Returns a reader for the stream - - - It's up to the caller to dispose the reader. - - - - - - Returns a reader for the stream - - - It's up to the caller to dispose the reader. - - - - - - - Returns an instance of - created according to the relativePath - using itself as the root. - - - - - - - - - - Only valid for resources that - can be obtained through relative paths - - - - - - - - - - This returns a new stream instance each time it is called. - It is the responsability of the caller to dispose of this stream - - - - - - - - - - Depicts the contract for resource factories. - - - - - Used to check whether the resource factory - is able to deal with the given resource - identifier. - - - Implementors should return true - only if the given identificator is supported - by the resource factory - - - - - - - Creates an instance - for the given resource identifier - - - - - - - Creates an instance - for the given resource identifier - - - - - - - - - - - - - - - - - - Adapts a static string content as an - - - - - Enable access to files on network shares - - - - - Defines that the implementation wants a - in order to - access other components. The creator must be aware - that the component might (or might not) implement - the interface. - - - Used by Castle Project components to, for example, - gather logging factories - - - - - Increments IServiceProvider with a generic service resolution operation. - - - - - This interface should be implemented by classes - that are available in a bigger context, exposing - the container to different areas in the same application. - - For example, in Web application, the (global) HttpApplication - subclasses should implement this interface to expose - the configured container - - - - - - General purpose class to represent a standard pair of values. - - Type of the first value - Type of the second value - - - - Constructs a pair with its values - - - - - - - Pendent - - - - - Initializes a new instance of the class. - - The target. - - - - Determines whether the object contains an element with the specified key. - - The key to locate in the object. - - true if the contains an element with the key; otherwise, false. - - - is null. - - - - Adds an element with the provided key and value to the object. - - The to use as the key of the element to add. - The to use as the value of the element to add. - - is null. - An element with the same key already exists in the object. - The is read-only.-or- The has a fixed size. - - - - Removes all elements from the object. - - The object is read-only. - - - - Returns an object for the object. - - - An object for the object. - - - - - Removes the element with the specified key from the object. - - The key of the element to remove. - - is null. - The object is read-only.-or- The has a fixed size. - - - - Copies the elements of the to an , starting at a particular index. - - The one-dimensional that is the destination of the elements copied from . The must have zero-based indexing. - The zero-based index in at which copying begins. - - is null. - - is less than zero. - - 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 . - The type of the source cannot be cast automatically to the type of the destination . - - - - Returns an enumerator that iterates through a collection. - - - An object that can be used to iterate through the collection. - - - - - Gets or sets the with the specified key. - - - - - - Gets an object containing the keys of the object. - - - An object containing the keys of the object. - - - - Gets an object containing the values in the object. - - - An object containing the values in the object. - - - - Gets a value indicating whether the object is read-only. - - - true if the object is read-only; otherwise, false. - - - - Gets a value indicating whether the object has a fixed size. - - - true if the object has a fixed size; otherwise, false. - - - - Gets the number of elements contained in the . - - - The number of elements contained in the . - - - - Gets an object that can be used to synchronize access to the . - - - An object that can be used to synchronize access to the . - - - - Gets a value indicating whether access to the is synchronized (thread safe). - - - true if access to the is synchronized (thread safe); otherwise, false. - - - diff --git a/lib/NHibernate20/net/2.0/Castle.DynamicProxy.license.txt b/lib/NHibernate20/net/2.0/Castle.DynamicProxy.license.txt deleted file mode 100644 index b7530910..00000000 --- a/lib/NHibernate20/net/2.0/Castle.DynamicProxy.license.txt +++ /dev/null @@ -1,13 +0,0 @@ -Copyright 2004-2005 Castle Project - http://www.castleproject.org/ - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. diff --git a/lib/NHibernate20/net/2.0/Castle.DynamicProxy2.dll b/lib/NHibernate20/net/2.0/Castle.DynamicProxy2.dll deleted file mode 100644 index 83e192e9..00000000 Binary files a/lib/NHibernate20/net/2.0/Castle.DynamicProxy2.dll and /dev/null differ diff --git a/lib/NHibernate20/net/2.0/Castle.DynamicProxy2.xml b/lib/NHibernate20/net/2.0/Castle.DynamicProxy2.xml deleted file mode 100644 index 35567b0e..00000000 --- a/lib/NHibernate20/net/2.0/Castle.DynamicProxy2.xml +++ /dev/null @@ -1,688 +0,0 @@ - - - - Castle.DynamicProxy2 - - - - - Wraps a reference that is passed - ByRef and provides indirect load/store support. - - - - - Summary description for NewArrayExpression. - - - - - - - - - - Here we try to match a constructor argument to its value. - Since we can't get the values from the assembly, we use some heuristics to get it. - a/ we first try to match all the properties on the attributes by name (case insensitive) to the argument - b/ if we fail we try to match them by property type, with some smarts about convertions (i,e: can use Guid for string). - - - - - We have the following rules here. - Try to find a matching type, failing that, if the parameter is string, get the first property (under the assumption that - we can convert it. - - - - - Attributes can only accept simple types, so we return null for null, - if the value is passed as string we call to string (should help with converting), - otherwise, we use the value as is (enums, integer, etc). - - - - - Provides appropriate Ldc.X opcode for the type of primitive value to be loaded. - - - - - Provides appropriate Ldind.X opcode for - the type of primitive value to be loaded indirectly. - - - - - Inspect the base method for generic definitions - and set the return type and the parameters - accordingly - - - - - Emits a load opcode of the appropriate kind for a constant string or - primitive value. - - - - - - - Emits a load opcode of the appropriate kind for the constant default value of a - type, such as 0 for value types and null for reference types. - - - - - Emits a load indirect opcode of the appropriate type for a value or object reference. - Pops a pointer off the evaluation stack, dereferences it and loads - a value of the specified type. - - - - - - - Emits a store indirectopcode of the appropriate type for a value or object reference. - Pops a value of the specified type and a pointer off the evaluation stack, and - stores the value. - - - - - - - Summary description for PropertiesCollection. - - - - - Provides appropriate Stind.X opcode - for the type of primitive value to be stored indirectly. - - - - - Base class that exposes the common functionalities - to proxy generation. - - - TODO: - - Use the interceptor selector if provided - - Add tests and fixes for 'leaking this' problem - - - - - Used by dinamically implement - - - - - - Generates a parameters constructor that initializes the proxy - state with just to make it non-null. - - This constructor is important to allow proxies to be XML serializable - - - - - - If callbackMethod is null the InvokeOnTarget implementation - is just the code to throw an exception - - - - - - - - - - - - If callbackMethod is null the InvokeOnTarget implementation - is just the code to throw an exception - - - - - - - - If true the invocation will implement the IChangeProxyTarget interface - - - - - Generates the constructor for the nested class that extends - - - - - - - - - - Improvement: this cache should be static. We should generate a - type constructor instead - - - - - Performs some basic screening and invokes the - to select methods. - - - - - - - - Checks if the method is public or protected. - - - - - - - Attributes should be replicated if they are non-inheritable, - but there are some special cases where the attributes means - something to the CLR, where they should be skipped. - - - - - Checks if the method has the same signature as a method that was marked as - one that should generate a new vtable slot. - - - - - Initializes a new instance of the class. - - Type of the target. - The interfaces. - The options. - - - - - - - - - Initializes a new instance of the class. - - The emitter. - The add method. - The remove method. - The attributes. - - - - - - - - - Finds the type of the method on target. - - The method on interface. - Type of the proxy target. - /// if set to true will check implementation on mixins. - - - - - Checks whether the given types are the same. This is - more complicated than it looks. - - - - - - - - This is used by the ProxyObjectReference class durin de-serialiation, to know - which generator it should use - - - - - Returns the methods implemented by a type. Use this instead of Type.GetMethods() to work around a CLR issue - where duplicate MethodInfos are returned by Type.GetMethods() after a token of a generic type's method was loaded. - - - - - Handles the deserialization of proxies. - - - - - Resets the used for deserialization to a new scope. - - This is useful for test cases. - - - - Resets the used for deserialization to a given . - - The scope to be used for deserialization. - By default, the deserialization process uses a different scope than the rest of the application, which can lead to multiple proxies - being generated for the same type. By explicitly setting the deserialization scope to the application's scope, this can be avoided. - - - - Gets the used for deserialization. - - As has no way of automatically determining the scope used by the application (and the application - might use more than one scope at the same time), uses a dedicated scope instance for deserializing proxy - types. This instance can be reset and set to a specific value via and . - - - - Used during the target type inspection process. - Implementors have a chance to interfere in the - proxy generation process - - - - - Invoked by the generation process to know if - the specified member should be proxied - - - - - - - - Invoked by the generation process to notify that a - member wasn't marked as virtual. - - - - - - - Invoked by the generation process to notify - that the whole process is completed. - - - - - Applied to the assemblies saved by in order to persist the cache data included in the persisted assembly. - - - - - Abstracts the implementation of proxy constructions - - - - - Implementors should return a proxy for the specified type. - - The proxy base class. - The proxy generation options. - The generated proxy type. - - - - Implementors should return a proxy for the specified - type and interfaces. The interfaces must be only "mark" interfaces - - - - - - - - - Implementors should return a proxy for the specified - interface that 'proceeds' executions to the - specified target. - - - - - - - - - - Implementors should return a proxy for the specified - interface that delegate all executions to the - specified interceptor(s). - - - - - - - - - Implementors should return a proxy for the specified - interface that delegate all executions to the - specified interceptor(s) and uses an instance of the interface - as their targets, rather than a class. All IInvocation's - should then implement IChangeProxyTarget. - - - - - - - - Gets the module scope used by this builder for generating code. - - The module scope used by this builder. - - - - Determines whether this assembly has internals visisble to dynamic proxy. - - The asm. - - - - Determines whether the specified method is internal. - - The method. - - true if the specified method is internal; otherwise, false. - - - - - Because we need to cache the types based on the mixed in mixins, we do the following here: - - Get all the mixin interfaces - - Sort them by full name - - Return them by position - - The idea is to have reproducable behavior for the case that mixins are registered in different orders. - This method is here because it is required - - - - - Summary description for ModuleScope. - - - - - The default file name used when the assembly is saved using . - - - - - The default assembly (simple) name used for the assemblies generated by a instance. - - - - - Initializes a new instance of the class; assemblies created by this instance will not be saved. - - - - - Initializes a new instance of the class, allowing to specify whether the assemblies generated by this instance - should be saved. - - If set to true saves the generated module. - - - - Initializes a new instance of the class, allowing to specify whether the assemblies generated by this instance - should be saved and what simple names are to be assigned to them. - - If set to true saves the generated module. - The simple name of the strong-named assembly generated by this . - The path and file name of the manifest module of the strong-named assembly generated by this . - The simple name of the weak-named assembly generated by this . - The path and file name of the manifest module of the weak-named assembly generated by this . - - - - Returns a type from this scope's type cache, or null if the key cannot be found. - - The key to be looked up in the cache. - The type from this scope's type cache matching the key, or null if the key cannot be found - - - - Registers a type in this scope's type cache. - - The key to be associated with the type. - The type to be stored in the cache. - - - - Gets the key pair used to sign the strong-named assembly generated by this . - - - - - - Gets the specified module generated by this scope, creating a new one if none has yet been generated. - - If set to true, a strong-named module is returned; otherwise, a weak-named module is returned. - A strong-named or weak-named module generated by this scope, as specified by the parameter. - - - - Gets the strong-named module generated by this scope, creating a new one if none has yet been generated. - - A strong-named module generated by this scope. - - - - Gets the weak-named module generated by this scope, creating a new one if none has yet been generated. - - A weak-named module generated by this scope. - - - - Saves the generated assembly with the name and directory information given when this instance was created (or with - the and current directory if none was given). - - - - This method stores the generated assembly in the directory passed as part of the module information specified when this instance was - constructed (if any, else the current directory is used). If both a strong-named and a weak-named assembly - have been generated, it will throw an exception; in this case, use the overload. - - - If this was created without indicating that the assembly should be saved, this method does nothing. - - Both a strong-named and a weak-named assembly have been generated. - The path of the generated assembly file, or null if no file has been generated. - - - - Saves the specified generated assembly with the name and directory information given when this instance was created - (or with the and current directory if none was given). - - True if the generated assembly with a strong name should be saved (see ); - false if the generated assembly without a strong name should be saved (see . - - - This method stores the specified generated assembly in the directory passed as part of the module information specified when this instance was - constructed (if any, else the current directory is used). - - - If this was created without indicating that the assembly should be saved, this method does nothing. - - - No assembly has been generated that matches the parameter. - - The path of the generated assembly file, or null if no file has been generated. - - - - Loads the generated types from the given assembly into this 's cache. - - The assembly to load types from. This assembly must have been saved via or - , or it must have the manually applied. - - This method can be used to load previously generated and persisted proxy types from disk into this scope's type cache, eg. in order - to avoid the performance hit associated with proxy generation. - - - - - Users of this should use this lock when accessing the cache. - - - - - Gets the strong-named module generated by this scope, or if none has yet been generated. - - The strong-named module generated by this scope, or if none has yet been generated. - - - - Gets the file name of the strongly named module generated by this scope. - - The file name of the strongly named module generated by this scope. - - - - Gets the directory where the strongly named module generated by this scope will be saved, or if the current directory - is used. - - The directory where the strongly named module generated by this scope will be saved when is called - (if this scope was created to save modules). - - - - Gets the weak-named module generated by this scope, or if none has yet been generated. - - The weak-named module generated by this scope, or if none has yet been generated. - - - - Gets the file name of the weakly named module generated by this scope. - - The file name of the weakly named module generated by this scope. - - - - Gets the directory where the weakly named module generated by this scope will be saved, or if the current directory - is used. - - The directory where the weakly named module generated by this scope will be saved when is called - (if this scope was created to save modules). - - - - ProxyBuilder that persists the generated type. - - - The saved assembly contains just the last generated type. - - - - - Initializes a new instance of the class. - - - - - Saves the generated assembly to a physical file. Note that this renders the unusable. - - The path of the generated assembly file, or null if no assembly has been generated. - This method does not support saving multiple files. If both a signed and an unsigned module have been generated, use the - respective methods of the . - - - - Initializes a new instance of the class. - - The hook. - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - The builder. - - - - Initializes a new instance of the class. - - - - - Creates the class proxy. - - Type of the target. - The interfaces. - The interceptors. - - - - - Creates the class proxy. - - Type of the target. - The interceptors. - The constructor args. - - - - - - - - - - - - - - Creates the class proxy. - - Type of the target. - The interfaces. - The options. - The constructor args. - The interceptors. - - - - - Gets the proxy builder instance. - - The proxy builder. - - - - - - - - - - - - - - - For interface proxies, this will point to the - on the target class - - - - diff --git a/lib/NHibernate20/net/2.0/Iesi.Collections.dll b/lib/NHibernate20/net/2.0/Iesi.Collections.dll deleted file mode 100644 index 107c362c..00000000 Binary files a/lib/NHibernate20/net/2.0/Iesi.Collections.dll and /dev/null differ diff --git a/lib/NHibernate20/net/2.0/Iesi.Collections.license.txt b/lib/NHibernate20/net/2.0/Iesi.Collections.license.txt deleted file mode 100644 index 66c4a8dc..00000000 --- a/lib/NHibernate20/net/2.0/Iesi.Collections.license.txt +++ /dev/null @@ -1,9 +0,0 @@ -Copyright © 2002-2004 by Aidant Systems, Inc., and by Jason Smith. - -Copied from http://www.codeproject.com/csharp/sets.asp#xx703510xx that was posted by JasonSmith 12:13 2 Jan '04 - -Feel free to use this code any way you want to. As a favor to me, you can leave the copyright in there. You never know when someone might recognize your name! - -If you do use the code in a commercial product, I would appreciate hearing about it. This message serves as legal notice that I won't be suing you for royalties! The code is in the public domain. - -On the other hand, I don't provide support. The code is actually simple enough that it shouldn't need it. diff --git a/lib/NHibernate20/net/2.0/Iesi.Collections.xml b/lib/NHibernate20/net/2.0/Iesi.Collections.xml deleted file mode 100644 index 587094a3..00000000 --- a/lib/NHibernate20/net/2.0/Iesi.Collections.xml +++ /dev/null @@ -1,1887 +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 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/NHibernate20/net/2.0/NHibernate.dll b/lib/NHibernate20/net/2.0/NHibernate.dll deleted file mode 100644 index 392852e7..00000000 Binary files a/lib/NHibernate20/net/2.0/NHibernate.dll and /dev/null differ diff --git a/lib/NHibernate20/net/2.0/NHibernate.license.txt b/lib/NHibernate20/net/2.0/NHibernate.license.txt deleted file mode 100644 index 8a88d148..00000000 --- a/lib/NHibernate20/net/2.0/NHibernate.license.txt +++ /dev/null @@ -1,460 +0,0 @@ - GNU LESSER GENERAL PUBLIC LICENSE - Version 2.1, February 1999 - - Copyright (C) 1991, 1999 Free Software Foundation, Inc. - 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - -[This is the first released version of the Lesser GPL. It also counts - as the successor of the GNU Library Public License, version 2, hence - the version number 2.1.] - - Preamble - - The licenses for most software are designed to take away your -freedom to share and change it. By contrast, the GNU General Public -Licenses are intended to guarantee your freedom to share and change -free software--to make sure the software is free for all its users. - - This license, the Lesser General Public License, applies to some -specially designated software packages--typically libraries--of the -Free Software Foundation and other authors who decide to use it. You -can use it too, but we suggest you first think carefully about whether -this license or the ordinary General Public License is the better -strategy to use in any particular case, based on the explanations below. - - When we speak of free software, we are referring to freedom of use, -not price. Our General Public Licenses are designed to make sure that -you have the freedom to distribute copies of free software (and charge -for this service if you wish); that you receive source code or can get -it if you want it; that you can change the software and use pieces of -it in new free programs; and that you are informed that you can do -these things. - - To protect your rights, we need to make restrictions that forbid -distributors to deny you these rights or to ask you to surrender these -rights. These restrictions translate to certain responsibilities for -you if you distribute copies of the library or if you modify it. - - For example, if you distribute copies of the library, whether gratis -or for a fee, you must give the recipients all the rights that we gave -you. You must make sure that they, too, receive or can get the source -code. If you link other code with the library, you must provide -complete object files to the recipients, so that they can relink them -with the library after making changes to the library and recompiling -it. And you must show them these terms so they know their rights. - - We protect your rights with a two-step method: (1) we copyright the -library, and (2) we offer you this license, which gives you legal -permission to copy, distribute and/or modify the library. - - To protect each distributor, we want to make it very clear that -there is no warranty for the free library. Also, if the library is -modified by someone else and passed on, the recipients should know -that what they have is not the original version, so that the original -author's reputation will not be affected by problems that might be -introduced by others. - - Finally, software patents pose a constant threat to the existence of -any free program. We wish to make sure that a company cannot -effectively restrict the users of a free program by obtaining a -restrictive license from a patent holder. Therefore, we insist that -any patent license obtained for a version of the library must be -consistent with the full freedom of use specified in this license. - - Most GNU software, including some libraries, is covered by the -ordinary GNU General Public License. This license, the GNU Lesser -General Public License, applies to certain designated libraries, and -is quite different from the ordinary General Public License. We use -this license for certain libraries in order to permit linking those -libraries into non-free programs. - - When a program is linked with a library, whether statically or using -a shared library, the combination of the two is legally speaking a -combined work, a derivative of the original library. The ordinary -General Public License therefore permits such linking only if the -entire combination fits its criteria of freedom. The Lesser General -Public License permits more lax criteria for linking other code with -the library. - - We call this license the "Lesser" General Public License because it -does Less to protect the user's freedom than the ordinary General -Public License. It also provides other free software developers Less -of an advantage over competing non-free programs. These disadvantages -are the reason we use the ordinary General Public License for many -libraries. However, the Lesser license provides advantages in certain -special circumstances. - - For example, on rare occasions, there may be a special need to -encourage the widest possible use of a certain library, so that it becomes -a de-facto standard. To achieve this, non-free programs must be -allowed to use the library. A more frequent case is that a free -library does the same job as widely used non-free libraries. In this -case, there is little to gain by limiting the free library to free -software only, so we use the Lesser General Public License. - - In other cases, permission to use a particular library in non-free -programs enables a greater number of people to use a large body of -free software. For example, permission to use the GNU C Library in -non-free programs enables many more people to use the whole GNU -operating system, as well as its variant, the GNU/Linux operating -system. - - Although the Lesser General Public License is Less protective of the -users' freedom, it does ensure that the user of a program that is -linked with the Library has the freedom and the wherewithal to run -that program using a modified version of the Library. - - The precise terms and conditions for copying, distribution and -modification follow. Pay close attention to the difference between a -"work based on the library" and a "work that uses the library". The -former contains code derived from the library, whereas the latter must -be combined with the library in order to run. - - GNU LESSER GENERAL PUBLIC LICENSE - TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - - 0. This License Agreement applies to any software library or other -program which contains a notice placed by the copyright holder or -other authorized party saying it may be distributed under the terms of -this Lesser General Public License (also called "this License"). -Each licensee is addressed as "you". - - A "library" means a collection of software functions and/or data -prepared so as to be conveniently linked with application programs -(which use some of those functions and data) to form executables. - - The "Library", below, refers to any such software library or work -which has been distributed under these terms. A "work based on the -Library" means either the Library or any derivative work under -copyright law: that is to say, a work containing the Library or a -portion of it, either verbatim or with modifications and/or translated -straightforwardly into another language. (Hereinafter, translation is -included without limitation in the term "modification".) - - "Source code" for a work means the preferred form of the work for -making modifications to it. For a library, complete source code means -all the source code for all modules it contains, plus any associated -interface definition files, plus the scripts used to control compilation -and installation of the library. - - Activities other than copying, distribution and modification are not -covered by this License; they are outside its scope. The act of -running a program using the Library is not restricted, and output from -such a program is covered only if its contents constitute a work based -on the Library (independent of the use of the Library in a tool for -writing it). Whether that is true depends on what the Library does -and what the program that uses the Library does. - - 1. You may copy and distribute verbatim copies of the Library's -complete source code as you receive it, in any medium, provided that -you conspicuously and appropriately publish on each copy an -appropriate copyright notice and disclaimer of warranty; keep intact -all the notices that refer to this License and to the absence of any -warranty; and distribute a copy of this License along with the -Library. - - You may charge a fee for the physical act of transferring a copy, -and you may at your option offer warranty protection in exchange for a -fee. - - 2. You may modify your copy or copies of the Library or any portion -of it, thus forming a work based on the Library, and copy and -distribute such modifications or work under the terms of Section 1 -above, provided that you also meet all of these conditions: - - a) The modified work must itself be a software library. - - b) You must cause the files modified to carry prominent notices - stating that you changed the files and the date of any change. - - c) You must cause the whole of the work to be licensed at no - charge to all third parties under the terms of this License. - - d) If a facility in the modified Library refers to a function or a - table of data to be supplied by an application program that uses - the facility, other than as an argument passed when the facility - is invoked, then you must make a good faith effort to ensure that, - in the event an application does not supply such function or - table, the facility still operates, and performs whatever part of - its purpose remains meaningful. - - (For example, a function in a library to compute square roots has - a purpose that is entirely well-defined independent of the - application. Therefore, Subsection 2d requires that any - application-supplied function or table used by this function must - be optional: if the application does not supply it, the square - root function must still compute square roots.) - -These requirements apply to the modified work as a whole. If -identifiable sections of that work are not derived from the Library, -and can be reasonably considered independent and separate works in -themselves, then this License, and its terms, do not apply to those -sections when you distribute them as separate works. But when you -distribute the same sections as part of a whole which is a work based -on the Library, the distribution of the whole must be on the terms of -this License, whose permissions for other licensees extend to the -entire whole, and thus to each and every part regardless of who wrote -it. - -Thus, it is not the intent of this section to claim rights or contest -your rights to work written entirely by you; rather, the intent is to -exercise the right to control the distribution of derivative or -collective works based on the Library. - -In addition, mere aggregation of another work not based on the Library -with the Library (or with a work based on the Library) on a volume of -a storage or distribution medium does not bring the other work under -the scope of this License. - - 3. You may opt to apply the terms of the ordinary GNU General Public -License instead of this License to a given copy of the Library. To do -this, you must alter all the notices that refer to this License, so -that they refer to the ordinary GNU General Public License, version 2, -instead of to this License. (If a newer version than version 2 of the -ordinary GNU General Public License has appeared, then you can specify -that version instead if you wish.) Do not make any other change in -these notices. - - Once this change is made in a given copy, it is irreversible for -that copy, so the ordinary GNU General Public License applies to all -subsequent copies and derivative works made from that copy. - - This option is useful when you wish to copy part of the code of -the Library into a program that is not a library. - - 4. You may copy and distribute the Library (or a portion or -derivative of it, under Section 2) in object code or executable form -under the terms of Sections 1 and 2 above provided that you accompany -it with the complete corresponding machine-readable source code, which -must be distributed under the terms of Sections 1 and 2 above on a -medium customarily used for software interchange. - - If distribution of object code is made by offering access to copy -from a designated place, then offering equivalent access to copy the -source code from the same place satisfies the requirement to -distribute the source code, even though third parties are not -compelled to copy the source along with the object code. - - 5. A program that contains no derivative of any portion of the -Library, but is designed to work with the Library by being compiled or -linked with it, is called a "work that uses the Library". Such a -work, in isolation, is not a derivative work of the Library, and -therefore falls outside the scope of this License. - - However, linking a "work that uses the Library" with the Library -creates an executable that is a derivative of the Library (because it -contains portions of the Library), rather than a "work that uses the -library". The executable is therefore covered by this License. -Section 6 states terms for distribution of such executables. - - When a "work that uses the Library" uses material from a header file -that is part of the Library, the object code for the work may be a -derivative work of the Library even though the source code is not. -Whether this is true is especially significant if the work can be -linked without the Library, or if the work is itself a library. The -threshold for this to be true is not precisely defined by law. - - If such an object file uses only numerical parameters, data -structure layouts and accessors, and small macros and small inline -functions (ten lines or less in length), then the use of the object -file is unrestricted, regardless of whether it is legally a derivative -work. (Executables containing this object code plus portions of the -Library will still fall under Section 6.) - - Otherwise, if the work is a derivative of the Library, you may -distribute the object code for the work under the terms of Section 6. -Any executables containing that work also fall under Section 6, -whether or not they are linked directly with the Library itself. - - 6. As an exception to the Sections above, you may also combine or -link a "work that uses the Library" with the Library to produce a -work containing portions of the Library, and distribute that work -under terms of your choice, provided that the terms permit -modification of the work for the customer's own use and reverse -engineering for debugging such modifications. - - You must give prominent notice with each copy of the work that the -Library is used in it and that the Library and its use are covered by -this License. You must supply a copy of this License. If the work -during execution displays copyright notices, you must include the -copyright notice for the Library among them, as well as a reference -directing the user to the copy of this License. Also, you must do one -of these things: - - a) Accompany the work with the complete corresponding - machine-readable source code for the Library including whatever - changes were used in the work (which must be distributed under - Sections 1 and 2 above); and, if the work is an executable linked - with the Library, with the complete machine-readable "work that - uses the Library", as object code and/or source code, so that the - user can modify the Library and then relink to produce a modified - executable containing the modified Library. (It is understood - that the user who changes the contents of definitions files in the - Library will not necessarily be able to recompile the application - to use the modified definitions.) - - b) Use a suitable shared library mechanism for linking with the - Library. A suitable mechanism is one that (1) uses at run time a - copy of the library already present on the user's computer system, - rather than copying library functions into the executable, and (2) - will operate properly with a modified version of the library, if - the user installs one, as long as the modified version is - interface-compatible with the version that the work was made with. - - c) Accompany the work with a written offer, valid for at - least three years, to give the same user the materials - specified in Subsection 6a, above, for a charge no more - than the cost of performing this distribution. - - d) If distribution of the work is made by offering access to copy - from a designated place, offer equivalent access to copy the above - specified materials from the same place. - - e) Verify that the user has already received a copy of these - materials or that you have already sent this user a copy. - - For an executable, the required form of the "work that uses the -Library" must include any data and utility programs needed for -reproducing the executable from it. However, as a special exception, -the materials to be distributed need not include anything that is -normally distributed (in either source or binary form) with the major -components (compiler, kernel, and so on) of the operating system on -which the executable runs, unless that component itself accompanies -the executable. - - It may happen that this requirement contradicts the license -restrictions of other proprietary libraries that do not normally -accompany the operating system. Such a contradiction means you cannot -use both them and the Library together in an executable that you -distribute. - - 7. You may place library facilities that are a work based on the -Library side-by-side in a single library together with other library -facilities not covered by this License, and distribute such a combined -library, provided that the separate distribution of the work based on -the Library and of the other library facilities is otherwise -permitted, and provided that you do these two things: - - a) Accompany the combined library with a copy of the same work - based on the Library, uncombined with any other library - facilities. This must be distributed under the terms of the - Sections above. - - b) Give prominent notice with the combined library of the fact - that part of it is a work based on the Library, and explaining - where to find the accompanying uncombined form of the same work. - - 8. You may not copy, modify, sublicense, link with, or distribute -the Library except as expressly provided under this License. Any -attempt otherwise to copy, modify, sublicense, link with, or -distribute the Library is void, and will automatically terminate your -rights under this License. However, parties who have received copies, -or rights, from you under this License will not have their licenses -terminated so long as such parties remain in full compliance. - - 9. You are not required to accept this License, since you have not -signed it. However, nothing else grants you permission to modify or -distribute the Library or its derivative works. These actions are -prohibited by law if you do not accept this License. Therefore, by -modifying or distributing the Library (or any work based on the -Library), you indicate your acceptance of this License to do so, and -all its terms and conditions for copying, distributing or modifying -the Library or works based on it. - - 10. Each time you redistribute the Library (or any work based on the -Library), the recipient automatically receives a license from the -original licensor to copy, distribute, link with or modify the Library -subject to these terms and conditions. You may not impose any further -restrictions on the recipients' exercise of the rights granted herein. -You are not responsible for enforcing compliance by third parties with -this License. - - 11. If, as a consequence of a court judgment or allegation of patent -infringement or for any other reason (not limited to patent issues), -conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot -distribute so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you -may not distribute the Library at all. For example, if a patent -license would not permit royalty-free redistribution of the Library by -all those who receive copies directly or indirectly through you, then -the only way you could satisfy both it and this License would be to -refrain entirely from distribution of the Library. - -If any portion of this section is held invalid or unenforceable under any -particular circumstance, the balance of the section is intended to apply, -and the section as a whole is intended to apply in other circumstances. - -It is not the purpose of this section to induce you to infringe any -patents or other property right claims or to contest validity of any -such claims; this section has the sole purpose of protecting the -integrity of the free software distribution system which is -implemented by public license practices. Many people have made -generous contributions to the wide range of software distributed -through that system in reliance on consistent application of that -system; it is up to the author/donor to decide if he or she is willing -to distribute software through any other system and a licensee cannot -impose that choice. - -This section is intended to make thoroughly clear what is believed to -be a consequence of the rest of this License. - - 12. If the distribution and/or use of the Library is restricted in -certain countries either by patents or by copyrighted interfaces, the -original copyright holder who places the Library under this License may add -an explicit geographical distribution limitation excluding those countries, -so that distribution is permitted only in or among countries not thus -excluded. In such case, this License incorporates the limitation as if -written in the body of this License. - - 13. The Free Software Foundation may publish revised and/or new -versions of the Lesser General Public License from time to time. -Such new versions will be similar in spirit to the present version, -but may differ in detail to address new problems or concerns. - -Each version is given a distinguishing version number. If the Library -specifies a version number of this License which applies to it and -"any later version", you have the option of following the terms and -conditions either of that version or of any later version published by -the Free Software Foundation. If the Library does not specify a -license version number, you may choose any version ever published by -the Free Software Foundation. - - 14. If you wish to incorporate parts of the Library into other free -programs whose distribution conditions are incompatible with these, -write to the author to ask for permission. For software which is -copyrighted by the Free Software Foundation, write to the Free -Software Foundation; we sometimes make exceptions for this. Our -decision will be guided by the two goals of preserving the free status -of all derivatives of our free software and of promoting the sharing -and reuse of software generally. - - NO WARRANTY - - 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO -WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. -EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR -OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY -KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE -LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME -THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. - - 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN -WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY -AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU -FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR -CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE -LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING -RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A -FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF -SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGES. - - END OF TERMS AND CONDITIONS - diff --git a/lib/NHibernate20/net/2.0/NHibernate.xml b/lib/NHibernate20/net/2.0/NHibernate.xml deleted file mode 100644 index 47fab8a5..00000000 --- a/lib/NHibernate20/net/2.0/NHibernate.xml +++ /dev/null @@ -1,36622 +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 - - - - Do we need to retain this instance until after the transaction completes? - - - False if this class defines a no-op has after transaction completion. - - - - Called after the transaction completes - - - - What spaces (tables) are affected by 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 - - - - Do we need to retain this instance until after the transaction completes? - - - False if this class defines a no-op has after transaction completion. - - - - Called after the transaction completes - - - - 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 - - - - 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. - - - - - 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. - - - - - 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. - - - - - 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. - - - - - - An interface for factories of proxy factory instances. - - - Currently used to abstract from the tupizer even if... - - - - - Build a proxy factory specifically for handling runtime - lazy loading. - - The lazy-load proxy factory. - - - - 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. - - - - - A implementation that returns - , disabling reflection optimization. - - - - - 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 - - - - - Marker interface, denoting a client-visible "soft lock" on a cached item. - - - - - 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 - - - - - A simple -based cache - - - - - 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 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 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 . - for invalid values. - - - See for allowed values. - - - - - 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. - - - - - Convert a string to . - - The string that represent . - - The converted to . - - If the values is invalid. - - See for allowed values. - - - - - Values for class-cache and collection-cache strategy. - - - - Xml value: read-only - - - Xml value: read-write - - - Xml value: nonstrict-read-write - - - Xml value: transactional - - - - 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. - - - - - Initializes a new instance of the class. - - The session factory name. Null or empty string are allowed. - - - - 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. - - - - - 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 . - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - A base class for HBM schema classes that provides helper methods. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 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 - - - - - - - - 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 - - - - - 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 - - - - - The XML Namespace for the nhibernate-mapping - - - 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. - - - - 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. - - - - 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 - - - - - - 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. - - - - - 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 - - - - - - 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 - - - - - - - - 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 - - - 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 - 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 classes outside this resource - needed by the classes in this resource. - - An of - - - - Settings that affect the behavior of NHibernate at runtime. - - - - - 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. - The interface closely resembles bag semantics, - however NHibernate for .NET 1.1 used so - is used to ensure the easiest transition - to generics. - - The type of the element the bag should hold. - The underlying collection used is an - - - - 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. - - - - - 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. - - - - - 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 - - - - - Called before any elements are read into the collection, - allowing appropriate initializations to occur. - - The for this persistent collection. - - - - 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. - - - - - 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. - - - - - 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. - - - - - Get the snapshot value of the given collection entry - - - - - Called after initializing from cache - - - - - Clear the dirty flag, after flushing changes - to the database. - - - - - Mark the collection as dirty - - - - - 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. - - - - - Is the initialized collection empty? - - - - - Gets a indicating if the underlying collection is directly - accessable 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 the collection dirty? Note that this is only - reliable during the flush cycle, after the - collection elements are dirty checked against - the snapshot. - - - - - Called by any read-only method of the collection interface - - - - - Called by any writer method of the collection interface - - - - - Queue an addition if the persistent collection supports it - - - if the addition was queued up, if the persistent collection - doesn't support Queued Addition. - - - - - Queue additions - - - - - After reading all existing elements from the database, - add the queued elements to the underlying collection. - - The to add. - The that - is currently loading the collection. - - The default implementation is to throw an - because most collections do not support delayed addition. If the collection - does then override this method. - - - - - 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. - - - - - Not called by Hibernate, but used by non-NET serialization, eg. SOAP libraries. - - - - - 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 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 - - - - Read the state of the collection from a disassembled cached value. - - - - - - - - Iterate all collection entries, during update of the database - - - - - - 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. - - - - Get the index of the given collection entry - - - - - - - - Called before any elements are read into the collection, - allowing appropriate initializations to occur. - - - - - - Return a new snapshot of the current state - - The for this Collection. - - - - - Disassemble the collection, ready for the cache - - - - - - - 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. - - - - - 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? - - - - - - - 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 - - - - - Is the initialized collection empty? - - - - - Is the collection currently connected to an open session? - - - - - Is this collection in a state that would allow us to "queue" additions? - - - - - 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 . - - - - - - - - - - - - - - - - - - - - Initializes an instance of the - in the . - - The the bag is in. - - - - Initializes an instance of the - that wraps an existing in the . - - The the bag is in. - The to wrap. - - - - Gets a indicating if this Bag needs to be recreated - in the database. - - The for this Collection. - - 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. - - - - - 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 number of occurrences of the element in the list. - - - - - Is this the wrapper for the given underlying bag instance? - - The bag that might be wrapped. - - if the is equal to the - wrapped collection by object reference. - - - - - Is the initialized GenericBag empty? - - if the bag has a Count==0, otherwise. - - - - 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". - - - - - - 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 - - - - 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 bag is in. - The to wrap. - - - - Return a new snapshot of the current state. - - The for this Collection. - - A new that contains Deep Copies of the - Elements stored in this wrapped collection. - - - - - Get all "orphaned" elements. - - The snapshot of the collection. - The type of the entities the collection - is supposed to contain. - - An that contains all of the elements - that have been orphaned. - - - - - 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. - - - - Initializes an instance of the - in the . - - The the map is in. - - - - Initializes an instance of the - that wraps an existing in the - . - - The the bag is in. - The to wrap. - - - - .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 set is being - populated from the database. - - - This is necessary to ensure that the object being added to the set doesn't - have its and - methods called during the load process. - - - - - Returns a Hashtable where the Key & the Value are both a Copy of the - same object. - - - - - - - This constructor is NOT meant to be called from user code. - - - - - Creates a new PersistentGenericSet initialized to the values in the Map. - This constructor is NOT meant to be called from user code. - - - Only call this constructor if you consider the map initialized. - - - - - Initializes this PersistentGenericSet from the cached values. - - The CollectionPersister to use to reassemble the set. - The disassembled set. - 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 - that was populated during and writes it to the underlying - set. - - - - - - - - - - - - - - - - - - - - A persistent wrapper for an array. lazy initialization is NOT supported - - - - - The that NHibernate is wrapping. - - - - - A temporary list that holds the objects while the PersistentArrayHolder is being - populated from the database. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 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. - - - - Returns the user-visible portion of the NHibernate PersistentArrayHolder. - - - The array that contains the data, not the NHibernate wrapper. - - - - - - - - - - - - - - - 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. - - - - - 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 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 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 underlying collection used in an . - - - - - Return a new snapshot of the current state. - - The for this Collection. - - A new that contains Deep Copies of the - Elements stored in this wrapped collection. - - - - - 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 . - - - - - 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. - - - - - 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. - - - - - Returns a Hashtable where the Key & the Value are both a Copy of the - same object. - - - - - - - This constructor is NOT meant to be called from user code. - - - - - Creates a new PersistentSet initialized to the values in the Map. - This constructor is NOT meant to be called from user code. - - - Only call this constructor if you consider the map initialized. - - - - - 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. - - - - - - - - - - - - - - - - - - - - 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. - - - - - Initializes a new instance of the class. - - - - - 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 . - Works only with Web Applications. - - - - - 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 each . Works only with web applications. - - - - - 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. - - - - 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. - - - - 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 - - - - - 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 - - - - - 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? - - - - - 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. - - - - - 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. - - - - 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 - - - - - 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 " < " - - - - 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 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. - - - - - Constructor for Order. - - - - - - - Render the SQL fragment - - - - - Ascending 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 distinct property value count - - - - - - - A property maximum value - - - - - - - A property minimum value - - - - - - - A property average value - - - - - - - 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 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. - - - - - 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 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 - - - - - 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 - - - - - 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. - - - - - 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 particuar 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 retreive 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 - - 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 - - - - - 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? - - - - - How we seperate the queries when we use multiply queries. - - - - - 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 seperate 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 propogating 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 propogated 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. - - - - 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 is not zero - A new SqlString 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. - - - The InformixDialect defaults the following configuration properties: - - - Property - Default Value - - - connection.driver_class - - - - - - - - - - - - - - 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 - - - - - Whether this dialect have an Identity clause added to the data type or a - completely seperate identity data type - - - - - 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 of. - 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 with the LIMIT clause applied. - - The LIMIT SQL will look like - - - SELECT TOP last (columns) FROM ( - SELECT ROW_NUMBER() OVER(ORDER BY __hibernate_sort_expr_1__ {sort direction 1} [, __hibernate_sort_expr_2__ {sort direction 2}, ...]) as row, (query.columns) FROM ( - {original select query part}, {sort field 1} as __hibernate_sort_expr_1__ [, {sort field 2} as __hibernate_sort_expr_2__, ...] - {remainder of original query minus the order by clause} - ) query - ) page WHERE page.row > offset - - - - Note that we need to add explicitly specify the columns, because we need to be able to use them - in a paged subselect. NH-1155 - - - - - 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 - - - - 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. - - - - - 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 - - - - - - - - - - - - - - - - - - - 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. - - - - - - - - - - - - - - - - - - - - - - - - - - - - It's a immature version, it just work. - An SQL dialect for Oracle 9 - - - The Oracle9Dialect defaults the following configuration properties: - - - Property - Default Value - - - use_outer_join - - - - connection.driver_class - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - An SQL dialect for Oracle, compatible with Oracle 8. - - - - - - - - - - - - - - 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 - - - - - - - - - - - - - - Offset of the first row to process in the result set is non-zero - - - - 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. - - - - This is a subclass of SybaseDialect for sybase 11 databases (specifically tested against 11.9.2). 11.9.2 does not support ANSI JOINs - therefore we have to provide a special join fragment for left/right joins (*= and =* respectively). - - - - - An SQL dialect compatible with Sybase. - - -

- 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 SybaseDialect defaults the following configuration properties: - - - Property - Default Value - - - use_outer_join - - - - connection.driver_class - - - - prepare_sql - - - -
-
- - - - - - Sybase does not support quoted aliases, this function thus returns - aliasName as is. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - This class is basically a port of the hibernate 3.2 Sybase 11 join fragment. It uses concepts from that join fragment and the Oracle join fragment in NHibernate - - - - - Represents a SQL JOIN - - - - - An SQL dialect for Sybase Adaptive Server Anywhere 9.0/10.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 SybaseAnywhereDialect defaults the following configuration properties: - - - Property - Default Value - - - use_outer_join - - - - 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 - - - - - 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. - - - - - - 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? - - - - - 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. - - - - 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 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. - - - - - 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 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 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. - - - - - The SybaseClientDriver Driver provides a database driver for Sybase. - - - It has been reported to work with the . - - - - - Initializes a new instance of the class. - - - Thrown when the Sybase.Data.AseClient assembly can not be loaded. - - - - - Sybase.Data.AseClient uses named parameters in the sql. - - - Sybase uses @ in the sql. - - - - - - - Sybase.Data.AseClient use the @ to locate parameters in sql. - - @ is used to locate parameters in sql. - - - - 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. - - - - 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. - - - - Bind positional parameter values to the PreparedStatement - (these are parameters specified by a JDBC-style ?). - - - - - Bind named parameters to the PreparedStatement. This has an - empty implementation on this superclass and should be implemented by - subclasses (queries) which allow named parameters. - - - - 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. - - - - 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. - - - - - 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 - 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 - 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 - - - - - Defines a complete "snapshot" of a particular collection. - - - - - Gets the identifier of the Entity that owns this Collection. - - - - - Gets the role that identifies this Collection. - - - - - Gets the snapshot copy of the Collection's elements. - - - In most cases this is the same collection type as the one being snapshotted. - ie - the snapshot of an IList will return an IList. - - - - - Gets a indicating if the collection was at one time - associated with an Entity and then later dereferenced during a 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. - - - - - 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. - - - - session-start/post-flush persistent state - - - allow the snapshot to be serialized - - - - Initializes a new instance of . - - - The CollectionEntry is for a Collection that is not dirty and - has already been initialized. - - - - - Initializes a new instance of for collections just loaded from the database. - - The that persists this Collection type. - The identifier of the Entity that is the owner of this Collection. - A boolean indicating whether to ignore the collection during current (or next) flush. - - - For collections just loaded from the database - - - - Initializes a new instance of for initialized detached collections. - - The from another . - The that created this . - - This takes an from another and - creates an entry for it in this by copying the values from the - cs parameter. - - - - - 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. - - - - 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. - - - - 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 interpretet 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 - - - - Retreive 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 - - - 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 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 - - - - 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 - - - - - - Create a new databinder. - - - - - - Get the ClassMetadata associated with the given entity class - - - - - - - Get the CollectionMetadata associated with the named collection role - - - - - - - Get all ClassMetadata as a IDictionary from Type - to metadata object - - - - - - 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 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. - - - - - - 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 a new stateless session. - - - Get a new stateless session for the given ADO.NET connection. - - - - Get the used. - - - - - Get the SQL Dialect - - - - - Obtain a set of the names of all filters defined on this SessionFactory. - - The set of filter names. - - - - This collections allows external libraries - to add their own configuration to the NHibernate session factory. - This is needed in such cases where the library is tightly coupled to NHibernate, such - as the case of NHibernate Search - - - - Get the statistics for this session factory - - - - Get the persister for a class - - - - - Get the persister for the named class - - The name of the class that is persisted. - The for the class. - If no can be found. - - - - Get the persister for the named class - - The name of the class that is persisted. - Whether to throw an exception if the class is not found, - or just return - The for the class. - If no can be found - and throwIfNotFound is true. - - - - 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 - - - - Obtain an ADO.NET connection - - - - - - Release an ADO.NET connection - - - - - - Get the identifier generator for the hierarchy - - - - - Open a session conforming to the given parameters. For use mainly by - implementations. - - The external ADO.NET connection to use, if any (i.e., optional). - The release mode for managed database connections. - An appropriate session. - - - - - 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 a named second-level cache region - - - - Is outerjoin fetching enabled? - - - - - Are scrollable ResultSets supported? - - - - - Is PreparedStatement.getGeneratedKeys supported (Java-specific?) - - - - - Get the database schema specified in default_schema - - - - - Maximum depth of outer join fetching - - - - - Get the default query cache - - - - - Is query caching enabled? - - - - - Gets the IsolationLevel an IDbTransaction should be set to. - - - This is only applicable to manually controlled NHibernate Transactions. - - - - Retrieves the SQLExceptionConverter in effect for this SessionFactory. - The SQLExceptionConverter for this SessionFactory. - - - - Gets the ICurrentSessionContext instance attached to this session factory. - - - - The cache of table update timestamps - - - Statistics SPI - - - - Defines the internal contract between the Session and other parts of Hibernate - such as implementors of Type or ClassPersister - - - - - 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 - - - - - - - - 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 - - - - Get the IEntityPersister for an object - - - - - - - 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 shold 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 - - - - Retreive the currently set value for a filter parameter. - - The filter parameter name in the format - {FILTER_NAME.PARAMETER_NAME}. - The filter parameter value. - - - - Retreive the type for a given filter parrameter. - - 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 - - - - Allow to get the ISession instance without having to - down cast - - - - - 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 seperately 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 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 - - - - - 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 - - - - - Get the columns of the associated table 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. - - - - - - - - Gets or sets an that contains the named - parameter as the key and the as the value. - - An of 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 interpretet 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 - - - - Retreive 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 - - - 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. - - - - 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. - - - - - 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 preping 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 - - - - - - - - - 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 Session generated events. - - - - - 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. - - - - 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. - - - - The main runtime interface between a Java application and Hibernate. 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, - 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 - - - - 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 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 - - - - Execute a query - - A query expressed in Hibernate's query language - A distinct list of instances - See for implications of cache usage. - - - - Execute a query, binding a value to a "?" parameter in the query string. - - The query string - A value to be bound to a "?" placeholder - The Hibernate type of the value - A distinct list of instances - See for implications of cache usage. - - - - Execute a query, binding an array of values to a "?" parameters in the query string. - - The query string - An array of values to be bound to the "?" placeholders - An array of Hibernate types of the values - A distinct list of instances - See for implications of cache usage. - - - - Execute a query and return the results in an interator. - - - - If the query has multiple return values, values will be returned in an array of - type object[]. - - - Entities returned as results are initialized on demand. The first SQL query returns - identifiers only. So Enumerator() is usually a less efficient way to retrieve - object than List(). - - - The query string - An enumerator - - - - Execute a query and return the results in an interator, - binding a value to a "?" parameter in the query string. - - - - If the query has multiple return values, values will be returned in an array of - type object[]. - - - Entities returned as results are initialized on demand. The first SQL query returns - identifiers only. So Enumerator() is usually a less efficient way to retrieve - object than List(). - - - The query string - A value to be written to a "?" placeholder in the query string - The hibernate type of the value - An enumerator - - - - Execute a query and return the results in an interator, - binding the values to "?"s parameters in the query string. - - - - If the query has multiple return values, values will be returned in an array of - type object[]. - - - Entities returned as results are initialized on demand. The first SQL query returns - identifiers only. So Enumerator() is usually a less efficient way to retrieve - object than List(). - - - The query string - A list of values to be written to "?" placeholders in the query - A list of hibernate types of the values - An enumerator - - - - Apply a filter to a persistent collection. - - - A filter is a Hibernate query that may refer to this, the collection element. - Filters allow efficient access to very large lazy collections. (Executing the filter - does not initialize the collection.) - - A persistent collection to filter - A filter query string - The resulting collection - - - - Apply a filter to a persistent collection, binding the given parameter to a "?" placeholder - - - A filter is a Hibernate query that may refer to this, the collection element. - Filters allow efficient access to very large lazy collections. (Executing the filter - does not initialize the collection.) - - A persistent collection to filter - A filter query string - A value to be written to a "?" placeholder in the query - The hibernate type of value - A collection - - - - Apply a filter to a persistent collection, binding the given parameters to "?" placeholders. - - - A filter is a Hibernate query that may refer to this, the collection element. - Filters allow efficient access to very large lazy collections. (Executing the filter - does not initialize the collection.) - - A persistent collection to filter - A filter query string - The values to be written to "?" placeholders in the query - The hibernate types of the values - A collection - - - - 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 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 instance of Query for the given query string - - A hibernate query string - 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 IQuery for the given SQL string. - - a query expressed in SQL - a table alias that appears inside {} in the SQL string - the returned persistent class - An from the SQL string - - - - Create a new instance of for the given SQL string. - - a query expressed in SQL - an array of table aliases that appear inside {} in the SQL string - the returned persistent classes - An from the SQL string - - - - 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 - - - - 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 deleting an item from the datastore - - - - - - - - - Called after inserting an item in the datastore - - - - - - - - - - Called after updating the datastore - - - - - - - - - - - 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. - - Unused - - - Not allowed in Xml. It represente de 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: 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 - - - 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() - - - - 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 - - - - - Occurs before deleting an item from the datastore - - - - - Occurs before inserting an item in the datastore - - - - - Called before injecting property values into a newly loaded entity instance. - - - - - Occurs before updating the datastore - - - - - 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. - - - - - Converts the given SQLException into NHibernate's ADOException 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 NHibernate's ADOException 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 NHibernate's ADOException hierarchy. - - The to be converted. - An optional error message. - The SQL that generate the exception - The resulting ADOException. - - - - 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. - - - - Generates translators which uses the older hand-written parser to perform the translation. - - - - - Facade for generation of - and instances. - - - - - Construct a instance - capable of translating an HQL query string. - - - 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 string to be translated - Currently enabled filters - The session factory - An appropriate translator. - - - - Construct a instance capable of - translating an HQL filter string. - - - 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 string to be translated - Currently enabled filters - The session factory - An appropriate translator. - - - - 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. - - - - - 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 vesrion 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. - - - - - - - - Bind positional parameter values to the IDbCommand - (these are parameters specified by ?). - - - - - - - - - - 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 maximum last row number, - others require the maximum returned row count. - - - - - 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 - - - - 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. - - - - Bind named parameters to the IDbCommand - - The that contains the parameters. - The named parameters (key) and the values to set. - The this Loader is using. - - - - - 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. - - - - of - - - - 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 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") - - - - - An (optional) persister for a collection to be initialized; only collection loaders - return a non-null value - - - - - 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 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 - - - - - Get the result set descriptor - - - - - 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. - - - - - 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? - - - 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. - - - - - Provides utility methods for generating HQL / SQL names. - Shared by both the 'classic' and 'new' query translators. - - - - - 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. - - - - Handle Hibernate "implicit" polymorphism, by translating the query string into - several "concrete" queries against mapped classes. - - - - - - - - - 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 {@link #getSelectSQL}. - The session - The prepared {@link #getSelectSQL SQL} command - The entity being saved. - - - Get the SQL statement to be used to retrieve generated key values. - The SQL command string - - - - 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. - - - - - 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 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. - - - - - 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. - - - - 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 - - - - 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 - - - - An that requires creation of database objects - All s that also implement - An have access to a special mapping parameter: schema - - - - - 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 - - - - - A persister that may have an identity assigned by execution of a SQL INSERT. - - - - - 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 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. - - - - 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 . - - - - 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 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 - - - - - 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 particulare 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 . - - - - - 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. - - - - - The timeout for the underlying ADO query - - - - - - 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 - - - - - 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 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. The Hibernate 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 - Hibernate 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 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. - - - - Override the current session cache mode, just for this query. - The cache mode to use. - this (for method chaining) - - - - Execute the update or delete statement. - - The number of entities updated or deleted. - - - - The query string - - - - - The Hibernate types of the query result set. - - - - - 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(); - - - Hibernate's query language is much more general and should be used for non-simple cases. - - - This is an experimental API. - - - - - - Set a limit upon the number of objects to be retrieved - - - - - - Set the first result to be retrieved - - - - - - Set a timeout for the underlying ADO.NET query - - - - - - - Add an Expression to constrain the results to be retrieved. - - - - - - - An an Order to the result set - - - - - - Get the results - - - - - - Get the results and fill the - - The list to fill with the results. - - - - Strongly-typed version of . - - - - - 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 - - If there is more than one matching result - - - - - 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. - - - - - 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) - - - - Create a new , "rooted" at the associated entity - - - - - - - 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, - using the specified join type. - - A dot-seperated property path - The type of join to use - The created "sub criteria" - - - - Set a strategy for handling the query results. This determines the - "shape" of the query result set. - - - - - - - - - - Set the lock mode of the current entity - - the lock mode - - - - - Set the lock mode of the aliased entity - - an alias - the lock mode - - - - - 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 - - - - - 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. - - - - - - 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. - - - - Override the cache mode for this particular query. - The cache mode to use. - this (for method chaining) - - - - 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) - - - - 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 - - - - - - Executes the batch - - - This seems to be returning the total number of affected rows in all queries - - - - - Return the batch command to be executed - - - - - The number of commands batched in this instance - - - - - 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 - - - - - 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. - - - - - - - - - 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 - - - - - Adds the specified criteria to the query - - The criteria. - - - - - Adds the specified detached criteria. - - The detached criteria. - - - - - Sets whatevert this criteria is cacheable. - - if set to true [cachable]. - - - - Set the cache region for thie criteria - - The region - - - - - Force a cache refresh - - - - - - - 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 - - - - - Add the specified HQL query to the multi query - - - - - Add the specified HQL query to the multi query - - - - - Add a named query to the multi query - - - - - 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 - - - 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 forceable refresh of - the query cache? - - - - The timeout for the underlying ADO query - - - - - - Bind a value to a named query parameter - - The name of the parameter - The possibly null parameter value - The NHibernate . - - - - 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 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 a named parameter - using an NHibernate . - - The name of the parameter - A non-null instance of a array. - - - - 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 name of the parameter - 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 . - - A non-null instance of a . - The name of the parameter - - - - 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 name of the parameter - A non-null instance of a . - - - - 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 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 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 name of the parameter - 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 name of the parameter - 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 name of the parameter - An 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 name of the parameter - A non-null 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. - - - - - 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. - - - - - - - - - - - - - - - - - - - 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. - - - - A class that can be used as a Key in a Hashtable for - a Query Cache. - - - - - A class that can be used as a Key in a Hashtable for - a Query Cache. - - - - - 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. - - - TODO: verify that the AppDomain statements are correct. - - - - - - - - - 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. - - - - 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 - - - - - - - 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) - - - - Retrieve a list of persistent objects using a Hibernate query - - - - - - - - - - - - - - - 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 refesh 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. - 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. - - - - - 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. - - - - - - - - - - - - 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 - - - - - - - - - - A flag to indicate if Dispose() has been called. - - - - - Finalizer that ensures the object is correctly disposed of. - - - - - Just in case the user forgot to Commit() or Close() - - - - - 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 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. - - - Is the entity considered dirty? - True if the entity is dirty; otherwise false. - - - Is the entity to which we are bound completely initialized? - - - 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 - - - - 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 - - - - - 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 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 aliases of the columns constrained - by this criterion (for use in ORDER BY clause). - - - - - Get the a typed value for the given property value. - - - - - Optional, may return - - - - Substitues JDBC 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. - - @param sqlString The query string. - @return The SQL query with parameter substitution complete. - - - - 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 collumns 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 aliases for the property columns - - - - - The result set column alias for the Oracle row id - - - - - Calculate and cache select-clause suffixes. - - - - - 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 name of the column at the specified position. - - The (zero-based) position. - The column name. - - - - Gets the (zero-based) position of the column with the specified name. - - Name of the column. - The column position. - - - - Gets the Hibernate type of the specified column. - - The column position. - The Hibernate type. - - - - Abstract superclass for entity loaders that use outer joins - - - - - - - - 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 - - - - - 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 collumns 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 . - - - - - 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 Qualifier to use when accessing the table. - 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. - - - - 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 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 heirarchy 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 heirarchy 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? - - - - - 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 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. - - - - 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 - - - - - 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 - - - - - 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 property name, determine the number of the table which contains the column - to which this property is mapped. - - The name of the property. - The nunber 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. - - - - - Is this an abstract class? - - - - Is this class explicit polymorphism only? - - - - - The class that this class is mapped as a subclass of - not necessarily the direct superclass - - - - Get the names of columns used to persist the identifier - - - - 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 inheritence hierarchy described by this persister contained across - multiple tables? - - True if the inheritence 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 contraint 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. - - - - 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 - - - - - 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. - - - - 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. - - - - 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. - - - 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. - - - - A for use with the Castle Dynamic Class Generator. - - - - 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. - - - - - Initializes a new object. - - - The Class to Proxy. - The Id of the Object we are Proxying. - - - - The ISession this Proxy is in. - - - - Invoke the actual Property/Method using the Proxy or instantiate the actual - object and use it when the Proxy can't handle the method. - - The from the generated Castle.DynamicProxy. - - - - Build a proxy using the Castle.DynamicProxy library. - - The value for the Id. - The Session the proxy is in. - A fully built INHibernateProxy. - - - - 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 - - - - - Validates whether can be specified as the base class - (or an interface) for a dynamically-generated proxy. - - - A collection of errors, if any, or if none were found. - - The type to validate. - - - - 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. - - - - - - - - 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 - - - - - 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 . - - - - - Used as a placeholder when parsing HQL or SQL queries. - - - - - 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. - - - - - 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 - - - - 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 - - - - 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 - - - - Initializes a new instance of the class. - - - - - SqlTypeFactory provides Singleton access to the SqlTypes. - - - - - Describes the details of a that is stored in an XML column. - - - Does not handle advanced concepts such as associating a schema to the XML column. - - - - - 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 SessionFactory. - Beware of milliseconds metrics, they are dependent of the JVM precision: - you may then encounter a 10 ms approximation depending on your OS platform. - Please refer to the JVM documentation for more information. - - - - 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 time in milliseconds 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 - - - 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. - - - - - Get a reference to the connection we are using. - - - - - Release any resources held by this helper. - - - - - Executes a query and returns a datatable. The parameters array is used - in the following fashion ExecuteQuery("select @id", "id", 15); - - - - - 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 and the format parameter to true. - - - - - 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 and format 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. - if the ddl should be nicely formatted instead of one statement per line. - - 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. - if the ddl should be nicely formatted instead of one statement per line. - - This method allows for both the drop and create ddl script to be executed. - - - - - Format an SQL statement using simple rules - - The string containing the sql to format. - A string that contains formatted sql. - - The simple rules to used when formatting are: - - - Insert a newline after each comma - - - Indent three spaces after each inserted newline - - - - If the statement contains single/double quotes return unchanged because - it is too complex and could be broken by simple formatting. - - - - - - - - Execute the schema updates - - - - - Returns a List of all Exceptions which occured during the export. - - - - - - 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 ITransaction instances. - - - - - Configure from the given properties - - - - - - Create a new transaction and return it without starting it. - - - - - 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 - - - - - Implementors define a strategy for transforming criteria query - results into the actual application-visible query result list. - - - - - - - - - - - - - - - - - - - - - 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]; - - - - - - Each row of results is a map () from alias to values/entities - - - - - 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 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 - - - - - 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 instaniated 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 incremement 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 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Summary description for CompositeCustomType. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Maps a Property - to a column. - - - CultureInfoType stores the culture name (not the Culture ID) of the - in the DB. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - A custom type for mapping user-written classes that implement - . - - - - - - - Adapts IUserType to the generic IType interface. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 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 - - - - - - - - - - - Maps the Year, Month, and Day of a Property to a - column - - - - - - - - - - - Maps a Property - to a column. - - - - - 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? - - - - - 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 - - - - - - - - Should we cascade at this cascade point? - - - - - A foreign key from child to parent - - - - - A foreign key from parent to child - - - - - 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 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 . - - - - - 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 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 an DateTime column that only stores the - Hours, Minutes, and Seconds of the DateTime as significant. - - - - 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. - - - - - - - - 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. - - - - - 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. - - - An 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. - - - A 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. - - - 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. - - - 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. - - - 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. - - - 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. - - - 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. - - - 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. - - - A 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. - - The to use to create the - with. - - - A for the specified role. - - - - - Creates a new for an - with identifier - 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. - - The to use to create the - with. - - - A for the specified role. - - - - - Creates a new for an - with list - 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. - - The to use to create the - with. - - - 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. - - The to use as the TKey to create the - with. - - - The to use as the TValue to create the - with. - - - 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. - The type of the set elements. - A for the specified role. - - - - Creates a new for a sorted . - - 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 for the set. - The type of the elements in the set. - A for the specified role. - - - 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 orginating session - - - - Determine if any of the given field values are dirty, - returning an array containing indexes of - the dirty fields or null if no fields are dirty. - - - - - Determine if any of the given field values are modified, - returning an array containing indexes of - the dirty fields or null if no fields are modified. - - - - - - - - - - - - - - Apply the {@link Type#disassemble} operation across a series of values. - The values - The value types - An array indicating which values to include in the disassemled state - The orginating 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 orginating 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 orginating 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 orginating 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 - accross the component subtypes but do not replace the component value itself. - - - - - 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. - - - - - - - - - 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. - - - - 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. - - - - - 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 instaniated 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 - . - - - - - - - - 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. - - - - 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 seperators in the tokens. - - - This is more powerful than Split because you have the option of including or - not including the seperators in the tokens. - - - - - - - - - - - - - - - - - - - - Takes a fully qualified type name and returns the full name of the - Class - includes namespaces. - - - - - - - Takes a fully qualifed 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 - - - - - - - - - - - - - - - - - - - - - - - - - - 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 - - - - - - Contains static declarations from Criteria interface in Hibernate. - - - - - The alias that refers to the "root" entity of the criteria query. - - - - - Each row of results is an IDictionary 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 - - - - - 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 a session-scoped (and only session scoped) interceptor is attached - to a session - - - - Called when sql string is being prepared. - sql to be prepared - original or modified sql - - - 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 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 decimal type - - - - - NHibernate double type - - - - - 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 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 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 - - - - - - - - - - Overwrite existing rows when a row already exists - - - - - - - - - - When a row already exists, choose the latest version - - - - - - - - - - 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/NHibernate20/net/2.0/log4net.dll b/lib/NHibernate20/net/2.0/log4net.dll deleted file mode 100644 index ffc57e11..00000000 Binary files a/lib/NHibernate20/net/2.0/log4net.dll and /dev/null differ diff --git a/lib/NHibernate20/net/2.0/log4net.license.txt b/lib/NHibernate20/net/2.0/log4net.license.txt deleted file mode 100644 index 29f81d81..00000000 --- a/lib/NHibernate20/net/2.0/log4net.license.txt +++ /dev/null @@ -1,201 +0,0 @@ - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. diff --git a/lib/NHibernate20/net/2.0/log4net.xml b/lib/NHibernate20/net/2.0/log4net.xml deleted file mode 100644 index fab7af26..00000000 --- a/lib/NHibernate20/net/2.0/log4net.xml +++ /dev/null @@ -1,28655 +0,0 @@ - - - - log4net - - - - - Appender that logs to a database. - - - - appends logging events to a table within a - database. The appender can be configured to specify the connection - string by setting the property. - The connection type (provider) can be specified by setting the - property. For more information on database connection strings for - your specific database see http://www.connectionstrings.com/. - - - Records are written into the database either using a prepared - statement or a stored procedure. The property - is set to (System.Data.CommandType.Text) to specify a prepared statement - or to (System.Data.CommandType.StoredProcedure) to specify a stored - procedure. - - - The prepared statement text or the name of the stored procedure - must be set in the property. - - - The prepared statement or stored procedure can take a number - of parameters. Parameters are added using the - method. This adds a single to the - ordered list of parameters. The - type may be subclassed if required to provide database specific - functionality. The specifies - the parameter name, database type, size, and how the value should - be generated using a . - - - - An example of a SQL Server table that could be logged to: - - CREATE TABLE [dbo].[Log] ( - [ID] [int] IDENTITY (1, 1) NOT NULL , - [Date] [datetime] NOT NULL , - [Thread] [varchar] (255) NOT NULL , - [Level] [varchar] (20) NOT NULL , - [Logger] [varchar] (255) NOT NULL , - [Message] [varchar] (4000) NOT NULL - ) ON [PRIMARY] - - - - An example configuration to log to the above table: - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Julian Biddle - Nicko Cadell - Gert Driesen - Lance Nehring - - - - Abstract base class implementation of that - buffers events in a fixed size buffer. - - - - This base class should be used by appenders that need to buffer a - number of events before logging them. For example the - buffers events and then submits the entire contents of the buffer to - the underlying database in one go. - - - Subclasses should override the - method to deliver the buffered events. - - The BufferingAppenderSkeleton maintains a fixed size cyclic - buffer of events. The size of the buffer is set using - the property. - - A is used to inspect - each event as it arrives in the appender. If the - triggers, then the current buffer is sent immediately - (see ). Otherwise the event - is stored in the buffer. For example, an evaluator can be used to - deliver the events immediately when an ERROR event arrives. - - - The buffering appender can be configured in a mode. - By default the appender is NOT lossy. When the buffer is full all - the buffered events are sent with . - If the property is set to true then the - buffer will not be sent when it is full, and new events arriving - in the appender will overwrite the oldest event in the buffer. - In lossy mode the buffer will only be sent when the - triggers. This can be useful behavior when you need to know about - ERROR events but not about events with a lower level, configure an - evaluator that will trigger when an ERROR event arrives, the whole - buffer will be sent which gives a history of events leading up to - the ERROR event. - - - Nicko Cadell - Gert Driesen - - - - Abstract base class implementation of . - - - - This class provides the code for common functionality, such - as support for threshold filtering and support for general filters. - - - Appenders can also implement the interface. Therefore - they would require that the method - be called after the appenders properties have been configured. - - - Nicko Cadell - Gert Driesen - - - - Implement this interface for your own strategies for printing log statements. - - - - Implementors should consider extending the - class which provides a default implementation of this interface. - - - Appenders can also implement the interface. Therefore - they would require that the method - be called after the appenders properties have been configured. - - - Nicko Cadell - Gert Driesen - - - - Closes the appender and releases resources. - - - - Releases any resources allocated within the appender such as file handles, - network connections, etc. - - - It is a programming error to append to a closed appender. - - - - - - Log the logging event in Appender specific way. - - The event to log - - - This method is called to log a message into this appender. - - - - - - Gets or sets the name of this appender. - - The name of the appender. - - The name uniquely identifies the appender. - - - - - Interface for appenders that support bulk logging. - - - - This interface extends the interface to - support bulk logging of objects. Appenders - should only implement this interface if they can bulk log efficiently. - - - Nicko Cadell - - - - Log the array of logging events in Appender specific way. - - The events to log - - - This method is called to log an array of events into this appender. - - - - - - Interface used to delay activate a configured object. - - - - This allows an object to defer activation of its options until all - options have been set. This is required for components which have - related options that remain ambiguous until all are set. - - - If a component implements this interface then the method - must be called by the container after its all the configured properties have been set - and before the component can be used. - - - Nicko Cadell - - - - Activate the options that were previously set with calls to properties. - - - - This allows an object to defer activation of its options until all - options have been set. This is required for components which have - related options that remain ambiguous until all are set. - - - If a component implements this interface then this method must be called - after its properties have been set before the component can be used. - - - - - - Initial buffer size - - - - - Maximum buffer size before it is recycled - - - - - Default constructor - - - Empty default constructor - - - - - Finalizes this appender by calling the implementation's - method. - - - - If this appender has not been closed then the Finalize method - will call . - - - - - - Initialize the appender based on the options set - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - - - - Closes the appender and release resources. - - - - Release any resources allocated within the appender such as file handles, - network connections, etc. - - - It is a programming error to append to a closed appender. - - - This method cannot be overridden by subclasses. This method - delegates the closing of the appender to the - method which must be overridden in the subclass. - - - - - - Performs threshold checks and invokes filters before - delegating actual logging to the subclasses specific - method. - - The event to log. - - - This method cannot be overridden by derived classes. A - derived class should override the method - which is called by this method. - - - The implementation of this method is as follows: - - - - - - Checks that the severity of the - is greater than or equal to the of this - appender. - - - - Checks that the chain accepts the - . - - - - - Calls and checks that - it returns true. - - - - - If all of the above steps succeed then the - will be passed to the abstract method. - - - - - - Performs threshold checks and invokes filters before - delegating actual logging to the subclasses specific - method. - - The array of events to log. - - - This method cannot be overridden by derived classes. A - derived class should override the method - which is called by this method. - - - The implementation of this method is as follows: - - - - - - Checks that the severity of the - is greater than or equal to the of this - appender. - - - - Checks that the chain accepts the - . - - - - - Calls and checks that - it returns true. - - - - - If all of the above steps succeed then the - will be passed to the method. - - - - - - Test if the logging event should we output by this appender - - the event to test - true if the event should be output, false if the event should be ignored - - - This method checks the logging event against the threshold level set - on this appender and also against the filters specified on this - appender. - - - The implementation of this method is as follows: - - - - - - Checks that the severity of the - is greater than or equal to the of this - appender. - - - - Checks that the chain accepts the - . - - - - - - - - - Adds a filter to the end of the filter chain. - - the filter to add to this appender - - - The Filters are organized in a linked list. - - - Setting this property causes the new filter to be pushed onto the - back of the filter chain. - - - - - - Clears the filter list for this appender. - - - - Clears the filter list for this appender. - - - - - - Checks if the message level is below this appender's threshold. - - to test against. - - - If there is no threshold set, then the return value is always true. - - - - true if the meets the - requirements of this appender. - - - - - Is called when the appender is closed. Derived classes should override - this method if resources need to be released. - - - - Releases any resources allocated within the appender such as file handles, - network connections, etc. - - - It is a programming error to append to a closed appender. - - - - - - Subclasses of should implement this method - to perform actual logging. - - The event to append. - - - A subclass must implement this method to perform - logging of the . - - This method will be called by - if all the conditions listed for that method are met. - - - To restrict the logging of events in the appender - override the method. - - - - - - Append a bulk array of logging events. - - the array of logging events - - - This base class implementation calls the - method for each element in the bulk array. - - - A sub class that can better process a bulk array of events should - override this method in addition to . - - - - - - Called before as a precondition. - - - - This method is called by - before the call to the abstract method. - - - This method can be overridden in a subclass to extend the checks - made before the event is passed to the method. - - - A subclass should ensure that they delegate this call to - this base class if it is overridden. - - - true if the call to should proceed. - - - - Renders the to a string. - - The event to render. - The event rendered as a string. - - - Helper method to render a to - a string. This appender must have a - set to render the to - a string. - - If there is exception data in the logging event and - the layout does not process the exception, this method - will append the exception text to the rendered string. - - - Where possible use the alternative version of this method - . - That method streams the rendering onto an existing Writer - which can give better performance if the caller already has - a open and ready for writing. - - - - - - Renders the to a string. - - The event to render. - The TextWriter to write the formatted event to - - - Helper method to render a to - a string. This appender must have a - set to render the to - a string. - - If there is exception data in the logging event and - the layout does not process the exception, this method - will append the exception text to the rendered string. - - - Use this method in preference to - where possible. If, however, the caller needs to render the event - to a string then does - provide an efficient mechanism for doing so. - - - - - - The layout of this appender. - - - See for more information. - - - - - The name of this appender. - - - See for more information. - - - - - The level threshold of this appender. - - - - There is no level threshold filtering by default. - - - See for more information. - - - - - - It is assumed and enforced that errorHandler is never null. - - - - It is assumed and enforced that errorHandler is never null. - - - See for more information. - - - - - - The first filter in the filter chain. - - - - Set to null initially. - - - See for more information. - - - - - - The last filter in the filter chain. - - - See for more information. - - - - - Flag indicating if this appender is closed. - - - See for more information. - - - - - The guard prevents an appender from repeatedly calling its own DoAppend method - - - - - StringWriter used to render events - - - - - Gets or sets the threshold of this appender. - - - The threshold of the appender. - - - - All log events with lower level than the threshold level are ignored - by the appender. - - - In configuration files this option is specified by setting the - value of the option to a level - string, such as "DEBUG", "INFO" and so on. - - - - - - Gets or sets the for this appender. - - The of the appender - - - The provides a default - implementation for the property. - - - - - - The filter chain. - - The head of the filter chain filter chain. - - - Returns the head Filter. The Filters are organized in a linked list - and so all Filters on this Appender are available through the result. - - - - - - Gets or sets the for this appender. - - The layout of the appender. - - - See for more information. - - - - - - - Gets or sets the name of this appender. - - The name of the appender. - - - The name uniquely identifies the appender. - - - - - - Tests if this appender requires a to be set. - - - - In the rather exceptional case, where the appender - implementation admits a layout but can also work without it, - then the appender should return true. - - - This default implementation always returns true. - - - - true if the appender requires a layout object, otherwise false. - - - - - The default buffer size. - - - The default size of the cyclic buffer used to store events. - This is set to 512 by default. - - - - - Initializes a new instance of the class. - - - - Protected default constructor to allow subclassing. - - - - - - Initializes a new instance of the class. - - the events passed through this appender must be - fixed by the time that they arrive in the derived class' SendBuffer method. - - - Protected constructor to allow subclassing. - - - The should be set if the subclass - expects the events delivered to be fixed even if the - is set to zero, i.e. when no buffering occurs. - - - - - - Flush the currently buffered events - - - - Flushes any events that have been buffered. - - - If the appender is buffering in mode then the contents - of the buffer will NOT be flushed to the appender. - - - - - - Flush the currently buffered events - - set to true to flush the buffer of lossy events - - - Flushes events that have been buffered. If is - false then events will only be flushed if this buffer is non-lossy mode. - - - If the appender is buffering in mode then the contents - of the buffer will only be flushed if is true. - In this case the contents of the buffer will be tested against the - and if triggering will be output. All other buffered - events will be discarded. - - - If is true then the buffer will always - be emptied by calling this method. - - - - - - Initialize the appender based on the options set - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - - - - Close this appender instance. - - - - Close this appender instance. If this appender is marked - as not then the remaining events in - the buffer must be sent when the appender is closed. - - - - - - This method is called by the method. - - the event to log - - - Stores the in the cyclic buffer. - - - The buffer will be sent (i.e. passed to the - method) if one of the following conditions is met: - - - - The cyclic buffer is full and this appender is - marked as not lossy (see ) - - - An is set and - it is triggered for the - specified. - - - - Before the event is stored in the buffer it is fixed - (see ) to ensure that - any data referenced by the event will be valid when the buffer - is processed. - - - - - - Sends the contents of the buffer. - - The first logging event. - The buffer containing the events that need to be send. - - - The subclass must override . - - - - - - Sends the events. - - The events that need to be send. - - - The subclass must override this method to process the buffered events. - - - - - - The size of the cyclic buffer used to hold the logging events. - - - Set to by default. - - - - - The cyclic buffer used to store the logging events. - - - - - The triggering event evaluator that causes the buffer to be sent immediately. - - - The object that is used to determine if an event causes the entire - buffer to be sent immediately. This field can be null, which - indicates that event triggering is not to be done. The evaluator - can be set using the property. If this appender - has the ( property) set to - true then an must be set. - - - - - Indicates if the appender should overwrite events in the cyclic buffer - when it becomes full, or if the buffer should be flushed when the - buffer is full. - - - If this field is set to true then an must - be set. - - - - - The triggering event evaluator filters discarded events. - - - The object that is used to determine if an event that is discarded should - really be discarded or if it should be sent to the appenders. - This field can be null, which indicates that all discarded events will - be discarded. - - - - - Value indicating which fields in the event should be fixed - - - By default all fields are fixed - - - - - The events delivered to the subclass must be fixed. - - - - - Gets or sets a value that indicates whether the appender is lossy. - - - true if the appender is lossy, otherwise false. The default is false. - - - - This appender uses a buffer to store logging events before - delivering them. A triggering event causes the whole buffer - to be send to the remote sink. If the buffer overruns before - a triggering event then logging events could be lost. Set - to false to prevent logging events - from being lost. - - If is set to true then an - must be specified. - - - - - Gets or sets the size of the cyclic buffer used to hold the - logging events. - - - The size of the cyclic buffer used to hold the logging events. - - - - The option takes a positive integer - representing the maximum number of logging events to collect in - a cyclic buffer. When the is reached, - oldest events are deleted as new events are added to the - buffer. By default the size of the cyclic buffer is 512 events. - - - If the is set to a value less than - or equal to 1 then no buffering will occur. The logging event - will be delivered synchronously (depending on the - and properties). Otherwise the event will - be buffered. - - - - - - Gets or sets the that causes the - buffer to be sent immediately. - - - The that causes the buffer to be - sent immediately. - - - - The evaluator will be called for each event that is appended to this - appender. If the evaluator triggers then the current buffer will - immediately be sent (see ). - - If is set to true then an - must be specified. - - - - - Gets or sets the value of the to use. - - - The value of the to use. - - - - The evaluator will be called for each event that is discarded from this - appender. If the evaluator triggers then the current buffer will immediately - be sent (see ). - - - - - - Gets or sets a value indicating if only part of the logging event data - should be fixed. - - - true if the appender should only fix part of the logging event - data, otherwise false. The default is false. - - - - Setting this property to true will cause only part of the - event data to be fixed and serialized. This will improve performance. - - - See for more information. - - - - - - Gets or sets a the fields that will be fixed in the event - - - The event fields that will be fixed before the event is buffered - - - - The logging event needs to have certain thread specific values - captured before it can be buffered. See - for details. - - - - - - - Initializes a new instance of the class. - - - Public default constructor to initialize a new instance of this class. - - - - - Initialize the appender based on the options set - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - - - - Override the parent method to close the database - - - - Closes the database command and database connection. - - - - - - Inserts the events into the database. - - The events to insert into the database. - - - Insert all the events specified in the - array into the database. - - - - - - Adds a parameter to the command. - - The parameter to add to the command. - - - Adds a parameter to the ordered list of command parameters. - - - - - - Writes the events to the database using the transaction specified. - - The transaction that the events will be executed under. - The array of events to insert into the database. - - - The transaction argument can be null if the appender has been - configured not to use transactions. See - property for more information. - - - - - - Formats the log message into database statement text. - - The event being logged. - - This method can be overridden by subclasses to provide - more control over the format of the database statement. - - - Text that can be passed to a . - - - - - Connects to the database. - - - - - Retrieves the class type of the ADO.NET provider. - - - - Gets the Type of the ADO.NET provider to use to connect to the - database. This method resolves the type specified in the - property. - - - Subclasses can override this method to return a different type - if necessary. - - - The of the ADO.NET provider - - - - Prepares the database command and initialize the parameters. - - - - - Flag to indicate if we are using a command object - - - - Set to true when the appender is to use a prepared - statement or stored procedure to insert into the database. - - - - - - The list of objects. - - - - The list of objects. - - - - - - The security context to use for privileged calls - - - - - The that will be used - to insert logging events into a database. - - - - - The database command. - - - - - Database connection string. - - - - - String type name of the type name. - - - - - The text of the command. - - - - - The command type. - - - - - Indicates whether to use transactions when writing to the database. - - - - - Indicates whether to use transactions when writing to the database. - - - - - Gets or sets the database connection string that is used to connect to - the database. - - - The database connection string used to connect to the database. - - - - The connections string is specific to the connection type. - See for more information. - - - Connection string for MS Access via ODBC: - "DSN=MS Access Database;UID=admin;PWD=;SystemDB=C:\data\System.mdw;SafeTransactions = 0;FIL=MS Access;DriverID = 25;DBQ=C:\data\train33.mdb" - - Another connection string for MS Access via ODBC: - "Driver={Microsoft Access Driver (*.mdb)};DBQ=C:\Work\cvs_root\log4net-1.2\access.mdb;UID=;PWD=;" - - Connection string for MS Access via OLE DB: - "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Work\cvs_root\log4net-1.2\access.mdb;User Id=;Password=;" - - - - - Gets or sets the type name of the connection - that should be created. - - - The type name of the connection. - - - - The type name of the ADO.NET provider to use. - - - The default is to use the OLE DB provider. - - - Use the OLE DB Provider. This is the default value. - System.Data.OleDb.OleDbConnection, System.Data, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - Use the MS SQL Server Provider. - System.Data.SqlClient.SqlConnection, System.Data, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - Use the ODBC Provider. - Microsoft.Data.Odbc.OdbcConnection,Microsoft.Data.Odbc,version=1.0.3300.0,publicKeyToken=b77a5c561934e089,culture=neutral - This is an optional package that you can download from - http://msdn.microsoft.com/downloads - search for ODBC .NET Data Provider. - - Use the Oracle Provider. - System.Data.OracleClient.OracleConnection, System.Data.OracleClient, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - This is an optional package that you can download from - http://msdn.microsoft.com/downloads - search for .NET Managed Provider for Oracle. - - - - - Gets or sets the command text that is used to insert logging events - into the database. - - - The command text used to insert logging events into the database. - - - - Either the text of the prepared statement or the - name of the stored procedure to execute to write into - the database. - - - The property determines if - this text is a prepared statement or a stored procedure. - - - - - - Gets or sets the command type to execute. - - - The command type to execute. - - - - This value may be either (System.Data.CommandType.Text) to specify - that the is a prepared statement to execute, - or (System.Data.CommandType.StoredProcedure) to specify that the - property is the name of a stored procedure - to execute. - - - The default value is (System.Data.CommandType.Text). - - - - - - Should transactions be used to insert logging events in the database. - - - true if transactions should be used to insert logging events in - the database, otherwise false. The default value is true. - - - - Gets or sets a value that indicates whether transactions should be used - to insert logging events in the database. - - - When set a single transaction will be used to insert the buffered events - into the database. Otherwise each event will be inserted without using - an explicit transaction. - - - - - - Gets or sets the used to call the NetSend method. - - - The used to call the NetSend method. - - - - Unless a specified here for this appender - the is queried for the - security context to use. The default behavior is to use the security context - of the current thread. - - - - - - Should this appender try to reconnect to the database on error. - - - true if the appender should try to reconnect to the database after an - error has occurred, otherwise false. The default value is false, - i.e. not to try to reconnect. - - - - The default behaviour is for the appender not to try to reconnect to the - database if an error occurs. Subsequent logging events are discarded. - - - To force the appender to attempt to reconnect to the database set this - property to true. - - - When the appender attempts to connect to the database there may be a - delay of up to the connection timeout specified in the connection string. - This delay will block the calling application's thread. - Until the connection can be reestablished this potential delay may occur multiple times. - - - - - - Gets or sets the underlying . - - - The underlying . - - - creates a to insert - logging events into a database. Classes deriving from - can use this property to get or set this . Use the - underlying returned from if - you require access beyond that which provides. - - - - - Parameter type used by the . - - - - This class provides the basic database parameter properties - as defined by the interface. - - This type can be subclassed to provide database specific - functionality. The two methods that are called externally are - and . - - - - - - Initializes a new instance of the class. - - - Default constructor for the AdoNetAppenderParameter class. - - - - - Prepare the specified database command object. - - The command to prepare. - - - Prepares the database command object by adding - this parameter to its collection of parameters. - - - - - - Renders the logging event and set the parameter value in the command. - - The command containing the parameter. - The event to be rendered. - - - Renders the logging event using this parameters layout - object. Sets the value of the parameter on the command object. - - - - - - The name of this parameter. - - - - - The database type for this parameter. - - - - - Flag to infer type rather than use the DbType - - - - - The precision for this parameter. - - - - - The scale for this parameter. - - - - - The size for this parameter. - - - - - The to use to render the - logging event into an object for this parameter. - - - - - Gets or sets the name of this parameter. - - - The name of this parameter. - - - - The name of this parameter. The parameter name - must match up to a named parameter to the SQL stored procedure - or prepared statement. - - - - - - Gets or sets the database type for this parameter. - - - The database type for this parameter. - - - - The database type for this parameter. This property should - be set to the database type from the - enumeration. See . - - - This property is optional. If not specified the ADO.NET provider - will attempt to infer the type from the value. - - - - - - - Gets or sets the precision for this parameter. - - - The precision for this parameter. - - - - The maximum number of digits used to represent the Value. - - - This property is optional. If not specified the ADO.NET provider - will attempt to infer the precision from the value. - - - - - - - Gets or sets the scale for this parameter. - - - The scale for this parameter. - - - - The number of decimal places to which Value is resolved. - - - This property is optional. If not specified the ADO.NET provider - will attempt to infer the scale from the value. - - - - - - - Gets or sets the size for this parameter. - - - The size for this parameter. - - - - The maximum size, in bytes, of the data within the column. - - - This property is optional. If not specified the ADO.NET provider - will attempt to infer the size from the value. - - - - - - - Gets or sets the to use to - render the logging event into an object for this - parameter. - - - The used to render the - logging event into an object for this parameter. - - - - The that renders the value for this - parameter. - - - The can be used to adapt - any into a - for use in the property. - - - - - - Appends logging events to the terminal using ANSI color escape sequences. - - - - AnsiColorTerminalAppender appends log events to the standard output stream - or the error output stream using a layout specified by the - user. It also allows the color of a specific level of message to be set. - - - This appender expects the terminal to understand the VT100 control set - in order to interpret the color codes. If the terminal or console does not - understand the control codes the behavior is not defined. - - - By default, all output is written to the console's standard output stream. - The property can be set to direct the output to the - error stream. - - - NOTE: This appender writes each message to the System.Console.Out or - System.Console.Error that is set at the time the event is appended. - Therefore it is possible to programmatically redirect the output of this appender - (for example NUnit does this to capture program output). While this is the desired - behavior of this appender it may have security implications in your application. - - - When configuring the ANSI colored terminal appender, a mapping should be - specified to map a logging level to a color. For example: - - - - - - - - - - - - - - - The Level is the standard log4net logging level and ForeColor and BackColor can be any - of the following values: - - Blue - Green - Red - White - Yellow - Purple - Cyan - - These color values cannot be combined together to make new colors. - - - The attributes can be any combination of the following: - - Brightforeground is brighter - Dimforeground is dimmer - Underscoremessage is underlined - Blinkforeground is blinking (does not work on all terminals) - Reverseforeground and background are reversed - Hiddenoutput is hidden - Strikethroughmessage has a line through it - - While any of these attributes may be combined together not all combinations - work well together, for example setting both Bright and Dim attributes makes - no sense. - - - Patrick Wagstrom - Nicko Cadell - - - - The to use when writing to the Console - standard output stream. - - - - The to use when writing to the Console - standard output stream. - - - - - - The to use when writing to the Console - standard error output stream. - - - - The to use when writing to the Console - standard error output stream. - - - - - - Ansi code to reset terminal - - - - - Initializes a new instance of the class. - - - The instance of the class is set up to write - to the standard output stream. - - - - - Add a mapping of level to color - - The mapping to add - - - Add a mapping to this appender. - Each mapping defines the foreground and background colours - for a level. - - - - - - This method is called by the method. - - The event to log. - - - Writes the event to the console. - - - The format of the output will depend on the appender's layout. - - - - - - Initialize the options for this appender - - - - Initialize the level to color mappings set on this appender. - - - - - - Flag to write output to the error stream rather than the standard output stream - - - - - Mapping from level object to color value - - - - - Target is the value of the console output stream. - - - Target is the value of the console output stream. - This is either "Console.Out" or "Console.Error". - - - - Target is the value of the console output stream. - This is either "Console.Out" or "Console.Error". - - - - - - This appender requires a to be set. - - true - - - This appender requires a to be set. - - - - - - The enum of possible display attributes - - - - The following flags can be combined together to - form the ANSI color attributes. - - - - - - - text is bright - - - - - text is dim - - - - - text is underlined - - - - - text is blinking - - - Not all terminals support this attribute - - - - - text and background colors are reversed - - - - - text is hidden - - - - - text is displayed with a strikethrough - - - - - The enum of possible foreground or background color values for - use with the color mapping method - - - - The output can be in one for the following ANSI colors. - - - - - - - color is black - - - - - color is red - - - - - color is green - - - - - color is yellow - - - - - color is blue - - - - - color is magenta - - - - - color is cyan - - - - - color is white - - - - - A class to act as a mapping between the level that a logging call is made at and - the color it should be displayed as. - - - - Defines the mapping between a level and the color it should be displayed in. - - - - - - An entry in the - - - - This is an abstract base class for types that are stored in the - object. - - - Nicko Cadell - - - - Default protected constructor - - - - Default protected constructor - - - - - - Initialize any options defined on this entry - - - - Should be overridden by any classes that need to initialise based on their options - - - - - - The level that is the key for this mapping - - - The that is the key for this mapping - - - - Get or set the that is the key for this - mapping subclass. - - - - - - Initialize the options for the object - - - - Combine the and together - and append the attributes. - - - - - - The mapped foreground color for the specified level - - - - Required property. - The mapped foreground color for the specified level - - - - - - The mapped background color for the specified level - - - - Required property. - The mapped background color for the specified level - - - - - - The color attributes for the specified level - - - - Required property. - The color attributes for the specified level - - - - - - The combined , and - suitable for setting the ansi terminal color. - - - - - A strongly-typed collection of objects. - - Nicko Cadell - - - - Creates a read-only wrapper for a AppenderCollection instance. - - list to create a readonly wrapper arround - - An AppenderCollection wrapper that is read-only. - - - - - An empty readonly static AppenderCollection - - - - - Initializes a new instance of the AppenderCollection class - that is empty and has the default initial capacity. - - - - - Initializes a new instance of the AppenderCollection class - that has the specified initial capacity. - - - The number of elements that the new AppenderCollection is initially capable of storing. - - - - - Initializes a new instance of the AppenderCollection class - that contains elements copied from the specified AppenderCollection. - - The AppenderCollection whose elements are copied to the new collection. - - - - Initializes a new instance of the AppenderCollection class - that contains elements copied from the specified array. - - The array whose elements are copied to the new list. - - - - Initializes a new instance of the AppenderCollection class - that contains elements copied from the specified collection. - - The collection whose elements are copied to the new list. - - - - Allow subclasses to avoid our default constructors - - - - - - - Copies the entire AppenderCollection to a one-dimensional - array. - - The one-dimensional array to copy to. - - - - Copies the entire AppenderCollection to a one-dimensional - array, starting at the specified index of the target array. - - The one-dimensional array to copy to. - The zero-based index in at which copying begins. - - - - Adds a to the end of the AppenderCollection. - - The to be added to the end of the AppenderCollection. - The index at which the value has been added. - - - - Removes all elements from the AppenderCollection. - - - - - Creates a shallow copy of the . - - A new with a shallow copy of the collection data. - - - - Determines whether a given is in the AppenderCollection. - - The to check for. - true if is found in the AppenderCollection; otherwise, false. - - - - Returns the zero-based index of the first occurrence of a - in the AppenderCollection. - - The to locate in the AppenderCollection. - - The zero-based index of the first occurrence of - in the entire AppenderCollection, if found; otherwise, -1. - - - - - Inserts an element into the AppenderCollection at the specified index. - - The zero-based index at which should be inserted. - The to insert. - - is less than zero - -or- - is equal to or greater than . - - - - - Removes the first occurrence of a specific from the AppenderCollection. - - The to remove from the AppenderCollection. - - The specified was not found in the AppenderCollection. - - - - - Removes the element at the specified index of the AppenderCollection. - - The zero-based index of the element to remove. - - is less than zero - -or- - is equal to or greater than . - - - - - Returns an enumerator that can iterate through the AppenderCollection. - - An for the entire AppenderCollection. - - - - Adds the elements of another AppenderCollection to the current AppenderCollection. - - The AppenderCollection whose elements should be added to the end of the current AppenderCollection. - The new of the AppenderCollection. - - - - Adds the elements of a array to the current AppenderCollection. - - The array whose elements should be added to the end of the AppenderCollection. - The new of the AppenderCollection. - - - - Adds the elements of a collection to the current AppenderCollection. - - The collection whose elements should be added to the end of the AppenderCollection. - The new of the AppenderCollection. - - - - Sets the capacity to the actual number of elements. - - - - - Return the collection elements as an array - - the array - - - - is less than zero - -or- - is equal to or greater than . - - - - - is less than zero - -or- - is equal to or greater than . - - - - - Gets the number of elements actually contained in the AppenderCollection. - - - - - Gets a value indicating whether access to the collection is synchronized (thread-safe). - - true if access to the ICollection is synchronized (thread-safe); otherwise, false. - - - - Gets an object that can be used to synchronize access to the collection. - - - - - Gets or sets the at the specified index. - - The zero-based index of the element to get or set. - - is less than zero - -or- - is equal to or greater than . - - - - - Gets a value indicating whether the collection has a fixed size. - - true if the collection has a fixed size; otherwise, false. The default is false - - - - Gets a value indicating whether the IList is read-only. - - true if the collection is read-only; otherwise, false. The default is false - - - - Gets or sets the number of elements the AppenderCollection can contain. - - - - - Supports type-safe iteration over a . - - - - - - Advances the enumerator to the next element in the collection. - - - true if the enumerator was successfully advanced to the next element; - false if the enumerator has passed the end of the collection. - - - The collection was modified after the enumerator was created. - - - - - Sets the enumerator to its initial position, before the first element in the collection. - - - - - Gets the current element in the collection. - - - - - Type visible only to our subclasses - Used to access protected constructor - - - - - - A value - - - - - Supports simple iteration over a . - - - - - - Initializes a new instance of the Enumerator class. - - - - - - Advances the enumerator to the next element in the collection. - - - true if the enumerator was successfully advanced to the next element; - false if the enumerator has passed the end of the collection. - - - The collection was modified after the enumerator was created. - - - - - Sets the enumerator to its initial position, before the first element in the collection. - - - - - Gets the current element in the collection. - - - - - - - - - Appends log events to the ASP.NET system. - - - - - Diagnostic information and tracing messages that you specify are appended to the output - of the page that is sent to the requesting browser. Optionally, you can view this information - from a separate trace viewer (Trace.axd) that displays trace information for every page in a - given application. - - - Trace statements are processed and displayed only when tracing is enabled. You can control - whether tracing is displayed to a page, to the trace viewer, or both. - - - The logging event is passed to the or - method depending on the level of the logging event. - - - Nicko Cadell - Gert Driesen - - - - Initializes a new instance of the class. - - - - Default constructor. - - - - - - Write the logging event to the ASP.NET trace - - the event to log - - - Write the logging event to the ASP.NET trace - HttpContext.Current.Trace - (). - - - - - - This appender requires a to be set. - - true - - - This appender requires a to be set. - - - - - - Buffers events and then forwards them to attached appenders. - - - - The events are buffered in this appender until conditions are - met to allow the appender to deliver the events to the attached - appenders. See for the - conditions that cause the buffer to be sent. - - The forwarding appender can be used to specify different - thresholds and filters for the same appender at different locations - within the hierarchy. - - - Nicko Cadell - Gert Driesen - - - - Interface for attaching appenders to objects. - - - - Interface for attaching, removing and retrieving appenders. - - - Nicko Cadell - Gert Driesen - - - - Attaches an appender. - - The appender to add. - - - Add the specified appender. The implementation may - choose to allow or deny duplicate appenders. - - - - - - Gets an attached appender with the specified name. - - The name of the appender to get. - - The appender with the name specified, or null if no appender with the - specified name is found. - - - - Returns an attached appender with the specified. - If no appender with the specified name is found null will be - returned. - - - - - - Removes all attached appenders. - - - - Removes and closes all attached appenders - - - - - - Removes the specified appender from the list of attached appenders. - - The appender to remove. - The appender removed from the list - - - The appender removed is not closed. - If you are discarding the appender you must call - on the appender removed. - - - - - - Removes the appender with the specified name from the list of appenders. - - The name of the appender to remove. - The appender removed from the list - - - The appender removed is not closed. - If you are discarding the appender you must call - on the appender removed. - - - - - - Gets all attached appenders. - - - A collection of attached appenders. - - - - Gets a collection of attached appenders. - If there are no attached appenders the - implementation should return an empty - collection rather than null. - - - - - - Initializes a new instance of the class. - - - - Default constructor. - - - - - - Closes the appender and releases resources. - - - - Releases any resources allocated within the appender such as file handles, - network connections, etc. - - - It is a programming error to append to a closed appender. - - - - - - Send the events. - - The events that need to be send. - - - Forwards the events to the attached appenders. - - - - - - Adds an to the list of appenders of this - instance. - - The to add to this appender. - - - If the specified is already in the list of - appenders, then it won't be added again. - - - - - - Looks for the appender with the specified name. - - The name of the appender to lookup. - - The appender with the specified name, or null. - - - - Get the named appender attached to this buffering appender. - - - - - - Removes all previously added appenders from this appender. - - - - This is useful when re-reading configuration information. - - - - - - Removes the specified appender from the list of appenders. - - The appender to remove. - The appender removed from the list - - The appender removed is not closed. - If you are discarding the appender you must call - on the appender removed. - - - - - Removes the appender with the specified name from the list of appenders. - - The name of the appender to remove. - The appender removed from the list - - The appender removed is not closed. - If you are discarding the appender you must call - on the appender removed. - - - - - Implementation of the interface - - - - - Gets the appenders contained in this appender as an - . - - - If no appenders can be found, then an - is returned. - - - A collection of the appenders in this appender. - - - - - Appends logging events to the console. - - - - ColoredConsoleAppender appends log events to the standard output stream - or the error output stream using a layout specified by the - user. It also allows the color of a specific type of message to be set. - - - By default, all output is written to the console's standard output stream. - The property can be set to direct the output to the - error stream. - - - NOTE: This appender writes directly to the application's attached console - not to the System.Console.Out or System.Console.Error TextWriter. - The System.Console.Out and System.Console.Error streams can be - programmatically redirected (for example NUnit does this to capture program output). - This appender will ignore these redirections because it needs to use Win32 - API calls to colorize the output. To respect these redirections the - must be used. - - - When configuring the colored console appender, mapping should be - specified to map a logging level to a color. For example: - - - - - - - - - - - - - - The Level is the standard log4net logging level and ForeColor and BackColor can be any - combination of the following values: - - Blue - Green - Red - White - Yellow - Purple - Cyan - HighIntensity - - - - Rick Hobbs - Nicko Cadell - - - - The to use when writing to the Console - standard output stream. - - - - The to use when writing to the Console - standard output stream. - - - - - - The to use when writing to the Console - standard error output stream. - - - - The to use when writing to the Console - standard error output stream. - - - - - - Initializes a new instance of the class. - - - The instance of the class is set up to write - to the standard output stream. - - - - - Initializes a new instance of the class - with the specified layout. - - the layout to use for this appender - - The instance of the class is set up to write - to the standard output stream. - - - - - Initializes a new instance of the class - with the specified layout. - - the layout to use for this appender - flag set to true to write to the console error stream - - When is set to true, output is written to - the standard error output stream. Otherwise, output is written to the standard - output stream. - - - - - Add a mapping of level to color - done by the config file - - The mapping to add - - - Add a mapping to this appender. - Each mapping defines the foreground and background colors - for a level. - - - - - - This method is called by the method. - - The event to log. - - - Writes the event to the console. - - - The format of the output will depend on the appender's layout. - - - - - - Initialize the options for this appender - - - - Initialize the level to color mappings set on this appender. - - - - - - Flag to write output to the error stream rather than the standard output stream - - - - - Mapping from level object to color value - - - - - The console output stream writer to write to - - - - This writer is not thread safe. - - - - - - Target is the value of the console output stream. - This is either "Console.Out" or "Console.Error". - - - Target is the value of the console output stream. - This is either "Console.Out" or "Console.Error". - - - - Target is the value of the console output stream. - This is either "Console.Out" or "Console.Error". - - - - - - This appender requires a to be set. - - true - - - This appender requires a to be set. - - - - - - The enum of possible color values for use with the color mapping method - - - - The following flags can be combined together to - form the colors. - - - - - - - color is blue - - - - - color is green - - - - - color is red - - - - - color is white - - - - - color is yellow - - - - - color is purple - - - - - color is cyan - - - - - color is intensified - - - - - A class to act as a mapping between the level that a logging call is made at and - the color it should be displayed as. - - - - Defines the mapping between a level and the color it should be displayed in. - - - - - - Initialize the options for the object - - - - Combine the and together. - - - - - - The mapped foreground color for the specified level - - - - Required property. - The mapped foreground color for the specified level. - - - - - - The mapped background color for the specified level - - - - Required property. - The mapped background color for the specified level. - - - - - - The combined and suitable for - setting the console color. - - - - - Appends logging events to the console. - - - - ConsoleAppender appends log events to the standard output stream - or the error output stream using a layout specified by the - user. - - - By default, all output is written to the console's standard output stream. - The property can be set to direct the output to the - error stream. - - - NOTE: This appender writes each message to the System.Console.Out or - System.Console.Error that is set at the time the event is appended. - Therefore it is possible to programmatically redirect the output of this appender - (for example NUnit does this to capture program output). While this is the desired - behavior of this appender it may have security implications in your application. - - - Nicko Cadell - Gert Driesen - - - - The to use when writing to the Console - standard output stream. - - - - The to use when writing to the Console - standard output stream. - - - - - - The to use when writing to the Console - standard error output stream. - - - - The to use when writing to the Console - standard error output stream. - - - - - - Initializes a new instance of the class. - - - The instance of the class is set up to write - to the standard output stream. - - - - - Initializes a new instance of the class - with the specified layout. - - the layout to use for this appender - - The instance of the class is set up to write - to the standard output stream. - - - - - Initializes a new instance of the class - with the specified layout. - - the layout to use for this appender - flag set to true to write to the console error stream - - When is set to true, output is written to - the standard error output stream. Otherwise, output is written to the standard - output stream. - - - - - This method is called by the method. - - The event to log. - - - Writes the event to the console. - - - The format of the output will depend on the appender's layout. - - - - - - Target is the value of the console output stream. - This is either "Console.Out" or "Console.Error". - - - Target is the value of the console output stream. - This is either "Console.Out" or "Console.Error". - - - - Target is the value of the console output stream. - This is either "Console.Out" or "Console.Error". - - - - - - This appender requires a to be set. - - true - - - This appender requires a to be set. - - - - - - Appends log events to the system. - - - - The application configuration file can be used to control what listeners - are actually used. See the MSDN documentation for the - class for details on configuring the - debug system. - - - Events are written using the - method. The event's logger name is passed as the value for the category name to the Write method. - - - Nicko Cadell - - - - Initializes a new instance of the . - - - - Default constructor. - - - - - - Initializes a new instance of the - with a specified layout. - - The layout to use with this appender. - - - Obsolete constructor. - - - - - - Writes the logging event to the system. - - The event to log. - - - Writes the logging event to the system. - If is true then the - is called. - - - - - - Immediate flush means that the underlying writer or output stream - will be flushed at the end of each append operation. - - - - Immediate flush is slower but ensures that each append request is - actually written. If is set to - false, then there is a good chance that the last few - logs events are not actually written to persistent media if and - when the application crashes. - - - The default value is true. - - - - - Gets or sets a value that indicates whether the appender will - flush at the end of each write. - - - The default behavior is to flush at the end of each - write. If the option is set tofalse, then the underlying - stream can defer writing to physical medium to a later time. - - - Avoiding the flush operation at the end of each append results - in a performance gain of 10 to 20 percent. However, there is safety - trade-off involved in skipping flushing. Indeed, when flushing is - skipped, then it is likely that the last few log events will not - be recorded on disk when the application exits. This is a high - price to pay even for a 20% performance gain. - - - - - - This appender requires a to be set. - - true - - - This appender requires a to be set. - - - - - - Writes events to the system event log. - - - - The EventID of the event log entry can be - set using the EventLogEventID property () - on the . - - - There is a limit of 32K characters for an event log message - - - When configuring the EventLogAppender a mapping can be - specified to map a logging level to an event log entry type. For example: - - - <mapping> - <level value="ERROR" /> - <eventLogEntryType value="Error" /> - </mapping> - <mapping> - <level value="DEBUG" /> - <eventLogEntryType value="Information" /> - </mapping> - - - The Level is the standard log4net logging level and eventLogEntryType can be any value - from the enum, i.e.: - - Erroran error event - Warninga warning event - Informationan informational event - - - - Aspi Havewala - Douglas de la Torre - Nicko Cadell - Gert Driesen - Thomas Voss - - - - Initializes a new instance of the class. - - - - Default constructor. - - - - - - Initializes a new instance of the class - with the specified . - - The to use with this appender. - - - Obsolete constructor. - - - - - - Add a mapping of level to - done by the config file - - The mapping to add - - - Add a mapping to this appender. - Each mapping defines the event log entry type for a level. - - - - - - Initialize the appender based on the options set - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - - - - Create an event log source - - - Uses different API calls under NET_2_0 - - - - - This method is called by the - method. - - the event to log - - Writes the event to the system event log using the - . - - If the event has an EventID property (see ) - set then this integer will be used as the event log event id. - - - There is a limit of 32K characters for an event log message - - - - - - Get the equivalent for a - - the Level to convert to an EventLogEntryType - The equivalent for a - - Because there are fewer applicable - values to use in logging levels than there are in the - this is a one way mapping. There is - a loss of information during the conversion. - - - - - The log name is the section in the event logs where the messages - are stored. - - - - - Name of the application to use when logging. This appears in the - application column of the event log named by . - - - - - The name of the machine which holds the event log. This is - currently only allowed to be '.' i.e. the current machine. - - - - - Mapping from level object to EventLogEntryType - - - - - The security context to use for privileged calls - - - - - The name of the log where messages will be stored. - - - The string name of the log where messages will be stored. - - - This is the name of the log as it appears in the Event Viewer - tree. The default value is to log into the Application - log, this is where most applications write their events. However - if you need a separate log for your application (or applications) - then you should set the appropriately. - This should not be used to distinguish your event log messages - from those of other applications, the - property should be used to distinguish events. This property should be - used to group together events into a single log. - - - - - - Property used to set the Application name. This appears in the - event logs when logging. - - - The string used to distinguish events from different sources. - - - Sets the event log source property. - - - - - This property is used to return the name of the computer to use - when accessing the event logs. Currently, this is the current - computer, denoted by a dot "." - - - The string name of the machine holding the event log that - will be logged into. - - - This property cannot be changed. It is currently set to '.' - i.e. the local machine. This may be changed in future. - - - - - Gets or sets the used to write to the EventLog. - - - The used to write to the EventLog. - - - - The system security context used to write to the EventLog. - - - Unless a specified here for this appender - the is queried for the - security context to use. The default behavior is to use the security context - of the current thread. - - - - - - This appender requires a to be set. - - true - - - This appender requires a to be set. - - - - - - A class to act as a mapping between the level that a logging call is made at and - the color it should be displayed as. - - - - Defines the mapping between a level and its event log entry type. - - - - - - The for this entry - - - - Required property. - The for this entry - - - - - - Appends logging events to a file. - - - - Logging events are sent to the file specified by - the property. - - - The file can be opened in either append or overwrite mode - by specifying the property. - If the file path is relative it is taken as relative from - the application base directory. The file encoding can be - specified by setting the property. - - - The layout's and - values will be written each time the file is opened and closed - respectively. If the property is - then the file may contain multiple copies of the header and footer. - - - This appender will first try to open the file for writing when - is called. This will typically be during configuration. - If the file cannot be opened for writing the appender will attempt - to open the file again each time a message is logged to the appender. - If the file cannot be opened for writing when a message is logged then - the message will be discarded by this appender. - - - The supports pluggable file locking models via - the property. - The default behavior, implemented by - is to obtain an exclusive write lock on the file until this appender is closed. - The alternative model, , only holds a - write lock while the appender is writing a logging event. - - - Nicko Cadell - Gert Driesen - Rodrigo B. de Oliveira - Douglas de la Torre - Niall Daley - - - - Sends logging events to a . - - - - An Appender that writes to a . - - - This appender may be used stand alone if initialized with an appropriate - writer, however it is typically used as a base class for an appender that - can open a to write to. - - - Nicko Cadell - Gert Driesen - Douglas de la Torre - - - - Initializes a new instance of the class. - - - - Default constructor. - - - - - - Initializes a new instance of the class and - sets the output destination to a new initialized - with the specified . - - The layout to use with this appender. - The to output to. - - - Obsolete constructor. - - - - - - Initializes a new instance of the class and sets - the output destination to the specified . - - The layout to use with this appender - The to output to - - The must have been previously opened. - - - - Obsolete constructor. - - - - - - This method determines if there is a sense in attempting to append. - - - - This method checked if an output target has been set and if a - layout has been set. - - - false if any of the preconditions fail. - - - - This method is called by the - method. - - The event to log. - - - Writes a log statement to the output stream if the output stream exists - and is writable. - - - The format of the output will depend on the appender's layout. - - - - - - This method is called by the - method. - - The array of events to log. - - - This method writes all the bulk logged events to the output writer - before flushing the stream. - - - - - - Close this appender instance. The underlying stream or writer is also closed. - - - Closed appenders cannot be reused. - - - - - Writes the footer and closes the underlying . - - - - Writes the footer and closes the underlying . - - - - - - Closes the underlying . - - - - Closes the underlying . - - - - - - Clears internal references to the underlying - and other variables. - - - - Subclasses can override this method for an alternate closing behavior. - - - - - - Writes a footer as produced by the embedded layout's property. - - - - Writes a footer as produced by the embedded layout's property. - - - - - - Writes a header produced by the embedded layout's property. - - - - Writes a header produced by the embedded layout's property. - - - - - - Called to allow a subclass to lazily initialize the writer - - - - This method is called when an event is logged and the or - have not been set. This allows a subclass to - attempt to initialize the writer multiple times. - - - - - - This is the where logging events - will be written to. - - - - - Immediate flush means that the underlying - or output stream will be flushed at the end of each append operation. - - - - Immediate flush is slower but ensures that each append request is - actually written. If is set to - false, then there is a good chance that the last few - logging events are not actually persisted if and when the application - crashes. - - - The default value is true. - - - - - - Gets or set whether the appender will flush at the end - of each append operation. - - - - The default behavior is to flush at the end of each - append operation. - - - If this option is set to false, then the underlying - stream can defer persisting the logging event to a later - time. - - - - Avoiding the flush operation at the end of each append results in - a performance gain of 10 to 20 percent. However, there is safety - trade-off involved in skipping flushing. Indeed, when flushing is - skipped, then it is likely that the last few log events will not - be recorded on disk when the application exits. This is a high - price to pay even for a 20% performance gain. - - - - - Sets the where the log output will go. - - - - The specified must be open and writable. - - - The will be closed when the appender - instance is closed. - - - Note: Logging to an unopened will fail. - - - - - - Gets or set the and the underlying - , if any, for this appender. - - - The for this appender. - - - - - This appender requires a to be set. - - true - - - This appender requires a to be set. - - - - - - Gets or sets the where logging events - will be written to. - - - The where logging events are written. - - - - This is the where logging events - will be written to. - - - - - - Default constructor - - - - Default constructor - - - - - - Construct a new appender using the layout, file and append mode. - - the layout to use with this appender - the full path to the file to write to - flag to indicate if the file should be appended to - - - Obsolete constructor. - - - - - - Construct a new appender using the layout and file specified. - The file will be appended to. - - the layout to use with this appender - the full path to the file to write to - - - Obsolete constructor. - - - - - - Activate the options on the file appender. - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - This will cause the file to be opened. - - - - - - Closes any previously opened file and calls the parent's . - - - - Resets the filename and the file stream. - - - - - - Called to initialize the file writer - - - - Will be called for each logged message until the file is - successfully opened. - - - - - - This method is called by the - method. - - The event to log. - - - Writes a log statement to the output stream if the output stream exists - and is writable. - - - The format of the output will depend on the appender's layout. - - - - - - This method is called by the - method. - - The array of events to log. - - - Acquires the output file locks once before writing all the events to - the stream. - - - - - - Writes a footer as produced by the embedded layout's property. - - - - Writes a footer as produced by the embedded layout's property. - - - - - - Writes a header produced by the embedded layout's property. - - - - Writes a header produced by the embedded layout's property. - - - - - - Closes the underlying . - - - - Closes the underlying . - - - - - - Closes the previously opened file. - - - - Writes the to the file and then - closes the file. - - - - - - Sets and opens the file where the log output will go. The specified file must be writable. - - The path to the log file. Must be a fully qualified path. - If true will append to fileName. Otherwise will truncate fileName - - - Calls but guarantees not to throw an exception. - Errors are passed to the . - - - - - - Sets and opens the file where the log output will go. The specified file must be writable. - - The path to the log file. Must be a fully qualified path. - If true will append to fileName. Otherwise will truncate fileName - - - If there was already an opened file, then the previous file - is closed first. - - - This method will ensure that the directory structure - for the specified exists. - - - - - - Sets the quiet writer used for file output - - the file stream that has been opened for writing - - - This implementation of creates a - over the and passes it to the - method. - - - This method can be overridden by sub classes that want to wrap the - in some way, for example to encrypt the output - data using a System.Security.Cryptography.CryptoStream. - - - - - - Sets the quiet writer being used. - - the writer over the file stream that has been opened for writing - - - This method can be overridden by sub classes that want to - wrap the in some way. - - - - - - Convert a path into a fully qualified path. - - The path to convert. - The fully qualified path. - - - Converts the path specified to a fully - qualified path. If the path is relative it is - taken as relative from the application base - directory. - - - - - - Flag to indicate if we should append to the file - or overwrite the file. The default is to append. - - - - - The name of the log file. - - - - - The encoding to use for the file stream. - - - - - The security context to use for privileged calls - - - - - The stream to log to. Has added locking semantics - - - - - The locking model to use - - - - - Gets or sets the path to the file that logging will be written to. - - - The path to the file that logging will be written to. - - - - If the path is relative it is taken as relative from - the application base directory. - - - - - - Gets or sets a flag that indicates whether the file should be - appended to or overwritten. - - - Indicates whether the file should be appended to or overwritten. - - - - If the value is set to false then the file will be overwritten, if - it is set to true then the file will be appended to. - - The default value is true. - - - - - Gets or sets used to write to the file. - - - The used to write to the file. - - - - The default encoding set is - which is the encoding for the system's current ANSI code page. - - - - - - Gets or sets the used to write to the file. - - - The used to write to the file. - - - - Unless a specified here for this appender - the is queried for the - security context to use. The default behavior is to use the security context - of the current thread. - - - - - - Gets or sets the used to handle locking of the file. - - - The used to lock the file. - - - - Gets or sets the used to handle locking of the file. - - - There are two built in locking models, and . - The former locks the file from the start of logging to the end and the - later lock only for the minimal amount of time when logging each message. - - - The default locking model is the . - - - - - - Write only that uses the - to manage access to an underlying resource. - - - - - True asynchronous writes are not supported, the implementation forces a synchronous write. - - - - - Exception base type for log4net. - - - - This type extends . It - does not add any new functionality but does differentiate the - type of exception being thrown. - - - Nicko Cadell - Gert Driesen - - - - Constructor - - - - Initializes a new instance of the class. - - - - - - Constructor - - A message to include with the exception. - - - Initializes a new instance of the class with - the specified message. - - - - - - Constructor - - A message to include with the exception. - A nested exception to include. - - - Initializes a new instance of the class - with the specified message and inner exception. - - - - - - Serialization constructor - - The that holds the serialized object data about the exception being thrown. - The that contains contextual information about the source or destination. - - - Initializes a new instance of the class - with serialized data. - - - - - - Locking model base class - - - - Base class for the locking models available to the derived loggers. - - - - - - Open the output file - - The filename to use - Whether to append to the file, or overwrite - The encoding to use - - - Open the file specified and prepare for logging. - No writes will be made until is called. - Must be called before any calls to , - and . - - - - - - Close the file - - - - Close the file. No further writes will be made. - - - - - - Acquire the lock on the file - - A stream that is ready to be written to. - - - Acquire the lock on the file in preparation for writing to it. - Return a stream pointing to the file. - must be called to release the lock on the output file. - - - - - - Release the lock on the file - - - - Release the lock on the file. No further writes will be made to the - stream until is called again. - - - - - - Gets or sets the for this LockingModel - - - The for this LockingModel - - - - The file appender this locking model is attached to and working on - behalf of. - - - The file appender is used to locate the security context and the error handler to use. - - - The value of this property will be set before is - called. - - - - - - Hold an exclusive lock on the output file - - - - Open the file once for writing and hold it open until is called. - Maintains an exclusive lock on the file during this time. - - - - - - Open the file specified and prepare for logging. - - The filename to use - Whether to append to the file, or overwrite - The encoding to use - - - Open the file specified and prepare for logging. - No writes will be made until is called. - Must be called before any calls to , - and . - - - - - - Close the file - - - - Close the file. No further writes will be made. - - - - - - Acquire the lock on the file - - A stream that is ready to be written to. - - - Does nothing. The lock is already taken - - - - - - Release the lock on the file - - - - Does nothing. The lock will be released when the file is closed. - - - - - - Acquires the file lock for each write - - - - Opens the file once for each / cycle, - thus holding the lock for the minimal amount of time. This method of locking - is considerably slower than but allows - other processes to move/delete the log file whilst logging continues. - - - - - - Prepares to open the file when the first message is logged. - - The filename to use - Whether to append to the file, or overwrite - The encoding to use - - - Open the file specified and prepare for logging. - No writes will be made until is called. - Must be called before any calls to , - and . - - - - - - Close the file - - - - Close the file. No further writes will be made. - - - - - - Acquire the lock on the file - - A stream that is ready to be written to. - - - Acquire the lock on the file in preparation for writing to it. - Return a stream pointing to the file. - must be called to release the lock on the output file. - - - - - - Release the lock on the file - - - - Release the lock on the file. No further writes will be made to the - stream until is called again. - - - - - - This appender forwards logging events to attached appenders. - - - - The forwarding appender can be used to specify different thresholds - and filters for the same appender at different locations within the hierarchy. - - - Nicko Cadell - Gert Driesen - - - - Initializes a new instance of the class. - - - - Default constructor. - - - - - - Closes the appender and releases resources. - - - - Releases any resources allocated within the appender such as file handles, - network connections, etc. - - - It is a programming error to append to a closed appender. - - - - - - Forward the logging event to the attached appenders - - The event to log. - - - Delivers the logging event to all the attached appenders. - - - - - - Forward the logging events to the attached appenders - - The array of events to log. - - - Delivers the logging events to all the attached appenders. - - - - - - Adds an to the list of appenders of this - instance. - - The to add to this appender. - - - If the specified is already in the list of - appenders, then it won't be added again. - - - - - - Looks for the appender with the specified name. - - The name of the appender to lookup. - - The appender with the specified name, or null. - - - - Get the named appender attached to this appender. - - - - - - Removes all previously added appenders from this appender. - - - - This is useful when re-reading configuration information. - - - - - - Removes the specified appender from the list of appenders. - - The appender to remove. - The appender removed from the list - - The appender removed is not closed. - If you are discarding the appender you must call - on the appender removed. - - - - - Removes the appender with the specified name from the list of appenders. - - The name of the appender to remove. - The appender removed from the list - - The appender removed is not closed. - If you are discarding the appender you must call - on the appender removed. - - - - - Implementation of the interface - - - - - Gets the appenders contained in this appender as an - . - - - If no appenders can be found, then an - is returned. - - - A collection of the appenders in this appender. - - - - - Logs events to a local syslog service. - - - - This appender uses the POSIX libc library functions openlog, syslog, and closelog. - If these functions are not available on the local system then this appender will not work! - - - The functions openlog, syslog, and closelog are specified in SUSv2 and - POSIX 1003.1-2001 standards. These are used to log messages to the local syslog service. - - - This appender talks to a local syslog service. If you need to log to a remote syslog - daemon and you cannot configure your local syslog service to do this you may be - able to use the to log via UDP. - - - Syslog messages must have a facility and and a severity. The severity - is derived from the Level of the logging event. - The facility must be chosen from the set of defined syslog - values. The facilities list is predefined - and cannot be extended. - - - An identifier is specified with each log message. This can be specified - by setting the property. The identity (also know - as the tag) must not contain white space. The default value for the - identity is the application name (from ). - - - Rob Lyon - Nicko Cadell - - - - Initializes a new instance of the class. - - - This instance of the class is set up to write - to a local syslog service. - - - - - Add a mapping of level to severity - - The mapping to add - - - Adds a to this appender. - - - - - - Initialize the appender based on the options set. - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - - - - This method is called by the method. - - The event to log. - - - Writes the event to a remote syslog daemon. - - - The format of the output will depend on the appender's layout. - - - - - - Close the syslog when the appender is closed - - - - Close the syslog when the appender is closed - - - - - - Translates a log4net level to a syslog severity. - - A log4net level. - A syslog severity. - - - Translates a log4net level to a syslog severity. - - - - - - Generate a syslog priority. - - The syslog facility. - The syslog severity. - A syslog priority. - - - - The facility. The default facility is . - - - - - The message identity - - - - - Marshaled handle to the identity string. We have to hold on to the - string as the openlog and syslog APIs just hold the - pointer to the ident and dereference it for each log message. - - - - - Mapping from level object to syslog severity - - - - - Open connection to system logger. - - - - - Generate a log message. - - - - The libc syslog method takes a format string and a variable argument list similar - to the classic printf function. As this type of vararg list is not supported - by C# we need to specify the arguments explicitly. Here we have specified the - format string with a single message argument. The caller must set the format - string to "%s". - - - - - - Close descriptor used to write to system logger. - - - - - Message identity - - - - An identifier is specified with each log message. This can be specified - by setting the property. The identity (also know - as the tag) must not contain white space. The default value for the - identity is the application name (from ). - - - - - - Syslog facility - - - Set to one of the values. The list of - facilities is predefined and cannot be extended. The default value - is . - - - - - This appender requires a to be set. - - true - - - This appender requires a to be set. - - - - - - syslog severities - - - - The log4net Level maps to a syslog severity using the - method and the - class. The severity is set on . - - - - - - system is unusable - - - - - action must be taken immediately - - - - - critical conditions - - - - - error conditions - - - - - warning conditions - - - - - normal but significant condition - - - - - informational - - - - - debug-level messages - - - - - syslog facilities - - - - The syslog facility defines which subsystem the logging comes from. - This is set on the property. - - - - - - kernel messages - - - - - random user-level messages - - - - - mail system - - - - - system daemons - - - - - security/authorization messages - - - - - messages generated internally by syslogd - - - - - line printer subsystem - - - - - network news subsystem - - - - - UUCP subsystem - - - - - clock (cron/at) daemon - - - - - security/authorization messages (private) - - - - - ftp daemon - - - - - NTP subsystem - - - - - log audit - - - - - log alert - - - - - clock daemon - - - - - reserved for local use - - - - - reserved for local use - - - - - reserved for local use - - - - - reserved for local use - - - - - reserved for local use - - - - - reserved for local use - - - - - reserved for local use - - - - - reserved for local use - - - - - A class to act as a mapping between the level that a logging call is made at and - the syslog severity that is should be logged at. - - - - A class to act as a mapping between the level that a logging call is made at and - the syslog severity that is should be logged at. - - - - - - The mapped syslog severity for the specified level - - - - Required property. - The mapped syslog severity for the specified level - - - - - - Stores logging events in an array. - - - - The memory appender stores all the logging events - that are appended in an in-memory array. - - - Use the method to get - the current list of events that have been appended. - - - Use the method to clear the - current list of events. - - - Julian Biddle - Nicko Cadell - Gert Driesen - - - - Initializes a new instance of the class. - - - - Default constructor. - - - - - - Gets the events that have been logged. - - The events that have been logged - - - Gets the events that have been logged. - - - - - - This method is called by the method. - - the event to log - - Stores the in the events list. - - - - - Clear the list of events - - - Clear the list of events - - - - - The list of events that have been appended. - - - - - Value indicating which fields in the event should be fixed - - - By default all fields are fixed - - - - - Gets or sets a value indicating whether only part of the logging event - data should be fixed. - - - true if the appender should only fix part of the logging event - data, otherwise false. The default is false. - - - - Setting this property to true will cause only part of the event - data to be fixed and stored in the appender, hereby improving performance. - - - See for more information. - - - - - - Gets or sets the fields that will be fixed in the event - - - - The logging event needs to have certain thread specific values - captured before it can be buffered. See - for details. - - - - - - Logs entries by sending network messages using the - native function. - - - - You can send messages only to names that are active - on the network. If you send the message to a user name, - that user must be logged on and running the Messenger - service to receive the message. - - - The receiver will get a top most window displaying the - messages one at a time, therefore this appender should - not be used to deliver a high volume of messages. - - - The following table lists some possible uses for this appender : - - - - - Action - Property Value(s) - - - Send a message to a user account on the local machine - - - = <name of the local machine> - - - = <user name> - - - - - Send a message to a user account on a remote machine - - - = <name of the remote machine> - - - = <user name> - - - - - Send a message to a domain user account - - - = <name of a domain controller | uninitialized> - - - = <user name> - - - - - Send a message to all the names in a workgroup or domain - - - = <workgroup name | domain name>* - - - - - Send a message from the local machine to a remote machine - - - = <name of the local machine | uninitialized> - - - = <name of the remote machine> - - - - - - - Note : security restrictions apply for sending - network messages, see - for more information. - - - - - An example configuration section to log information - using this appender from the local machine, named - LOCAL_PC, to machine OPERATOR_PC : - - - - - - - - - - Nicko Cadell - Gert Driesen - - - - The DNS or NetBIOS name of the server on which the function is to execute. - - - - - The sender of the network message. - - - - - The message alias to which the message should be sent. - - - - - The security context to use for privileged calls - - - - - Initializes the appender. - - - The default constructor initializes all fields to their default values. - - - - - Initialize the appender based on the options set. - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - The appender will be ignored if no was specified. - - - The required property was not specified. - - - - This method is called by the method. - - The event to log. - - - Sends the event using a network message. - - - - - - Sends a buffer of information to a registered message alias. - - The DNS or NetBIOS name of the server on which the function is to execute. - The message alias to which the message buffer should be sent - The originator of the message. - The message text. - The length, in bytes, of the message text. - - - The following restrictions apply for sending network messages: - - - - - Platform - Requirements - - - Windows NT - - - No special group membership is required to send a network message. - - - Admin, Accounts, Print, or Server Operator group membership is required to - successfully send a network message on a remote server. - - - - - Windows 2000 or later - - - If you send a message on a domain controller that is running Active Directory, - access is allowed or denied based on the access control list (ACL) for the securable - object. The default ACL permits only Domain Admins and Account Operators to send a network message. - - - On a member server or workstation, only Administrators and Server Operators can send a network message. - - - - - - - For more information see Security Requirements for the Network Management Functions. - - - - - If the function succeeds, the return value is zero. - - - - - - Gets or sets the sender of the message. - - - The sender of the message. - - - If this property is not specified, the message is sent from the local computer. - - - - - Gets or sets the message alias to which the message should be sent. - - - The recipient of the message. - - - This property should always be specified in order to send a message. - - - - - Gets or sets the DNS or NetBIOS name of the remote server on which the function is to execute. - - - DNS or NetBIOS name of the remote server on which the function is to execute. - - - - For Windows NT 4.0 and earlier, the string should begin with \\. - - - If this property is not specified, the local computer is used. - - - - - - Gets or sets the used to call the NetSend method. - - - The used to call the NetSend method. - - - - Unless a specified here for this appender - the is queried for the - security context to use. The default behavior is to use the security context - of the current thread. - - - - - - This appender requires a to be set. - - true - - - This appender requires a to be set. - - - - - - Appends log events to the OutputDebugString system. - - - - OutputDebugStringAppender appends log events to the - OutputDebugString system. - - - The string is passed to the native OutputDebugString - function. - - - Nicko Cadell - Gert Driesen - - - - Initializes a new instance of the class. - - - - Default constructor. - - - - - - Write the logging event to the output debug string API - - the event to log - - - Write the logging event to the output debug string API - - - - - - Stub for OutputDebugString native method - - the string to output - - - Stub for OutputDebugString native method - - - - - - This appender requires a to be set. - - true - - - This appender requires a to be set. - - - - - - Logs events to a remote syslog daemon. - - - - The BSD syslog protocol is used to remotely log to - a syslog daemon. The syslogd listens for for messages - on UDP port 514. - - - The syslog UDP protocol is not authenticated. Most syslog daemons - do not accept remote log messages because of the security implications. - You may be able to use the LocalSyslogAppender to talk to a local - syslog service. - - - There is an RFC 3164 that claims to document the BSD Syslog Protocol. - This RFC can be seen here: http://www.faqs.org/rfcs/rfc3164.html. - This appender generates what the RFC calls an "Original Device Message", - i.e. does not include the TIMESTAMP or HOSTNAME fields. By observation - this format of message will be accepted by all current syslog daemon - implementations. The daemon will attach the current time and the source - hostname or IP address to any messages received. - - - Syslog messages must have a facility and and a severity. The severity - is derived from the Level of the logging event. - The facility must be chosen from the set of defined syslog - values. The facilities list is predefined - and cannot be extended. - - - An identifier is specified with each log message. This can be specified - by setting the property. The identity (also know - as the tag) must not contain white space. The default value for the - identity is the application name (from ). - - - Rob Lyon - Nicko Cadell - - - - Sends logging events as connectionless UDP datagrams to a remote host or a - multicast group using an . - - - - UDP guarantees neither that messages arrive, nor that they arrive in the correct order. - - - To view the logging results, a custom application can be developed that listens for logging - events. - - - When decoding events send via this appender remember to use the same encoding - to decode the events as was used to send the events. See the - property to specify the encoding to use. - - - - This example shows how to log receive logging events that are sent - on IP address 244.0.0.1 and port 8080 to the console. The event is - encoded in the packet as a unicode string and it is decoded as such. - - IPEndPoint remoteEndPoint = new IPEndPoint(IPAddress.Any, 0); - UdpClient udpClient; - byte[] buffer; - string loggingEvent; - - try - { - udpClient = new UdpClient(8080); - - while(true) - { - buffer = udpClient.Receive(ref remoteEndPoint); - loggingEvent = System.Text.Encoding.Unicode.GetString(buffer); - Console.WriteLine(loggingEvent); - } - } - catch(Exception e) - { - Console.WriteLine(e.ToString()); - } - - - Dim remoteEndPoint as IPEndPoint - Dim udpClient as UdpClient - Dim buffer as Byte() - Dim loggingEvent as String - - Try - remoteEndPoint = new IPEndPoint(IPAddress.Any, 0) - udpClient = new UdpClient(8080) - - While True - buffer = udpClient.Receive(ByRef remoteEndPoint) - loggingEvent = System.Text.Encoding.Unicode.GetString(buffer) - Console.WriteLine(loggingEvent) - Wend - Catch e As Exception - Console.WriteLine(e.ToString()) - End Try - - - An example configuration section to log information using this appender to the - IP 224.0.0.1 on port 8080: - - - - - - - - - - Gert Driesen - Nicko Cadell - - - - Initializes a new instance of the class. - - - The default constructor initializes all fields to their default values. - - - - - Initialize the appender based on the options set. - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - The appender will be ignored if no was specified or - an invalid remote or local TCP port number was specified. - - - The required property was not specified. - The TCP port number assigned to or is less than or greater than . - - - - This method is called by the method. - - The event to log. - - - Sends the event using an UDP datagram. - - - Exceptions are passed to the . - - - - - - Closes the UDP connection and releases all resources associated with - this instance. - - - - Disables the underlying and releases all managed - and unmanaged resources associated with the . - - - - - - Initializes the underlying connection. - - - - The underlying is initialized and binds to the - port number from which you intend to communicate. - - - Exceptions are passed to the . - - - - - - The IP address of the remote host or multicast group to which - the logging event will be sent. - - - - - The TCP port number of the remote host or multicast group to - which the logging event will be sent. - - - - - The cached remote endpoint to which the logging events will be sent. - - - - - The TCP port number from which the will communicate. - - - - - The instance that will be used for sending the - logging events. - - - - - The encoding to use for the packet. - - - - - Gets or sets the IP address of the remote host or multicast group to which - the underlying should sent the logging event. - - - The IP address of the remote host or multicast group to which the logging event - will be sent. - - - - Multicast addresses are identified by IP class D addresses (in the range 224.0.0.0 to - 239.255.255.255). Multicast packets can pass across different networks through routers, so - it is possible to use multicasts in an Internet scenario as long as your network provider - supports multicasting. - - - Hosts that want to receive particular multicast messages must register their interest by joining - the multicast group. Multicast messages are not sent to networks where no host has joined - the multicast group. Class D IP addresses are used for multicast groups, to differentiate - them from normal host addresses, allowing nodes to easily detect if a message is of interest. - - - Static multicast addresses that are needed globally are assigned by IANA. A few examples are listed in the table below: - - - - - IP Address - Description - - - 224.0.0.1 - - - Sends a message to all system on the subnet. - - - - - 224.0.0.2 - - - Sends a message to all routers on the subnet. - - - - - 224.0.0.12 - - - The DHCP server answers messages on the IP address 224.0.0.12, but only on a subnet. - - - - - - - A complete list of actually reserved multicast addresses and their owners in the ranges - defined by RFC 3171 can be found at the IANA web site. - - - The address range 239.0.0.0 to 239.255.255.255 is reserved for administrative scope-relative - addresses. These addresses can be reused with other local groups. Routers are typically - configured with filters to prevent multicast traffic in this range from flowing outside - of the local network. - - - - - - Gets or sets the TCP port number of the remote host or multicast group to which - the underlying should sent the logging event. - - - An integer value in the range to - indicating the TCP port number of the remote host or multicast group to which the logging event - will be sent. - - - The underlying will send messages to this TCP port number - on the remote host or multicast group. - - The value specified is less than or greater than . - - - - Gets or sets the TCP port number from which the underlying will communicate. - - - An integer value in the range to - indicating the TCP port number from which the underlying will communicate. - - - - The underlying will bind to this port for sending messages. - - - Setting the value to 0 (the default) will cause the udp client not to bind to - a local port. - - - The value specified is less than or greater than . - - - - Gets or sets used to write the packets. - - - The used to write the packets. - - - - The used to write the packets. - - - - - - Gets or sets the underlying . - - - The underlying . - - - creates a to send logging events - over a network. Classes deriving from can use this - property to get or set this . Use the underlying - returned from if you require access beyond that which - provides. - - - - - Gets or sets the cached remote endpoint to which the logging events should be sent. - - - The cached remote endpoint to which the logging events will be sent. - - - The method will initialize the remote endpoint - with the values of the and - properties. - - - - - This appender requires a to be set. - - true - - - This appender requires a to be set. - - - - - - Syslog port 514 - - - - - Initializes a new instance of the class. - - - This instance of the class is set up to write - to a remote syslog daemon. - - - - - Add a mapping of level to severity - - The mapping to add - - - Add a mapping to this appender. - - - - - - This method is called by the method. - - The event to log. - - - Writes the event to a remote syslog daemon. - - - The format of the output will depend on the appender's layout. - - - - - - Initialize the options for this appender - - - - Initialize the level to syslog severity mappings set on this appender. - - - - - - Translates a log4net level to a syslog severity. - - A log4net level. - A syslog severity. - - - Translates a log4net level to a syslog severity. - - - - - - Generate a syslog priority. - - The syslog facility. - The syslog severity. - A syslog priority. - - - Generate a syslog priority. - - - - - - The facility. The default facility is . - - - - - The message identity - - - - - Mapping from level object to syslog severity - - - - - Message identity - - - - An identifier is specified with each log message. This can be specified - by setting the property. The identity (also know - as the tag) must not contain white space. The default value for the - identity is the application name (from ). - - - - - - Syslog facility - - - Set to one of the values. The list of - facilities is predefined and cannot be extended. The default value - is . - - - - - syslog severities - - - - The syslog severities. - - - - - - system is unusable - - - - - action must be taken immediately - - - - - critical conditions - - - - - error conditions - - - - - warning conditions - - - - - normal but significant condition - - - - - informational - - - - - debug-level messages - - - - - syslog facilities - - - - The syslog facilities - - - - - - kernel messages - - - - - random user-level messages - - - - - mail system - - - - - system daemons - - - - - security/authorization messages - - - - - messages generated internally by syslogd - - - - - line printer subsystem - - - - - network news subsystem - - - - - UUCP subsystem - - - - - clock (cron/at) daemon - - - - - security/authorization messages (private) - - - - - ftp daemon - - - - - NTP subsystem - - - - - log audit - - - - - log alert - - - - - clock daemon - - - - - reserved for local use - - - - - reserved for local use - - - - - reserved for local use - - - - - reserved for local use - - - - - reserved for local use - - - - - reserved for local use - - - - - reserved for local use - - - - - reserved for local use - - - - - A class to act as a mapping between the level that a logging call is made at and - the syslog severity that is should be logged at. - - - - A class to act as a mapping between the level that a logging call is made at and - the syslog severity that is should be logged at. - - - - - - The mapped syslog severity for the specified level - - - - Required property. - The mapped syslog severity for the specified level - - - - - - Delivers logging events to a remote logging sink. - - - - This Appender is designed to deliver events to a remote sink. - That is any object that implements the - interface. It delivers the events using .NET remoting. The - object to deliver events to is specified by setting the - appenders property. - - The RemotingAppender buffers events before sending them. This allows it to - make more efficient use of the remoting infrastructure. - - Once the buffer is full the events are still not sent immediately. - They are scheduled to be sent using a pool thread. The effect is that - the send occurs asynchronously. This is very important for a - number of non obvious reasons. The remoting infrastructure will - flow thread local variables (stored in the ), - if they are marked as , across the - remoting boundary. If the server is not contactable then - the remoting infrastructure will clear the - objects from the . To prevent a logging failure from - having side effects on the calling application the remoting call must be made - from a separate thread to the one used by the application. A - thread is used for this. If no thread is available then - the events will block in the thread pool manager until a thread is available. - - Because the events are sent asynchronously using pool threads it is possible to close - this appender before all the queued events have been sent. - When closing the appender attempts to wait until all the queued events have been sent, but - this will timeout after 30 seconds regardless. - - If this appender is being closed because the - event has fired it may not be possible to send all the queued events. During process - exit the runtime limits the time that a - event handler is allowed to run for. If the runtime terminates the threads before - the queued events have been sent then they will be lost. To ensure that all events - are sent the appender must be closed before the application exits. See - for details on how to shutdown - log4net programmatically. - - - Nicko Cadell - Gert Driesen - Daniel Cazzulino - - - - Initializes a new instance of the class. - - - - Default constructor. - - - - - - Initialize the appender based on the options set - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - - - - Send the contents of the buffer to the remote sink. - - - The events are not sent immediately. They are scheduled to be sent - using a pool thread. The effect is that the send occurs asynchronously. - This is very important for a number of non obvious reasons. The remoting - infrastructure will flow thread local variables (stored in the ), - if they are marked as , across the - remoting boundary. If the server is not contactable then - the remoting infrastructure will clear the - objects from the . To prevent a logging failure from - having side effects on the calling application the remoting call must be made - from a separate thread to the one used by the application. A - thread is used for this. If no thread is available then - the events will block in the thread pool manager until a thread is available. - - The events to send. - - - - Override base class close. - - - - This method waits while there are queued work items. The events are - sent asynchronously using work items. These items - will be sent once a thread pool thread is available to send them, therefore - it is possible to close the appender before all the queued events have been - sent. - - This method attempts to wait until all the queued events have been sent, but this - method will timeout after 30 seconds regardless. - - If the appender is being closed because the - event has fired it may not be possible to send all the queued events. During process - exit the runtime limits the time that a - event handler is allowed to run for. - - - - - A work item is being queued into the thread pool - - - - - A work item from the thread pool has completed - - - - - Send the contents of the buffer to the remote sink. - - - This method is designed to be used with the . - This method expects to be passed an array of - objects in the state param. - - the logging events to send - - - - The URL of the remote sink. - - - - - The local proxy (.NET remoting) for the remote logging sink. - - - - - The number of queued callbacks currently waiting or executing - - - - - Event used to signal when there are no queued work items - - - This event is set when there are no queued work items. In this - state it is safe to close the appender. - - - - - Gets or sets the URL of the well-known object that will accept - the logging events. - - - The well-known URL of the remote sink. - - - - The URL of the remoting sink that will accept logging events. - The sink must implement the - interface. - - - - - - Interface used to deliver objects to a remote sink. - - - This interface must be implemented by a remoting sink - if the is to be used - to deliver logging events to the sink. - - - - - Delivers logging events to the remote sink - - Array of events to log. - - - Delivers logging events to the remote sink - - - - - - Appender that rolls log files based on size or date or both. - - - - RollingFileAppender can roll log files based on size or date or both - depending on the setting of the property. - When set to the log file will be rolled - once its size exceeds the . - When set to the log file will be rolled - once the date boundary specified in the property - is crossed. - When set to the log file will be - rolled once the date boundary specified in the property - is crossed, but within a date boundary the file will also be rolled - once its size exceeds the . - When set to the log file will be rolled when - the appender is configured. This effectively means that the log file can be - rolled once per program execution. - - - A of few additional optional features have been added: - - Attach date pattern for current log file - Backup number increments for newer files - Infinite number of backups by file size - - - - - - For large or infinite numbers of backup files a - greater than zero is highly recommended, otherwise all the backup files need - to be renamed each time a new backup is created. - - - When Date/Time based rolling is used setting - to will reduce the number of file renamings to few or none. - - - - - - Changing or without clearing - the log file directory of backup files will cause unexpected and unwanted side effects. - - - - - If Date/Time based rolling is enabled this appender will attempt to roll existing files - in the directory without a Date/Time tag based on the last write date of the base log file. - The appender only rolls the log file when a message is logged. If Date/Time based rolling - is enabled then the appender will not roll the log file at the Date/Time boundary but - at the point when the next message is logged after the boundary has been crossed. - - - - The extends the and - has the same behavior when opening the log file. - The appender will first try to open the file for writing when - is called. This will typically be during configuration. - If the file cannot be opened for writing the appender will attempt - to open the file again each time a message is logged to the appender. - If the file cannot be opened for writing when a message is logged then - the message will be discarded by this appender. - - - When rolling a backup file necessitates deleting an older backup file the - file to be deleted is moved to a temporary name before being deleted. - - - - - A maximum number of backup files when rolling on date/time boundaries is not supported. - - - - Nicko Cadell - Gert Driesen - Aspi Havewala - Douglas de la Torre - Edward Smit - - - - Initializes a new instance of the class. - - - - Default constructor. - - - - - - Sets the quiet writer being used. - - - This method can be overridden by sub classes. - - the writer to set - - - - Write out a logging event. - - the event to write to file. - - - Handles append time behavior for RollingFileAppender. This checks - if a roll over either by date (checked first) or time (checked second) - is need and then appends to the file last. - - - - - - Write out an array of logging events. - - the events to write to file. - - - Handles append time behavior for RollingFileAppender. This checks - if a roll over either by date (checked first) or time (checked second) - is need and then appends to the file last. - - - - - - Performs any required rolling before outputting the next event - - - - Handles append time behavior for RollingFileAppender. This checks - if a roll over either by date (checked first) or time (checked second) - is need and then appends to the file last. - - - - - - Creates and opens the file for logging. If - is false then the fully qualified name is determined and used. - - the name of the file to open - true to append to existing file - - This method will ensure that the directory structure - for the specified exists. - - - - - Get the current output file name - - the base file name - the output file name - - The output file name is based on the base fileName specified. - If is set then the output - file name is the same as the base file passed in. Otherwise - the output file depends on the date pattern, on the count - direction or both. - - - - - Determines curSizeRollBackups (only within the current roll point) - - - - - Generates a wildcard pattern that can be used to find all files - that are similar to the base file name. - - - - - - - Builds a list of filenames for all files matching the base filename plus a file - pattern. - - - - - - - Initiates a roll over if needed for crossing a date boundary since the last run. - - - - - Initializes based on existing conditions at time of . - - - - Initializes based on existing conditions at time of . - The following is done - - determine curSizeRollBackups (only within the current roll point) - initiates a roll over if needed for crossing a date boundary since the last run. - - - - - - - Does the work of bumping the 'current' file counter higher - to the highest count when an incremental file name is seen. - The highest count is either the first file (when count direction - is greater than 0) or the last file (when count direction less than 0). - In either case, we want to know the highest count that is present. - - - - - - - Takes a list of files and a base file name, and looks for - 'incremented' versions of the base file. Bumps the max - count up to the highest count seen. - - - - - - - Calculates the RollPoint for the datePattern supplied. - - the date pattern to calculate the check period for - The RollPoint that is most accurate for the date pattern supplied - - Essentially the date pattern is examined to determine what the - most suitable roll point is. The roll point chosen is the roll point - with the smallest period that can be detected using the date pattern - supplied. i.e. if the date pattern only outputs the year, month, day - and hour then the smallest roll point that can be detected would be - and hourly roll point as minutes could not be detected. - - - - - Initialize the appender based on the options set - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - Sets initial conditions including date/time roll over information, first check, - scheduledFilename, and calls to initialize - the current number of backups. - - - - - - Rollover the file(s) to date/time tagged file(s). - - set to true if the file to be rolled is currently open - - - Rollover the file(s) to date/time tagged file(s). - Resets curSizeRollBackups. - If fileIsOpen is set then the new file is opened (through SafeOpenFile). - - - - - - Renames file to file . - - Name of existing file to roll. - New name for file. - - - Renames file to file . It - also checks for existence of target file and deletes if it does. - - - - - - Test if a file exists at a specified path - - the path to the file - true if the file exists - - - Test if a file exists at a specified path - - - - - - Deletes the specified file if it exists. - - The file to delete. - - - Delete a file if is exists. - The file is first moved to a new filename then deleted. - This allows the file to be removed even when it cannot - be deleted, but it still can be moved. - - - - - - Implements file roll base on file size. - - - - If the maximum number of size based backups is reached - (curSizeRollBackups == maxSizeRollBackups) then the oldest - file is deleted -- its index determined by the sign of countDirection. - If countDirection < 0, then files - {File.1, ..., File.curSizeRollBackups -1} - are renamed to {File.2, ..., - File.curSizeRollBackups}. Moreover, File is - renamed File.1 and closed. - - - A new file is created to receive further log output. - - - If maxSizeRollBackups is equal to zero, then the - File is truncated with no backup files created. - - - If maxSizeRollBackups < 0, then File is - renamed if needed and no files are deleted. - - - - - - Implements file roll. - - the base name to rename - - - If the maximum number of size based backups is reached - (curSizeRollBackups == maxSizeRollBackups) then the oldest - file is deleted -- its index determined by the sign of countDirection. - If countDirection < 0, then files - {File.1, ..., File.curSizeRollBackups -1} - are renamed to {File.2, ..., - File.curSizeRollBackups}. - - - If maxSizeRollBackups is equal to zero, then the - File is truncated with no backup files created. - - - If maxSizeRollBackups < 0, then File is - renamed if needed and no files are deleted. - - - This is called by to rename the files. - - - - - - Get the start time of the next window for the current rollpoint - - the current date - the type of roll point we are working with - the start time for the next roll point an interval after the currentDateTime date - - - Returns the date of the next roll point after the currentDateTime date passed to the method. - - - The basic strategy is to subtract the time parts that are less significant - than the rollpoint from the current time. This should roll the time back to - the start of the time window for the current rollpoint. Then we add 1 window - worth of time and get the start time of the next window for the rollpoint. - - - - - - This object supplies the current date/time. Allows test code to plug in - a method to control this class when testing date/time based rolling. - - - - - The date pattern. By default, the pattern is set to ".yyyy-MM-dd" - meaning daily rollover. - - - - - The actual formatted filename that is currently being written to - or will be the file transferred to on roll over - (based on staticLogFileName). - - - - - The timestamp when we shall next recompute the filename. - - - - - Holds date of last roll over - - - - - The type of rolling done - - - - - The default maximum file size is 10MB - - - - - There is zero backup files by default - - - - - How many sized based backups have been made so far - - - - - The rolling file count direction. - - - - - The rolling mode used in this appender. - - - - - Cache flag set if we are rolling by date. - - - - - Cache flag set if we are rolling by size. - - - - - Value indicating whether to always log to the same file. - - - - - FileName provided in configuration. Used for rolling properly - - - - - The 1st of January 1970 in UTC - - - - - Gets or sets the date pattern to be used for generating file names - when rolling over on date. - - - The date pattern to be used for generating file names when rolling - over on date. - - - - Takes a string in the same format as expected by - . - - - This property determines the rollover schedule when rolling over - on date. - - - - - - Gets or sets the maximum number of backup files that are kept before - the oldest is erased. - - - The maximum number of backup files that are kept before the oldest is - erased. - - - - If set to zero, then there will be no backup files and the log file - will be truncated when it reaches . - - - If a negative number is supplied then no deletions will be made. Note - that this could result in very slow performance as a large number of - files are rolled over unless is used. - - - The maximum applies to each time based group of files and - not the total. - - - - - - Gets or sets the maximum size that the output file is allowed to reach - before being rolled over to backup files. - - - The maximum size in bytes that the output file is allowed to reach before being - rolled over to backup files. - - - - This property is equivalent to except - that it is required for differentiating the setter taking a - argument from the setter taking a - argument. - - - The default maximum file size is 10MB (10*1024*1024). - - - - - - Gets or sets the maximum size that the output file is allowed to reach - before being rolled over to backup files. - - - The maximum size that the output file is allowed to reach before being - rolled over to backup files. - - - - This property allows you to specify the maximum size with the - suffixes "KB", "MB" or "GB" so that the size is interpreted being - expressed respectively in kilobytes, megabytes or gigabytes. - - - For example, the value "10KB" will be interpreted as 10240 bytes. - - - The default maximum file size is 10MB. - - - If you have the option to set the maximum file size programmatically - consider using the property instead as this - allows you to set the size in bytes as a . - - - - - - Gets or sets the rolling file count direction. - - - The rolling file count direction. - - - - Indicates if the current file is the lowest numbered file or the - highest numbered file. - - - By default newer files have lower numbers ( < 0), - i.e. log.1 is most recent, log.5 is the 5th backup, etc... - - - >= 0 does the opposite i.e. - log.1 is the first backup made, log.5 is the 5th backup made, etc. - For infinite backups use >= 0 to reduce - rollover costs. - - The default file count direction is -1. - - - - - Gets or sets the rolling style. - - The rolling style. - - - The default rolling style is . - - - When set to this appender's - property is set to false, otherwise - the appender would append to a single file rather than rolling - the file each time it is opened. - - - - - - Gets or sets a value indicating whether to always log to - the same file. - - - true if always should be logged to the same file, otherwise false. - - - - By default file.log is always the current file. Optionally - file.log.yyyy-mm-dd for current formatted datePattern can by the currently - logging file (or file.log.curSizeRollBackup or even - file.log.yyyy-mm-dd.curSizeRollBackup). - - - This will make time based rollovers with a large number of backups - much faster as the appender it won't have to rename all the backups! - - - - - - Style of rolling to use - - - - Style of rolling to use - - - - - - Roll files once per program execution - - - - Roll files once per program execution. - Well really once each time this appender is - configured. - - - Setting this option also sets AppendToFile to - false on the RollingFileAppender, otherwise - this appender would just be a normal file appender. - - - - - - Roll files based only on the size of the file - - - - - Roll files based only on the date - - - - - Roll files based on both the size and date of the file - - - - - The code assumes that the following 'time' constants are in a increasing sequence. - - - - The code assumes that the following 'time' constants are in a increasing sequence. - - - - - - Roll the log not based on the date - - - - - Roll the log for each minute - - - - - Roll the log for each hour - - - - - Roll the log twice a day (midday and midnight) - - - - - Roll the log each day (midnight) - - - - - Roll the log each week - - - - - Roll the log each month - - - - - This interface is used to supply Date/Time information to the . - - - This interface is used to supply Date/Time information to the . - Used primarily to allow test classes to plug themselves in so they can - supply test date/times. - - - - - Gets the current time. - - The current time. - - - Gets the current time. - - - - - - Default implementation of that returns the current time. - - - - - Gets the current time. - - The current time. - - - Gets the current time. - - - - - - Send an e-mail when a specific logging event occurs, typically on errors - or fatal errors. - - - - The number of logging events delivered in this e-mail depend on - the value of option. The - keeps only the last - logging events in its - cyclic buffer. This keeps memory requirements at a reasonable level while - still delivering useful application context. - - - Authentication and setting the server Port are only available on the MS .NET 1.1 runtime. - For these features to be enabled you need to ensure that you are using a version of - the log4net assembly that is built against the MS .NET 1.1 framework and that you are - running the your application on the MS .NET 1.1 runtime. On all other platforms only sending - unauthenticated messages to a server listening on port 25 (the default) is supported. - - - Authentication is supported by setting the property to - either or . - If using authentication then the - and properties must also be set. - - - To set the SMTP server port use the property. The default port is 25. - - - Nicko Cadell - Gert Driesen - - - - Default constructor - - - - Default constructor - - - - - - Sends the contents of the cyclic buffer as an e-mail message. - - The logging events to send. - - - - Send the email message - - the body text to include in the mail - - - - Gets or sets a semicolon-delimited list of recipient e-mail addresses. - - - A semicolon-delimited list of e-mail addresses. - - - - A semicolon-delimited list of recipient e-mail addresses. - - - - - - Gets or sets the e-mail address of the sender. - - - The e-mail address of the sender. - - - - The e-mail address of the sender. - - - - - - Gets or sets the subject line of the e-mail message. - - - The subject line of the e-mail message. - - - - The subject line of the e-mail message. - - - - - - Gets or sets the name of the SMTP relay mail server to use to send - the e-mail messages. - - - The name of the e-mail relay server. If SmtpServer is not set, the - name of the local SMTP server is used. - - - - The name of the e-mail relay server. If SmtpServer is not set, the - name of the local SMTP server is used. - - - - - - Obsolete - - - Use the BufferingAppenderSkeleton Fix methods instead - - - - Obsolete property. - - - - - - The mode to use to authentication with the SMTP server - - - Authentication is only available on the MS .NET 1.1 runtime. - - Valid Authentication mode values are: , - , and . - The default value is . When using - you must specify the - and to use to authenticate. - When using the Windows credentials for the current - thread, if impersonating, or the process will be used to authenticate. - - - - - - The username to use to authenticate with the SMTP server - - - Authentication is only available on the MS .NET 1.1 runtime. - - A and must be specified when - is set to , - otherwise the username will be ignored. - - - - - - The password to use to authenticate with the SMTP server - - - Authentication is only available on the MS .NET 1.1 runtime. - - A and must be specified when - is set to , - otherwise the password will be ignored. - - - - - - The port on which the SMTP server is listening - - - Server Port is only available on the MS .NET 1.1 runtime. - - The port on which the SMTP server is listening. The default - port is 25. The Port can only be changed when running on - the MS .NET 1.1 runtime. - - - - - - Gets or sets the priority of the e-mail message - - - One of the values. - - - - Sets the priority of the e-mails generated by this - appender. The default priority is . - - - If you are using this appender to report errors then - you may want to set the priority to . - - - - - - This appender requires a to be set. - - true - - - This appender requires a to be set. - - - - - - Values for the property. - - - - SMTP authentication modes. - - - - - - No authentication - - - - - Basic authentication. - - - Requires a username and password to be supplied - - - - - Integrated authentication - - - Uses the Windows credentials from the current thread or process to authenticate. - - - - - Send an email when a specific logging event occurs, typically on errors - or fatal errors. Rather than sending via smtp it writes a file into the - directory specified by . This allows services such - as the IIS SMTP agent to manage sending the messages. - - - - The configuration for this appender is identical to that of the SMTPAppender, - except that instead of specifying the SMTPAppender.SMTPHost you specify - . - - - The number of logging events delivered in this e-mail depend on - the value of option. The - keeps only the last - logging events in its - cyclic buffer. This keeps memory requirements at a reasonable level while - still delivering useful application context. - - - Niall Daley - Nicko Cadell - - - - Default constructor - - - - Default constructor - - - - - - Sends the contents of the cyclic buffer as an e-mail message. - - The logging events to send. - - - Sends the contents of the cyclic buffer as an e-mail message. - - - - - - Activate the options on this appender. - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - - - - Convert a path into a fully qualified path. - - The path to convert. - The fully qualified path. - - - Converts the path specified to a fully - qualified path. If the path is relative it is - taken as relative from the application base - directory. - - - - - - The security context to use for privileged calls - - - - - Gets or sets a semicolon-delimited list of recipient e-mail addresses. - - - A semicolon-delimited list of e-mail addresses. - - - - A semicolon-delimited list of e-mail addresses. - - - - - - Gets or sets the e-mail address of the sender. - - - The e-mail address of the sender. - - - - The e-mail address of the sender. - - - - - - Gets or sets the subject line of the e-mail message. - - - The subject line of the e-mail message. - - - - The subject line of the e-mail message. - - - - - - Gets or sets the path to write the messages to. - - - - Gets or sets the path to write the messages to. This should be the same - as that used by the agent sending the messages. - - - - - - Gets or sets the used to write to the pickup directory. - - - The used to write to the pickup directory. - - - - Unless a specified here for this appender - the is queried for the - security context to use. The default behavior is to use the security context - of the current thread. - - - - - - This appender requires a to be set. - - true - - - This appender requires a to be set. - - - - - - Appender that allows clients to connect via Telnet to receive log messages - - - - The TelnetAppender accepts socket connections and streams logging messages - back to the client. - The output is provided in a telnet-friendly way so that a log can be monitored - over a TCP/IP socket. - This allows simple remote monitoring of application logging. - - - The default is 23 (the telnet port). - - - Keith Long - Nicko Cadell - - - - Default constructor - - - - Default constructor - - - - - - Overrides the parent method to close the socket handler - - - - Closes all the outstanding connections. - - - - - - Initialize the appender based on the options set. - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - Create the socket handler and wait for connections - - - - - - Writes the logging event to each connected client. - - The event to log. - - - Writes the logging event to each connected client. - - - - - - Gets or sets the TCP port number on which this will listen for connections. - - - An integer value in the range to - indicating the TCP port number on which this will listen for connections. - - - - The default value is 23 (the telnet port). - - - The value specified is less than - or greater than . - - - - This appender requires a to be set. - - true - - - This appender requires a to be set. - - - - - - Helper class to manage connected clients - - - - The SocketHandler class is used to accept connections from - clients. It is threaded so that clients can connect/disconnect - asynchronously. - - - - - - Opens a new server port on - - the local port to listen on for connections - - - Creates a socket handler on the specified local server port. - - - - - - Sends a string message to each of the connected clients - - the text to send - - - Sends a string message to each of the connected clients - - - - - - Add a client to the internal clients list - - client to add - - - - Remove a client from the internal clients list - - client to remove - - - - Callback used to accept a connection on the server socket - - The result of the asynchronous operation - - - On connection adds to the list of connections - if there are two many open connections you will be disconnected - - - - - - Close all network connections - - - - Make sure we close all network connections - - - - - - Test if this handler has active connections - - - true if this handler has active connections - - - - This property will be true while this handler has - active connections, that is at least one connection that - the handler will attempt to send a message to. - - - - - - Class that represents a client connected to this handler - - - - Class that represents a client connected to this handler - - - - - - Create this for the specified - - the client's socket - - - Opens a stream writer on the socket. - - - - - - Write a string to the client - - string to send - - - Write a string to the client - - - - - - Cleanup the clients connection - - - - Close the socket connection. - - - - - - Appends log events to the system. - - - - The application configuration file can be used to control what listeners - are actually used. See the MSDN documentation for the - class for details on configuring the - trace system. - - - Events are written using the System.Diagnostics.Trace.Write(string,string) - method. The event's logger name is passed as the value for the category name to the Write method. - - - Compact Framework
- The Compact Framework does not support the - class for any operation except Assert. When using the Compact Framework this - appender will write to the system rather than - the Trace system. This appender will therefore behave like the . -
-
- Douglas de la Torre - Nicko Cadell - Gert Driesen -
- - - Initializes a new instance of the . - - - - Default constructor. - - - - - - Initializes a new instance of the - with a specified layout. - - The layout to use with this appender. - - - Obsolete constructor. - - - - - - Writes the logging event to the system. - - The event to log. - - - Writes the logging event to the system. - - - - - - Immediate flush means that the underlying writer or output stream - will be flushed at the end of each append operation. - - - - Immediate flush is slower but ensures that each append request is - actually written. If is set to - false, then there is a good chance that the last few - logs events are not actually written to persistent media if and - when the application crashes. - - - The default value is true. - - - - - Gets or sets a value that indicates whether the appender will - flush at the end of each write. - - - The default behavior is to flush at the end of each - write. If the option is set tofalse, then the underlying - stream can defer writing to physical medium to a later time. - - - Avoiding the flush operation at the end of each append results - in a performance gain of 10 to 20 percent. However, there is safety - trade-off involved in skipping flushing. Indeed, when flushing is - skipped, then it is likely that the last few log events will not - be recorded on disk when the application exits. This is a high - price to pay even for a 20% performance gain. - - - - - - This appender requires a to be set. - - true - - - This appender requires a to be set. - - - - - - Assembly level attribute that specifies a domain to alias to this assembly's repository. - - - - AliasDomainAttribute is obsolete. Use AliasRepositoryAttribute instead of AliasDomainAttribute. - - - An assembly's logger repository is defined by its , - however this can be overridden by an assembly loaded before the target assembly. - - - An assembly can alias another assembly's domain to its repository by - specifying this attribute with the name of the target domain. - - - This attribute can only be specified on the assembly and may be used - as many times as necessary to alias all the required domains. - - - Nicko Cadell - Gert Driesen - - - - Assembly level attribute that specifies a repository to alias to this assembly's repository. - - - - An assembly's logger repository is defined by its , - however this can be overridden by an assembly loaded before the target assembly. - - - An assembly can alias another assembly's repository to its repository by - specifying this attribute with the name of the target repository. - - - This attribute can only be specified on the assembly and may be used - as many times as necessary to alias all the required repositories. - - - Nicko Cadell - Gert Driesen - - - - Initializes a new instance of the class with - the specified repository to alias to this assembly's repository. - - The repository to alias to this assemby's repository. - - - Initializes a new instance of the class with - the specified repository to alias to this assembly's repository. - - - - - - Gets or sets the repository to alias to this assemby's repository. - - - The repository to alias to this assemby's repository. - - - - The name of the repository to alias to this assemby's repository. - - - - - - Initializes a new instance of the class with - the specified domain to alias to this assembly's repository. - - The domain to alias to this assemby's repository. - - - Obsolete. Use instead of . - - - - - - Use this class to quickly configure a . - - - - Allows very simple programmatic configuration of log4net. - - - Only one appender can be configured using this configurator. - The appender is set at the root of the hierarchy and all logging - events will be delivered to that appender. - - - Appenders can also implement the interface. Therefore - they would require that the method - be called after the appenders properties have been configured. - - - Nicko Cadell - Gert Driesen - - - - Initializes a new instance of the class. - - - - Uses a private access modifier to prevent instantiation of this class. - - - - - - Initializes the log4net system with a default configuration. - - - - Initializes the log4net logging system using a - that will write to Console.Out. The log messages are - formatted using the layout object - with the - layout style. - - - - - - Initializes the log4net system using the specified appender. - - The appender to use to log all logging events. - - - Initializes the log4net system using the specified appender. - - - - - - Initializes the with a default configuration. - - The repository to configure. - - - Initializes the specified repository using a - that will write to Console.Out. The log messages are - formatted using the layout object - with the - layout style. - - - - - - Initializes the using the specified appender. - - The repository to configure. - The appender to use to log all logging events. - - - Initializes the using the specified appender. - - - - - - Base class for all log4net configuration attributes. - - - This is an abstract class that must be extended by - specific configurators. This attribute allows the - configurator to be parameterized by an assembly level - attribute. - - Nicko Cadell - Gert Driesen - - - - Constructor used by subclasses. - - the ordering priority for this configurator - - - The is used to order the configurator - attributes before they are invoked. Higher priority configurators are executed - before lower priority ones. - - - - - - Configures the for the specified assembly. - - The assembly that this attribute was defined on. - The repository to configure. - - - Abstract method implemented by a subclass. When this method is called - the subclass should configure the . - - - - - - Compare this instance to another ConfiguratorAttribute - - the object to compare to - see - - - Compares the priorities of the two instances. - Sorts by priority in descending order. Objects with the same priority are - randomly ordered. - - - - - - Assembly level attribute that specifies the logging domain for the assembly. - - - - DomainAttribute is obsolete. Use RepositoryAttribute instead of DomainAttribute. - - - Assemblies are mapped to logging domains. Each domain has its own - logging repository. This attribute specified on the assembly controls - the configuration of the domain. The property specifies the name - of the domain that this assembly is a part of. The - specifies the type of the repository objects to create for the domain. If - this attribute is not specified and a is not specified - then the assembly will be part of the default shared logging domain. - - - This attribute can only be specified on the assembly and may only be used - once per assembly. - - - Nicko Cadell - Gert Driesen - - - - Assembly level attribute that specifies the logging repository for the assembly. - - - - Assemblies are mapped to logging repository. This attribute specified - on the assembly controls - the configuration of the repository. The property specifies the name - of the repository that this assembly is a part of. The - specifies the type of the object - to create for the assembly. If this attribute is not specified or a - is not specified then the assembly will be part of the default shared logging repository. - - - This attribute can only be specified on the assembly and may only be used - once per assembly. - - - Nicko Cadell - Gert Driesen - - - - Initializes a new instance of the class. - - - - Default constructor. - - - - - - Initialize a new instance of the class - with the name of the repository. - - The name of the repository. - - - Initialize the attribute with the name for the assembly's repository. - - - - - - Gets or sets the name of the logging repository. - - - The string name to use as the name of the repository associated with this - assembly. - - - - This value does not have to be unique. Several assemblies can share the - same repository. They will share the logging configuration of the repository. - - - - - - Gets or sets the type of repository to create for this assembly. - - - The type of repository to create for this assembly. - - - - The type of the repository to create for the assembly. - The type must implement the - interface. - - - This will be the type of repository created when - the repository is created. If multiple assemblies reference the - same repository then the repository is only created once using the - of the first assembly to call into the - repository. - - - - - - Initializes a new instance of the class. - - - - Obsolete. Use RepositoryAttribute instead of DomainAttribute. - - - - - - Initialize a new instance of the class - with the name of the domain. - - The name of the domain. - - - Obsolete. Use RepositoryAttribute instead of DomainAttribute. - - - - - - Use this class to initialize the log4net environment using an Xml tree. - - - - DOMConfigurator is obsolete. Use XmlConfigurator instead of DOMConfigurator. - - - Configures a using an Xml tree. - - - Nicko Cadell - Gert Driesen - - - - Private constructor - - - - - Automatically configures the log4net system based on the - application's configuration settings. - - - - DOMConfigurator is obsolete. Use XmlConfigurator instead of DOMConfigurator. - - Each application has a configuration file. This has the - same name as the application with '.config' appended. - This file is XML and calling this function prompts the - configurator to look in that file for a section called - log4net that contains the configuration data. - - - - - Automatically configures the using settings - stored in the application's configuration file. - - - - DOMConfigurator is obsolete. Use XmlConfigurator instead of DOMConfigurator. - - Each application has a configuration file. This has the - same name as the application with '.config' appended. - This file is XML and calling this function prompts the - configurator to look in that file for a section called - log4net that contains the configuration data. - - The repository to configure. - - - - Configures log4net using a log4net element - - - - DOMConfigurator is obsolete. Use XmlConfigurator instead of DOMConfigurator. - - Loads the log4net configuration from the XML element - supplied as . - - The element to parse. - - - - Configures the using the specified XML - element. - - - - DOMConfigurator is obsolete. Use XmlConfigurator instead of DOMConfigurator. - - Loads the log4net configuration from the XML element - supplied as . - - The repository to configure. - The element to parse. - - - - Configures log4net using the specified configuration file. - - The XML file to load the configuration from. - - - DOMConfigurator is obsolete. Use XmlConfigurator instead of DOMConfigurator. - - - The configuration file must be valid XML. It must contain - at least one element called log4net that holds - the log4net configuration data. - - - The log4net configuration file can possible be specified in the application's - configuration file (either MyAppName.exe.config for a - normal application on Web.config for an ASP.NET application). - - - The following example configures log4net using a configuration file, of which the - location is stored in the application's configuration file : - - - using log4net.Config; - using System.IO; - using System.Configuration; - - ... - - DOMConfigurator.Configure(new FileInfo(ConfigurationSettings.AppSettings["log4net-config-file"])); - - - In the .config file, the path to the log4net can be specified like this : - - - - - - - - - - - - - Configures log4net using the specified configuration file. - - A stream to load the XML configuration from. - - - DOMConfigurator is obsolete. Use XmlConfigurator instead of DOMConfigurator. - - - The configuration data must be valid XML. It must contain - at least one element called log4net that holds - the log4net configuration data. - - - Note that this method will NOT close the stream parameter. - - - - - - Configures the using the specified configuration - file. - - The repository to configure. - The XML file to load the configuration from. - - - DOMConfigurator is obsolete. Use XmlConfigurator instead of DOMConfigurator. - - - The configuration file must be valid XML. It must contain - at least one element called log4net that holds - the configuration data. - - - The log4net configuration file can possible be specified in the application's - configuration file (either MyAppName.exe.config for a - normal application on Web.config for an ASP.NET application). - - - The following example configures log4net using a configuration file, of which the - location is stored in the application's configuration file : - - - using log4net.Config; - using System.IO; - using System.Configuration; - - ... - - DOMConfigurator.Configure(new FileInfo(ConfigurationSettings.AppSettings["log4net-config-file"])); - - - In the .config file, the path to the log4net can be specified like this : - - - - - - - - - - - - - Configures the using the specified configuration - file. - - The repository to configure. - The stream to load the XML configuration from. - - - DOMConfigurator is obsolete. Use XmlConfigurator instead of DOMConfigurator. - - - The configuration data must be valid XML. It must contain - at least one element called log4net that holds - the configuration data. - - - Note that this method will NOT close the stream parameter. - - - - - - Configures log4net using the file specified, monitors the file for changes - and reloads the configuration if a change is detected. - - The XML file to load the configuration from. - - - DOMConfigurator is obsolete. Use XmlConfigurator instead of DOMConfigurator. - - - The configuration file must be valid XML. It must contain - at least one element called log4net that holds - the configuration data. - - - The configuration file will be monitored using a - and depends on the behavior of that class. - - - For more information on how to configure log4net using - a separate configuration file, see . - - - - - - - Configures the using the file specified, - monitors the file for changes and reloads the configuration if a change - is detected. - - The repository to configure. - The XML file to load the configuration from. - - - DOMConfigurator is obsolete. Use XmlConfigurator instead of DOMConfigurator. - - - The configuration file must be valid XML. It must contain - at least one element called log4net that holds - the configuration data. - - - The configuration file will be monitored using a - and depends on the behavior of that class. - - - For more information on how to configure log4net using - a separate configuration file, see . - - - - - - - Assembly level attribute to configure the . - - - - AliasDomainAttribute is obsolete. Use AliasRepositoryAttribute instead of AliasDomainAttribute. - - - This attribute may only be used at the assembly scope and can only - be used once per assembly. - - - Use this attribute to configure the - without calling one of the - methods. - - - Nicko Cadell - Gert Driesen - - - - Assembly level attribute to configure the . - - - - This attribute may only be used at the assembly scope and can only - be used once per assembly. - - - Use this attribute to configure the - without calling one of the - methods. - - - If neither of the or - properties are set the configuration is loaded from the application's .config file. - If set the property takes priority over the - property. The property - specifies a path to a file to load the config from. The path is relative to the - application's base directory; . - The property is used as a postfix to the assembly file name. - The config file must be located in the application's base directory; . - For example in a console application setting the to - config has the same effect as not specifying the or - properties. - - - The property can be set to cause the - to watch the configuration file for changes. - - - - Log4net will only look for assembly level configuration attributes once. - When using the log4net assembly level attributes to control the configuration - of log4net you must ensure that the first call to any of the - methods is made from the assembly with the configuration - attributes. - - - If you cannot guarantee the order in which log4net calls will be made from - different assemblies you must use programmatic configuration instead, i.e. - call the method directly. - - - - Nicko Cadell - Gert Driesen - - - - Default constructor - - - - Default constructor - - - - - - Configures the for the specified assembly. - - The assembly that this attribute was defined on. - The repository to configure. - - - Configure the repository using the . - The specified must extend the - class otherwise the will not be able to - configure it. - - - The does not extend . - - - - Attempt to load configuration from the local file system - - The assembly that this attribute was defined on. - The repository to configure. - - - - Configure the specified repository using a - - The repository to configure. - the FileInfo pointing to the config file - - - - Attempt to load configuration from a URI - - The assembly that this attribute was defined on. - The repository to configure. - - - - Gets or sets the filename of the configuration file. - - - The filename of the configuration file. - - - - If specified, this is the name of the configuration file to use with - the . This file path is relative to the - application base directory (). - - - The takes priority over the . - - - - - - Gets or sets the extension of the configuration file. - - - The extension of the configuration file. - - - - If specified this is the extension for the configuration file. - The path to the config file is built by using the application - base directory (), - the assembly file name and the config file extension. - - - If the is set to MyExt then - possible config file names would be: MyConsoleApp.exe.MyExt or - MyClassLibrary.dll.MyExt. - - - The takes priority over the . - - - - - - Gets or sets a value indicating whether to watch the configuration file. - - - true if the configuration should be watched, false otherwise. - - - - If this flag is specified and set to true then the framework - will watch the configuration file and will reload the config each time - the file is modified. - - - The config file can only be watched if it is loaded from local disk. - In a No-Touch (Smart Client) deployment where the application is downloaded - from a web server the config file may not reside on the local disk - and therefore it may not be able to watch it. - - - Watching configuration is not supported on the SSCLI. - - - - - - Class to register for the log4net section of the configuration file - - - The log4net section of the configuration file needs to have a section - handler registered. This is the section handler used. It simply returns - the XML element that is the root of the section. - - - Example of registering the log4net section handler : - - - -
- - - log4net configuration XML goes here - - - - - Nicko Cadell - Gert Driesen - - - - Initializes a new instance of the class. - - - - Default constructor. - - - - - - Parses the configuration section. - - The configuration settings in a corresponding parent configuration section. - The configuration context when called from the ASP.NET configuration system. Otherwise, this parameter is reserved and is a null reference. - The for the log4net section. - The for the log4net section. - - - Returns the containing the configuration data, - - - - - - Assembly level attribute that specifies a plugin to attach to - the repository. - - - - Specifies the type of a plugin to create and attach to the - assembly's repository. The plugin type must implement the - interface. - - - Nicko Cadell - Gert Driesen - - - - Interface used to create plugins. - - - - Interface used to create a plugin. - - - Nicko Cadell - Gert Driesen - - - - Creates the plugin object. - - the new plugin instance - - - Create and return a new plugin instance. - - - - - - Initializes a new instance of the class - with the specified type. - - The type name of plugin to create. - - - Create the attribute with the plugin type specified. - - - Where possible use the constructor that takes a . - - - - - - Initializes a new instance of the class - with the specified type. - - The type of plugin to create. - - - Create the attribute with the plugin type specified. - - - - - - Creates the plugin object defined by this attribute. - - - - Creates the instance of the object as - specified by this attribute. - - - The plugin object. - - - - Returns a representation of the properties of this object. - - - - Overrides base class method to - return a representation of the properties of this object. - - - A representation of the properties of this object - - - - Gets or sets the type for the plugin. - - - The type for the plugin. - - - - The type for the plugin. - - - - - - Gets or sets the type name for the plugin. - - - The type name for the plugin. - - - - The type name for the plugin. - - - Where possible use the property instead. - - - - - - Assembly level attribute to configure the . - - - - This attribute may only be used at the assembly scope and can only - be used once per assembly. - - - Use this attribute to configure the - without calling one of the - methods. - - - Nicko Cadell - - - - Construct provider attribute with type specified - - the type of the provider to use - - - The provider specified must subclass the - class. - - - - - - Configures the SecurityContextProvider - - The assembly that this attribute was defined on. - The repository to configure. - - - Creates a provider instance from the specified. - Sets this as the default security context provider . - - - - - - Gets or sets the type of the provider to use. - - - the type of the provider to use. - - - - The provider specified must subclass the - class. - - - - - - Use this class to initialize the log4net environment using an Xml tree. - - - - Configures a using an Xml tree. - - - Nicko Cadell - Gert Driesen - - - - Private constructor - - - - - Automatically configures the log4net system based on the - application's configuration settings. - - - - Each application has a configuration file. This has the - same name as the application with '.config' appended. - This file is XML and calling this function prompts the - configurator to look in that file for a section called - log4net that contains the configuration data. - - - To use this method to configure log4net you must specify - the section - handler for the log4net configuration section. See the - for an example. - - - - - - - Automatically configures the using settings - stored in the application's configuration file. - - - - Each application has a configuration file. This has the - same name as the application with '.config' appended. - This file is XML and calling this function prompts the - configurator to look in that file for a section called - log4net that contains the configuration data. - - - To use this method to configure log4net you must specify - the section - handler for the log4net configuration section. See the - for an example. - - - The repository to configure. - - - - Configures log4net using a log4net element - - - - Loads the log4net configuration from the XML element - supplied as . - - - The element to parse. - - - - Configures the using the specified XML - element. - - - Loads the log4net configuration from the XML element - supplied as . - - The repository to configure. - The element to parse. - - - - Configures log4net using the specified configuration file. - - The XML file to load the configuration from. - - - The configuration file must be valid XML. It must contain - at least one element called log4net that holds - the log4net configuration data. - - - The log4net configuration file can possible be specified in the application's - configuration file (either MyAppName.exe.config for a - normal application on Web.config for an ASP.NET application). - - - The first element matching <configuration> will be read as the - configuration. If this file is also a .NET .config file then you must specify - a configuration section for the log4net element otherwise .NET will - complain. Set the type for the section handler to , for example: - - -
- - - - - The following example configures log4net using a configuration file, of which the - location is stored in the application's configuration file : - - - using log4net.Config; - using System.IO; - using System.Configuration; - - ... - - XmlConfigurator.Configure(new FileInfo(ConfigurationSettings.AppSettings["log4net-config-file"])); - - - In the .config file, the path to the log4net can be specified like this : - - - - - - - - - - - - - Configures log4net using the specified configuration URI. - - A URI to load the XML configuration from. - - - The configuration data must be valid XML. It must contain - at least one element called log4net that holds - the log4net configuration data. - - - The must support the URI scheme specified. - - - - - - Configures log4net using the specified configuration data stream. - - A stream to load the XML configuration from. - - - The configuration data must be valid XML. It must contain - at least one element called log4net that holds - the log4net configuration data. - - - Note that this method will NOT close the stream parameter. - - - - - - Configures the using the specified configuration - file. - - The repository to configure. - The XML file to load the configuration from. - - - The configuration file must be valid XML. It must contain - at least one element called log4net that holds - the configuration data. - - - The log4net configuration file can possible be specified in the application's - configuration file (either MyAppName.exe.config for a - normal application on Web.config for an ASP.NET application). - - - The first element matching <configuration> will be read as the - configuration. If this file is also a .NET .config file then you must specify - a configuration section for the log4net element otherwise .NET will - complain. Set the type for the section handler to , for example: - - -
- - - - - The following example configures log4net using a configuration file, of which the - location is stored in the application's configuration file : - - - using log4net.Config; - using System.IO; - using System.Configuration; - - ... - - XmlConfigurator.Configure(new FileInfo(ConfigurationSettings.AppSettings["log4net-config-file"])); - - - In the .config file, the path to the log4net can be specified like this : - - - - - - - - - - - - - Configures the using the specified configuration - URI. - - The repository to configure. - A URI to load the XML configuration from. - - - The configuration data must be valid XML. It must contain - at least one element called log4net that holds - the configuration data. - - - The must support the URI scheme specified. - - - - - - Configures the using the specified configuration - file. - - The repository to configure. - The stream to load the XML configuration from. - - - The configuration data must be valid XML. It must contain - at least one element called log4net that holds - the configuration data. - - - Note that this method will NOT close the stream parameter. - - - - - - Configures log4net using the file specified, monitors the file for changes - and reloads the configuration if a change is detected. - - The XML file to load the configuration from. - - - The configuration file must be valid XML. It must contain - at least one element called log4net that holds - the configuration data. - - - The configuration file will be monitored using a - and depends on the behavior of that class. - - - For more information on how to configure log4net using - a separate configuration file, see . - - - - - - - Configures the using the file specified, - monitors the file for changes and reloads the configuration if a change - is detected. - - The repository to configure. - The XML file to load the configuration from. - - - The configuration file must be valid XML. It must contain - at least one element called log4net that holds - the configuration data. - - - The configuration file will be monitored using a - and depends on the behavior of that class. - - - For more information on how to configure log4net using - a separate configuration file, see . - - - - - - - Configures the specified repository using a log4net element. - - The hierarchy to configure. - The element to parse. - - - Loads the log4net configuration from the XML element - supplied as . - - - This method is ultimately called by one of the Configure methods - to load the configuration from an . - - - - - - Class used to watch config files. - - - - Uses the to monitor - changes to a specified file. Because multiple change notifications - may be raised when the file is modified, a timer is used to - compress the notifications into a single event. The timer - waits for time before delivering - the event notification. If any further - change notifications arrive while the timer is waiting it - is reset and waits again for to - elapse. - - - - - - The default amount of time to wait after receiving notification - before reloading the config file. - - - - - Watch a specified config file used to configure a repository - - The repository to configure. - The configuration file to watch. - - - Watch a specified config file used to configure a repository - - - - - - Holds the FileInfo used to configure the XmlConfigurator - - - - - Holds the repository being configured. - - - - - The timer used to compress the notification events. - - - - - Initializes a new instance of the class. - - The repository to configure. - The configuration file to watch. - - - Initializes a new instance of the class. - - - - - - Event handler used by . - - The firing the event. - The argument indicates the file that caused the event to be fired. - - - This handler reloads the configuration from the file when the event is fired. - - - - - - Event handler used by . - - The firing the event. - The argument indicates the file that caused the event to be fired. - - - This handler reloads the configuration from the file when the event is fired. - - - - - - Called by the timer when the configuration has been updated. - - null - - - - The implementation of the interface suitable - for use with the compact framework - - - - This implementation is a simple - mapping between repository name and - object. - - - The .NET Compact Framework 1.0 does not support retrieving assembly - level attributes therefore unlike the DefaultRepositorySelector - this selector does not examine the calling assembly for attributes. - - - Nicko Cadell - - - - Interface used by the to select the . - - - - The uses a - to specify the policy for selecting the correct - to return to the caller. - - - Nicko Cadell - Gert Driesen - - - - Gets the for the specified assembly. - - The assembly to use to lookup to the - The for the assembly. - - - Gets the for the specified assembly. - - - How the association between and - is made is not defined. The implementation may choose any method for - this association. The results of this method must be repeatable, i.e. - when called again with the same arguments the result must be the - save value. - - - - - - Gets the named . - - The name to use to lookup to the . - The named - - Lookup a named . This is the repository created by - calling . - - - - - Creates a new repository for the assembly specified. - - The assembly to use to create the domain to associate with the . - The type of repository to create, must implement . - The repository created. - - - The created will be associated with the domain - specified such that a call to with the - same assembly specified will return the same repository instance. - - - How the association between and - is made is not defined. The implementation may choose any method for - this association. - - - - - - Creates a new repository with the name specified. - - The name to associate with the . - The type of repository to create, must implement . - The repository created. - - - The created will be associated with the name - specified such that a call to with the - same name will return the same repository instance. - - - - - - Test if a named repository exists - - the named repository to check - true if the repository exists - - - Test if a named repository exists. Use - to create a new repository and to retrieve - a repository. - - - - - - Gets an array of all currently defined repositories. - - - An array of the instances created by - this . - - - Gets an array of all of the repositories created by this selector. - - - - - - Event to notify that a logger repository has been created. - - - Event to notify that a logger repository has been created. - - - - Event raised when a new repository is created. - The event source will be this selector. The event args will - be a which - holds the newly created . - - - - - - Create a new repository selector - - the type of the repositories to create, must implement - - - Create an new compact repository selector. - The default type for repositories must be specified, - an appropriate value would be . - - - throw if is null - throw if does not implement - - - - Get the for the specified assembly - - not used - The default - - - The argument is not used. This selector does not create a - separate repository for each assembly. - - - As a named repository is not specified the default repository is - returned. The default repository is named log4net-default-repository. - - - - - - Get the named - - the name of the repository to lookup - The named - - - Get the named . The default - repository is log4net-default-repository. Other repositories - must be created using the . - If the named repository does not exist an exception is thrown. - - - throw if is null - throw if the does not exist - - - - Create a new repository for the assembly specified - - not used - the type of repository to create, must implement - the repository created - - - The argument is not used. This selector does not create a - separate repository for each assembly. - - - If the is null then the - default repository type specified to the constructor is used. - - - As a named repository is not specified the default repository is - returned. The default repository is named log4net-default-repository. - - - - - - Create a new repository for the repository specified - - the repository to associate with the - the type of repository to create, must implement . - If this param is null then the default repository type is used. - the repository created - - - The created will be associated with the repository - specified such that a call to with the - same repository specified will return the same repository instance. - - - If the named repository already exists an exception will be thrown. - - - If is null then the default - repository type specified to the constructor is used. - - - throw if is null - throw if the already exists - - - - Test if a named repository exists - - the named repository to check - true if the repository exists - - - Test if a named repository exists. Use - to create a new repository and to retrieve - a repository. - - - - - - Gets a list of objects - - an array of all known objects - - - Gets an array of all of the repositories created by this selector. - - - - - - Notify the registered listeners that the repository has been created - - The repository that has been created - - - Raises the LoggerRepositoryCreatedEvent - event. - - - - - - Event to notify that a logger repository has been created. - - - Event to notify that a logger repository has been created. - - - - Event raised when a new repository is created. - The event source will be this selector. The event args will - be a which - holds the newly created . - - - - - - The default implementation of the interface. - - - - Uses attributes defined on the calling assembly to determine how to - configure the hierarchy for the repository. - - - Nicko Cadell - Gert Driesen - - - - Creates a new repository selector. - - The type of the repositories to create, must implement - - - Create an new repository selector. - The default type for repositories must be specified, - an appropriate value would be . - - - is . - does not implement . - - - - Gets the for the specified assembly. - - The assembly use to lookup the . - - - The type of the created and the repository - to create can be overridden by specifying the - attribute on the . - - - The default values are to use the - implementation of the interface and to use the - as the name of the repository. - - - The created will be automatically configured using - any attributes defined on - the . - - - The for the assembly - is . - - - - Gets the for the specified repository. - - The repository to use to lookup the . - The for the specified repository. - - - Returns the named repository. If is null - a is thrown. If the repository - does not exist a is thrown. - - - Use to create a repository. - - - is . - does not exist. - - - - Create a new repository for the assembly specified - - the assembly to use to create the repository to associate with the . - The type of repository to create, must implement . - The repository created. - - - The created will be associated with the repository - specified such that a call to with the - same assembly specified will return the same repository instance. - - - The type of the created and - the repository to create can be overridden by specifying the - attribute on the - . The default values are to use the - implementation of the - interface and to use the - as the name of the repository. - - - The created will be automatically - configured using any - attributes defined on the . - - - If a repository for the already exists - that repository will be returned. An error will not be raised and that - repository may be of a different type to that specified in . - Also the attribute on the - assembly may be used to override the repository type specified in - . - - - is . - - - - Creates a new repository for the assembly specified. - - the assembly to use to create the repository to associate with the . - The type of repository to create, must implement . - The name to assign to the created repository - Set to true to read and apply the assembly attributes - The repository created. - - - The created will be associated with the repository - specified such that a call to with the - same assembly specified will return the same repository instance. - - - The type of the created and - the repository to create can be overridden by specifying the - attribute on the - . The default values are to use the - implementation of the - interface and to use the - as the name of the repository. - - - The created will be automatically - configured using any - attributes defined on the . - - - If a repository for the already exists - that repository will be returned. An error will not be raised and that - repository may be of a different type to that specified in . - Also the attribute on the - assembly may be used to override the repository type specified in - . - - - is . - - - - Creates a new repository for the specified repository. - - The repository to associate with the . - The type of repository to create, must implement . - If this param is then the default repository type is used. - The new repository. - - - The created will be associated with the repository - specified such that a call to with the - same repository specified will return the same repository instance. - - - is . - already exists. - - - - Test if a named repository exists - - the named repository to check - true if the repository exists - - - Test if a named repository exists. Use - to create a new repository and to retrieve - a repository. - - - - - - Gets a list of objects - - an array of all known objects - - - Gets an array of all of the repositories created by this selector. - - - - - - Aliases a repository to an existing repository. - - The repository to alias. - The repository that the repository is aliased to. - - - The repository specified will be aliased to the repository when created. - The repository must not already exist. - - - When the repository is created it must utilize the same repository type as - the repository it is aliased to, otherwise the aliasing will fail. - - - - is . - -or- - is . - - - - - Notifies the registered listeners that the repository has been created. - - The repository that has been created. - - - Raises the event. - - - - - - Gets the repository name and repository type for the specified assembly. - - The assembly that has a . - in/out param to hold the repository name to use for the assembly, caller should set this to the default value before calling. - in/out param to hold the type of the repository to create for the assembly, caller should set this to the default value before calling. - is . - - - - Configures the repository using information from the assembly. - - The assembly containing - attributes which define the configuration for the repository. - The repository to configure. - - is . - -or- - is . - - - - - Loads the attribute defined plugins on the assembly. - - The assembly that contains the attributes. - The repository to add the plugins to. - - is . - -or- - is . - - - - - Loads the attribute defined aliases on the assembly. - - The assembly that contains the attributes. - The repository to alias to. - - is . - -or- - is . - - - - - Event to notify that a logger repository has been created. - - - Event to notify that a logger repository has been created. - - - - Event raised when a new repository is created. - The event source will be this selector. The event args will - be a which - holds the newly created . - - - - - - Defined error codes that can be passed to the method. - - - - Values passed to the method. - - - Nicko Cadell - - - - A general error - - - - - Error while writing output - - - - - Failed to flush file - - - - - Failed to close file - - - - - Unable to open output file - - - - - No layout specified - - - - - Failed to parse address - - - - - Appenders may delegate their error handling to an . - - - - Error handling is a particularly tedious to get right because by - definition errors are hard to predict and to reproduce. - - - Nicko Cadell - Gert Driesen - - - - Handles the error and information about the error condition is passed as - a parameter. - - The message associated with the error. - The that was thrown when the error occurred. - The error code associated with the error. - - - Handles the error and information about the error condition is passed as - a parameter. - - - - - - Prints the error message passed as a parameter. - - The message associated with the error. - The that was thrown when the error occurred. - - - See . - - - - - - Prints the error message passed as a parameter. - - The message associated with the error. - - - See . - - - - - - Interface for objects that require fixing. - - - - Interface that indicates that the object requires fixing before it - can be taken outside the context of the appender's - method. - - - When objects that implement this interface are stored - in the context properties maps - and - are fixed - (see ) the - method will be called. - - - Nicko Cadell - - - - Get a portable version of this object - - the portable instance of this object - - - Get a portable instance object that represents the current - state of this object. The portable object can be stored - and logged from any thread with identical results. - - - - - - Interface that all loggers implement - - - - This interface supports logging events and testing if a level - is enabled for logging. - - - These methods will not throw exceptions. Note to implementor, ensure - that the implementation of these methods cannot allow an exception - to be thrown to the caller. - - - Nicko Cadell - Gert Driesen - - - - This generic form is intended to be used by wrappers. - - The declaring type of the method that is - the stack boundary into the logging system for this call. - The level of the message to be logged. - The message object to log. - the exception to log, including its stack trace. Pass null to not log an exception. - - - Generates a logging event for the specified using - the and . - - - - - - This is the most generic printing method that is intended to be used - by wrappers. - - The event being logged. - - - Logs the specified logging event through this logger. - - - - - - Checks if this logger is enabled for a given passed as parameter. - - The level to check. - - true if this logger is enabled for level, otherwise false. - - - - Test if this logger is going to log events of the specified . - - - - - - Gets the name of the logger. - - - The name of the logger. - - - - The name of this logger - - - - - - Gets the where this - Logger instance is attached to. - - - The that this logger belongs to. - - - - Gets the where this - Logger instance is attached to. - - - - - - Base interface for all wrappers - - - - Base interface for all wrappers. - - - All wrappers must implement this interface. - - - Nicko Cadell - - - - Get the implementation behind this wrapper object. - - - The object that in implementing this object. - - - - The object that in implementing this - object. The Logger object may not - be the same object as this object because of logger decorators. - This gets the actual underlying objects that is used to process - the log events. - - - - - - Delegate used to handle logger repository creation event notifications - - The which created the repository. - The event args - that holds the instance that has been created. - - - Delegate used to handle logger repository creation event notifications. - - - - - - Provides data for the event. - - - - A - event is raised every time a is created. - - - - - - The created - - - - - Construct instance using specified - - the that has been created - - - Construct instance using specified - - - - - - The that has been created - - - The that has been created - - - - The that has been created - - - - - - Test if an triggers an action - - - - Implementations of this interface allow certain appenders to decide - when to perform an appender specific action. - - - The action or behavior triggered is defined by the implementation. - - - Nicko Cadell - - - - Test if this event triggers the action - - The event to check - true if this event triggers the action, otherwise false - - - Return true if this event triggers the action - - - - - - Defines the default set of levels recognized by the system. - - - - Each has an associated . - - - Levels have a numeric that defines the relative - ordering between levels. Two Levels with the same - are deemed to be equivalent. - - - The levels that are recognized by log4net are set for each - and each repository can have different levels defined. The levels are stored - in the on the repository. Levels are - looked up by name from the . - - - When logging at level INFO the actual level used is not but - the value of LoggerRepository.LevelMap["INFO"]. The default value for this is - , but this can be changed by reconfiguring the level map. - - - Each level has a in addition to its . The - is the string that is written into the output log. By default - the display name is the same as the level name, but this can be used to alias levels - or to localize the log output. - - - Some of the predefined levels recognized by the system are: - - - - . - - - . - - - . - - - . - - - . - - - . - - - . - - - - Nicko Cadell - Gert Driesen - - - - Constructor - - Integer value for this level, higher values represent more severe levels. - The string name of this level. - The display name for this level. This may be localized or otherwise different from the name - - - Initializes a new instance of the class with - the specified level name and value. - - - - - - Constructor - - Integer value for this level, higher values represent more severe levels. - The string name of this level. - - - Initializes a new instance of the class with - the specified level name and value. - - - - - - Returns the representation of the current - . - - - A representation of the current . - - - - Returns the level . - - - - - - Compares levels. - - The object to compare against. - true if the objects are equal. - - - Compares the levels of instances, and - defers to base class if the target object is not a - instance. - - - - - - Returns a hash code - - A hash code for the current . - - - Returns a hash code suitable for use in hashing algorithms and data - structures like a hash table. - - - Returns the hash code of the level . - - - - - - Compares this instance to a specified object and returns an - indication of their relative values. - - A instance or to compare with this instance. - - A 32-bit signed integer that indicates the relative order of the - values compared. The return value has these meanings: - - - Value - Meaning - - - Less than zero - This instance is less than . - - - Zero - This instance is equal to . - - - Greater than zero - - This instance is greater than . - -or- - is . - - - - - - - must be an instance of - or ; otherwise, an exception is thrown. - - - is not a . - - - - Returns a value indicating whether a specified - is greater than another specified . - - A - A - - true if is greater than - ; otherwise, false. - - - - Compares two levels. - - - - - - Returns a value indicating whether a specified - is less than another specified . - - A - A - - true if is less than - ; otherwise, false. - - - - Compares two levels. - - - - - - Returns a value indicating whether a specified - is greater than or equal to another specified . - - A - A - - true if is greater than or equal to - ; otherwise, false. - - - - Compares two levels. - - - - - - Returns a value indicating whether a specified - is less than or equal to another specified . - - A - A - - true if is less than or equal to - ; otherwise, false. - - - - Compares two levels. - - - - - - Returns a value indicating whether two specified - objects have the same value. - - A or . - A or . - - true if the value of is the same as the - value of ; otherwise, false. - - - - Compares two levels. - - - - - - Returns a value indicating whether two specified - objects have different values. - - A or . - A or . - - true if the value of is different from - the value of ; otherwise, false. - - - - Compares two levels. - - - - - - Compares two specified instances. - - The first to compare. - The second to compare. - - A 32-bit signed integer that indicates the relative order of the - two values compared. The return value has these meanings: - - - Value - Meaning - - - Less than zero - is less than . - - - Zero - is equal to . - - - Greater than zero - is greater than . - - - - - - Compares two levels. - - - - - - The level designates a higher level than all the rest. - - - - - The level designates very severe error events. - System unusable, emergencies. - - - - - The level designates very severe error events - that will presumably lead the application to abort. - - - - - The level designates very severe error events. - Take immediate action, alerts. - - - - - The level designates very severe error events. - Critical condition, critical. - - - - - The level designates very severe error events. - - - - - The level designates error events that might - still allow the application to continue running. - - - - - The level designates potentially harmful - situations. - - - - - The level designates informational messages - that highlight the progress of the application at the highest level. - - - - - The level designates informational messages that - highlight the progress of the application at coarse-grained level. - - - - - The level designates fine-grained informational - events that are most useful to debug an application. - - - - - The level designates fine-grained informational - events that are most useful to debug an application. - - - - - The level designates fine-grained informational - events that are most useful to debug an application. - - - - - The level designates fine-grained informational - events that are most useful to debug an application. - - - - - The level designates fine-grained informational - events that are most useful to debug an application. - - - - - The level designates fine-grained informational - events that are most useful to debug an application. - - - - - The level designates the lowest level possible. - - - - - Gets the name of this level. - - - The name of this level. - - - - Gets the name of this level. - - - - - - Gets the value of this level. - - - The value of this level. - - - - Gets the value of this level. - - - - - - Gets the display name of this level. - - - The display name of this level. - - - - Gets the display name of this level. - - - - - - A strongly-typed collection of objects. - - Nicko Cadell - - - - Creates a read-only wrapper for a LevelCollection instance. - - list to create a readonly wrapper arround - - A LevelCollection wrapper that is read-only. - - - - - Initializes a new instance of the LevelCollection class - that is empty and has the default initial capacity. - - - - - Initializes a new instance of the LevelCollection class - that has the specified initial capacity. - - - The number of elements that the new LevelCollection is initially capable of storing. - - - - - Initializes a new instance of the LevelCollection class - that contains elements copied from the specified LevelCollection. - - The LevelCollection whose elements are copied to the new collection. - - - - Initializes a new instance of the LevelCollection class - that contains elements copied from the specified array. - - The array whose elements are copied to the new list. - - - - Initializes a new instance of the LevelCollection class - that contains elements copied from the specified collection. - - The collection whose elements are copied to the new list. - - - - Allow subclasses to avoid our default constructors - - - - - - Copies the entire LevelCollection to a one-dimensional - array. - - The one-dimensional array to copy to. - - - - Copies the entire LevelCollection to a one-dimensional - array, starting at the specified index of the target array. - - The one-dimensional array to copy to. - The zero-based index in at which copying begins. - - - - Adds a to the end of the LevelCollection. - - The to be added to the end of the LevelCollection. - The index at which the value has been added. - - - - Removes all elements from the LevelCollection. - - - - - Creates a shallow copy of the . - - A new with a shallow copy of the collection data. - - - - Determines whether a given is in the LevelCollection. - - The to check for. - true if is found in the LevelCollection; otherwise, false. - - - - Returns the zero-based index of the first occurrence of a - in the LevelCollection. - - The to locate in the LevelCollection. - - The zero-based index of the first occurrence of - in the entire LevelCollection, if found; otherwise, -1. - - - - - Inserts an element into the LevelCollection at the specified index. - - The zero-based index at which should be inserted. - The to insert. - - is less than zero - -or- - is equal to or greater than . - - - - - Removes the first occurrence of a specific from the LevelCollection. - - The to remove from the LevelCollection. - - The specified was not found in the LevelCollection. - - - - - Removes the element at the specified index of the LevelCollection. - - The zero-based index of the element to remove. - - is less than zero - -or- - is equal to or greater than . - - - - - Returns an enumerator that can iterate through the LevelCollection. - - An for the entire LevelCollection. - - - - Adds the elements of another LevelCollection to the current LevelCollection. - - The LevelCollection whose elements should be added to the end of the current LevelCollection. - The new of the LevelCollection. - - - - Adds the elements of a array to the current LevelCollection. - - The array whose elements should be added to the end of the LevelCollection. - The new of the LevelCollection. - - - - Adds the elements of a collection to the current LevelCollection. - - The collection whose elements should be added to the end of the LevelCollection. - The new of the LevelCollection. - - - - Sets the capacity to the actual number of elements. - - - - - is less than zero - -or- - is equal to or greater than . - - - - - is less than zero - -or- - is equal to or greater than . - - - - - Gets the number of elements actually contained in the LevelCollection. - - - - - Gets a value indicating whether access to the collection is synchronized (thread-safe). - - true if access to the ICollection is synchronized (thread-safe); otherwise, false. - - - - Gets an object that can be used to synchronize access to the collection. - - - - - Gets or sets the at the specified index. - - The zero-based index of the element to get or set. - - is less than zero - -or- - is equal to or greater than . - - - - - Gets a value indicating whether the collection has a fixed size. - - true if the collection has a fixed size; otherwise, false. The default is false - - - - Gets a value indicating whether the IList is read-only. - - true if the collection is read-only; otherwise, false. The default is false - - - - Gets or sets the number of elements the LevelCollection can contain. - - - - - Supports type-safe iteration over a . - - - - - Advances the enumerator to the next element in the collection. - - - true if the enumerator was successfully advanced to the next element; - false if the enumerator has passed the end of the collection. - - - The collection was modified after the enumerator was created. - - - - - Sets the enumerator to its initial position, before the first element in the collection. - - - - - Gets the current element in the collection. - - - - - Type visible only to our subclasses - Used to access protected constructor - - - - - A value - - - - - Supports simple iteration over a . - - - - - Initializes a new instance of the Enumerator class. - - - - - - Advances the enumerator to the next element in the collection. - - - true if the enumerator was successfully advanced to the next element; - false if the enumerator has passed the end of the collection. - - - The collection was modified after the enumerator was created. - - - - - Sets the enumerator to its initial position, before the first element in the collection. - - - - - Gets the current element in the collection. - - - - - An evaluator that triggers at a threshold level - - - - This evaluator will trigger if the level of the event - passed to - is equal to or greater than the - level. - - - Nicko Cadell - - - - The threshold for triggering - - - - - Create a new evaluator using the threshold. - - - - Create a new evaluator using the threshold. - - - This evaluator will trigger if the level of the event - passed to - is equal to or greater than the - level. - - - - - - Create a new evaluator using the specified threshold. - - the threshold to trigger at - - - Create a new evaluator using the specified threshold. - - - This evaluator will trigger if the level of the event - passed to - is equal to or greater than the - level. - - - - - - Is this the triggering event? - - The event to check - This method returns true, if the event level - is equal or higher than the . - Otherwise it returns false - - - This evaluator will trigger if the level of the event - passed to - is equal to or greater than the - level. - - - - - - the threshold to trigger at - - - The that will cause this evaluator to trigger - - - - This evaluator will trigger if the level of the event - passed to - is equal to or greater than the - level. - - - - - - Mapping between string name and Level object - - - - Mapping between string name and object. - This mapping is held separately for each . - The level name is case insensitive. - - - Nicko Cadell - - - - Mapping from level name to Level object. The - level name is case insensitive - - - - - Construct the level map - - - - Construct the level map. - - - - - - Clear the internal maps of all levels - - - - Clear the internal maps of all levels - - - - - - Create a new Level and add it to the map - - the string to display for the Level - the level value to give to the Level - - - Create a new Level and add it to the map - - - - - - - Create a new Level and add it to the map - - the string to display for the Level - the level value to give to the Level - the display name to give to the Level - - - Create a new Level and add it to the map - - - - - - Add a Level to the map - - the Level to add - - - Add a Level to the map - - - - - - Lookup a named level from the map - - the name of the level to lookup is taken from this level. - If the level is not set on the map then this level is added - the level in the map with the name specified - - - Lookup a named level from the map. The name of the level to lookup is taken - from the property of the - argument. - - - If no level with the specified name is found then the - argument is added to the level map - and returned. - - - - - - Lookup a by name - - The name of the Level to lookup - a Level from the map with the name specified - - - Returns the from the - map with the name specified. If the no level is - found then null is returned. - - - - - - Return all possible levels as a list of Level objects. - - all possible levels as a list of Level objects - - - Return all possible levels as a list of Level objects. - - - - - - The internal representation of caller location information. - - - - This class uses the System.Diagnostics.StackTrace class to generate - a call stack. The caller's information is then extracted from this stack. - - - The System.Diagnostics.StackTrace class is not supported on the - .NET Compact Framework 1.0 therefore caller location information is not - available on that framework. - - - The System.Diagnostics.StackTrace class has this to say about Release builds: - - - "StackTrace information will be most informative with Debug build configurations. - By default, Debug builds include debug symbols, while Release builds do not. The - debug symbols contain most of the file, method name, line number, and column - information used in constructing StackFrame and StackTrace objects. StackTrace - might not report as many method calls as expected, due to code transformations - that occur during optimization." - - - This means that in a Release build the caller information may be incomplete or may - not exist at all! Therefore caller location information cannot be relied upon in a Release build. - - - Nicko Cadell - Gert Driesen - - - - When location information is not available the constant - NA is returned. Current value of this string - constant is ?. - - - - - Constructor - - The declaring type of the method that is - the stack boundary into the logging system for this call. - - - Initializes a new instance of the - class based on the current thread. - - - - - - Constructor - - The fully qualified class name. - The method name. - The file name. - The line number of the method within the file. - - - Initializes a new instance of the - class with the specified data. - - - - - - Gets the fully qualified class name of the caller making the logging - request. - - - The fully qualified class name of the caller making the logging - request. - - - - Gets the fully qualified class name of the caller making the logging - request. - - - - - - Gets the file name of the caller. - - - The file name of the caller. - - - - Gets the file name of the caller. - - - - - - Gets the line number of the caller. - - - The line number of the caller. - - - - Gets the line number of the caller. - - - - - - Gets the method name of the caller. - - - The method name of the caller. - - - - Gets the method name of the caller. - - - - - - Gets all available caller information - - - All available caller information, in the format - fully.qualified.classname.of.caller.methodName(Filename:line) - - - - Gets all available caller information, in the format - fully.qualified.classname.of.caller.methodName(Filename:line) - - - - - - Static manager that controls the creation of repositories - - - - Static manager that controls the creation of repositories - - - This class is used by the wrapper managers (e.g. ) - to provide access to the objects. - - - This manager also holds the that is used to - lookup and create repositories. The selector can be set either programmatically using - the property, or by setting the log4net.RepositorySelector - AppSetting in the applications config file to the fully qualified type name of the - selector to use. - - - Nicko Cadell - Gert Driesen - - - - Private constructor to prevent instances. Only static methods should be used. - - - - Private constructor to prevent instances. Only static methods should be used. - - - - - - Hook the shutdown event - - - - On the full .NET runtime, the static constructor hooks up the - AppDomain.ProcessExit and AppDomain.DomainUnload> events. - These are used to shutdown the log4net system as the application exits. - - - - - - Register for ProcessExit and DomainUnload events on the AppDomain - - - - This needs to be in a separate method because the events make - a LinkDemand for the ControlAppDomain SecurityPermission. Because - this is a LinkDemand it is demanded at JIT time. Therefore we cannot - catch the exception in the method itself, we have to catch it in the - caller. - - - - - - Return the default instance. - - the repository to lookup in - Return the default instance - - - Gets the for the repository specified - by the argument. - - - - - - Returns the default instance. - - The assembly to use to lookup the repository. - The default instance. - - - - Return the default instance. - - the repository to lookup in - Return the default instance - - - Gets the for the repository specified - by the argument. - - - - - - Returns the default instance. - - The assembly to use to lookup the repository. - The default instance. - - - Returns the default instance. - - - - - - Returns the named logger if it exists. - - The repository to lookup in. - The fully qualified logger name to look for. - - The logger found, or null if the named logger does not exist in the - specified repository. - - - - If the named logger exists (in the specified repository) then it - returns a reference to the logger, otherwise it returns - null. - - - - - - Returns the named logger if it exists. - - The assembly to use to lookup the repository. - The fully qualified logger name to look for. - - The logger found, or null if the named logger does not exist in the - specified assembly's repository. - - - - If the named logger exists (in the specified assembly's repository) then it - returns a reference to the logger, otherwise it returns - null. - - - - - - Returns all the currently defined loggers in the specified repository. - - The repository to lookup in. - All the defined loggers. - - - The root logger is not included in the returned array. - - - - - - Returns all the currently defined loggers in the specified assembly's repository. - - The assembly to use to lookup the repository. - All the defined loggers. - - - The root logger is not included in the returned array. - - - - - - Retrieves or creates a named logger. - - The repository to lookup in. - The name of the logger to retrieve. - The logger with the name specified. - - - Retrieves a logger named as the - parameter. If the named logger already exists, then the - existing instance will be returned. Otherwise, a new instance is - created. - - - By default, loggers do not have a set level but inherit - it from the hierarchy. This is one of the central features of - log4net. - - - - - - Retrieves or creates a named logger. - - The assembly to use to lookup the repository. - The name of the logger to retrieve. - The logger with the name specified. - - - Retrieves a logger named as the - parameter. If the named logger already exists, then the - existing instance will be returned. Otherwise, a new instance is - created. - - - By default, loggers do not have a set level but inherit - it from the hierarchy. This is one of the central features of - log4net. - - - - - - Shorthand for . - - The repository to lookup in. - The of which the fullname will be used as the name of the logger to retrieve. - The logger with the name specified. - - - Gets the logger for the fully qualified name of the type specified. - - - - - - Shorthand for . - - the assembly to use to lookup the repository - The of which the fullname will be used as the name of the logger to retrieve. - The logger with the name specified. - - - Gets the logger for the fully qualified name of the type specified. - - - - - - Shuts down the log4net system. - - - - Calling this method will safely close and remove all - appenders in all the loggers including root contained in all the - default repositories. - - - Some appenders need to be closed before the application exists. - Otherwise, pending logging events might be lost. - - - The shutdown method is careful to close nested - appenders before closing regular appenders. This is allows - configurations where a regular appender is attached to a logger - and again to a nested appender. - - - - - - Shuts down the repository for the repository specified. - - The repository to shutdown. - - - Calling this method will safely close and remove all - appenders in all the loggers including root contained in the - repository for the specified. - - - Some appenders need to be closed before the application exists. - Otherwise, pending logging events might be lost. - - - The shutdown method is careful to close nested - appenders before closing regular appenders. This is allows - configurations where a regular appender is attached to a logger - and again to a nested appender. - - - - - - Shuts down the repository for the repository specified. - - The assembly to use to lookup the repository. - - - Calling this method will safely close and remove all - appenders in all the loggers including root contained in the - repository for the repository. The repository is looked up using - the specified. - - - Some appenders need to be closed before the application exists. - Otherwise, pending logging events might be lost. - - - The shutdown method is careful to close nested - appenders before closing regular appenders. This is allows - configurations where a regular appender is attached to a logger - and again to a nested appender. - - - - - - Resets all values contained in this repository instance to their defaults. - - The repository to reset. - - - Resets all values contained in the repository instance to their - defaults. This removes all appenders from all loggers, sets - the level of all non-root loggers to null, - sets their additivity flag to true and sets the level - of the root logger to . Moreover, - message disabling is set its default "off" value. - - - - - - Resets all values contained in this repository instance to their defaults. - - The assembly to use to lookup the repository to reset. - - - Resets all values contained in the repository instance to their - defaults. This removes all appenders from all loggers, sets - the level of all non-root loggers to null, - sets their additivity flag to true and sets the level - of the root logger to . Moreover, - message disabling is set its default "off" value. - - - - - - Creates a repository with the specified name. - - The name of the repository, this must be unique amongst repositories. - The created for the repository. - - - CreateDomain is obsolete. Use CreateRepository instead of CreateDomain. - - - Creates the default type of which is a - object. - - - The name must be unique. Repositories cannot be redefined. - An will be thrown if the repository already exists. - - - The specified repository already exists. - - - - Creates a repository with the specified name. - - The name of the repository, this must be unique amongst repositories. - The created for the repository. - - - Creates the default type of which is a - object. - - - The name must be unique. Repositories cannot be redefined. - An will be thrown if the repository already exists. - - - The specified repository already exists. - - - - Creates a repository with the specified name and repository type. - - The name of the repository, this must be unique to the repository. - A that implements - and has a no arg constructor. An instance of this type will be created to act - as the for the repository specified. - The created for the repository. - - - CreateDomain is obsolete. Use CreateRepository instead of CreateDomain. - - - The name must be unique. Repositories cannot be redefined. - An Exception will be thrown if the repository already exists. - - - The specified repository already exists. - - - - Creates a repository with the specified name and repository type. - - The name of the repository, this must be unique to the repository. - A that implements - and has a no arg constructor. An instance of this type will be created to act - as the for the repository specified. - The created for the repository. - - - The name must be unique. Repositories cannot be redefined. - An Exception will be thrown if the repository already exists. - - - The specified repository already exists. - - - - Creates a repository for the specified assembly and repository type. - - The assembly to use to get the name of the repository. - A that implements - and has a no arg constructor. An instance of this type will be created to act - as the for the repository specified. - The created for the repository. - - - CreateDomain is obsolete. Use CreateRepository instead of CreateDomain. - - - The created will be associated with the repository - specified such that a call to with the - same assembly specified will return the same repository instance. - - - - - - Creates a repository for the specified assembly and repository type. - - The assembly to use to get the name of the repository. - A that implements - and has a no arg constructor. An instance of this type will be created to act - as the for the repository specified. - The created for the repository. - - - The created will be associated with the repository - specified such that a call to with the - same assembly specified will return the same repository instance. - - - - - - Gets an array of all currently defined repositories. - - An array of all the known objects. - - - Gets an array of all currently defined repositories. - - - - - - Internal method to get pertinent version info. - - A string of version info. - - - - Called when the event fires - - the that is exiting - null - - - Called when the event fires. - - - When the event is triggered the log4net system is . - - - - - - Called when the event fires - - the that is exiting - null - - - Called when the event fires. - - - When the event is triggered the log4net system is . - - - - - - Initialize the default repository selector - - - - - Gets or sets the repository selector used by the . - - - The repository selector used by the . - - - - The repository selector () is used by - the to create and select repositories - (). - - - The caller to supplies either a string name - or an assembly (if not supplied the assembly is inferred using - ). - - - This context is used by the selector to lookup a specific repository. - - - For the full .NET Framework, the default repository is DefaultRepositorySelector; - for the .NET Compact Framework CompactRepositorySelector is the default - repository. - - - - - - Implementation of the interface. - - - - This class should be used as the base for all wrapper implementations. - - - Nicko Cadell - Gert Driesen - - - - Constructs a new wrapper for the specified logger. - - The logger to wrap. - - - Constructs a new wrapper for the specified logger. - - - - - - The logger that this object is wrapping - - - - - Gets the implementation behind this wrapper object. - - - The object that this object is implementing. - - - - The Logger object may not be the same object as this object - because of logger decorators. - - - This gets the actual underlying objects that is used to process - the log events. - - - - - - Portable data structure used by - - - - Portable data structure used by - - - Nicko Cadell - - - - The logger name. - - - - The logger name. - - - - - - Level of logging event. - - - - Level of logging event. Level cannot be Serializable - because it is a flyweight. Due to its special serialization it - cannot be declared final either. - - - - - - The application supplied message. - - - - The application supplied message of logging event. - - - - - - The name of thread - - - - The name of thread in which this logging event was generated - - - - - - The time the event was logged - - - - The TimeStamp is stored in the local time zone for this computer. - - - - - - Location information for the caller. - - - - Location information for the caller. - - - - - - String representation of the user - - - - String representation of the user's windows name, - like DOMAIN\username - - - - - - String representation of the identity. - - - - String representation of the current thread's principal identity. - - - - - - The string representation of the exception - - - - The string representation of the exception - - - - - - String representation of the AppDomain. - - - - String representation of the AppDomain. - - - - - - Additional event specific properties - - - - A logger or an appender may attach additional - properties to specific events. These properties - have a string key and an object value. - - - - - - Flags passed to the property - - - - Flags passed to the property - - - Nicko Cadell - - - - Fix the MDC - - - - - Fix the NDC - - - - - Fix the rendered message - - - - - Fix the thread name - - - - - Fix the callers location information - - - CAUTION: Very slow to generate - - - - - Fix the callers windows user name - - - CAUTION: Slow to generate - - - - - Fix the domain friendly name - - - - - Fix the callers principal name - - - CAUTION: May be slow to generate - - - - - Fix the exception text - - - - - Fix the event properties - - - - - No fields fixed - - - - - All fields fixed - - - - - Partial fields fixed - - - - This set of partial fields gives good performance. The following fields are fixed: - - - - - - - - - - - - - The internal representation of logging events. - - - - When an affirmative decision is made to log then a - instance is created. This instance - is passed around to the different log4net components. - - - This class is of concern to those wishing to extend log4net. - - - Some of the values in instances of - are considered volatile, that is the values are correct at the - time the event is delivered to appenders, but will not be consistent - at any time afterwards. If an event is to be stored and then processed - at a later time these volatile values must be fixed by calling - . There is a performance penalty - for incurred by calling but it - is essential to maintaining data consistency. - - - Nicko Cadell - Gert Driesen - Douglas de la Torre - Daniel Cazzulino - - - - The key into the Properties map for the host name value. - - - - - The key into the Properties map for the thread identity value. - - - - - The key into the Properties map for the user name value. - - - - - Initializes a new instance of the class - from the supplied parameters. - - The declaring type of the method that is - the stack boundary into the logging system for this call. - The repository this event is logged in. - The name of the logger of this event. - The level of this event. - The message of this event. - The exception for this event. - - - Except , and , - all fields of LoggingEvent are filled when actually needed. Call - to cache all data locally - to prevent inconsistencies. - - This method is called by the log4net framework - to create a logging event. - - - - - - Initializes a new instance of the class - using specific data. - - The declaring type of the method that is - the stack boundary into the logging system for this call. - The repository this event is logged in. - Data used to initialize the logging event. - The fields in the struct that have already been fixed. - - - This constructor is provided to allow a - to be created independently of the log4net framework. This can - be useful if you require a custom serialization scheme. - - - Use the method to obtain an - instance of the class. - - - The parameter should be used to specify which fields in the - struct have been preset. Fields not specified in the - will be captured from the environment if requested or fixed. - - - - - - Initializes a new instance of the class - using specific data. - - The declaring type of the method that is - the stack boundary into the logging system for this call. - The repository this event is logged in. - Data used to initialize the logging event. - - - This constructor is provided to allow a - to be created independently of the log4net framework. This can - be useful if you require a custom serialization scheme. - - - Use the method to obtain an - instance of the class. - - - This constructor sets this objects flags to , - this assumes that all the data relating to this event is passed in via the - parameter and no other data should be captured from the environment. - - - - - - Initializes a new instance of the class - using specific data. - - Data used to initialize the logging event. - - - This constructor is provided to allow a - to be created independently of the log4net framework. This can - be useful if you require a custom serialization scheme. - - - Use the method to obtain an - instance of the class. - - - This constructor sets this objects flags to , - this assumes that all the data relating to this event is passed in via the - parameter and no other data should be captured from the environment. - - - - - - Serialization constructor - - The that holds the serialized object data. - The that contains contextual information about the source or destination. - - - Initializes a new instance of the class - with serialized data. - - - - - - Ensure that the repository is set. - - the value for the repository - - - - Write the rendered message to a TextWriter - - the writer to write the message to - - - Unlike the property this method - does store the message data in the internal cache. Therefore - if called only once this method should be faster than the - property, however if the message is - to be accessed multiple times then the property will be more efficient. - - - - - - Serializes this object into the provided. - - The to populate with data. - The destination for this serialization. - - - The data in this event must be fixed before it can be serialized. - - - The method must be called during the - method call if this event - is to be used outside that method. - - - - - - Gets the portable data for this . - - The for this event. - - - A new can be constructed using a - instance. - - - Does a fix of the data - in the logging event before returning the event data. - - - - - - Gets the portable data for this . - - The set of data to ensure is fixed in the LoggingEventData - The for this event. - - - A new can be constructed using a - instance. - - - - - - Returns this event's exception's rendered using the - . - - - This event's exception's rendered using the . - - - - Obsolete. Use instead. - - - - - - Returns this event's exception's rendered using the - . - - - This event's exception's rendered using the . - - - - Returns this event's exception's rendered using the - . - - - - - - Fix instance fields that hold volatile data. - - - - Some of the values in instances of - are considered volatile, that is the values are correct at the - time the event is delivered to appenders, but will not be consistent - at any time afterwards. If an event is to be stored and then processed - at a later time these volatile values must be fixed by calling - . There is a performance penalty - incurred by calling but it - is essential to maintaining data consistency. - - - Calling is equivalent to - calling passing the parameter - false. - - - See for more - information. - - - - - - Fixes instance fields that hold volatile data. - - Set to true to not fix data that takes a long time to fix. - - - Some of the values in instances of - are considered volatile, that is the values are correct at the - time the event is delivered to appenders, but will not be consistent - at any time afterwards. If an event is to be stored and then processed - at a later time these volatile values must be fixed by calling - . There is a performance penalty - for incurred by calling but it - is essential to maintaining data consistency. - - - The param controls the data that - is fixed. Some of the data that can be fixed takes a long time to - generate, therefore if you do not require those settings to be fixed - they can be ignored by setting the param - to true. This setting will ignore the - and settings. - - - Set to false to ensure that all - settings are fixed. - - - - - - Fix the fields specified by the parameter - - the fields to fix - - - Only fields specified in the will be fixed. - Fields will not be fixed if they have previously been fixed. - It is not possible to 'unfix' a field. - - - - - - Lookup a composite property in this event - - the key for the property to lookup - the value for the property - - - This event has composite properties that combine together properties from - several different contexts in the following order: - - - this events properties - - This event has that can be set. These - properties are specific to this event only. - - - - the thread properties - - The that are set on the current - thread. These properties are shared by all events logged on this thread. - - - - the global properties - - The that are set globally. These - properties are shared by all the threads in the AppDomain. - - - - - - - - - Get all the composite properties in this event - - the containing all the properties - - - See for details of the composite properties - stored by the event. - - - This method returns a single containing all the - properties defined for this event. - - - - - - The internal logging event data. - - - - - The internal logging event data. - - - - - The internal logging event data. - - - - - The fully qualified Type of the calling - logger class in the stack frame (i.e. the declaring type of the method). - - - - - The application supplied message of logging event. - - - - - The exception that was thrown. - - - This is not serialized. The string representation - is serialized instead. - - - - - The repository that generated the logging event - - - This is not serialized. - - - - - The fix state for this event - - - These flags indicate which fields have been fixed. - Not serialized. - - - - - Indicated that the internal cache is updateable (ie not fixed) - - - This is a seperate flag to m_fixFlags as it allows incrementel fixing and simpler - changes in the caching strategy. - - - - - Gets the time when the current process started. - - - This is the time when this process started. - - - - The TimeStamp is stored in the local time zone for this computer. - - - Tries to get the start time for the current process. - Failing that it returns the time of the first call to - this property. - - - Note that AppDomains may be loaded and unloaded within the - same process without the process terminating and therefore - without the process start time being reset. - - - - - - Gets the of the logging event. - - - The of the logging event. - - - - Gets the of the logging event. - - - - - - Gets the time of the logging event. - - - The time of the logging event. - - - - The TimeStamp is stored in the local time zone for this computer. - - - - - - Gets the name of the logger that logged the event. - - - The name of the logger that logged the event. - - - - Gets the name of the logger that logged the event. - - - - - - Gets the location information for this logging event. - - - The location information for this logging event. - - - - The collected information is cached for future use. - - - See the class for more information on - supported frameworks and the different behavior in Debug and - Release builds. - - - - - - Gets the message object used to initialize this event. - - - The message object used to initialize this event. - - - - Gets the message object used to initialize this event. - Note that this event may not have a valid message object. - If the event is serialized the message object will not - be transferred. To get the text of the message the - property must be used - not this property. - - - If there is no defined message object for this event then - null will be returned. - - - - - - Gets the exception object used to initialize this event. - - - The exception object used to initialize this event. - - - - Gets the exception object used to initialize this event. - Note that this event may not have a valid exception object. - If the event is serialized the exception object will not - be transferred. To get the text of the exception the - method must be used - not this property. - - - If there is no defined exception object for this event then - null will be returned. - - - - - - The that this event was created in. - - - - The that this event was created in. - - - - - - Gets the message, rendered through the . - - - The message rendered through the . - - - - The collected information is cached for future use. - - - - - - Gets the name of the current thread. - - - The name of the current thread, or the thread ID when - the name is not available. - - - - The collected information is cached for future use. - - - - - - Gets the name of the current user. - - - The name of the current user, or NOT AVAILABLE when the - underlying runtime has no support for retrieving the name of the - current user. - - - - Calls WindowsIdentity.GetCurrent().Name to get the name of - the current windows user. - - - To improve performance, we could cache the string representation of - the name, and reuse that as long as the identity stayed constant. - Once the identity changed, we would need to re-assign and re-render - the string. - - - However, the WindowsIdentity.GetCurrent() call seems to - return different objects every time, so the current implementation - doesn't do this type of caching. - - - Timing for these operations: - - - - Method - Results - - - WindowsIdentity.GetCurrent() - 10000 loops, 00:00:00.2031250 seconds - - - WindowsIdentity.GetCurrent().Name - 10000 loops, 00:00:08.0468750 seconds - - - - This means we could speed things up almost 40 times by caching the - value of the WindowsIdentity.GetCurrent().Name property, since - this takes (8.04-0.20) = 7.84375 seconds. - - - - - - Gets the identity of the current thread principal. - - - The string name of the identity of the current thread principal. - - - - Calls System.Threading.Thread.CurrentPrincipal.Identity.Name to get - the name of the current thread principal. - - - - - - Gets the AppDomain friendly name. - - - The AppDomain friendly name. - - - - Gets the AppDomain friendly name. - - - - - - Additional event specific properties. - - - Additional event specific properties. - - - - A logger or an appender may attach additional - properties to specific events. These properties - have a string key and an object value. - - - This property is for events that have been added directly to - this event. The aggregate properties (which include these - event properties) can be retrieved using - and . - - - Once the properties have been fixed this property - returns the combined cached properties. This ensures that updates to - this property are always reflected in the underlying storage. When - returning the combined properties there may be more keys in the - Dictionary than expected. - - - - - - The fixed fields in this event - - - The set of fields that are fixed in this event - - - - Fields will not be fixed if they have previously been fixed. - It is not possible to 'unfix' a field. - - - - - - Implementation of wrapper interface. - - - - This implementation of the interface - forwards to the held by the base class. - - - This logger has methods to allow the caller to log at the following - levels: - - - - DEBUG - - The and methods log messages - at the DEBUG level. That is the level with that name defined in the - repositories . The default value - for this level is . The - property tests if this level is enabled for logging. - - - - INFO - - The and methods log messages - at the INFO level. That is the level with that name defined in the - repositories . The default value - for this level is . The - property tests if this level is enabled for logging. - - - - WARN - - The and methods log messages - at the WARN level. That is the level with that name defined in the - repositories . The default value - for this level is . The - property tests if this level is enabled for logging. - - - - ERROR - - The and methods log messages - at the ERROR level. That is the level with that name defined in the - repositories . The default value - for this level is . The - property tests if this level is enabled for logging. - - - - FATAL - - The and methods log messages - at the FATAL level. That is the level with that name defined in the - repositories . The default value - for this level is . The - property tests if this level is enabled for logging. - - - - - The values for these levels and their semantic meanings can be changed by - configuring the for the repository. - - - Nicko Cadell - Gert Driesen - - - - The ILog interface is use by application to log messages into - the log4net framework. - - - - Use the to obtain logger instances - that implement this interface. The - static method is used to get logger instances. - - - This class contains methods for logging at different levels and also - has properties for determining if those logging levels are - enabled in the current configuration. - - - This interface can be implemented in different ways. This documentation - specifies reasonable behavior that a caller can expect from the actual - implementation, however different implementations reserve the right to - do things differently. - - - Simple example of logging messages - - ILog log = LogManager.GetLogger("application-log"); - - log.Info("Application Start"); - log.Debug("This is a debug message"); - - if (log.IsDebugEnabled) - { - log.Debug("This is another debug message"); - } - - - - - Nicko Cadell - Gert Driesen - - - Log a message object with the level. - - Log a message object with the level. - - The message object to log. - - - This method first checks if this logger is DEBUG - enabled by comparing the level of this logger with the - level. If this logger is - DEBUG enabled, then it converts the message object - (passed as parameter) to a string by invoking the appropriate - . It then - proceeds to call all the registered appenders in this logger - and also higher in the hierarchy depending on the value of - the additivity flag. - - WARNING Note that passing an - to this method will print the name of the - but no stack trace. To print a stack trace use the - form instead. - - - - - - - - Log a message object with the level including - the stack trace of the passed - as a parameter. - - The message object to log. - The exception to log, including its stack trace. - - - See the form for more detailed information. - - - - - - - Log a formatted string with the level. - - Logs a formatted message string with the level. - - A String containing zero or more format items - An Object array containing zero or more objects to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - - Logs a formatted message string with the level. - - A String containing zero or more format items - An Object to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - - Logs a formatted message string with the level. - - A String containing zero or more format items - An Object to format - An Object to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - - Logs a formatted message string with the level. - - A String containing zero or more format items - An Object to format - An Object to format - An Object to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - - Logs a formatted message string with the level. - - An that supplies culture-specific formatting information - A String containing zero or more format items - An Object array containing zero or more objects to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - Log a message object with the level. - - Logs a message object with the level. - - - - This method first checks if this logger is INFO - enabled by comparing the level of this logger with the - level. If this logger is - INFO enabled, then it converts the message object - (passed as parameter) to a string by invoking the appropriate - . It then - proceeds to call all the registered appenders in this logger - and also higher in the hierarchy depending on the value of the - additivity flag. - - WARNING Note that passing an - to this method will print the name of the - but no stack trace. To print a stack trace use the - form instead. - - - The message object to log. - - - - - - Logs a message object with the INFO level including - the stack trace of the passed - as a parameter. - - The message object to log. - The exception to log, including its stack trace. - - - See the form for more detailed information. - - - - - - - Log a formatted message string with the level. - - Logs a formatted message string with the level. - - A String containing zero or more format items - An Object array containing zero or more objects to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - - Logs a formatted message string with the level. - - A String containing zero or more format items - An Object to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - - Logs a formatted message string with the level. - - A String containing zero or more format items - An Object to format - An Object to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - - Logs a formatted message string with the level. - - A String containing zero or more format items - An Object to format - An Object to format - An Object to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - - Logs a formatted message string with the level. - - An that supplies culture-specific formatting information - A String containing zero or more format items - An Object array containing zero or more objects to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - Log a message object with the level. - - Log a message object with the level. - - - - This method first checks if this logger is WARN - enabled by comparing the level of this logger with the - level. If this logger is - WARN enabled, then it converts the message object - (passed as parameter) to a string by invoking the appropriate - . It then - proceeds to call all the registered appenders in this logger - and also higher in the hierarchy depending on the value of the - additivity flag. - - WARNING Note that passing an - to this method will print the name of the - but no stack trace. To print a stack trace use the - form instead. - - - The message object to log. - - - - - - Log a message object with the level including - the stack trace of the passed - as a parameter. - - The message object to log. - The exception to log, including its stack trace. - - - See the form for more detailed information. - - - - - - - Log a formatted message string with the level. - - Logs a formatted message string with the level. - - A String containing zero or more format items - An Object array containing zero or more objects to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - - Logs a formatted message string with the level. - - A String containing zero or more format items - An Object to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - - Logs a formatted message string with the level. - - A String containing zero or more format items - An Object to format - An Object to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - - Logs a formatted message string with the level. - - A String containing zero or more format items - An Object to format - An Object to format - An Object to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - - Logs a formatted message string with the level. - - An that supplies culture-specific formatting information - A String containing zero or more format items - An Object array containing zero or more objects to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - Log a message object with the level. - - Logs a message object with the level. - - The message object to log. - - - This method first checks if this logger is ERROR - enabled by comparing the level of this logger with the - level. If this logger is - ERROR enabled, then it converts the message object - (passed as parameter) to a string by invoking the appropriate - . It then - proceeds to call all the registered appenders in this logger - and also higher in the hierarchy depending on the value of the - additivity flag. - - WARNING Note that passing an - to this method will print the name of the - but no stack trace. To print a stack trace use the - form instead. - - - - - - - - Log a message object with the level including - the stack trace of the passed - as a parameter. - - The message object to log. - The exception to log, including its stack trace. - - - See the form for more detailed information. - - - - - - - Log a formatted message string with the level. - - Logs a formatted message string with the level. - - A String containing zero or more format items - An Object array containing zero or more objects to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - - Logs a formatted message string with the level. - - A String containing zero or more format items - An Object to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - - Logs a formatted message string with the level. - - A String containing zero or more format items - An Object to format - An Object to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - - Logs a formatted message string with the level. - - A String containing zero or more format items - An Object to format - An Object to format - An Object to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - - Logs a formatted message string with the level. - - An that supplies culture-specific formatting information - A String containing zero or more format items - An Object array containing zero or more objects to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - Log a message object with the level. - - Log a message object with the level. - - - - This method first checks if this logger is FATAL - enabled by comparing the level of this logger with the - level. If this logger is - FATAL enabled, then it converts the message object - (passed as parameter) to a string by invoking the appropriate - . It then - proceeds to call all the registered appenders in this logger - and also higher in the hierarchy depending on the value of the - additivity flag. - - WARNING Note that passing an - to this method will print the name of the - but no stack trace. To print a stack trace use the - form instead. - - - The message object to log. - - - - - - Log a message object with the level including - the stack trace of the passed - as a parameter. - - The message object to log. - The exception to log, including its stack trace. - - - See the form for more detailed information. - - - - - - - Log a formatted message string with the level. - - Logs a formatted message string with the level. - - A String containing zero or more format items - An Object array containing zero or more objects to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - - Logs a formatted message string with the level. - - A String containing zero or more format items - An Object to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - - Logs a formatted message string with the level. - - A String containing zero or more format items - An Object to format - An Object to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - - Logs a formatted message string with the level. - - A String containing zero or more format items - An Object to format - An Object to format - An Object to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - - Logs a formatted message string with the level. - - An that supplies culture-specific formatting information - A String containing zero or more format items - An Object array containing zero or more objects to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - - Checks if this logger is enabled for the level. - - - true if this logger is enabled for events, false otherwise. - - - - This function is intended to lessen the computational cost of - disabled log debug statements. - - For some ILog interface log, when you write: - - log.Debug("This is entry number: " + i ); - - - You incur the cost constructing the message, string construction and concatenation in - this case, regardless of whether the message is logged or not. - - - If you are worried about speed (who isn't), then you should write: - - - if (log.IsDebugEnabled) - { - log.Debug("This is entry number: " + i ); - } - - - This way you will not incur the cost of parameter - construction if debugging is disabled for log. On - the other hand, if the log is debug enabled, you - will incur the cost of evaluating whether the logger is debug - enabled twice. Once in and once in - the . This is an insignificant overhead - since evaluating a logger takes about 1% of the time it - takes to actually log. This is the preferred style of logging. - - Alternatively if your logger is available statically then the is debug - enabled state can be stored in a static variable like this: - - - private static readonly bool isDebugEnabled = log.IsDebugEnabled; - - - Then when you come to log you can write: - - - if (isDebugEnabled) - { - log.Debug("This is entry number: " + i ); - } - - - This way the debug enabled state is only queried once - when the class is loaded. Using a private static readonly - variable is the most efficient because it is a run time constant - and can be heavily optimized by the JIT compiler. - - - Of course if you use a static readonly variable to - hold the enabled state of the logger then you cannot - change the enabled state at runtime to vary the logging - that is produced. You have to decide if you need absolute - speed or runtime flexibility. - - - - - - - - Checks if this logger is enabled for the level. - - - true if this logger is enabled for events, false otherwise. - - - For more information see . - - - - - - - - Checks if this logger is enabled for the level. - - - true if this logger is enabled for events, false otherwise. - - - For more information see . - - - - - - - - Checks if this logger is enabled for the level. - - - true if this logger is enabled for events, false otherwise. - - - For more information see . - - - - - - - - Checks if this logger is enabled for the level. - - - true if this logger is enabled for events, false otherwise. - - - For more information see . - - - - - - - - Construct a new wrapper for the specified logger. - - The logger to wrap. - - - Construct a new wrapper for the specified logger. - - - - - - Virtual method called when the configuration of the repository changes - - the repository holding the levels - - - Virtual method called when the configuration of the repository changes - - - - - - Logs a message object with the DEBUG level. - - The message object to log. - - - This method first checks if this logger is DEBUG - enabled by comparing the level of this logger with the - DEBUG level. If this logger is - DEBUG enabled, then it converts the message object - (passed as parameter) to a string by invoking the appropriate - . It then - proceeds to call all the registered appenders in this logger - and also higher in the hierarchy depending on the value of the - additivity flag. - - - WARNING Note that passing an - to this method will print the name of the - but no stack trace. To print a stack trace use the - form instead. - - - - - - Logs a message object with the DEBUG level - - The message object to log. - The exception to log, including its stack trace. - - - Logs a message object with the DEBUG level including - the stack trace of the passed - as a parameter. - - - See the form for more detailed information. - - - - - - - Logs a formatted message string with the DEBUG level. - - A String containing zero or more format items - An Object array containing zero or more objects to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - The string is formatted using the - format provider. To specify a localized provider use the - method. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Logs a formatted message string with the DEBUG level. - - A String containing zero or more format items - An Object to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - The string is formatted using the - format provider. To specify a localized provider use the - method. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Logs a formatted message string with the DEBUG level. - - A String containing zero or more format items - An Object to format - An Object to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - The string is formatted using the - format provider. To specify a localized provider use the - method. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Logs a formatted message string with the DEBUG level. - - A String containing zero or more format items - An Object to format - An Object to format - An Object to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - The string is formatted using the - format provider. To specify a localized provider use the - method. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Logs a formatted message string with the DEBUG level. - - An that supplies culture-specific formatting information - A String containing zero or more format items - An Object array containing zero or more objects to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Logs a message object with the INFO level. - - The message object to log. - - - This method first checks if this logger is INFO - enabled by comparing the level of this logger with the - INFO level. If this logger is - INFO enabled, then it converts the message object - (passed as parameter) to a string by invoking the appropriate - . It then - proceeds to call all the registered appenders in this logger - and also higher in the hierarchy depending on the value of - the additivity flag. - - - WARNING Note that passing an - to this method will print the name of the - but no stack trace. To print a stack trace use the - form instead. - - - - - - Logs a message object with the INFO level. - - The message object to log. - The exception to log, including its stack trace. - - - Logs a message object with the INFO level including - the stack trace of the - passed as a parameter. - - - See the form for more detailed information. - - - - - - - Logs a formatted message string with the INFO level. - - A String containing zero or more format items - An Object array containing zero or more objects to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - The string is formatted using the - format provider. To specify a localized provider use the - method. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Logs a formatted message string with the INFO level. - - A String containing zero or more format items - An Object to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - The string is formatted using the - format provider. To specify a localized provider use the - method. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Logs a formatted message string with the INFO level. - - A String containing zero or more format items - An Object to format - An Object to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - The string is formatted using the - format provider. To specify a localized provider use the - method. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Logs a formatted message string with the INFO level. - - A String containing zero or more format items - An Object to format - An Object to format - An Object to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - The string is formatted using the - format provider. To specify a localized provider use the - method. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Logs a formatted message string with the INFO level. - - An that supplies culture-specific formatting information - A String containing zero or more format items - An Object array containing zero or more objects to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Logs a message object with the WARN level. - - the message object to log - - - This method first checks if this logger is WARN - enabled by comparing the level of this logger with the - WARN level. If this logger is - WARN enabled, then it converts the message object - (passed as parameter) to a string by invoking the appropriate - . It then - proceeds to call all the registered appenders in this logger and - also higher in the hierarchy depending on the value of the - additivity flag. - - - WARNING Note that passing an to this - method will print the name of the but no - stack trace. To print a stack trace use the - form instead. - - - - - - Logs a message object with the WARN level - - The message object to log. - The exception to log, including its stack trace. - - - Logs a message object with the WARN level including - the stack trace of the - passed as a parameter. - - - See the form for more detailed information. - - - - - - - Logs a formatted message string with the WARN level. - - A String containing zero or more format items - An Object array containing zero or more objects to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - The string is formatted using the - format provider. To specify a localized provider use the - method. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Logs a formatted message string with the WARN level. - - A String containing zero or more format items - An Object to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - The string is formatted using the - format provider. To specify a localized provider use the - method. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Logs a formatted message string with the WARN level. - - A String containing zero or more format items - An Object to format - An Object to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - The string is formatted using the - format provider. To specify a localized provider use the - method. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Logs a formatted message string with the WARN level. - - A String containing zero or more format items - An Object to format - An Object to format - An Object to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - The string is formatted using the - format provider. To specify a localized provider use the - method. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Logs a formatted message string with the WARN level. - - An that supplies culture-specific formatting information - A String containing zero or more format items - An Object array containing zero or more objects to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Logs a message object with the ERROR level. - - The message object to log. - - - This method first checks if this logger is ERROR - enabled by comparing the level of this logger with the - ERROR level. If this logger is - ERROR enabled, then it converts the message object - (passed as parameter) to a string by invoking the appropriate - . It then - proceeds to call all the registered appenders in this logger and - also higher in the hierarchy depending on the value of the - additivity flag. - - - WARNING Note that passing an to this - method will print the name of the but no - stack trace. To print a stack trace use the - form instead. - - - - - - Logs a message object with the ERROR level - - The message object to log. - The exception to log, including its stack trace. - - - Logs a message object with the ERROR level including - the stack trace of the - passed as a parameter. - - - See the form for more detailed information. - - - - - - - Logs a formatted message string with the ERROR level. - - A String containing zero or more format items - An Object array containing zero or more objects to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - The string is formatted using the - format provider. To specify a localized provider use the - method. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Logs a formatted message string with the ERROR level. - - A String containing zero or more format items - An Object to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - The string is formatted using the - format provider. To specify a localized provider use the - method. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Logs a formatted message string with the ERROR level. - - A String containing zero or more format items - An Object to format - An Object to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - The string is formatted using the - format provider. To specify a localized provider use the - method. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Logs a formatted message string with the ERROR level. - - A String containing zero or more format items - An Object to format - An Object to format - An Object to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - The string is formatted using the - format provider. To specify a localized provider use the - method. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Logs a formatted message string with the ERROR level. - - An that supplies culture-specific formatting information - A String containing zero or more format items - An Object array containing zero or more objects to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Logs a message object with the FATAL level. - - The message object to log. - - - This method first checks if this logger is FATAL - enabled by comparing the level of this logger with the - FATAL level. If this logger is - FATAL enabled, then it converts the message object - (passed as parameter) to a string by invoking the appropriate - . It then - proceeds to call all the registered appenders in this logger and - also higher in the hierarchy depending on the value of the - additivity flag. - - - WARNING Note that passing an to this - method will print the name of the but no - stack trace. To print a stack trace use the - form instead. - - - - - - Logs a message object with the FATAL level - - The message object to log. - The exception to log, including its stack trace. - - - Logs a message object with the FATAL level including - the stack trace of the - passed as a parameter. - - - See the form for more detailed information. - - - - - - - Logs a formatted message string with the FATAL level. - - A String containing zero or more format items - An Object array containing zero or more objects to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - The string is formatted using the - format provider. To specify a localized provider use the - method. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Logs a formatted message string with the FATAL level. - - A String containing zero or more format items - An Object to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - The string is formatted using the - format provider. To specify a localized provider use the - method. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Logs a formatted message string with the FATAL level. - - A String containing zero or more format items - An Object to format - An Object to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - The string is formatted using the - format provider. To specify a localized provider use the - method. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Logs a formatted message string with the FATAL level. - - A String containing zero or more format items - An Object to format - An Object to format - An Object to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - The string is formatted using the - format provider. To specify a localized provider use the - method. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Logs a formatted message string with the FATAL level. - - An that supplies culture-specific formatting information - A String containing zero or more format items - An Object array containing zero or more objects to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Event handler for the event - - the repository - Empty - - - - The fully qualified name of this declaring type not the type of any subclass. - - - - - Checks if this logger is enabled for the DEBUG - level. - - - true if this logger is enabled for DEBUG events, - false otherwise. - - - - This function is intended to lessen the computational cost of - disabled log debug statements. - - - For some log Logger object, when you write: - - - log.Debug("This is entry number: " + i ); - - - You incur the cost constructing the message, concatenation in - this case, regardless of whether the message is logged or not. - - - If you are worried about speed, then you should write: - - - if (log.IsDebugEnabled()) - { - log.Debug("This is entry number: " + i ); - } - - - This way you will not incur the cost of parameter - construction if debugging is disabled for log. On - the other hand, if the log is debug enabled, you - will incur the cost of evaluating whether the logger is debug - enabled twice. Once in IsDebugEnabled and once in - the Debug. This is an insignificant overhead - since evaluating a logger takes about 1% of the time it - takes to actually log. - - - - - - Checks if this logger is enabled for the INFO level. - - - true if this logger is enabled for INFO events, - false otherwise. - - - - See for more information and examples - of using this method. - - - - - - - Checks if this logger is enabled for the WARN level. - - - true if this logger is enabled for WARN events, - false otherwise. - - - - See for more information and examples - of using this method. - - - - - - - Checks if this logger is enabled for the ERROR level. - - - true if this logger is enabled for ERROR events, - false otherwise. - - - - See for more information and examples of using this method. - - - - - - - Checks if this logger is enabled for the FATAL level. - - - true if this logger is enabled for FATAL events, - false otherwise. - - - - See for more information and examples of using this method. - - - - - - - A SecurityContext used by log4net when interacting with protected resources - - - - A SecurityContext used by log4net when interacting with protected resources - for example with operating system services. This can be used to impersonate - a principal that has been granted privileges on the system resources. - - - Nicko Cadell - - - - Impersonate this SecurityContext - - State supplied by the caller - An instance that will - revoke the impersonation of this SecurityContext, or null - - - Impersonate this security context. Further calls on the current - thread should now be made in the security context provided - by this object. When the result - method is called the security - context of the thread should be reverted to the state it was in - before was called. - - - - - - The providers default instances. - - - - A configured component that interacts with potentially protected system - resources uses a to provide the elevated - privileges required. If the object has - been not been explicitly provided to the component then the component - will request one from this . - - - By default the is - an instance of which returns only - objects. This is a reasonable default - where the privileges required are not know by the system. - - - This default behavior can be overridden by subclassing the - and overriding the method to return - the desired objects. The default provider - can be replaced by programmatically setting the value of the - property. - - - An alternative is to use the log4net.Config.SecurityContextProviderAttribute - This attribute can be applied to an assembly in the same way as the - log4net.Config.XmlConfiguratorAttribute". The attribute takes - the type to use as the as an argument. - - - Nicko Cadell - - - - The default provider - - - - - Protected default constructor to allow subclassing - - - - Protected default constructor to allow subclassing - - - - - - Create a SecurityContext for a consumer - - The consumer requesting the SecurityContext - An impersonation context - - - The default implementation is to return a . - - - Subclasses should override this method to provide their own - behavior. - - - - - - Gets or sets the default SecurityContextProvider - - - The default SecurityContextProvider - - - - The default provider is used by configured components that - require a and have not had one - given to them. - - - By default this is an instance of - that returns objects. - - - The default provider can be set programmatically by setting - the value of this property to a sub class of - that has the desired behavior. - - - - - - Delegate used to handle creation of new wrappers. - - The logger to wrap in a wrapper. - - - Delegate used to handle creation of new wrappers. This delegate - is called from the - method to construct the wrapper for the specified logger. - - - The delegate to use is supplied to the - constructor. - - - - - - Maps between logger objects and wrapper objects. - - - - This class maintains a mapping between objects and - objects. Use the method to - lookup the for the specified . - - - New wrapper instances are created by the - method. The default behavior is for this method to delegate construction - of the wrapper to the delegate supplied - to the constructor. This allows specialization of the behavior without - requiring subclassing of this type. - - - Nicko Cadell - Gert Driesen - - - - Initializes a new instance of the - - The handler to use to create the wrapper objects. - - - Initializes a new instance of the class with - the specified handler to create the wrapper objects. - - - - - - Gets the wrapper object for the specified logger. - - The wrapper object for the specified logger - - - If the logger is null then the corresponding wrapper is null. - - - Looks up the wrapper it it has previously been requested and - returns it. If the wrapper has never been requested before then - the virtual method is - called. - - - - - - Creates the wrapper object for the specified logger. - - The logger to wrap in a wrapper. - The wrapper object for the logger. - - - This implementation uses the - passed to the constructor to create the wrapper. This method - can be overridden in a subclass. - - - - - - Called when a monitored repository shutdown event is received. - - The that is shutting down - - - This method is called when a that this - is holding loggers for has signaled its shutdown - event . The default - behavior of this method is to release the references to the loggers - and their wrappers generated for this repository. - - - - - - Event handler for repository shutdown event. - - The sender of the event. - The event args. - - - - Map of logger repositories to hashtables of ILogger to ILoggerWrapper mappings - - - - - The handler to use to create the extension wrapper objects. - - - - - Internal reference to the delegate used to register for repository shutdown events. - - - - - Gets the map of logger repositories. - - - Map of logger repositories. - - - - Gets the hashtable that is keyed on . The - values are hashtables keyed on with the - value being the corresponding . - - - - - - Formats a as "HH:mm:ss,fff". - - - - Formats a in the format "HH:mm:ss,fff" for example, "15:49:37,459". - - - Nicko Cadell - Gert Driesen - - - - Render a as a string. - - - - Interface to abstract the rendering of a - instance into a string. - - - The method is used to render the - date to a text writer. - - - Nicko Cadell - Gert Driesen - - - - Formats the specified date as a string. - - The date to format. - The writer to write to. - - - Format the as a string and write it - to the provided. - - - - - - String constant used to specify AbsoluteTimeDateFormat in layouts. Current value is ABSOLUTE. - - - - - String constant used to specify DateTimeDateFormat in layouts. Current value is DATE. - - - - - String constant used to specify ISO8601DateFormat in layouts. Current value is ISO8601. - - - - - Renders the date into a string. Format is "HH:mm:ss". - - The date to render into a string. - The string builder to write to. - - - Subclasses should override this method to render the date - into a string using a precision up to the second. This method - will be called at most once per second and the result will be - reused if it is needed again during the same second. - - - - - - Renders the date into a string. Format is "HH:mm:ss,fff". - - The date to render into a string. - The writer to write to. - - - Uses the method to generate the - time string up to the seconds and then appends the current - milliseconds. The results from are - cached and is called at most once - per second. - - - Sub classes should override - rather than . - - - - - - Last stored time with precision up to the second. - - - - - Last stored time with precision up to the second, formatted - as a string. - - - - - Last stored time with precision up to the second, formatted - as a string. - - - - - Formats a as "dd MMM yyyy HH:mm:ss,fff" - - - - Formats a in the format - "dd MMM yyyy HH:mm:ss,fff" for example, - "06 Nov 1994 15:49:37,459". - - - Nicko Cadell - Gert Driesen - Angelika Schnagl - - - - Default constructor. - - - - Initializes a new instance of the class. - - - - - - Formats the date without the milliseconds part - - The date to format. - The string builder to write to. - - - Formats a DateTime in the format "dd MMM yyyy HH:mm:ss" - for example, "06 Nov 1994 15:49:37". - - - The base class will append the ",fff" milliseconds section. - This method will only be called at most once per second. - - - - - - The format info for the invariant culture. - - - - - Formats the as "yyyy-MM-dd HH:mm:ss,fff". - - - - Formats the specified as a string: "yyyy-MM-dd HH:mm:ss,fff". - - - Nicko Cadell - Gert Driesen - - - - Default constructor - - - - Initializes a new instance of the class. - - - - - - Formats the date without the milliseconds part - - The date to format. - The string builder to write to. - - - Formats the date specified as a string: "yyyy-MM-dd HH:mm:ss". - - - The base class will append the ",fff" milliseconds section. - This method will only be called at most once per second. - - - - - - Formats the using the method. - - - - Formats the using the method. - - - Nicko Cadell - Gert Driesen - - - - Constructor - - The format string. - - - Initializes a new instance of the class - with the specified format string. - - - The format string must be compatible with the options - that can be supplied to . - - - - - - Formats the date using . - - The date to convert to a string. - The writer to write to. - - - Uses the date format string supplied to the constructor to call - the method to format the date. - - - - - - The format string used to format the . - - - - The format string must be compatible with the options - that can be supplied to . - - - - - - This filter drops all . - - - - You can add this filter to the end of a filter chain to - switch from the default "accept all unless instructed otherwise" - filtering behavior to a "deny all unless instructed otherwise" - behavior. - - - Nicko Cadell - Gert Driesen - - - - Subclass this type to implement customized logging event filtering - - - - Users should extend this class to implement customized logging - event filtering. Note that and - , the parent class of all standard - appenders, have built-in filtering rules. It is suggested that you - first use and understand the built-in rules before rushing to write - your own custom filters. - - - This abstract class assumes and also imposes that filters be - organized in a linear chain. The - method of each filter is called sequentially, in the order of their - addition to the chain. - - - The method must return one - of the integer constants , - or . - - - If the value is returned, then the log event is dropped - immediately without consulting with the remaining filters. - - - If the value is returned, then the next filter - in the chain is consulted. If there are no more filters in the - chain, then the log event is logged. Thus, in the presence of no - filters, the default behavior is to log all logging events. - - - If the value is returned, then the log - event is logged without consulting the remaining filters. - - - The philosophy of log4net filters is largely inspired from the - Linux ipchains. - - - Nicko Cadell - Gert Driesen - - - - Implement this interface to provide customized logging event filtering - - - - Users should implement this interface to implement customized logging - event filtering. Note that and - , the parent class of all standard - appenders, have built-in filtering rules. It is suggested that you - first use and understand the built-in rules before rushing to write - your own custom filters. - - - This abstract class assumes and also imposes that filters be - organized in a linear chain. The - method of each filter is called sequentially, in the order of their - addition to the chain. - - - The method must return one - of the integer constants , - or . - - - If the value is returned, then the log event is dropped - immediately without consulting with the remaining filters. - - - If the value is returned, then the next filter - in the chain is consulted. If there are no more filters in the - chain, then the log event is logged. Thus, in the presence of no - filters, the default behavior is to log all logging events. - - - If the value is returned, then the log - event is logged without consulting the remaining filters. - - - The philosophy of log4net filters is largely inspired from the - Linux ipchains. - - - Nicko Cadell - Gert Driesen - - - - Decide if the logging event should be logged through an appender. - - The LoggingEvent to decide upon - The decision of the filter - - - If the decision is , then the event will be - dropped. If the decision is , then the next - filter, if any, will be invoked. If the decision is then - the event will be logged without consulting with other filters in - the chain. - - - - - - Property to get and set the next filter - - - The next filter in the chain - - - - Filters are typically composed into chains. This property allows the next filter in - the chain to be accessed. - - - - - - Points to the next filter in the filter chain. - - - - See for more information. - - - - - - Initialize the filter with the options set - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - Typically filter's options become active immediately on set, - however this method must still be called. - - - - - - Decide if the should be logged through an appender. - - The to decide upon - The decision of the filter - - - If the decision is , then the event will be - dropped. If the decision is , then the next - filter, if any, will be invoked. If the decision is then - the event will be logged without consulting with other filters in - the chain. - - - This method is marked abstract and must be implemented - in a subclass. - - - - - - Property to get and set the next filter - - - The next filter in the chain - - - - Filters are typically composed into chains. This property allows the next filter in - the chain to be accessed. - - - - - - Default constructor - - - - - Always returns the integer constant - - the LoggingEvent to filter - Always returns - - - Ignores the event being logged and just returns - . This can be used to change the default filter - chain behavior from to . This filter - should only be used as the last filter in the chain - as any further filters will be ignored! - - - - - - The return result from - - - - The return result from - - - - - - The log event must be dropped immediately without - consulting with the remaining filters, if any, in the chain. - - - - - This filter is neutral with respect to the log event. - The remaining filters, if any, should be consulted for a final decision. - - - - - The log event must be logged immediately without - consulting with the remaining filters, if any, in the chain. - - - - - This is a very simple filter based on matching. - - - - The filter admits two options and - . If there is an exact match between the value - of the option and the of the - , then the method returns in - case the option value is set - to true, if it is false then - is returned. If the does not match then - the result will be . - - - Nicko Cadell - Gert Driesen - - - - flag to indicate if the filter should on a match - - - - - the to match against - - - - - Default constructor - - - - - Tests if the of the logging event matches that of the filter - - the event to filter - see remarks - - - If the of the event matches the level of the - filter then the result of the function depends on the - value of . If it is true then - the function will return , it it is false then it - will return . If the does not match then - the result will be . - - - - - - when matching - - - - The property is a flag that determines - the behavior when a matching is found. If the - flag is set to true then the filter will the - logging event, otherwise it will the event. - - - The default is true i.e. to the event. - - - - - - The that the filter will match - - - - The level that this filter will attempt to match against the - level. If a match is found then - the result depends on the value of . - - - - - - This is a simple filter based on matching. - - - - The filter admits three options and - that determine the range of priorities that are matched, and - . If there is a match between the range - of priorities and the of the , then the - method returns in case the - option value is set to true, if it is false - then is returned. If there is no match, is returned. - - - Nicko Cadell - Gert Driesen - - - - Flag to indicate the behavior when matching a - - - - - the minimum value to match - - - - - the maximum value to match - - - - - Default constructor - - - - - Check if the event should be logged. - - the logging event to check - see remarks - - - If the of the logging event is outside the range - matched by this filter then - is returned. If the is matched then the value of - is checked. If it is true then - is returned, otherwise - is returned. - - - - - - when matching and - - - - The property is a flag that determines - the behavior when a matching is found. If the - flag is set to true then the filter will the - logging event, otherwise it will the event. - - - The default is true i.e. to the event. - - - - - - Set the minimum matched - - - - The minimum level that this filter will attempt to match against the - level. If a match is found then - the result depends on the value of . - - - - - - Sets the maximum matched - - - - The maximum level that this filter will attempt to match against the - level. If a match is found then - the result depends on the value of . - - - - - - Simple filter to match a string in the event's logger name. - - - - The works very similar to the . It admits two - options and . If the - of the starts - with the value of the option, then the - method returns in - case the option value is set to true, - if it is false then is returned. - - - Daniel Cazzulino - - - - Flag to indicate the behavior when we have a match - - - - - The logger name string to substring match against the event - - - - - Default constructor - - - - - Check if this filter should allow the event to be logged - - the event being logged - see remarks - - - The rendered message is matched against the . - If the equals the beginning of - the incoming () - then a match will have occurred. If no match occurs - this function will return - allowing other filters to check the event. If a match occurs then - the value of is checked. If it is - true then is returned otherwise - is returned. - - - - - - when matching - - - - The property is a flag that determines - the behavior when a matching is found. If the - flag is set to true then the filter will the - logging event, otherwise it will the event. - - - The default is true i.e. to the event. - - - - - - The that the filter will match - - - - This filter will attempt to match this value against logger name in - the following way. The match will be done against the beginning of the - logger name (using ). The match is - case sensitive. If a match is found then - the result depends on the value of . - - - - - - Simple filter to match a keyed string in the - - - - Simple filter to match a keyed string in the - - - As the MDC has been replaced with layered properties the - should be used instead. - - - Nicko Cadell - Gert Driesen - - - - Simple filter to match a string an event property - - - - Simple filter to match a string in the value for a - specific event property - - - Nicko Cadell - - - - Simple filter to match a string in the rendered message - - - - Simple filter to match a string in the rendered message - - - Nicko Cadell - Gert Driesen - - - - Flag to indicate the behavior when we have a match - - - - - The string to substring match against the message - - - - - A string regex to match - - - - - A regex object to match (generated from m_stringRegexToMatch) - - - - - Default constructor - - - - - Initialize and precompile the Regex if required - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - - - - Check if this filter should allow the event to be logged - - the event being logged - see remarks - - - The rendered message is matched against the . - If the occurs as a substring within - the message then a match will have occurred. If no match occurs - this function will return - allowing other filters to check the event. If a match occurs then - the value of is checked. If it is - true then is returned otherwise - is returned. - - - - - - when matching or - - - - The property is a flag that determines - the behavior when a matching is found. If the - flag is set to true then the filter will the - logging event, otherwise it will the event. - - - The default is true i.e. to the event. - - - - - - Sets the static string to match - - - - The string that will be substring matched against - the rendered message. If the message contains this - string then the filter will match. If a match is found then - the result depends on the value of . - - - One of or - must be specified. - - - - - - Sets the regular expression to match - - - - The regular expression pattern that will be matched against - the rendered message. If the message matches this - pattern then the filter will match. If a match is found then - the result depends on the value of . - - - One of or - must be specified. - - - - - - The key to use to lookup the string from the event properties - - - - - Default constructor - - - - - Check if this filter should allow the event to be logged - - the event being logged - see remarks - - - The event property for the is matched against - the . - If the occurs as a substring within - the property value then a match will have occurred. If no match occurs - this function will return - allowing other filters to check the event. If a match occurs then - the value of is checked. If it is - true then is returned otherwise - is returned. - - - - - - The key to lookup in the event properties and then match against. - - - - The key name to use to lookup in the properties map of the - . The match will be performed against - the value of this property if it exists. - - - - - - Simple filter to match a string in the - - - - Simple filter to match a string in the - - - As the MDC has been replaced with named stacks stored in the - properties collections the should - be used instead. - - - Nicko Cadell - Gert Driesen - - - - Default constructor - - - - Sets the to "NDC". - - - - - - Write the event appdomain name to the output - - - - Writes the to the output writer. - - - Daniel Cazzulino - Nicko Cadell - - - - Abstract class that provides the formatting functionality that - derived classes need. - - - Conversion specifiers in a conversion patterns are parsed to - individual PatternConverters. Each of which is responsible for - converting a logging event in a converter specific manner. - - Nicko Cadell - - - - Abstract class that provides the formatting functionality that - derived classes need. - - - - Conversion specifiers in a conversion patterns are parsed to - individual PatternConverters. Each of which is responsible for - converting a logging event in a converter specific manner. - - - Nicko Cadell - Gert Driesen - - - - Initial buffer size - - - - - Maximum buffer size before it is recycled - - - - - Protected constructor - - - - Initializes a new instance of the class. - - - - - - Evaluate this pattern converter and write the output to a writer. - - that will receive the formatted result. - The state object on which the pattern converter should be executed. - - - Derived pattern converters must override this method in order to - convert conversion specifiers in the appropriate way. - - - - - - Set the next pattern converter in the chains - - the pattern converter that should follow this converter in the chain - the next converter - - - The PatternConverter can merge with its neighbor during this method (or a sub class). - Therefore the return value may or may not be the value of the argument passed in. - - - - - - Write the pattern converter to the writer with appropriate formatting - - that will receive the formatted result. - The state object on which the pattern converter should be executed. - - - This method calls to allow the subclass to perform - appropriate conversion of the pattern converter. If formatting options have - been specified via the then this method will - apply those formattings before writing the output. - - - - - - Fast space padding method. - - to which the spaces will be appended. - The number of spaces to be padded. - - - Fast space padding method. - - - - - - The option string to the converter - - - - - Write an dictionary to a - - the writer to write to - a to use for object conversion - the value to write to the writer - - - Writes the to a writer in the form: - - - {key1=value1, key2=value2, key3=value3} - - - If the specified - is not null then it is used to render the key and value to text, otherwise - the object's ToString method is called. - - - - - - Write an object to a - - the writer to write to - a to use for object conversion - the value to write to the writer - - - Writes the Object to a writer. If the specified - is not null then it is used to render the object to text, otherwise - the object's ToString method is called. - - - - - - Get the next pattern converter in the chain - - - the next pattern converter in the chain - - - - Get the next pattern converter in the chain - - - - - - Gets or sets the formatting info for this converter - - - The formatting info for this converter - - - - Gets or sets the formatting info for this converter - - - - - - Gets or sets the option value for this converter - - - The option for this converter - - - - Gets or sets the option value for this converter - - - - - - Initializes a new instance of the class. - - - - - Derived pattern converters must override this method in order to - convert conversion specifiers in the correct way. - - that will receive the formatted result. - The on which the pattern converter should be executed. - - - - Derived pattern converters must override this method in order to - convert conversion specifiers in the correct way. - - that will receive the formatted result. - The state object on which the pattern converter should be executed. - - - - Flag indicating if this converter handles exceptions - - - false if this converter handles exceptions - - - - - Flag indicating if this converter handles the logging event exception - - false if this converter handles the logging event exception - - - If this converter handles the exception object contained within - , then this property should be set to - false. Otherwise, if the layout ignores the exception - object, then the property should be set to true. - - - Set this value to override a this default setting. The default - value is true, this converter does not handle the exception. - - - - - - Write the event appdomain name to the output - - that will receive the formatted result. - the event being logged - - - Writes the to the output . - - - - - - Date pattern converter, uses a to format - the date of a . - - - - Render the to the writer as a string. - - - The value of the determines - the formatting of the date. The following values are allowed: - - - Option value - Output - - - ISO8601 - - Uses the formatter. - Formats using the "yyyy-MM-dd HH:mm:ss,fff" pattern. - - - - DATE - - Uses the formatter. - Formats using the "dd MMM yyyy HH:mm:ss,fff" for example, "06 Nov 1994 15:49:37,459". - - - - ABSOLUTE - - Uses the formatter. - Formats using the "HH:mm:ss,yyyy" for example, "15:49:37,459". - - - - other - - Any other pattern string uses the formatter. - This formatter passes the pattern string to the - method. - For details on valid patterns see - DateTimeFormatInfo Class. - - - - - - The is in the local time zone and is rendered in that zone. - To output the time in Universal time see . - - - Nicko Cadell - - - - The used to render the date to a string - - - - The used to render the date to a string - - - - - - Initialize the converter pattern based on the property. - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - - - - Convert the pattern into the rendered message - - that will receive the formatted result. - the event being logged - - - Pass the to the - for it to render it to the writer. - - - The passed is in the local time zone. - - - - - - Write the exception text to the output - - - - If an exception object is stored in the logging event - it will be rendered into the pattern output with a - trailing newline. - - - If there is no exception then nothing will be output - and no trailing newline will be appended. - It is typical to put a newline before the exception - and to have the exception as the last data in the pattern. - - - Nicko Cadell - - - - Default constructor - - - - - Write the exception text to the output - - that will receive the formatted result. - the event being logged - - - If an exception object is stored in the logging event - it will be rendered into the pattern output with a - trailing newline. - - - If there is no exception then nothing will be output - and no trailing newline will be appended. - It is typical to put a newline before the exception - and to have the exception as the last data in the pattern. - - - - - - Writes the caller location file name to the output - - - - Writes the value of the for - the event to the output writer. - - - Nicko Cadell - - - - Write the caller location file name to the output - - that will receive the formatted result. - the event being logged - - - Writes the value of the for - the to the output . - - - - - - Write the caller location info to the output - - - - Writes the to the output writer. - - - Nicko Cadell - - - - Write the caller location info to the output - - that will receive the formatted result. - the event being logged - - - Writes the to the output writer. - - - - - - Writes the event identity to the output - - - - Writes the value of the to - the output writer. - - - Daniel Cazzulino - Nicko Cadell - - - - Writes the event identity to the output - - that will receive the formatted result. - the event being logged - - - Writes the value of the - to - the output . - - - - - - Write the event level to the output - - - - Writes the display name of the event - to the writer. - - - Nicko Cadell - - - - Write the event level to the output - - that will receive the formatted result. - the event being logged - - - Writes the of the - to the . - - - - - - Write the caller location line number to the output - - - - Writes the value of the for - the event to the output writer. - - - Nicko Cadell - - - - Write the caller location line number to the output - - that will receive the formatted result. - the event being logged - - - Writes the value of the for - the to the output . - - - - - - Converter for logger name - - - - Outputs the of the event. - - - Nicko Cadell - - - - Converter to output and truncate '.' separated strings - - - - This abstract class supports truncating a '.' separated string - to show a specified number of elements from the right hand side. - This is used to truncate class names that are fully qualified. - - - Subclasses should override the method to - return the fully qualified string. - - - Nicko Cadell - - - - Initialize the converter - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - - - - Get the fully qualified string data - - the event being logged - the fully qualified name - - - Overridden by subclasses to get the fully qualified name before the - precision is applied to it. - - - Return the fully qualified '.' (dot/period) separated string. - - - - - - Convert the pattern to the rendered message - - that will receive the formatted result. - the event being logged - - Render the to the precision - specified by the property. - - - - - Gets the fully qualified name of the logger - - the event being logged - The fully qualified logger name - - - Returns the of the . - - - - - - Writes the event message to the output - - - - Uses the method - to write out the event message. - - - Nicko Cadell - - - - Writes the event message to the output - - that will receive the formatted result. - the event being logged - - - Uses the method - to write out the event message. - - - - - - Write the method name to the output - - - - Writes the caller location to - the output. - - - Nicko Cadell - - - - Write the method name to the output - - that will receive the formatted result. - the event being logged - - - Writes the caller location to - the output. - - - - - - Converter to include event NDC - - - - Outputs the value of the event property named NDC. - - - The should be used instead. - - - Nicko Cadell - - - - Write the event NDC to the output - - that will receive the formatted result. - the event being logged - - - As the thread context stacks are now stored in named event properties - this converter simply looks up the value of the NDC property. - - - The should be used instead. - - - - - - Property pattern converter - - - - Writes out the value of a named property. The property name - should be set in the - property. - - - If the is set to null - then all the properties are written as key value pairs. - - - Nicko Cadell - - - - Write the property value to the output - - that will receive the formatted result. - the event being logged - - - Writes out the value of a named property. The property name - should be set in the - property. - - - If the is set to null - then all the properties are written as key value pairs. - - - - - - Converter to output the relative time of the event - - - - Converter to output the time of the event relative to the start of the program. - - - Nicko Cadell - - - - Write the relative time to the output - - that will receive the formatted result. - the event being logged - - - Writes out the relative time of the event in milliseconds. - That is the number of milliseconds between the event - and the . - - - - - - Helper method to get the time difference between two DateTime objects - - start time (in the current local time zone) - end time (in the current local time zone) - the time difference in milliseconds - - - - Converter to include event thread name - - - - Writes the to the output. - - - Nicko Cadell - - - - Write the ThreadName to the output - - that will receive the formatted result. - the event being logged - - - Writes the to the . - - - - - - Pattern converter for the class name - - - - Outputs the of the event. - - - Nicko Cadell - - - - Gets the fully qualified name of the class - - the event being logged - The fully qualified type name for the caller location - - - Returns the of the . - - - - - - Converter to include event user name - - Douglas de la Torre - Nicko Cadell - - - - Convert the pattern to the rendered message - - that will receive the formatted result. - the event being logged - - - - Write the TimeStamp to the output - - - - Date pattern converter, uses a to format - the date of a . - - - Uses a to format the - in Universal time. - - - See the for details on the date pattern syntax. - - - - Nicko Cadell - - - - Write the TimeStamp to the output - - that will receive the formatted result. - the event being logged - - - Pass the to the - for it to render it to the writer. - - - The passed is in the local time zone, this is converted - to Universal time before it is rendered. - - - - - - - A Layout that renders only the Exception text from the logging event - - - - A Layout that renders only the Exception text from the logging event. - - - This Layout should only be used with appenders that utilize multiple - layouts (e.g. ). - - - Nicko Cadell - Gert Driesen - - - - Extend this abstract class to create your own log layout format. - - - - This is the base implementation of the - interface. Most layout objects should extend this class. - - - - - - Subclasses must implement the - method. - - - Subclasses should set the in their default - constructor. - - - - Nicko Cadell - Gert Driesen - - - - Interface implemented by layout objects - - - - An object is used to format a - as text. The method is called by an - appender to transform the into a string. - - - The layout can also supply and - text that is appender before any events and after all the events respectively. - - - Nicko Cadell - Gert Driesen - - - - Implement this method to create your own layout format. - - The TextWriter to write the formatted event to - The event to format - - - This method is called by an appender to format - the as text and output to a writer. - - - If the caller does not have a and prefers the - event to be formatted as a then the following - code can be used to format the event into a . - - - StringWriter writer = new StringWriter(); - Layout.Format(writer, loggingEvent); - string formattedEvent = writer.ToString(); - - - - - - The content type output by this layout. - - The content type - - - The content type output by this layout. - - - This is a MIME type e.g. "text/plain". - - - - - - The header for the layout format. - - the layout header - - - The Header text will be appended before any logging events - are formatted and appended. - - - - - - The footer for the layout format. - - the layout footer - - - The Footer text will be appended after all the logging events - have been formatted and appended. - - - - - - Flag indicating if this layout handle exceptions - - false if this layout handles exceptions - - - If this layout handles the exception object contained within - , then the layout should return - false. Otherwise, if the layout ignores the exception - object, then the layout should return true. - - - - - - The header text - - - - See for more information. - - - - - - The footer text - - - - See for more information. - - - - - - Flag indicating if this layout handles exceptions - - - - false if this layout handles exceptions - - - - - - Empty default constructor - - - - Empty default constructor - - - - - - Activate component options - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - This method must be implemented by the subclass. - - - - - - Implement this method to create your own layout format. - - The TextWriter to write the formatted event to - The event to format - - - This method is called by an appender to format - the as text. - - - - - - The content type output by this layout. - - The content type is "text/plain" - - - The content type output by this layout. - - - This base class uses the value "text/plain". - To change this value a subclass must override this - property. - - - - - - The header for the layout format. - - the layout header - - - The Header text will be appended before any logging events - are formatted and appended. - - - - - - The footer for the layout format. - - the layout footer - - - The Footer text will be appended after all the logging events - have been formatted and appended. - - - - - - Flag indicating if this layout handles exceptions - - false if this layout handles exceptions - - - If this layout handles the exception object contained within - , then the layout should return - false. Otherwise, if the layout ignores the exception - object, then the layout should return true. - - - Set this value to override a this default setting. The default - value is true, this layout does not handle the exception. - - - - - - Default constructor - - - - Constructs a ExceptionLayout - - - - - - Activate component options - - - - Part of the component activation - framework. - - - This method does nothing as options become effective immediately. - - - - - - Gets the exception text from the logging event - - The TextWriter to write the formatted event to - the event being logged - - - Write the exception string to the . - The exception string is retrieved from . - - - - - - Interface for raw layout objects - - - - Interface used to format a - to an object. - - - This interface should not be confused with the - interface. This interface is used in - only certain specialized situations where a raw object is - required rather than a formatted string. The - is not generally useful than this interface. - - - Nicko Cadell - Gert Driesen - - - - Implement this method to create your own layout format. - - The event to format - returns the formatted event - - - Implement this method to create your own layout format. - - - - - - Adapts any to a - - - - Where an is required this adapter - allows a to be specified. - - - Nicko Cadell - Gert Driesen - - - - The layout to adapt - - - - - Construct a new adapter - - the layout to adapt - - - Create the adapter for the specified . - - - - - - Format the logging event as an object. - - The event to format - returns the formatted event - - - Format the logging event as an object. - - - Uses the object supplied to - the constructor to perform the formatting. - - - - - - A flexible layout configurable with pattern string. - - - - The goal of this class is to a - as a string. The results - depend on the conversion pattern. - - - The conversion pattern is closely related to the conversion - pattern of the printf function in C. A conversion pattern is - composed of literal text and format control expressions called - conversion specifiers. - - - You are free to insert any literal text within the conversion - pattern. - - - Each conversion specifier starts with a percent sign (%) and is - followed by optional format modifiers and a conversion - pattern name. The conversion pattern name specifies the type of - data, e.g. logger, level, date, thread name. The format - modifiers control such things as field width, padding, left and - right justification. The following is a simple example. - - - Let the conversion pattern be "%-5level [%thread]: %message%newline" and assume - that the log4net environment was set to use a PatternLayout. Then the - statements - - - ILog log = LogManager.GetLogger(typeof(TestApp)); - log.Debug("Message 1"); - log.Warn("Message 2"); - - would yield the output - - DEBUG [main]: Message 1 - WARN [main]: Message 2 - - - Note that there is no explicit separator between text and - conversion specifiers. The pattern parser knows when it has reached - the end of a conversion specifier when it reads a conversion - character. In the example above the conversion specifier - %-5level means the level of the logging event should be left - justified to a width of five characters. - - - The recognized conversion pattern names are: - - - - Conversion Pattern Name - Effect - - - a - Equivalent to appdomain - - - appdomain - - Used to output the friendly name of the AppDomain where the - logging event was generated. - - - - c - Equivalent to logger - - - C - Equivalent to type - - - class - Equivalent to type - - - d - Equivalent to date - - - date - - - Used to output the date of the logging event in the local time zone. - To output the date in universal time use the %utcdate pattern. - The date conversion - specifier may be followed by a date format specifier enclosed - between braces. For example, %date{HH:mm:ss,fff} or - %date{dd MMM yyyy HH:mm:ss,fff}. If no date format specifier is - given then ISO8601 format is - assumed (). - - - The date format specifier admits the same syntax as the - time pattern string of the . - - - For better results it is recommended to use the log4net date - formatters. These can be specified using one of the strings - "ABSOLUTE", "DATE" and "ISO8601" for specifying - , - and respectively - . For example, - %date{ISO8601} or %date{ABSOLUTE}. - - - These dedicated date formatters perform significantly - better than . - - - - - exception - - - Used to output the exception passed in with the log message. - - - If an exception object is stored in the logging event - it will be rendered into the pattern output with a - trailing newline. - If there is no exception then nothing will be output - and no trailing newline will be appended. - It is typical to put a newline before the exception - and to have the exception as the last data in the pattern. - - - - - F - Equivalent to file - - - file - - - Used to output the file name where the logging request was - issued. - - - WARNING Generating caller location information is - extremely slow. Its use should be avoided unless execution speed - is not an issue. - - - See the note below on the availability of caller location information. - - - - - identity - - - Used to output the user name for the currently active user - (Principal.Identity.Name). - - - WARNING Generating caller information is - extremely slow. Its use should be avoided unless execution speed - is not an issue. - - - - - l - Equivalent to location - - - L - Equivalent to line - - - location - - - Used to output location information of the caller which generated - the logging event. - - - The location information depends on the CLI implementation but - usually consists of the fully qualified name of the calling - method followed by the callers source the file name and line - number between parentheses. - - - The location information can be very useful. However, its - generation is extremely slow. Its use should be avoided - unless execution speed is not an issue. - - - See the note below on the availability of caller location information. - - - - - level - - - Used to output the level of the logging event. - - - - - line - - - Used to output the line number from where the logging request - was issued. - - - WARNING Generating caller location information is - extremely slow. Its use should be avoided unless execution speed - is not an issue. - - - See the note below on the availability of caller location information. - - - - - logger - - - Used to output the logger of the logging event. The - logger conversion specifier can be optionally followed by - precision specifier, that is a decimal constant in - brackets. - - - If a precision specifier is given, then only the corresponding - number of right most components of the logger name will be - printed. By default the logger name is printed in full. - - - For example, for the logger name "a.b.c" the pattern - %logger{2} will output "b.c". - - - - - m - Equivalent to message - - - M - Equivalent to method - - - message - - - Used to output the application supplied message associated with - the logging event. - - - - - mdc - - - The MDC (old name for the ThreadContext.Properties) is now part of the - combined event properties. This pattern is supported for compatibility - but is equivalent to property. - - - - - method - - - Used to output the method name where the logging request was - issued. - - - WARNING Generating caller location information is - extremely slow. Its use should be avoided unless execution speed - is not an issue. - - - See the note below on the availability of caller location information. - - - - - n - Equivalent to newline - - - newline - - - Outputs the platform dependent line separator character or - characters. - - - This conversion pattern offers the same performance as using - non-portable line separator strings such as "\n", or "\r\n". - Thus, it is the preferred way of specifying a line separator. - - - - - ndc - - - Used to output the NDC (nested diagnostic context) associated - with the thread that generated the logging event. - - - - - p - Equivalent to level - - - P - Equivalent to property - - - properties - Equivalent to property - - - property - - - Used to output the an event specific property. The key to - lookup must be specified within braces and directly following the - pattern specifier, e.g. %property{user} would include the value - from the property that is keyed by the string 'user'. Each property value - that is to be included in the log must be specified separately. - Properties are added to events by loggers or appenders. By default - the log4net:HostName property is set to the name of machine on - which the event was originally logged. - - - If no key is specified, e.g. %property then all the keys and their - values are printed in a comma separated list. - - - The properties of an event are combined from a number of different - contexts. These are listed below in the order in which they are searched. - - - - the event properties - - The event has that can be set. These - properties are specific to this event only. - - - - the thread properties - - The that are set on the current - thread. These properties are shared by all events logged on this thread. - - - - the global properties - - The that are set globally. These - properties are shared by all the threads in the AppDomain. - - - - - - - - r - Equivalent to timestamp - - - t - Equivalent to thread - - - timestamp - - - Used to output the number of milliseconds elapsed since the start - of the application until the creation of the logging event. - - - - - thread - - - Used to output the name of the thread that generated the - logging event. Uses the thread number if no name is available. - - - - - type - - - Used to output the fully qualified type name of the caller - issuing the logging request. This conversion specifier - can be optionally followed by precision specifier, that - is a decimal constant in brackets. - - - If a precision specifier is given, then only the corresponding - number of right most components of the class name will be - printed. By default the class name is output in fully qualified form. - - - For example, for the class name "log4net.Layout.PatternLayout", the - pattern %type{1} will output "PatternLayout". - - - WARNING Generating the caller class information is - slow. Thus, its use should be avoided unless execution speed is - not an issue. - - - See the note below on the availability of caller location information. - - - - - u - Equivalent to identity - - - username - - - Used to output the WindowsIdentity for the currently - active user. - - - WARNING Generating caller WindowsIdentity information is - extremely slow. Its use should be avoided unless execution speed - is not an issue. - - - - - utcdate - - - Used to output the date of the logging event in universal time. - The date conversion - specifier may be followed by a date format specifier enclosed - between braces. For example, %utcdate{HH:mm:ss,fff} or - %utcdate{dd MMM yyyy HH:mm:ss,fff}. If no date format specifier is - given then ISO8601 format is - assumed (). - - - The date format specifier admits the same syntax as the - time pattern string of the . - - - For better results it is recommended to use the log4net date - formatters. These can be specified using one of the strings - "ABSOLUTE", "DATE" and "ISO8601" for specifying - , - and respectively - . For example, - %utcdate{ISO8601} or %utcdate{ABSOLUTE}. - - - These dedicated date formatters perform significantly - better than . - - - - - w - Equivalent to username - - - x - Equivalent to ndc - - - X - Equivalent to mdc - - - % - - - The sequence %% outputs a single percent sign. - - - - - - The single letter patterns are deprecated in favor of the - longer more descriptive pattern names. - - - By default the relevant information is output as is. However, - with the aid of format modifiers it is possible to change the - minimum field width, the maximum field width and justification. - - - The optional format modifier is placed between the percent sign - and the conversion pattern name. - - - The first optional format modifier is the left justification - flag which is just the minus (-) character. Then comes the - optional minimum field width modifier. This is a decimal - constant that represents the minimum number of characters to - output. If the data item requires fewer characters, it is padded on - either the left or the right until the minimum width is - reached. The default is to pad on the left (right justify) but you - can specify right padding with the left justification flag. The - padding character is space. If the data item is larger than the - minimum field width, the field is expanded to accommodate the - data. The value is never truncated. - - - This behavior can be changed using the maximum field - width modifier which is designated by a period followed by a - decimal constant. If the data item is longer than the maximum - field, then the extra characters are removed from the - beginning of the data item and not from the end. For - example, it the maximum field width is eight and the data item is - ten characters long, then the first two characters of the data item - are dropped. This behavior deviates from the printf function in C - where truncation is done from the end. - - - Below are various format modifier examples for the logger - conversion specifier. - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Format modifierleft justifyminimum widthmaximum widthcomment
%20loggerfalse20none - - Left pad with spaces if the logger name is less than 20 - characters long. - -
%-20loggertrue20none - - Right pad with spaces if the logger - name is less than 20 characters long. - -
%.30loggerNAnone30 - - Truncate from the beginning if the logger - name is longer than 30 characters. - -
%20.30loggerfalse2030 - - Left pad with spaces if the logger name is shorter than 20 - characters. However, if logger name is longer than 30 characters, - then truncate from the beginning. - -
%-20.30loggertrue2030 - - Right pad with spaces if the logger name is shorter than 20 - characters. However, if logger name is longer than 30 characters, - then truncate from the beginning. - -
-
- - Note about caller location information.
- The following patterns %type %file %line %method %location %class %C %F %L %l %M - all generate caller location information. - Location information uses the System.Diagnostics.StackTrace class to generate - a call stack. The caller's information is then extracted from this stack. -
- - - The System.Diagnostics.StackTrace class is not supported on the - .NET Compact Framework 1.0 therefore caller location information is not - available on that framework. - - - - - The System.Diagnostics.StackTrace class has this to say about Release builds: - - - "StackTrace information will be most informative with Debug build configurations. - By default, Debug builds include debug symbols, while Release builds do not. The - debug symbols contain most of the file, method name, line number, and column - information used in constructing StackFrame and StackTrace objects. StackTrace - might not report as many method calls as expected, due to code transformations - that occur during optimization." - - - This means that in a Release build the caller information may be incomplete or may - not exist at all! Therefore caller location information cannot be relied upon in a Release build. - - - - Additional pattern converters may be registered with a specific - instance using the method. - -
- - This is a more detailed pattern. - %timestamp [%thread] %level %logger %ndc - %message%newline - - - A similar pattern except that the relative time is - right padded if less than 6 digits, thread name is right padded if - less than 15 characters and truncated if longer and the logger - name is left padded if shorter than 30 characters and truncated if - longer. - %-6timestamp [%15.15thread] %-5level %30.30logger %ndc - %message%newline - - Nicko Cadell - Gert Driesen - Douglas de la Torre - Daniel Cazzulino -
- - - Default pattern string for log output. - - - - Default pattern string for log output. - Currently set to the string "%message%newline" - which just prints the application supplied message. - - - - - - A detailed conversion pattern - - - - A conversion pattern which includes Time, Thread, Logger, and Nested Context. - Current value is %timestamp [%thread] %level %logger %ndc - %message%newline. - - - - - - Internal map of converter identifiers to converter types. - - - - This static map is overridden by the m_converterRegistry instance map - - - - - - the pattern - - - - - the head of the pattern converter chain - - - - - patterns defined on this PatternLayout only - - - - - Initialize the global registry - - - - Defines the builtin global rules. - - - - - - Constructs a PatternLayout using the DefaultConversionPattern - - - - The default pattern just produces the application supplied message. - - - Note to Inheritors: This constructor calls the virtual method - . If you override this method be - aware that it will be called before your is called constructor. - - - As per the contract the - method must be called after the properties on this object have been - configured. - - - - - - Constructs a PatternLayout using the supplied conversion pattern - - the pattern to use - - - Note to Inheritors: This constructor calls the virtual method - . If you override this method be - aware that it will be called before your is called constructor. - - - When using this constructor the method - need not be called. This may not be the case when using a subclass. - - - - - - Create the pattern parser instance - - the pattern to parse - The that will format the event - - - Creates the used to parse the conversion string. Sets the - global and instance rules on the . - - - - - - Initialize layout options - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - - - - Produces a formatted string as specified by the conversion pattern. - - the event being logged - The TextWriter to write the formatted event to - - - Parse the using the patter format - specified in the property. - - - - - - Add a converter to this PatternLayout - - the converter info - - - This version of the method is used by the configurator. - Programmatic users should use the alternative method. - - - - - - Add a converter to this PatternLayout - - the name of the conversion pattern for this converter - the type of the converter - - - Add a named pattern converter to this instance. This - converter will be used in the formatting of the event. - This method must be called before . - - - The specified must extend the - type. - - - - - - The pattern formatting string - - - - The ConversionPattern option. This is the string which - controls formatting and consists of a mix of literal content and - conversion specifiers. - - - - - - Wrapper class used to map converter names to converter types - - - - Pattern converter info class used during configuration to - pass to the - method. - - - - - - default constructor - - - - - Gets or sets the name of the conversion pattern - - - - The name of the pattern in the format string - - - - - - Gets or sets the type of the converter - - - - The value specified must extend the - type. - - - - - - Type converter for the interface - - - - Used to convert objects to the interface. - Supports converting from the interface to - the interface using the . - - - Nicko Cadell - Gert Driesen - - - - Interface supported by type converters - - - - This interface supports conversion from arbitrary types - to a single target type. See . - - - Nicko Cadell - Gert Driesen - - - - Can the source type be converted to the type supported by this object - - the type to convert - true if the conversion is possible - - - Test if the can be converted to the - type supported by this converter. - - - - - - Convert the source object to the type supported by this object - - the object to convert - the converted object - - - Converts the to the type supported - by this converter. - - - - - - Can the sourceType be converted to an - - the source to be to be converted - true if the source type can be converted to - - - Test if the can be converted to a - . Only is supported - as the . - - - - - - Convert the value to a object - - the value to convert - the object - - - Convert the object to a - object. If the object - is a then the - is used to adapt between the two interfaces, otherwise an - exception is thrown. - - - - - - Extract the value of a property from the - - - - Extract the value of a property from the - - - Nicko Cadell - - - - Constructs a RawPropertyLayout - - - - - Lookup the property for - - The event to format - returns property value - - - Looks up and returns the object value of the property - named . If there is no property defined - with than name then null will be returned. - - - - - - The name of the value to lookup in the LoggingEvent Properties collection. - - - Value to lookup in the LoggingEvent Properties collection - - - - String name of the property to lookup in the . - - - - - - Extract the date from the - - - - Extract the date from the - - - Nicko Cadell - Gert Driesen - - - - Constructs a RawTimeStampLayout - - - - - Gets the as a . - - The event to format - returns the time stamp - - - Gets the as a . - - - The time stamp is in local time. To format the time stamp - in universal time use . - - - - - - Extract the date from the - - - - Extract the date from the - - - Nicko Cadell - Gert Driesen - - - - Constructs a RawUtcTimeStampLayout - - - - - Gets the as a . - - The event to format - returns the time stamp - - - Gets the as a . - - - The time stamp is in universal time. To format the time stamp - in local time use . - - - - - - A very simple layout - - - - SimpleLayout consists of the level of the log statement, - followed by " - " and then the log message itself. For example, - - DEBUG - Hello world - - - - Nicko Cadell - Gert Driesen - - - - Constructs a SimpleLayout - - - - - Initialize layout options - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - - - - Produces a simple formatted output. - - the event being logged - The TextWriter to write the formatted event to - - - Formats the event as the level of the even, - followed by " - " and then the log message itself. The - output is terminated by a newline. - - - - - - Layout that formats the log events as XML elements. - - - - The output of the consists of a series of - log4net:event elements. It does not output a complete well-formed XML - file. The output is designed to be included as an external entity - in a separate file to form a correct XML file. - - - For example, if abc is the name of the file where - the output goes, then a well-formed XML file would - be: - - - <?xml version="1.0" ?> - - <!DOCTYPE log4net:events SYSTEM "log4net-events.dtd" [<!ENTITY data SYSTEM "abc">]> - - <log4net:events version="1.2" xmlns:log4net="http://logging.apache.org/log4net/schemas/log4net-events-1.2> - &data; - </log4net:events> - - - This approach enforces the independence of the - and the appender where it is embedded. - - - The version attribute helps components to correctly - interpret output generated by . The value of - this attribute should be "1.2" for release 1.2 and later. - - - Alternatively the Header and Footer properties can be - configured to output the correct XML header, open tag and close tag. - When setting the Header and Footer properties it is essential - that the underlying data store not be appendable otherwise the data - will become invalid XML. - - - Nicko Cadell - Gert Driesen - - - - Layout that formats the log events as XML elements. - - - - This is an abstract class that must be subclassed by an implementation - to conform to a specific schema. - - - Deriving classes must implement the method. - - - Nicko Cadell - Gert Driesen - - - - Protected constructor to support subclasses - - - - Initializes a new instance of the class - with no location info. - - - - - - Protected constructor to support subclasses - - - - The parameter determines whether - location information will be output by the layout. If - is set to true, then the - file name and line number of the statement at the origin of the log - statement will be output. - - - If you are embedding this layout within an SMTPAppender - then make sure to set the LocationInfo option of that - appender as well. - - - - - - Initialize layout options - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - - - - Produces a formatted string. - - The event being logged. - The TextWriter to write the formatted event to - - - Format the and write it to the . - - - This method creates an that writes to the - . The is passed - to the method. Subclasses should override the - method rather than this method. - - - - - - Does the actual writing of the XML. - - The writer to use to output the event to. - The event to write. - - - Subclasses should override this method to format - the as XML. - - - - - - Flag to indicate if location information should be included in - the XML events. - - - - - Writer adapter that ignores Close - - - - - The string to replace invalid chars with - - - - - Gets a value indicating whether to include location information in - the XML events. - - - true if location information should be included in the XML - events; otherwise, false. - - - - If is set to true, then the file - name and line number of the statement at the origin of the log - statement will be output. - - - If you are embedding this layout within an SMTPAppender - then make sure to set the LocationInfo option of that - appender as well. - - - - - - The string to replace characters that can not be expressed in XML with. - - - Not all characters may be expressed in XML. This property contains the - string to replace those that can not with. This defaults to a ?. Set it - to the empty string to simply remove offending characters. For more - details on the allowed character ranges see http://www.w3.org/TR/REC-xml/#charsets - Character replacement will occur in the log message, the property names - and the property values. - - - - - - - Gets the content type output by this layout. - - - As this is the XML layout, the value is always "text/xml". - - - - As this is the XML layout, the value is always "text/xml". - - - - - - Constructs an XmlLayout - - - - - Constructs an XmlLayout. - - - - The LocationInfo option takes a boolean value. By - default, it is set to false which means there will be no location - information output by this layout. If the the option is set to - true, then the file name and line number of the statement - at the origin of the log statement will be output. - - - If you are embedding this layout within an SmtpAppender - then make sure to set the LocationInfo option of that - appender as well. - - - - - - Initialize layout options - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - Builds a cache of the element names - - - - - - Does the actual writing of the XML. - - The writer to use to output the event to. - The event to write. - - - Override the base class method - to write the to the . - - - - - - The prefix to use for all generated element names - - - - - The prefix to use for all element names - - - - The default prefix is log4net. Set this property - to change the prefix. If the prefix is set to an empty string - then no prefix will be written. - - - - - - Set whether or not to base64 encode the message. - - - - By default the log message will be written as text to the xml - output. This can cause problems when the message contains binary - data. By setting this to true the contents of the message will be - base64 encoded. If this is set then invalid character replacement - (see ) will not be performed - on the log message. - - - - - - Set whether or not to base64 encode the property values. - - - - By default the properties will be written as text to the xml - output. This can cause problems when one or more properties contain - binary data. By setting this to true the values of the properties - will be base64 encoded. If this is set then invalid character replacement - (see ) will not be performed - on the property values. - - - - - - Layout that formats the log events as XML elements compatible with the log4j schema - - - - Formats the log events according to the http://logging.apache.org/log4j schema. - - - Nicko Cadell - - - - The 1st of January 1970 in UTC - - - - - Constructs an XMLLayoutSchemaLog4j - - - - - Constructs an XMLLayoutSchemaLog4j. - - - - The LocationInfo option takes a boolean value. By - default, it is set to false which means there will be no location - information output by this layout. If the the option is set to - true, then the file name and line number of the statement - at the origin of the log statement will be output. - - - If you are embedding this layout within an SMTPAppender - then make sure to set the LocationInfo option of that - appender as well. - - - - - - Actually do the writing of the xml - - the writer to use - the event to write - - - Generate XML that is compatible with the log4j schema. - - - - - - The version of the log4j schema to use. - - - - Only version 1.2 of the log4j schema is supported. - - - - - - The default object Renderer. - - - - The default renderer supports rendering objects and collections to strings. - - - See the method for details of the output. - - - Nicko Cadell - Gert Driesen - - - - Implement this interface in order to render objects as strings - - - - Certain types require special case conversion to - string form. This conversion is done by an object renderer. - Object renderers implement the - interface. - - - Nicko Cadell - Gert Driesen - - - - Render the object to a string - - The map used to lookup renderers - The object to render - The writer to render to - - - Render the object to a - string. - - - The parameter is - provided to lookup and render other objects. This is - very useful where contains - nested objects of unknown type. The - method can be used to render these objects. - - - - - - Default constructor - - - - Default constructor - - - - - - Render the object to a string - - The map used to lookup renderers - The object to render - The writer to render to - - - Render the object to a string. - - - The parameter is - provided to lookup and render other objects. This is - very useful where contains - nested objects of unknown type. The - method can be used to render these objects. - - - The default renderer supports rendering objects to strings as follows: - - - - Value - Rendered String - - - null - - "(null)" - - - - - - - For a one dimensional array this is the - array type name, an open brace, followed by a comma - separated list of the elements (using the appropriate - renderer), followed by a close brace. - - - For example: int[] {1, 2, 3}. - - - If the array is not one dimensional the - Array.ToString() is returned. - - - - - , & - - - Rendered as an open brace, followed by a comma - separated list of the elements (using the appropriate - renderer), followed by a close brace. - - - For example: {a, b, c}. - - - All collection classes that implement its subclasses, - or generic equivalents all implement the interface. - - - - - - - - Rendered as the key, an equals sign ('='), and the value (using the appropriate - renderer). - - - For example: key=value. - - - - - other - - Object.ToString() - - - - - - - - Render the array argument into a string - - The map used to lookup renderers - the array to render - The writer to render to - - - For a one dimensional array this is the - array type name, an open brace, followed by a comma - separated list of the elements (using the appropriate - renderer), followed by a close brace. For example: - int[] {1, 2, 3}. - - - If the array is not one dimensional the - Array.ToString() is returned. - - - - - - Render the enumerator argument into a string - - The map used to lookup renderers - the enumerator to render - The writer to render to - - - Rendered as an open brace, followed by a comma - separated list of the elements (using the appropriate - renderer), followed by a close brace. For example: - {a, b, c}. - - - - - - Render the DictionaryEntry argument into a string - - The map used to lookup renderers - the DictionaryEntry to render - The writer to render to - - - Render the key, an equals sign ('='), and the value (using the appropriate - renderer). For example: key=value. - - - - - - Map class objects to an . - - - - Maintains a mapping between types that require special - rendering and the that - is used to render them. - - - The method is used to render an - object using the appropriate renderers defined in this map. - - - Nicko Cadell - Gert Driesen - - - - Default Constructor - - - - Default constructor. - - - - - - Render using the appropriate renderer. - - the object to render to a string - the object rendered as a string - - - This is a convenience method used to render an object to a string. - The alternative method - should be used when streaming output to a . - - - - - - Render using the appropriate renderer. - - the object to render to a string - The writer to render to - - - Find the appropriate renderer for the type of the - parameter. This is accomplished by calling the - method. Once a renderer is found, it is - applied on the object and the result is returned - as a . - - - - - - Gets the renderer for the specified object type - - the object to lookup the renderer for - the renderer for - - - Gets the renderer for the specified object type. - - - Syntactic sugar method that calls - with the type of the object parameter. - - - - - - Gets the renderer for the specified type - - the type to lookup the renderer for - the renderer for the specified type - - - Returns the renderer for the specified type. - If no specific renderer has been defined the - will be returned. - - - - - - Internal function to recursively search interfaces - - the type to lookup the renderer for - the renderer for the specified type - - - - Clear the map of renderers - - - - Clear the custom renderers defined by using - . The - cannot be removed. - - - - - - Register an for . - - the type that will be rendered by - the renderer for - - - Register an object renderer for a specific source type. - This renderer will be returned from a call to - specifying the same as an argument. - - - - - - Get the default renderer instance - - the default renderer - - - Get the default renderer - - - - - - Interface implemented by logger repository plugins. - - - - Plugins define additional behavior that can be associated - with a . - The held by the - property is used to store the plugins for a repository. - - - The log4net.Config.PluginAttribute can be used to - attach plugins to repositories created using configuration - attributes. - - - Nicko Cadell - Gert Driesen - - - - Attaches the plugin to the specified . - - The that this plugin should be attached to. - - - A plugin may only be attached to a single repository. - - - This method is called when the plugin is attached to the repository. - - - - - - Is called when the plugin is to shutdown. - - - - This method is called to notify the plugin that - it should stop operating and should detach from - the repository. - - - - - - Gets the name of the plugin. - - - The name of the plugin. - - - - Plugins are stored in the - keyed by name. Each plugin instance attached to a - repository must be a unique name. - - - - - - A strongly-typed collection of objects. - - Nicko Cadell - - - - Creates a read-only wrapper for a PluginCollection instance. - - list to create a readonly wrapper arround - - A PluginCollection wrapper that is read-only. - - - - - Initializes a new instance of the PluginCollection class - that is empty and has the default initial capacity. - - - - - Initializes a new instance of the PluginCollection class - that has the specified initial capacity. - - - The number of elements that the new PluginCollection is initially capable of storing. - - - - - Initializes a new instance of the PluginCollection class - that contains elements copied from the specified PluginCollection. - - The PluginCollection whose elements are copied to the new collection. - - - - Initializes a new instance of the PluginCollection class - that contains elements copied from the specified array. - - The array whose elements are copied to the new list. - - - - Initializes a new instance of the PluginCollection class - that contains elements copied from the specified collection. - - The collection whose elements are copied to the new list. - - - - Allow subclasses to avoid our default constructors - - - - - - - Copies the entire PluginCollection to a one-dimensional - array. - - The one-dimensional array to copy to. - - - - Copies the entire PluginCollection to a one-dimensional - array, starting at the specified index of the target array. - - The one-dimensional array to copy to. - The zero-based index in at which copying begins. - - - - Adds a to the end of the PluginCollection. - - The to be added to the end of the PluginCollection. - The index at which the value has been added. - - - - Removes all elements from the PluginCollection. - - - - - Creates a shallow copy of the . - - A new with a shallow copy of the collection data. - - - - Determines whether a given is in the PluginCollection. - - The to check for. - true if is found in the PluginCollection; otherwise, false. - - - - Returns the zero-based index of the first occurrence of a - in the PluginCollection. - - The to locate in the PluginCollection. - - The zero-based index of the first occurrence of - in the entire PluginCollection, if found; otherwise, -1. - - - - - Inserts an element into the PluginCollection at the specified index. - - The zero-based index at which should be inserted. - The to insert. - - is less than zero - -or- - is equal to or greater than . - - - - - Removes the first occurrence of a specific from the PluginCollection. - - The to remove from the PluginCollection. - - The specified was not found in the PluginCollection. - - - - - Removes the element at the specified index of the PluginCollection. - - The zero-based index of the element to remove. - - is less than zero. - -or- - is equal to or greater than . - - - - - Returns an enumerator that can iterate through the PluginCollection. - - An for the entire PluginCollection. - - - - Adds the elements of another PluginCollection to the current PluginCollection. - - The PluginCollection whose elements should be added to the end of the current PluginCollection. - The new of the PluginCollection. - - - - Adds the elements of a array to the current PluginCollection. - - The array whose elements should be added to the end of the PluginCollection. - The new of the PluginCollection. - - - - Adds the elements of a collection to the current PluginCollection. - - The collection whose elements should be added to the end of the PluginCollection. - The new of the PluginCollection. - - - - Sets the capacity to the actual number of elements. - - - - - is less than zero. - -or- - is equal to or greater than . - - - - - is less than zero. - -or- - is equal to or greater than . - - - - - Gets the number of elements actually contained in the PluginCollection. - - - - - Gets a value indicating whether access to the collection is synchronized (thread-safe). - - true if access to the ICollection is synchronized (thread-safe); otherwise, false. - - - - Gets an object that can be used to synchronize access to the collection. - - - An object that can be used to synchronize access to the collection. - - - - - Gets or sets the at the specified index. - - - The at the specified index. - - The zero-based index of the element to get or set. - - is less than zero. - -or- - is equal to or greater than . - - - - - Gets a value indicating whether the collection has a fixed size. - - true if the collection has a fixed size; otherwise, false. The default is false. - - - - Gets a value indicating whether the IList is read-only. - - true if the collection is read-only; otherwise, false. The default is false. - - - - Gets or sets the number of elements the PluginCollection can contain. - - - The number of elements the PluginCollection can contain. - - - - - Supports type-safe iteration over a . - - - - - - Advances the enumerator to the next element in the collection. - - - true if the enumerator was successfully advanced to the next element; - false if the enumerator has passed the end of the collection. - - - The collection was modified after the enumerator was created. - - - - - Sets the enumerator to its initial position, before the first element in the collection. - - - - - Gets the current element in the collection. - - - - - Type visible only to our subclasses - Used to access protected constructor - - - - - - A value - - - - - Supports simple iteration over a . - - - - - - Initializes a new instance of the Enumerator class. - - - - - - Advances the enumerator to the next element in the collection. - - - true if the enumerator was successfully advanced to the next element; - false if the enumerator has passed the end of the collection. - - - The collection was modified after the enumerator was created. - - - - - Sets the enumerator to its initial position, before the first element in the collection. - - - - - Gets the current element in the collection. - - - The current element in the collection. - - - - - - - - Map of repository plugins. - - - - This class is a name keyed map of the plugins that are - attached to a repository. - - - Nicko Cadell - Gert Driesen - - - - Constructor - - The repository that the plugins should be attached to. - - - Initialize a new instance of the class with a - repository that the plugins should be attached to. - - - - - - Adds a to the map. - - The to add to the map. - - - The will be attached to the repository when added. - - - If there already exists a plugin with the same name - attached to the repository then the old plugin will - be and replaced with - the new plugin. - - - - - - Removes a from the map. - - The to remove from the map. - - - Remove a specific plugin from this map. - - - - - - Gets a by name. - - The name of the to lookup. - - The from the map with the name specified, or - null if no plugin is found. - - - - Lookup a plugin by name. If the plugin is not found null - will be returned. - - - - - - Gets all possible plugins as a list of objects. - - All possible plugins as a list of objects. - - - Get a collection of all the plugins defined in this map. - - - - - - Base implementation of - - - - Default abstract implementation of the - interface. This base class can be used by implementors - of the interface. - - - Nicko Cadell - Gert Driesen - - - - Constructor - - the name of the plugin - - Initializes a new Plugin with the specified name. - - - - - Attaches this plugin to a . - - The that this plugin should be attached to. - - - A plugin may only be attached to a single repository. - - - This method is called when the plugin is attached to the repository. - - - - - - Is called when the plugin is to shutdown. - - - - This method is called to notify the plugin that - it should stop operating and should detach from - the repository. - - - - - - The name of this plugin. - - - - - The repository this plugin is attached to. - - - - - Gets or sets the name of the plugin. - - - The name of the plugin. - - - - Plugins are stored in the - keyed by name. Each plugin instance attached to a - repository must be a unique name. - - - The name of the plugin must not change one the - plugin has been attached to a repository. - - - - - - The repository for this plugin - - - The that this plugin is attached to. - - - - Gets or sets the that this plugin is - attached to. - - - - - - Plugin that listens for events from the - - - - This plugin publishes an instance of - on a specified . This listens for logging events delivered from - a remote . - - - When an event is received it is relogged within the attached repository - as if it had been raised locally. - - - Nicko Cadell - Gert Driesen - - - - Default constructor - - - - Initializes a new instance of the class. - - - The property must be set. - - - - - - Construct with sink Uri. - - The name to publish the sink under in the remoting infrastructure. - See for more details. - - - Initializes a new instance of the class - with specified name. - - - - - - Attaches this plugin to a . - - The that this plugin should be attached to. - - - A plugin may only be attached to a single repository. - - - This method is called when the plugin is attached to the repository. - - - - - - Is called when the plugin is to shutdown. - - - - When the plugin is shutdown the remote logging - sink is disconnected. - - - - - - Gets or sets the URI of this sink. - - - The URI of this sink. - - - - This is the name under which the object is marshaled. - - - - - - - Delivers objects to a remote sink. - - - - Internal class used to listen for logging events - and deliver them to the local repository. - - - - - - Constructor - - The repository to log to. - - - Initializes a new instance of the for the - specified . - - - - - - Logs the events to the repository. - - The events to log. - - - The events passed are logged to the - - - - - - Obtains a lifetime service object to control the lifetime - policy for this instance. - - null to indicate that this instance should live forever. - - - Obtains a lifetime service object to control the lifetime - policy for this instance. This object should live forever - therefore this implementation returns null. - - - - - - The underlying that events should - be logged to. - - - - - Default implementation of - - - - This default implementation of the - interface is used to create the default subclass - of the object. - - - Nicko Cadell - Gert Driesen - - - - Interface abstracts creation of instances - - - - This interface is used by the to - create new objects. - - - The method is called - to create a named . - - - Implement this interface to create new subclasses of . - - - Nicko Cadell - Gert Driesen - - - - Create a new instance - - The name of the . - The instance for the specified name. - - - Create a new instance with the - specified name. - - - Called by the to create - new named instances. - - - If the is null then the root logger - must be returned. - - - - - - Default constructor - - - - Initializes a new instance of the class. - - - - - - Create a new instance - - The name of the . - The instance for the specified name. - - - Create a new instance with the - specified name. - - - Called by the to create - new named instances. - - - If the is null then the root logger - must be returned. - - - - - - Default internal subclass of - - - - This subclass has no additional behavior over the - class but does allow instances - to be created. - - - - - - Implementation of used by - - - - Internal class used to provide implementation of - interface. Applications should use to get - logger instances. - - - This is one of the central classes in the log4net implementation. One of the - distinctive features of log4net are hierarchical loggers and their - evaluation. The organizes the - instances into a rooted tree hierarchy. - - - The class is abstract. Only concrete subclasses of - can be created. The - is used to create instances of this type for the . - - - Nicko Cadell - Gert Driesen - Aspi Havewala - Douglas de la Torre - - - - This constructor created a new instance and - sets its name. - - The name of the . - - - This constructor is protected and designed to be used by - a subclass that is not abstract. - - - Loggers are constructed by - objects. See for the default - logger creator. - - - - - - Add to the list of appenders of this - Logger instance. - - An appender to add to this logger - - - Add to the list of appenders of this - Logger instance. - - - If is already in the list of - appenders, then it won't be added again. - - - - - - Look for the appender named as name - - The name of the appender to lookup - The appender with the name specified, or null. - - - Returns the named appender, or null if the appender is not found. - - - - - - Remove all previously added appenders from this Logger instance. - - - - Remove all previously added appenders from this Logger instance. - - - This is useful when re-reading configuration information. - - - - - - Remove the appender passed as parameter form the list of appenders. - - The appender to remove - The appender removed from the list - - - Remove the appender passed as parameter form the list of appenders. - The appender removed is not closed. - If you are discarding the appender you must call - on the appender removed. - - - - - - Remove the appender passed as parameter form the list of appenders. - - The name of the appender to remove - The appender removed from the list - - - Remove the named appender passed as parameter form the list of appenders. - The appender removed is not closed. - If you are discarding the appender you must call - on the appender removed. - - - - - - This generic form is intended to be used by wrappers. - - The declaring type of the method that is - the stack boundary into the logging system for this call. - The level of the message to be logged. - The message object to log. - The exception to log, including its stack trace. - - - Generate a logging event for the specified using - the and . - - - This method must not throw any exception to the caller. - - - - - - This is the most generic printing method that is intended to be used - by wrappers. - - The event being logged. - - - Logs the specified logging event through this logger. - - - This method must not throw any exception to the caller. - - - - - - Checks if this logger is enabled for a given passed as parameter. - - The level to check. - - true if this logger is enabled for level, otherwise false. - - - - Test if this logger is going to log events of the specified . - - - This method must not throw any exception to the caller. - - - - - - Deliver the to the attached appenders. - - The event to log. - - - Call the appenders in the hierarchy starting at - this. If no appenders could be found, emit a - warning. - - - This method calls all the appenders inherited from the - hierarchy circumventing any evaluation of whether to log or not - to log the particular log request. - - - - - - Closes all attached appenders implementing the interface. - - - - Used to ensure that the appenders are correctly shutdown. - - - - - - This is the most generic printing method. This generic form is intended to be used by wrappers - - The level of the message to be logged. - The message object to log. - The exception to log, including its stack trace. - - - Generate a logging event for the specified using - the . - - - - - - Creates a new logging event and logs the event without further checks. - - The declaring type of the method that is - the stack boundary into the logging system for this call. - The level of the message to be logged. - The message object to log. - The exception to log, including its stack trace. - - - Generates a logging event and delivers it to the attached - appenders. - - - - - - Creates a new logging event and logs the event without further checks. - - The event being logged. - - - Delivers the logging event to the attached appenders. - - - - - - The fully qualified type of the Logger class. - - - - - The name of this logger. - - - - - The assigned level of this logger. - - - - The level variable need not be - assigned a value in which case it is inherited - form the hierarchy. - - - - - - The parent of this logger. - - - - The parent of this logger. - All loggers have at least one ancestor which is the root logger. - - - - - - Loggers need to know what Hierarchy they are in. - - - - Loggers need to know what Hierarchy they are in. - The hierarchy that this logger is a member of is stored - here. - - - - - - Helper implementation of the interface - - - - - Flag indicating if child loggers inherit their parents appenders - - - - Additivity is set to true by default, that is children inherit - the appenders of their ancestors by default. If this variable is - set to false then the appenders found in the - ancestors of this logger are not used. However, the children - of this logger will inherit its appenders, unless the children - have their additivity flag set to false too. See - the user manual for more details. - - - - - - Lock to protect AppenderAttachedImpl variable m_appenderAttachedImpl - - - - - Gets or sets the parent logger in the hierarchy. - - - The parent logger in the hierarchy. - - - - Part of the Composite pattern that makes the hierarchy. - The hierarchy is parent linked rather than child linked. - - - - - - Gets or sets a value indicating if child loggers inherit their parent's appenders. - - - true if child loggers inherit their parent's appenders. - - - - Additivity is set to true by default, that is children inherit - the appenders of their ancestors by default. If this variable is - set to false then the appenders found in the - ancestors of this logger are not used. However, the children - of this logger will inherit its appenders, unless the children - have their additivity flag set to false too. See - the user manual for more details. - - - - - - Gets the effective level for this logger. - - The nearest level in the logger hierarchy. - - - Starting from this logger, searches the logger hierarchy for a - non-null level and returns it. Otherwise, returns the level of the - root logger. - - The Logger class is designed so that this method executes as - quickly as possible. - - - - - Gets or sets the where this - Logger instance is attached to. - - The hierarchy that this logger belongs to. - - - This logger must be attached to a single . - - - - - - Gets or sets the assigned , if any, for this Logger. - - - The of this logger. - - - - The assigned can be null. - - - - - - Get the appenders contained in this logger as an - . - - A collection of the appenders in this logger - - - Get the appenders contained in this logger as an - . If no appenders - can be found, then a is returned. - - - - - - Gets the logger name. - - - The name of the logger. - - - - The name of this logger - - - - - - Gets the where this - Logger instance is attached to. - - - The that this logger belongs to. - - - - Gets the where this - Logger instance is attached to. - - - - - - Construct a new Logger - - the name of the logger - - - Initializes a new instance of the class - with the specified name. - - - - - - Delegate used to handle logger creation event notifications. - - The in which the has been created. - The event args that hold the instance that has been created. - - - Delegate used to handle logger creation event notifications. - - - - - - Provides data for the event. - - - - A event is raised every time a - is created. - - - - - - The created - - - - - Constructor - - The that has been created. - - - Initializes a new instance of the event argument - class,with the specified . - - - - - - Gets the that has been created. - - - The that has been created. - - - - The that has been created. - - - - - - Hierarchical organization of loggers - - - - The casual user should not have to deal with this class - directly. - - - This class is specialized in retrieving loggers by name and - also maintaining the logger hierarchy. Implements the - interface. - - - The structure of the logger hierarchy is maintained by the - method. The hierarchy is such that children - link to their parent but parents do not have any references to their - children. Moreover, loggers can be instantiated in any order, in - particular descendant before ancestor. - - - In case a descendant is created before a particular ancestor, - then it creates a provision node for the ancestor and adds itself - to the provision node. Other descendants of the same ancestor add - themselves to the previously created provision node. - - - Nicko Cadell - Gert Driesen - - - - Base implementation of - - - - Default abstract implementation of the interface. - - - Skeleton implementation of the interface. - All types can extend this type. - - - Nicko Cadell - Gert Driesen - - - - Interface implemented by logger repositories. - - - - This interface is implemented by logger repositories. e.g. - . - - - This interface is used by the - to obtain interfaces. - - - Nicko Cadell - Gert Driesen - - - - Check if the named logger exists in the repository. If so return - its reference, otherwise returns null. - - The name of the logger to lookup - The Logger object with the name specified - - - If the names logger exists it is returned, otherwise - null is returned. - - - - - - Returns all the currently defined loggers as an Array. - - All the defined loggers - - - Returns all the currently defined loggers as an Array. - - - - - - Returns a named logger instance - - The name of the logger to retrieve - The logger object with the name specified - - - Returns a named logger instance. - - - If a logger of that name already exists, then it will be - returned. Otherwise, a new logger will be instantiated and - then linked with its existing ancestors as well as children. - - - - - Shutdown the repository - - - Shutting down a repository will safely close and remove - all appenders in all loggers including the root logger. - - - Some appenders need to be closed before the - application exists. Otherwise, pending logging events might be - lost. - - - The method is careful to close nested - appenders before closing regular appenders. This is allows - configurations where a regular appender is attached to a logger - and again to a nested appender. - - - - - - Reset the repositories configuration to a default state - - - - Reset all values contained in this instance to their - default state. - - - Existing loggers are not removed. They are just reset. - - - This method should be used sparingly and with care as it will - block all logging until it is completed. - - - - - - Log the through this repository. - - the event to log - - - This method should not normally be used to log. - The interface should be used - for routine logging. This interface can be obtained - using the method. - - - The logEvent is delivered to the appropriate logger and - that logger is then responsible for logging the event. - - - - - - Returns all the Appenders that are configured as an Array. - - All the Appenders - - - Returns all the Appenders that are configured as an Array. - - - - - - The name of the repository - - - The name of the repository - - - - The name of the repository. - - - - - - RendererMap accesses the object renderer map for this repository. - - - RendererMap accesses the object renderer map for this repository. - - - - RendererMap accesses the object renderer map for this repository. - - - The RendererMap holds a mapping between types and - objects. - - - - - - The plugin map for this repository. - - - The plugin map for this repository. - - - - The plugin map holds the instances - that have been attached to this repository. - - - - - - Get the level map for the Repository. - - - - Get the level map for the Repository. - - - The level map defines the mappings between - level names and objects in - this repository. - - - - - - The threshold for all events in this repository - - - The threshold for all events in this repository - - - - The threshold for all events in this repository. - - - - - - Flag indicates if this repository has been configured. - - - Flag indicates if this repository has been configured. - - - - Flag indicates if this repository has been configured. - - - - - - Event to notify that the repository has been shutdown. - - - Event to notify that the repository has been shutdown. - - - - Event raised when the repository has been shutdown. - - - - - - Event to notify that the repository has had its configuration reset. - - - Event to notify that the repository has had its configuration reset. - - - - Event raised when the repository's configuration has been - reset to default. - - - - - - Event to notify that the repository has had its configuration changed. - - - Event to notify that the repository has had its configuration changed. - - - - Event raised when the repository's configuration has been changed. - - - - - - Repository specific properties - - - Repository specific properties - - - - These properties can be specified on a repository specific basis. - - - - - - Default Constructor - - - - Initializes the repository with default (empty) properties. - - - - - - Construct the repository using specific properties - - the properties to set for this repository - - - Initializes the repository with specified properties. - - - - - - Test if logger exists - - The name of the logger to lookup - The Logger object with the name specified - - - Check if the named logger exists in the repository. If so return - its reference, otherwise returns null. - - - - - - Returns all the currently defined loggers in the repository - - All the defined loggers - - - Returns all the currently defined loggers in the repository as an Array. - - - - - - Return a new logger instance - - The name of the logger to retrieve - The logger object with the name specified - - - Return a new logger instance. - - - If a logger of that name already exists, then it will be - returned. Otherwise, a new logger will be instantiated and - then linked with its existing ancestors as well as children. - - - - - - Shutdown the repository - - - - Shutdown the repository. Can be overridden in a subclass. - This base class implementation notifies the - listeners and all attached plugins of the shutdown event. - - - - - - Reset the repositories configuration to a default state - - - - Reset all values contained in this instance to their - default state. - - - Existing loggers are not removed. They are just reset. - - - This method should be used sparingly and with care as it will - block all logging until it is completed. - - - - - - Log the logEvent through this repository. - - the event to log - - - This method should not normally be used to log. - The interface should be used - for routine logging. This interface can be obtained - using the method. - - - The logEvent is delivered to the appropriate logger and - that logger is then responsible for logging the event. - - - - - - Returns all the Appenders that are configured as an Array. - - All the Appenders - - - Returns all the Appenders that are configured as an Array. - - - - - - Adds an object renderer for a specific class. - - The type that will be rendered by the renderer supplied. - The object renderer used to render the object. - - - Adds an object renderer for a specific class. - - - - - - Notify the registered listeners that the repository is shutting down - - Empty EventArgs - - - Notify any listeners that this repository is shutting down. - - - - - - Notify the registered listeners that the repository has had its configuration reset - - Empty EventArgs - - - Notify any listeners that this repository's configuration has been reset. - - - - - - Notify the registered listeners that the repository has had its configuration changed - - Empty EventArgs - - - Notify any listeners that this repository's configuration has changed. - - - - - - Raise a configuration changed event on this repository - - EventArgs.Empty - - - Applications that programmatically change the configuration of the repository should - raise this event notification to notify listeners. - - - - - - The name of the repository - - - The string name of the repository - - - - The name of this repository. The name is - used to store and lookup the repositories - stored by the . - - - - - - The threshold for all events in this repository - - - The threshold for all events in this repository - - - - The threshold for all events in this repository - - - - - - RendererMap accesses the object renderer map for this repository. - - - RendererMap accesses the object renderer map for this repository. - - - - RendererMap accesses the object renderer map for this repository. - - - The RendererMap holds a mapping between types and - objects. - - - - - - The plugin map for this repository. - - - The plugin map for this repository. - - - - The plugin map holds the instances - that have been attached to this repository. - - - - - - Get the level map for the Repository. - - - - Get the level map for the Repository. - - - The level map defines the mappings between - level names and objects in - this repository. - - - - - - Flag indicates if this repository has been configured. - - - Flag indicates if this repository has been configured. - - - - Flag indicates if this repository has been configured. - - - - - - Event to notify that the repository has been shutdown. - - - Event to notify that the repository has been shutdown. - - - - Event raised when the repository has been shutdown. - - - - - - Event to notify that the repository has had its configuration reset. - - - Event to notify that the repository has had its configuration reset. - - - - Event raised when the repository's configuration has been - reset to default. - - - - - - Event to notify that the repository has had its configuration changed. - - - Event to notify that the repository has had its configuration changed. - - - - Event raised when the repository's configuration has been changed. - - - - - - Repository specific properties - - - Repository specific properties - - - These properties can be specified on a repository specific basis - - - - - Basic Configurator interface for repositories - - - - Interface used by basic configurator to configure a - with a default . - - - A should implement this interface to support - configuration by the . - - - Nicko Cadell - Gert Driesen - - - - Initialize the repository using the specified appender - - the appender to use to log all logging events - - - Configure the repository to route all logging events to the - specified appender. - - - - - - Configure repository using XML - - - - Interface used by Xml configurator to configure a . - - - A should implement this interface to support - configuration by the . - - - Nicko Cadell - Gert Driesen - - - - Initialize the repository using the specified config - - the element containing the root of the config - - - The schema for the XML configuration data is defined by - the implementation. - - - - - - Default constructor - - - - Initializes a new instance of the class. - - - - - - Construct with properties - - The properties to pass to this repository. - - - Initializes a new instance of the class. - - - - - - Construct with a logger factory - - The factory to use to create new logger instances. - - - Initializes a new instance of the class with - the specified . - - - - - - Construct with properties and a logger factory - - The properties to pass to this repository. - The factory to use to create new logger instances. - - - Initializes a new instance of the class with - the specified . - - - - - - Test if a logger exists - - The name of the logger to lookup - The Logger object with the name specified - - - Check if the named logger exists in the hierarchy. If so return - its reference, otherwise returns null. - - - - - - Returns all the currently defined loggers in the hierarchy as an Array - - All the defined loggers - - - Returns all the currently defined loggers in the hierarchy as an Array. - The root logger is not included in the returned - enumeration. - - - - - - Return a new logger instance named as the first parameter using - the default factory. - - - - Return a new logger instance named as the first parameter using - the default factory. - - - If a logger of that name already exists, then it will be - returned. Otherwise, a new logger will be instantiated and - then linked with its existing ancestors as well as children. - - - The name of the logger to retrieve - The logger object with the name specified - - - - Shutting down a hierarchy will safely close and remove - all appenders in all loggers including the root logger. - - - - Shutting down a hierarchy will safely close and remove - all appenders in all loggers including the root logger. - - - Some appenders need to be closed before the - application exists. Otherwise, pending logging events might be - lost. - - - The Shutdown method is careful to close nested - appenders before closing regular appenders. This is allows - configurations where a regular appender is attached to a logger - and again to a nested appender. - - - - - - Reset all values contained in this hierarchy instance to their default. - - - - Reset all values contained in this hierarchy instance to their - default. This removes all appenders from all loggers, sets - the level of all non-root loggers to null, - sets their additivity flag to true and sets the level - of the root logger to . Moreover, - message disabling is set its default "off" value. - - - Existing loggers are not removed. They are just reset. - - - This method should be used sparingly and with care as it will - block all logging until it is completed. - - - - - - Log the logEvent through this hierarchy. - - the event to log - - - This method should not normally be used to log. - The interface should be used - for routine logging. This interface can be obtained - using the method. - - - The logEvent is delivered to the appropriate logger and - that logger is then responsible for logging the event. - - - - - - Returns all the Appenders that are currently configured - - An array containing all the currently configured appenders - - - Returns all the instances that are currently configured. - All the loggers are searched for appenders. The appenders may also be containers - for appenders and these are also searched for additional loggers. - - - The list returned is unordered but does not contain duplicates. - - - - - - Collect the appenders from an . - The appender may also be a container. - - - - - - - Collect the appenders from an container - - - - - - - Initialize the log4net system using the specified appender - - the appender to use to log all logging events - - - - Initialize the log4net system using the specified appender - - the appender to use to log all logging events - - - This method provides the same functionality as the - method implemented - on this object, but it is protected and therefore can be called by subclasses. - - - - - - Initialize the log4net system using the specified config - - the element containing the root of the config - - - - Initialize the log4net system using the specified config - - the element containing the root of the config - - - This method provides the same functionality as the - method implemented - on this object, but it is protected and therefore can be called by subclasses. - - - - - - Test if this hierarchy is disabled for the specified . - - The level to check against. - - true if the repository is disabled for the level argument, false otherwise. - - - - If this hierarchy has not been configured then this method will - always return true. - - - This method will return true if this repository is - disabled for level object passed as parameter and - false otherwise. - - - See also the property. - - - - - - Clear all logger definitions from the internal hashtable - - - - This call will clear all logger definitions from the internal - hashtable. Invoking this method will irrevocably mess up the - logger hierarchy. - - - You should really know what you are doing before - invoking this method. - - - - - - Return a new logger instance named as the first parameter using - . - - The name of the logger to retrieve - The factory that will make the new logger instance - The logger object with the name specified - - - If a logger of that name already exists, then it will be - returned. Otherwise, a new logger will be instantiated by the - parameter and linked with its existing - ancestors as well as children. - - - - - - Sends a logger creation event to all registered listeners - - The newly created logger - - Raises the logger creation event. - - - - - Updates all the parents of the specified logger - - The logger to update the parents for - - - This method loops through all the potential parents of - . There 3 possible cases: - - - - No entry for the potential parent of exists - - We create a ProvisionNode for this potential - parent and insert in that provision node. - - - - The entry is of type Logger for the potential parent. - - The entry is 's nearest existing parent. We - update 's parent field with this entry. We also break from - he loop because updating our parent's parent is our parent's - responsibility. - - - - The entry is of type ProvisionNode for this potential parent. - - We add to the list of children for this - potential parent. - - - - - - - - Replace a with a in the hierarchy. - - - - - - We update the links for all the children that placed themselves - in the provision node 'pn'. The second argument 'log' is a - reference for the newly created Logger, parent of all the - children in 'pn'. - - - We loop on all the children 'c' in 'pn'. - - - If the child 'c' has been already linked to a child of - 'log' then there is no need to update 'c'. - - - Otherwise, we set log's parent field to c's parent and set - c's parent field to log. - - - - - - Define or redefine a Level using the values in the argument - - the level values - - - Define or redefine a Level using the values in the argument - - - Supports setting levels via the configuration file. - - - - - - Set a Property using the values in the argument - - the property value - - - Set a Property using the values in the argument. - - - Supports setting property values via the configuration file. - - - - - - Event used to notify that a logger has been created. - - - - Event raised when a logger is created. - - - - - - Has no appender warning been emitted - - - - Flag to indicate if we have already issued a warning - about not having an appender warning. - - - - - - Get the root of this hierarchy - - - - Get the root of this hierarchy. - - - - - - Gets or sets the default instance. - - The default - - - The logger factory is used to create logger instances. - - - - - - A class to hold the value, name and display name for a level - - - - A class to hold the value, name and display name for a level - - - - - - Override Object.ToString to return sensible debug info - - string info about this object - - - - Value of the level - - - - If the value is not set (defaults to -1) the value will be looked - up for the current level with the same name. - - - - - - Name of the level - - - The name of the level - - - - The name of the level. - - - - - - Display name for the level - - - The display name of the level - - - - The display name of the level. - - - - - - A class to hold the key and data for a property set in the config file - - - - A class to hold the key and data for a property set in the config file - - - - - - Override Object.ToString to return sensible debug info - - string info about this object - - - - Property Key - - - Property Key - - - - Property Key. - - - - - - Property Value - - - Property Value - - - - Property Value. - - - - - - Used internally to accelerate hash table searches. - - - - Internal class used to improve performance of - string keyed hashtables. - - - The hashcode of the string is cached for reuse. - The string is stored as an interned value. - When comparing two objects for equality - the reference equality of the interned strings is compared. - - - Nicko Cadell - Gert Driesen - - - - Construct key with string name - - - - Initializes a new instance of the class - with the specified name. - - - Stores the hashcode of the string and interns - the string key to optimize comparisons. - - - The Compact Framework 1.0 the - method does not work. On the Compact Framework - the string keys are not interned nor are they - compared by reference. - - - The name of the logger. - - - - Returns a hash code for the current instance. - - A hash code for the current instance. - - - Returns the cached hashcode. - - - - - - Determines whether two instances - are equal. - - The to compare with the current . - - true if the specified is equal to the current ; otherwise, false. - - - - Compares the references of the interned strings. - - - - - - Provision nodes are used where no logger instance has been specified - - - - instances are used in the - when there is no specified - for that node. - - - A provision node holds a list of child loggers on behalf of - a logger that does not exist. - - - Nicko Cadell - Gert Driesen - - - - Create a new provision node with child node - - A child logger to add to this node. - - - Initializes a new instance of the class - with the specified child logger. - - - - - - The sits at the root of the logger hierarchy tree. - - - - The is a regular except - that it provides several guarantees. - - - First, it cannot be assigned a null - level. Second, since the root logger cannot have a parent, the - property always returns the value of the - level field without walking the hierarchy. - - - Nicko Cadell - Gert Driesen - - - - Construct a - - The level to assign to the root logger. - - - Initializes a new instance of the class with - the specified logging level. - - - The root logger names itself as "root". However, the root - logger cannot be retrieved by name. - - - - - - Gets the assigned level value without walking the logger hierarchy. - - The assigned level value without walking the logger hierarchy. - - - Because the root logger cannot have a parent and its level - must not be null this property just returns the - value of . - - - - - - Gets or sets the assigned for the root logger. - - - The of the root logger. - - - - Setting the level of the root logger to a null reference - may have catastrophic results. We prevent this here. - - - - - - Initializes the log4net environment using an XML DOM. - - - - Configures a using an XML DOM. - - - Nicko Cadell - Gert Driesen - - - - Construct the configurator for a hierarchy - - The hierarchy to build. - - - Initializes a new instance of the class - with the specified . - - - - - - Configure the hierarchy by parsing a DOM tree of XML elements. - - The root element to parse. - - - Configure the hierarchy by parsing a DOM tree of XML elements. - - - - - - Parse appenders by IDREF. - - The appender ref element. - The instance of the appender that the ref refers to. - - - Parse an XML element that represents an appender and return - the appender. - - - - - - Parses an appender element. - - The appender element. - The appender instance or null when parsing failed. - - - Parse an XML element that represents an appender and return - the appender instance. - - - - - - Parses a logger element. - - The logger element. - - - Parse an XML element that represents a logger. - - - - - - Parses the root logger element. - - The root element. - - - Parse an XML element that represents the root logger. - - - - - - Parses the children of a logger element. - - The category element. - The logger instance. - Flag to indicate if the logger is the root logger. - - - Parse the child elements of a <logger> element. - - - - - - Parses an object renderer. - - The renderer element. - - - Parse an XML element that represents a renderer. - - - - - - Parses a level element. - - The level element. - The logger object to set the level on. - Flag to indicate if the logger is the root logger. - - - Parse an XML element that represents a level. - - - - - - Sets a parameter on an object. - - The parameter element. - The object to set the parameter on. - - The parameter name must correspond to a writable property - on the object. The value of the parameter is a string, - therefore this function will attempt to set a string - property first. If unable to set a string property it - will inspect the property and its argument type. It will - attempt to call a static method called Parse on the - type of the property. This method will take a single - string argument and return a value that can be used to - set the property. - - - - - Test if an element has no attributes or child elements - - the element to inspect - true if the element has any attributes or child elements, false otherwise - - - - Test if a is constructible with Activator.CreateInstance. - - the type to inspect - true if the type is creatable using a default constructor, false otherwise - - - - Look for a method on the that matches the supplied - - the type that has the method - the name of the method - the method info found - - - The method must be a public instance method on the . - The method must be named or "Add" followed by . - The method must take a single parameter. - - - - - - Converts a string value to a target type. - - The type of object to convert the string to. - The string value to use as the value of the object. - - - An object of type with value or - null when the conversion could not be performed. - - - - - - Creates an object as specified in XML. - - The XML element that contains the definition of the object. - The object type to use if not explicitly specified. - The type that the returned object must be or must inherit from. - The object or null - - - Parse an XML element and create an object instance based on the configuration - data. - - - The type of the instance may be specified in the XML. If not - specified then the is used - as the type. However the type is specified it must support the - type. - - - - - - key: appenderName, value: appender. - - - - - The Hierarchy being configured. - - - - - Delegate used to handle logger repository shutdown event notifications - - The that is shutting down. - Empty event args - - - Delegate used to handle logger repository shutdown event notifications. - - - - - - Delegate used to handle logger repository configuration reset event notifications - - The that has had its configuration reset. - Empty event args - - - Delegate used to handle logger repository configuration reset event notifications. - - - - - - Delegate used to handle event notifications for logger repository configuration changes. - - The that has had its configuration changed. - Empty event arguments. - - - Delegate used to handle event notifications for logger repository configuration changes. - - - - - - Write the name of the current AppDomain to the output - - - - Write the name of the current AppDomain to the output writer - - - Nicko Cadell - - - - Write the name of the current AppDomain to the output - - the writer to write to - null, state is not set - - - Writes name of the current AppDomain to the output . - - - - - - Write the current date to the output - - - - Date pattern converter, uses a to format - the current date and time to the writer as a string. - - - The value of the determines - the formatting of the date. The following values are allowed: - - - Option value - Output - - - ISO8601 - - Uses the formatter. - Formats using the "yyyy-MM-dd HH:mm:ss,fff" pattern. - - - - DATE - - Uses the formatter. - Formats using the "dd MMM yyyy HH:mm:ss,fff" for example, "06 Nov 1994 15:49:37,459". - - - - ABSOLUTE - - Uses the formatter. - Formats using the "HH:mm:ss,fff" for example, "15:49:37,459". - - - - other - - Any other pattern string uses the formatter. - This formatter passes the pattern string to the - method. - For details on valid patterns see - DateTimeFormatInfo Class. - - - - - - The date and time is in the local time zone and is rendered in that zone. - To output the time in Universal time see . - - - Nicko Cadell - - - - The used to render the date to a string - - - - The used to render the date to a string - - - - - - Initialize the converter options - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - - - - Write the current date to the output - - that will receive the formatted result. - null, state is not set - - - Pass the current date and time to the - for it to render it to the writer. - - - The date and time passed is in the local time zone. - - - - - - Write an environment variable to the output - - - - Write an environment variable to the output writer. - The value of the determines - the name of the variable to output. - - - Nicko Cadell - - - - Write an environment variable to the output - - the writer to write to - null, state is not set - - - Writes the environment variable to the output . - The name of the environment variable to output must be set - using the - property. - - - - - - Write the current thread identity to the output - - - - Write the current thread identity to the output writer - - - Nicko Cadell - - - - Write the current thread identity to the output - - the writer to write to - null, state is not set - - - Writes the current thread identity to the output . - - - - - - Pattern converter for literal string instances in the pattern - - - - Writes the literal string value specified in the - property to - the output. - - - Nicko Cadell - - - - Set the next converter in the chain - - The next pattern converter in the chain - The next pattern converter - - - Special case the building of the pattern converter chain - for instances. Two adjacent - literals in the pattern can be represented by a single combined - pattern converter. This implementation detects when a - is added to the chain - after this converter and combines its value with this converter's - literal value. - - - - - - Write the literal to the output - - the writer to write to - null, not set - - - Override the formatting behavior to ignore the FormattingInfo - because we have a literal instead. - - - Writes the value of - to the output . - - - - - - Convert this pattern into the rendered message - - that will receive the formatted result. - null, not set - - - This method is not used. - - - - - - Writes a newline to the output - - - - Writes the system dependent line terminator to the output. - This behavior can be overridden by setting the : - - - - Option Value - Output - - - DOS - DOS or Windows line terminator "\r\n" - - - UNIX - UNIX line terminator "\n" - - - - Nicko Cadell - - - - Initialize the converter - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - - - - Write the current process ID to the output - - - - Write the current process ID to the output writer - - - Nicko Cadell - - - - Write the current process ID to the output - - the writer to write to - null, state is not set - - - Write the current process ID to the output . - - - - - - Property pattern converter - - - - This pattern converter reads the thread and global properties. - The thread properties take priority over global properties. - See for details of the - thread properties. See for - details of the global properties. - - - If the is specified then that will be used to - lookup a single property. If no is specified - then all properties will be dumped as a list of key value pairs. - - - Nicko Cadell - - - - Write the property value to the output - - that will receive the formatted result. - null, state is not set - - - Writes out the value of a named property. The property name - should be set in the - property. - - - If the is set to null - then all the properties are written as key value pairs. - - - - - - A Pattern converter that generates a string of random characters - - - - The converter generates a string of random characters. By default - the string is length 4. This can be changed by setting the - to the string value of the length required. - - - The random characters in the string are limited to uppercase letters - and numbers only. - - - The random number generator used by this class is not cryptographically secure. - - - Nicko Cadell - - - - Shared random number generator - - - - - Length of random string to generate. Default length 4. - - - - - Initialize the converter options - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - - - - Write a randoim string to the output - - the writer to write to - null, state is not set - - - Write a randoim string to the output . - - - - - - Write the current threads username to the output - - - - Write the current threads username to the output writer - - - Nicko Cadell - - - - Write the current threads username to the output - - the writer to write to - null, state is not set - - - Write the current threads username to the output . - - - - - - Write the UTC date time to the output - - - - Date pattern converter, uses a to format - the current date and time in Universal time. - - - See the for details on the date pattern syntax. - - - - Nicko Cadell - - - - Write the current date and time to the output - - that will receive the formatted result. - null, state is not set - - - Pass the current date and time to the - for it to render it to the writer. - - - The date is in Universal time when it is rendered. - - - - - - - Type converter for Boolean. - - - - Supports conversion from string to bool type. - - - - - - Nicko Cadell - Gert Driesen - - - - Can the source type be converted to the type supported by this object - - the type to convert - true if the conversion is possible - - - Returns true if the is - the type. - - - - - - Convert the source object to the type supported by this object - - the object to convert - the converted object - - - Uses the method to convert the - argument to a . - - - - The object cannot be converted to the - target type. To check for this condition use the - method. - - - - - Exception base type for conversion errors. - - - - This type extends . It - does not add any new functionality but does differentiate the - type of exception being thrown. - - - Nicko Cadell - Gert Driesen - - - - Constructor - - - - Initializes a new instance of the class. - - - - - - Constructor - - A message to include with the exception. - - - Initializes a new instance of the class - with the specified message. - - - - - - Constructor - - A message to include with the exception. - A nested exception to include. - - - Initializes a new instance of the class - with the specified message and inner exception. - - - - - - Serialization constructor - - The that holds the serialized object data about the exception being thrown. - The that contains contextual information about the source or destination. - - - Initializes a new instance of the class - with serialized data. - - - - - - Creates a new instance of the class. - - The conversion destination type. - The value to convert. - An instance of the . - - - Creates a new instance of the class. - - - - - - Creates a new instance of the class. - - The conversion destination type. - The value to convert. - A nested exception to include. - An instance of the . - - - Creates a new instance of the class. - - - - - - Register of type converters for specific types. - - - - Maintains a registry of type converters used to convert between - types. - - - Use the and - methods to register new converters. - The and methods - lookup appropriate converters to use. - - - - - Nicko Cadell - Gert Driesen - - - - Private constructor - - - Initializes a new instance of the class. - - - - - Static constructor. - - - - This constructor defines the intrinsic type converters. - - - - - - Adds a converter for a specific type. - - The type being converted to. - The type converter to use to convert to the destination type. - - - Adds a converter instance for a specific type. - - - - - - Adds a converter for a specific type. - - The type being converted to. - The type of the type converter to use to convert to the destination type. - - - Adds a converter for a specific type. - - - - - - Gets the type converter to use to convert values to the destination type. - - The type being converted from. - The type being converted to. - - The type converter instance to use for type conversions or null - if no type converter is found. - - - - Gets the type converter to use to convert values to the destination type. - - - - - - Gets the type converter to use to convert values to the destination type. - - The type being converted to. - - The type converter instance to use for type conversions or null - if no type converter is found. - - - - Gets the type converter to use to convert values to the destination type. - - - - - - Lookups the type converter to use as specified by the attributes on the - destination type. - - The type being converted to. - - The type converter instance to use for type conversions or null - if no type converter is found. - - - - - Creates the instance of the type converter. - - The type of the type converter. - - The type converter instance to use for type conversions or null - if no type converter is found. - - - - The type specified for the type converter must implement - the or interfaces - and must have a public default (no argument) constructor. - - - - - - Mapping from to type converter. - - - - - Supports conversion from string to type. - - - - Supports conversion from string to type. - - - - - - Nicko Cadell - Gert Driesen - - - - Can the source type be converted to the type supported by this object - - the type to convert - true if the conversion is possible - - - Returns true if the is - the type. - - - - - - Overrides the ConvertFrom method of IConvertFrom. - - the object to convert to an encoding - the encoding - - - Uses the method to - convert the argument to an . - - - - The object cannot be converted to the - target type. To check for this condition use the - method. - - - - - Interface supported by type converters - - - - This interface supports conversion from a single type to arbitrary types. - See . - - - Nicko Cadell - - - - Returns whether this converter can convert the object to the specified type - - A Type that represents the type you want to convert to - true if the conversion is possible - - - Test if the type supported by this converter can be converted to the - . - - - - - - Converts the given value object to the specified type, using the arguments - - the object to convert - The Type to convert the value parameter to - the converted object - - - Converts the (which must be of the type supported - by this converter) to the specified.. - - - - - - Supports conversion from string to type. - - - - Supports conversion from string to type. - - - - - Nicko Cadell - - - - Can the source type be converted to the type supported by this object - - the type to convert - true if the conversion is possible - - - Returns true if the is - the type. - - - - - - Overrides the ConvertFrom method of IConvertFrom. - - the object to convert to an IPAddress - the IPAddress - - - Uses the method to convert the - argument to an . - If that fails then the string is resolved as a DNS hostname. - - - - The object cannot be converted to the - target type. To check for this condition use the - method. - - - - - Valid characters in an IPv4 or IPv6 address string. (Does not support subnets) - - - - - Supports conversion from string to type. - - - - Supports conversion from string to type. - - - The string is used as the - of the . - - - - - - Nicko Cadell - - - - Can the source type be converted to the type supported by this object - - the type to convert - true if the conversion is possible - - - Returns true if the is - the type. - - - - - - Overrides the ConvertFrom method of IConvertFrom. - - the object to convert to a PatternLayout - the PatternLayout - - - Creates and returns a new using - the as the - . - - - - The object cannot be converted to the - target type. To check for this condition use the - method. - - - - - Convert between string and - - - - Supports conversion from string to type, - and from a type to a string. - - - The string is used as the - of the . - - - - - - Nicko Cadell - - - - Can the target type be converted to the type supported by this object - - A that represents the type you want to convert to - true if the conversion is possible - - - Returns true if the is - assignable from a type. - - - - - - Converts the given value object to the specified type, using the arguments - - the object to convert - The Type to convert the value parameter to - the converted object - - - Uses the method to convert the - argument to a . - - - - The object cannot be converted to the - . To check for this condition use the - method. - - - - - Can the source type be converted to the type supported by this object - - the type to convert - true if the conversion is possible - - - Returns true if the is - the type. - - - - - - Overrides the ConvertFrom method of IConvertFrom. - - the object to convert to a PatternString - the PatternString - - - Creates and returns a new using - the as the - . - - - - The object cannot be converted to the - target type. To check for this condition use the - method. - - - - - Supports conversion from string to type. - - - - Supports conversion from string to type. - - - - - - Nicko Cadell - - - - Can the source type be converted to the type supported by this object - - the type to convert - true if the conversion is possible - - - Returns true if the is - the type. - - - - - - Overrides the ConvertFrom method of IConvertFrom. - - the object to convert to a Type - the Type - - - Uses the method to convert the - argument to a . - Additional effort is made to locate partially specified types - by searching the loaded assemblies. - - - - The object cannot be converted to the - target type. To check for this condition use the - method. - - - - - Attribute used to associate a type converter - - - - Class and Interface level attribute that specifies a type converter - to use with the associated type. - - - To associate a type converter with a target type apply a - TypeConverterAttribute to the target type. Specify the - type of the type converter on the attribute. - - - Nicko Cadell - Gert Driesen - - - - The string type name of the type converter - - - - - Default constructor - - - - Default constructor - - - - - - Create a new type converter attribute for the specified type name - - The string type name of the type converter - - - The type specified must implement the - or the interfaces. - - - - - - Create a new type converter attribute for the specified type - - The type of the type converter - - - The type specified must implement the - or the interfaces. - - - - - - The string type name of the type converter - - - The string type name of the type converter - - - - The type specified must implement the - or the interfaces. - - - - - - A straightforward implementation of the interface. - - - - This is the default implementation of the - interface. Implementors of the interface - should aggregate an instance of this type. - - - Nicko Cadell - Gert Driesen - - - - Constructor - - - - Initializes a new instance of the class. - - - - - - Append on on all attached appenders. - - The event being logged. - The number of appenders called. - - - Calls the method on all - attached appenders. - - - - - - Append on on all attached appenders. - - The array of events being logged. - The number of appenders called. - - - Calls the method on all - attached appenders. - - - - - - Calls the DoAppende method on the with - the objects supplied. - - The appender - The events - - - If the supports the - interface then the will be passed - through using that interface. Otherwise the - objects in the array will be passed one at a time. - - - - - - Attaches an appender. - - The appender to add. - - - If the appender is already in the list it won't be added again. - - - - - - Gets an attached appender with the specified name. - - The name of the appender to get. - - The appender with the name specified, or null if no appender with the - specified name is found. - - - - Lookup an attached appender by name. - - - - - - Removes all attached appenders. - - - - Removes and closes all attached appenders - - - - - - Removes the specified appender from the list of attached appenders. - - The appender to remove. - The appender removed from the list - - - The appender removed is not closed. - If you are discarding the appender you must call - on the appender removed. - - - - - - Removes the appender with the specified name from the list of appenders. - - The name of the appender to remove. - The appender removed from the list - - - The appender removed is not closed. - If you are discarding the appender you must call - on the appender removed. - - - - - - List of appenders - - - - - Array of appenders, used to cache the m_appenderList - - - - - Gets all attached appenders. - - - A collection of attached appenders, or null if there - are no attached appenders. - - - - The read only collection of all currently attached appenders. - - - - - - This class aggregates several PropertiesDictionary collections together. - - - - Provides a dictionary style lookup over an ordered list of - collections. - - - Nicko Cadell - - - - Constructor - - - - Initializes a new instance of the class. - - - - - - Add a Properties Dictionary to this composite collection - - the properties to add - - - Properties dictionaries added first take precedence over dictionaries added - later. - - - - - - Flatten this composite collection into a single properties dictionary - - the flattened dictionary - - - Reduces the collection of ordered dictionaries to a single dictionary - containing the resultant values for the keys. - - - - - - Gets the value of a property - - - The value for the property with the specified key - - - - Looks up the value for the specified. - The collections are searched - in the order in which they were added to this collection. The value - returned is the value held by the first collection that contains - the specified key. - - - If none of the collections contain the specified key then - null is returned. - - - - - - Base class for Context Properties implementations - - - - This class defines a basic property get set accessor - - - Nicko Cadell - - - - Gets or sets the value of a property - - - The value for the property with the specified key - - - - Gets or sets the value of a property - - - - - - Subclass of that maintains a count of - the number of bytes written. - - - - This writer counts the number of bytes written. - - - Nicko Cadell - Gert Driesen - - - - that does not leak exceptions - - - - does not throw exceptions when things go wrong. - Instead, it delegates error handling to its . - - - Nicko Cadell - Gert Driesen - - - - Adapter that extends and forwards all - messages to an instance of . - - - - Adapter that extends and forwards all - messages to an instance of . - - - Nicko Cadell - - - - The writer to forward messages to - - - - - Create an instance of that forwards all - messages to a . - - The to forward to - - - Create an instance of that forwards all - messages to a . - - - - - - Closes the writer and releases any system resources associated with the writer - - - - - - - - - Dispose this writer - - flag indicating if we are being disposed - - - Dispose this writer - - - - - - Flushes any buffered output - - - - Clears all buffers for the writer and causes any buffered data to be written - to the underlying device - - - - - - Writes a character to the wrapped TextWriter - - the value to write to the TextWriter - - - Writes a character to the wrapped TextWriter - - - - - - Writes a character buffer to the wrapped TextWriter - - the data buffer - the start index - the number of characters to write - - - Writes a character buffer to the wrapped TextWriter - - - - - - Writes a string to the wrapped TextWriter - - the value to write to the TextWriter - - - Writes a string to the wrapped TextWriter - - - - - - Gets or sets the underlying . - - - The underlying . - - - - Gets or sets the underlying . - - - - - - The Encoding in which the output is written - - - The - - - - The Encoding in which the output is written - - - - - - Gets an object that controls formatting - - - The format provider - - - - Gets an object that controls formatting - - - - - - Gets or sets the line terminator string used by the TextWriter - - - The line terminator to use - - - - Gets or sets the line terminator string used by the TextWriter - - - - - - Constructor - - the writer to actually write to - the error handler to report error to - - - Create a new QuietTextWriter using a writer and error handler - - - - - - Writes a character to the underlying writer - - the char to write - - - Writes a character to the underlying writer - - - - - - Writes a buffer to the underlying writer - - the buffer to write - the start index to write from - the number of characters to write - - - Writes a buffer to the underlying writer - - - - - - Writes a string to the output. - - The string data to write to the output. - - - Writes a string to the output. - - - - - - Closes the underlying output writer. - - - - Closes the underlying output writer. - - - - - - The error handler instance to pass all errors to - - - - - Flag to indicate if this writer is closed - - - - - Gets or sets the error handler that all errors are passed to. - - - The error handler that all errors are passed to. - - - - Gets or sets the error handler that all errors are passed to. - - - - - - Gets a value indicating whether this writer is closed. - - - true if this writer is closed, otherwise false. - - - - Gets a value indicating whether this writer is closed. - - - - - - Constructor - - The to actually write to. - The to report errors to. - - - Creates a new instance of the class - with the specified and . - - - - - - Writes a character to the underlying writer and counts the number of bytes written. - - the char to write - - - Overrides implementation of . Counts - the number of bytes written. - - - - - - Writes a buffer to the underlying writer and counts the number of bytes written. - - the buffer to write - the start index to write from - the number of characters to write - - - Overrides implementation of . Counts - the number of bytes written. - - - - - - Writes a string to the output and counts the number of bytes written. - - The string data to write to the output. - - - Overrides implementation of . Counts - the number of bytes written. - - - - - - Total number of bytes written. - - - - - Gets or sets the total number of bytes written. - - - The total number of bytes written. - - - - Gets or sets the total number of bytes written. - - - - - - A fixed size rolling buffer of logging events. - - - - An array backed fixed size leaky bucket. - - - Nicko Cadell - Gert Driesen - - - - Constructor - - The maximum number of logging events in the buffer. - - - Initializes a new instance of the class with - the specified maximum number of buffered logging events. - - - The argument is not a positive integer. - - - - Appends a to the buffer. - - The event to append to the buffer. - The event discarded from the buffer, if the buffer is full, otherwise null. - - - Append an event to the buffer. If the buffer still contains free space then - null is returned. If the buffer is full then an event will be dropped - to make space for the new event, the event dropped is returned. - - - - - - Get and remove the oldest event in the buffer. - - The oldest logging event in the buffer - - - Gets the oldest (first) logging event in the buffer and removes it - from the buffer. - - - - - - Pops all the logging events from the buffer into an array. - - An array of all the logging events in the buffer. - - - Get all the events in the buffer and clear the buffer. - - - - - - Clear the buffer - - - - Clear the buffer of all events. The events in the buffer are lost. - - - - - - Gets the th oldest event currently in the buffer. - - The th oldest event currently in the buffer. - - - If is outside the range 0 to the number of events - currently in the buffer, then null is returned. - - - - - - Gets the maximum size of the buffer. - - The maximum size of the buffer. - - - Gets the maximum size of the buffer - - - - - - Gets the number of logging events in the buffer. - - The number of logging events in the buffer. - - - This number is guaranteed to be in the range 0 to - (inclusive). - - - - - - An always empty . - - - - A singleton implementation of the - interface that always represents an empty collection. - - - Nicko Cadell - Gert Driesen - - - - Initializes a new instance of the class. - - - - Uses a private access modifier to enforce the singleton pattern. - - - - - - Copies the elements of the to an - , starting at a particular Array index. - - The one-dimensional - that is the destination of the elements copied from - . The Array must have zero-based - indexing. - The zero-based index in array at which - copying begins. - - - As the collection is empty no values are copied into the array. - - - - - - Returns an enumerator that can iterate through a collection. - - - An that can be used to - iterate through the collection. - - - - As the collection is empty a is returned. - - - - - - The singleton instance of the empty collection. - - - - - Gets the singleton instance of the empty collection. - - The singleton instance of the empty collection. - - - Gets the singleton instance of the empty collection. - - - - - - Gets a value indicating if access to the is synchronized (thread-safe). - - - true if access to the is synchronized (thread-safe); otherwise, false. - - - - For the this property is always true. - - - - - - Gets the number of elements contained in the . - - - The number of elements contained in the . - - - - As the collection is empty the is always 0. - - - - - - Gets an object that can be used to synchronize access to the . - - - An object that can be used to synchronize access to the . - - - - As the collection is empty and thread safe and synchronized this instance is also - the object. - - - - - - An always empty . - - - - A singleton implementation of the - interface that always represents an empty collection. - - - Nicko Cadell - Gert Driesen - - - - Initializes a new instance of the class. - - - - Uses a private access modifier to enforce the singleton pattern. - - - - - - Copies the elements of the to an - , starting at a particular Array index. - - The one-dimensional - that is the destination of the elements copied from - . The Array must have zero-based - indexing. - The zero-based index in array at which - copying begins. - - - As the collection is empty no values are copied into the array. - - - - - - Returns an enumerator that can iterate through a collection. - - - An that can be used to - iterate through the collection. - - - - As the collection is empty a is returned. - - - - - - Adds an element with the provided key and value to the - . - - The to use as the key of the element to add. - The to use as the value of the element to add. - - - As the collection is empty no new values can be added. A - is thrown if this method is called. - - - This dictionary is always empty and cannot be modified. - - - - Removes all elements from the . - - - - As the collection is empty no values can be removed. A - is thrown if this method is called. - - - This dictionary is always empty and cannot be modified. - - - - Determines whether the contains an element - with the specified key. - - The key to locate in the . - false - - - As the collection is empty the method always returns false. - - - - - - Returns an enumerator that can iterate through a collection. - - - An that can be used to - iterate through the collection. - - - - As the collection is empty a is returned. - - - - - - Removes the element with the specified key from the . - - The key of the element to remove. - - - As the collection is empty no values can be removed. A - is thrown if this method is called. - - - This dictionary is always empty and cannot be modified. - - - - The singleton instance of the empty dictionary. - - - - - Gets the singleton instance of the . - - The singleton instance of the . - - - Gets the singleton instance of the . - - - - - - Gets a value indicating if access to the is synchronized (thread-safe). - - - true if access to the is synchronized (thread-safe); otherwise, false. - - - - For the this property is always true. - - - - - - Gets the number of elements contained in the - - - The number of elements contained in the . - - - - As the collection is empty the is always 0. - - - - - - Gets an object that can be used to synchronize access to the . - - - An object that can be used to synchronize access to the . - - - - As the collection is empty and thread safe and synchronized this instance is also - the object. - - - - - - Gets a value indicating whether the has a fixed size. - - true - - - As the collection is empty always returns true. - - - - - - Gets a value indicating whether the is read-only. - - true - - - As the collection is empty always returns true. - - - - - - Gets an containing the keys of the . - - An containing the keys of the . - - - As the collection is empty a is returned. - - - - - - Gets an containing the values of the . - - An containing the values of the . - - - As the collection is empty a is returned. - - - - - - Gets or sets the element with the specified key. - - The key of the element to get or set. - null - - - As the collection is empty no values can be looked up or stored. - If the index getter is called then null is returned. - A is thrown if the setter is called. - - - This dictionary is always empty and cannot be modified. - - - - Contain the information obtained when parsing formatting modifiers - in conversion modifiers. - - - - Holds the formatting information extracted from the format string by - the . This is used by the - objects when rendering the output. - - - Nicko Cadell - Gert Driesen - - - - Defaut Constructor - - - - Initializes a new instance of the class. - - - - - - Constructor - - - - Initializes a new instance of the class - with the specified parameters. - - - - - - Gets or sets the minimum value. - - - The minimum value. - - - - Gets or sets the minimum value. - - - - - - Gets or sets the maximum value. - - - The maximum value. - - - - Gets or sets the maximum value. - - - - - - Gets or sets a flag indicating whether left align is enabled - or not. - - - A flag indicating whether left align is enabled or not. - - - - Gets or sets a flag indicating whether left align is enabled or not. - - - - - - Implementation of Properties collection for the - - - - This class implements a properties collection that is thread safe and supports both - storing properties and capturing a read only copy of the current propertied. - - - This class is optimized to the scenario where the properties are read frequently - and are modified infrequently. - - - Nicko Cadell - - - - The read only copy of the properties. - - - - This variable is declared volatile to prevent the compiler and JIT from - reordering reads and writes of this thread performed on different threads. - - - - - - Lock object used to synchronize updates within this instance - - - - - Constructor - - - - Initializes a new instance of the class. - - - - - - Remove a property from the global context - - the key for the entry to remove - - - Removing an entry from the global context properties is relatively expensive compared - with reading a value. - - - - - - Clear the global context properties - - - - - Get a readonly immutable copy of the properties - - the current global context properties - - - This implementation is fast because the GlobalContextProperties class - stores a readonly copy of the properties. - - - - - - Gets or sets the value of a property - - - The value for the property with the specified key - - - - Reading the value for a key is faster than setting the value. - When the value is written a new read only copy of - the properties is created. - - - - - - Manages a mapping from levels to - - - - Manages an ordered mapping from instances - to subclasses. - - - Nicko Cadell - - - - Default constructor - - - - Initialise a new instance of . - - - - - - Add a to this mapping - - the entry to add - - - If a has previously been added - for the same then that entry will be - overwritten. - - - - - - Lookup the mapping for the specified level - - the level to lookup - the for the level or null if no mapping found - - - Lookup the value for the specified level. Finds the nearest - mapping value for the level that is equal to or less than the - specified. - - - If no mapping could be found then null is returned. - - - - - - Initialize options - - - - Caches the sorted list of in an array - - - - - - Implementation of Properties collection for the - - - - Class implements a collection of properties that is specific to each thread. - The class is not synchronized as each thread has its own . - - - Nicko Cadell - - - - Constructor - - - - Initializes a new instance of the class. - - - - - - Remove a property - - the key for the entry to remove - - - Remove the value for the specified from the context. - - - - - - Clear all the context properties - - - - Clear all the context properties - - - - - - Get the PropertiesDictionary stored in the LocalDataStoreSlot for this thread. - - create the dictionary if it does not exist, otherwise return null if is does not exist - the properties for this thread - - - The collection returned is only to be used on the calling thread. If the - caller needs to share the collection between different threads then the - caller must clone the collection before doings so. - - - - - - Gets or sets the value of a property - - - The value for the property with the specified key - - - - Get or set the property value for the specified. - - - - - - Outputs log statements from within the log4net assembly. - - - - Log4net components cannot make log4net logging calls. However, it is - sometimes useful for the user to learn about what log4net is - doing. - - - All log4net internal debug calls go to the standard output stream - whereas internal error messages are sent to the standard error output - stream. - - - Nicko Cadell - Gert Driesen - - - - Initializes a new instance of the class. - - - - Uses a private access modifier to prevent instantiation of this class. - - - - - - Static constructor that initializes logging by reading - settings from the application configuration file. - - - - The log4net.Internal.Debug application setting - controls internal debugging. This setting should be set - to true to enable debugging. - - - The log4net.Internal.Quiet application setting - suppresses all internal logging including error messages. - This setting should be set to true to enable message - suppression. - - - - - - Writes log4net internal debug messages to the - standard output stream. - - The message to log. - - - All internal debug messages are prepended with - the string "log4net: ". - - - - - - Writes log4net internal debug messages to the - standard output stream. - - The message to log. - An exception to log. - - - All internal debug messages are prepended with - the string "log4net: ". - - - - - - Writes log4net internal warning messages to the - standard error stream. - - The message to log. - - - All internal warning messages are prepended with - the string "log4net:WARN ". - - - - - - Writes log4net internal warning messages to the - standard error stream. - - The message to log. - An exception to log. - - - All internal warning messages are prepended with - the string "log4net:WARN ". - - - - - - Writes log4net internal error messages to the - standard error stream. - - The message to log. - - - All internal error messages are prepended with - the string "log4net:ERROR ". - - - - - - Writes log4net internal error messages to the - standard error stream. - - The message to log. - An exception to log. - - - All internal debug messages are prepended with - the string "log4net:ERROR ". - - - - - - Writes output to the standard output stream. - - The message to log. - - - Writes to both Console.Out and System.Diagnostics.Trace. - Note that the System.Diagnostics.Trace is not supported - on the Compact Framework. - - - If the AppDomain is not configured with a config file then - the call to System.Diagnostics.Trace may fail. This is only - an issue if you are programmatically creating your own AppDomains. - - - - - - Writes output to the standard error stream. - - The message to log. - - - Writes to both Console.Error and System.Diagnostics.Trace. - Note that the System.Diagnostics.Trace is not supported - on the Compact Framework. - - - If the AppDomain is not configured with a config file then - the call to System.Diagnostics.Trace may fail. This is only - an issue if you are programmatically creating your own AppDomains. - - - - - - Default debug level - - - - - In quietMode not even errors generate any output. - - - - - Gets or sets a value indicating whether log4net internal logging - is enabled or disabled. - - - true if log4net internal logging is enabled, otherwise - false. - - - - When set to true, internal debug level logging will be - displayed. - - - This value can be set by setting the application setting - log4net.Internal.Debug in the application configuration - file. - - - The default value is false, i.e. debugging is - disabled. - - - - - The following example enables internal debugging using the - application configuration file : - - - - - - - - - - - - - Gets or sets a value indicating whether log4net should generate no output - from internal logging, not even for errors. - - - true if log4net should generate no output at all from internal - logging, otherwise false. - - - - When set to true will cause internal logging at all levels to be - suppressed. This means that no warning or error reports will be logged. - This option overrides the setting and - disables all debug also. - - This value can be set by setting the application setting - log4net.Internal.Quiet in the application configuration file. - - - The default value is false, i.e. internal logging is not - disabled. - - - - The following example disables internal logging using the - application configuration file : - - - - - - - - - - - - Test if LogLog.Debug is enabled for output. - - - true if Debug is enabled - - - - Test if LogLog.Debug is enabled for output. - - - - - - Test if LogLog.Warn is enabled for output. - - - true if Warn is enabled - - - - Test if LogLog.Warn is enabled for output. - - - - - - Test if LogLog.Error is enabled for output. - - - true if Error is enabled - - - - Test if LogLog.Error is enabled for output. - - - - - - Represents a native error code and message. - - - - Represents a Win32 platform native error. - - - Nicko Cadell - Gert Driesen - - - - Create an instance of the class with the specified - error number and message. - - The number of the native error. - The message of the native error. - - - Create an instance of the class with the specified - error number and message. - - - - - - Create a new instance of the class for the last Windows error. - - - An instance of the class for the last windows error. - - - - The message for the error number is lookup up using the - native Win32 FormatMessage function. - - - - - - Create a new instance of the class. - - the error number for the native error - - An instance of the class for the specified - error number. - - - - The message for the specified error number is lookup up using the - native Win32 FormatMessage function. - - - - - - Retrieves the message corresponding with a Win32 message identifier. - - Message identifier for the requested message. - - The message corresponding with the specified message identifier. - - - - The message will be searched for in system message-table resource(s) - using the native FormatMessage function. - - - - - - Return error information string - - error information string - - - Return error information string - - - - - - Formats a message string. - - Formatting options, and how to interpret the parameter. - Location of the message definition. - Message identifier for the requested message. - Language identifier for the requested message. - If includes FORMAT_MESSAGE_ALLOCATE_BUFFER, the function allocates a buffer using the LocalAlloc function, and places the pointer to the buffer at the address specified in . - If the FORMAT_MESSAGE_ALLOCATE_BUFFER flag is not set, this parameter specifies the maximum number of TCHARs that can be stored in the output buffer. If FORMAT_MESSAGE_ALLOCATE_BUFFER is set, this parameter specifies the minimum number of TCHARs to allocate for an output buffer. - Pointer to an array of values that are used as insert values in the formatted message. - - - The function requires a message definition as input. The message definition can come from a - buffer passed into the function. It can come from a message table resource in an - already-loaded module. Or the caller can ask the function to search the system's message - table resource(s) for the message definition. The function finds the message definition - in a message table resource based on a message identifier and a language identifier. - The function copies the formatted message text to an output buffer, processing any embedded - insert sequences if requested. - - - To prevent the usage of unsafe code, this stub does not support inserting values in the formatted message. - - - - - If the function succeeds, the return value is the number of TCHARs stored in the output - buffer, excluding the terminating null character. - - - If the function fails, the return value is zero. To get extended error information, - call . - - - - - - Gets the number of the native error. - - - The number of the native error. - - - - Gets the number of the native error. - - - - - - Gets the message of the native error. - - - The message of the native error. - - - - - Gets the message of the native error. - - - - - An always empty . - - - - A singleton implementation of the over a collection - that is empty and not modifiable. - - - Nicko Cadell - Gert Driesen - - - - Initializes a new instance of the class. - - - - Uses a private access modifier to enforce the singleton pattern. - - - - - - Test if the enumerator can advance, if so advance. - - false as the cannot advance. - - - As the enumerator is over an empty collection its - value cannot be moved over a valid position, therefore - will always return false. - - - - - - Resets the enumerator back to the start. - - - - As the enumerator is over an empty collection does nothing. - - - - - - The singleton instance of the . - - - - - Gets the singleton instance of the . - - The singleton instance of the . - - - Gets the singleton instance of the . - - - - - - Gets the current object from the enumerator. - - - Throws an because the - never has a current value. - - - - As the enumerator is over an empty collection its - value cannot be moved over a valid position, therefore - will throw an . - - - The collection is empty and - cannot be positioned over a valid location. - - - - Gets the current key from the enumerator. - - - Throws an exception because the - never has a current value. - - - - As the enumerator is over an empty collection its - value cannot be moved over a valid position, therefore - will throw an . - - - The collection is empty and - cannot be positioned over a valid location. - - - - Gets the current value from the enumerator. - - The current value from the enumerator. - - Throws an because the - never has a current value. - - - - As the enumerator is over an empty collection its - value cannot be moved over a valid position, therefore - will throw an . - - - The collection is empty and - cannot be positioned over a valid location. - - - - Gets the current entry from the enumerator. - - - Throws an because the - never has a current entry. - - - - As the enumerator is over an empty collection its - value cannot be moved over a valid position, therefore - will throw an . - - - The collection is empty and - cannot be positioned over a valid location. - - - - An always empty . - - - - A singleton implementation of the over a collection - that is empty and not modifiable. - - - Nicko Cadell - Gert Driesen - - - - Initializes a new instance of the class. - - - - Uses a private access modifier to enforce the singleton pattern. - - - - - - Test if the enumerator can advance, if so advance - - false as the cannot advance. - - - As the enumerator is over an empty collection its - value cannot be moved over a valid position, therefore - will always return false. - - - - - - Resets the enumerator back to the start. - - - - As the enumerator is over an empty collection does nothing. - - - - - - The singleton instance of the . - - - - - Get the singleton instance of the . - - The singleton instance of the . - - - Gets the singleton instance of the . - - - - - - Gets the current object from the enumerator. - - - Throws an because the - never has a current value. - - - - As the enumerator is over an empty collection its - value cannot be moved over a valid position, therefore - will throw an . - - - The collection is empty and - cannot be positioned over a valid location. - - - - A SecurityContext used when a SecurityContext is not required - - - - The is a no-op implementation of the - base class. It is used where a - is required but one has not been provided. - - - Nicko Cadell - - - - Singleton instance of - - - - Singleton instance of - - - - - - Private constructor - - - - Private constructor for singleton pattern. - - - - - - Impersonate this SecurityContext - - State supplied by the caller - null - - - No impersonation is done and null is always returned. - - - - - - Implements log4net's default error handling policy which consists - of emitting a message for the first error in an appender and - ignoring all subsequent errors. - - - - The error message is printed on the standard error output stream. - - - This policy aims at protecting an otherwise working application - from being flooded with error messages when logging fails. - - - Nicko Cadell - Gert Driesen - - - - Default Constructor - - - - Initializes a new instance of the class. - - - - - - Constructor - - The prefix to use for each message. - - - Initializes a new instance of the class - with the specified prefix. - - - - - - Log an Error - - The error message. - The exception. - The internal error code. - - - Prints the message and the stack trace of the exception on the standard - error output stream. - - - - - - Log an Error - - The error message. - The exception. - - - Prints the message and the stack trace of the exception on the standard - error output stream. - - - - - - Log an error - - The error message. - - - Print a the error message passed as parameter on the standard - error output stream. - - - - - - Flag to indicate if it is the first error - - - - - String to prefix each message with - - - - - Is error logging enabled - - - - Is error logging enabled. Logging is only enabled for the - first error delivered to the . - - - - - - A convenience class to convert property values to specific types. - - - - Utility functions for converting types and parsing values. - - - Nicko Cadell - Gert Driesen - - - - Initializes a new instance of the class. - - - - Uses a private access modifier to prevent instantiation of this class. - - - - - - Converts a string to a value. - - String to convert. - The default value. - The value of . - - - If is "true", then true is returned. - If is "false", then false is returned. - Otherwise, is returned. - - - - - - Parses a file size into a number. - - String to parse. - The default value. - The value of . - - - Parses a file size of the form: number[KB|MB|GB] into a - long value. It is scaled with the appropriate multiplier. - - - is returned when - cannot be converted to a value. - - - - - - Converts a string to an object. - - The target type to convert to. - The string to convert to an object. - - The object converted from a string or null when the - conversion failed. - - - - Converts a string to an object. Uses the converter registry to try - to convert the string value into the specified target type. - - - - - - Checks if there is an appropriate type conversion from the source type to the target type. - - The type to convert from. - The type to convert to. - true if there is a conversion from the source type to the target type. - - Checks if there is an appropriate type conversion from the source type to the target type. - - - - - - - Converts an object to the target type. - - The object to convert to the target type. - The type to convert to. - The converted object. - - - Converts an object to the target type. - - - - - - Instantiates an object given a class name. - - The fully qualified class name of the object to instantiate. - The class to which the new object should belong. - The object to return in case of non-fulfillment. - - An instance of the or - if the object could not be instantiated. - - - - Checks that the is a subclass of - . If that test fails or the object could - not be instantiated, then is returned. - - - - - - Performs variable substitution in string from the - values of keys found in . - - The string on which variable substitution is performed. - The dictionary to use to lookup variables. - The result of the substitutions. - - - The variable substitution delimiters are ${ and }. - - - For example, if props contains key=value, then the call - - - - string s = OptionConverter.SubstituteVariables("Value of key is ${key}."); - - - - will set the variable s to "Value of key is value.". - - - If no value could be found for the specified key, then substitution - defaults to an empty string. - - - For example, if system properties contains no value for the key - "nonExistentKey", then the call - - - - string s = OptionConverter.SubstituteVariables("Value of nonExistentKey is [${nonExistentKey}]"); - - - - will set s to "Value of nonExistentKey is []". - - - An Exception is thrown if contains a start - delimiter "${" which is not balanced by a stop delimiter "}". - - - - - - Converts the string representation of the name or numeric value of one or - more enumerated constants to an equivalent enumerated object. - - The type to convert to. - The enum string value. - If true, ignore case; otherwise, regard case. - An object of type whose value is represented by . - - - - Most of the work of the class - is delegated to the PatternParser class. - - - - The PatternParser processes a pattern string and - returns a chain of objects. - - - Nicko Cadell - Gert Driesen - - - - Constructor - - The pattern to parse. - - - Initializes a new instance of the class - with the specified pattern string. - - - - - - Parses the pattern into a chain of pattern converters. - - The head of a chain of pattern converters. - - - Parses the pattern into a chain of pattern converters. - - - - - - Build the unified cache of converters from the static and instance maps - - the list of all the converter names - - - Build the unified cache of converters from the static and instance maps - - - - - - Internal method to parse the specified pattern to find specified matches - - the pattern to parse - the converter names to match in the pattern - - - The matches param must be sorted such that longer strings come before shorter ones. - - - - - - Process a parsed literal - - the literal text - - - - Process a parsed converter pattern - - the name of the converter - the optional option for the converter - the formatting info for the converter - - - - Resets the internal state of the parser and adds the specified pattern converter - to the chain. - - The pattern converter to add. - - - - The first pattern converter in the chain - - - - - the last pattern converter in the chain - - - - - The pattern - - - - - Internal map of converter identifiers to converter types - - - - This map overrides the static s_globalRulesRegistry map. - - - - - - Get the converter registry used by this parser - - - The converter registry used by this parser - - - - Get the converter registry used by this parser - - - - - - Sort strings by length - - - - that orders strings by string length. - The longest strings are placed first - - - - - - This class implements a patterned string. - - - - This string has embedded patterns that are resolved and expanded - when the string is formatted. - - - This class functions similarly to the - in that it accepts a pattern and renders it to a string. Unlike the - however the PatternString - does not render the properties of a specific but - of the process in general. - - - The recognized conversion pattern names are: - - - - Conversion Pattern Name - Effect - - - appdomain - - - Used to output the friendly name of the current AppDomain. - - - - - date - - - Used to output the date of the logging event in the local time zone. - To output the date in universal time use the %utcdate pattern. - The date conversion - specifier may be followed by a date format specifier enclosed - between braces. For example, %date{HH:mm:ss,fff} or - %date{dd MMM yyyy HH:mm:ss,fff}. If no date format specifier is - given then ISO8601 format is - assumed (). - - - The date format specifier admits the same syntax as the - time pattern string of the . - - - For better results it is recommended to use the log4net date - formatters. These can be specified using one of the strings - "ABSOLUTE", "DATE" and "ISO8601" for specifying - , - and respectively - . For example, - %date{ISO8601} or %date{ABSOLUTE}. - - - These dedicated date formatters perform significantly - better than . - - - - - env - - - Used to output the a specific environment variable. The key to - lookup must be specified within braces and directly following the - pattern specifier, e.g. %env{COMPUTERNAME} would include the value - of the COMPUTERNAME environment variable. - - - The env pattern is not supported on the .NET Compact Framework. - - - - - identity - - - Used to output the user name for the currently active user - (Principal.Identity.Name). - - - - - newline - - - Outputs the platform dependent line separator character or - characters. - - - This conversion pattern name offers the same performance as using - non-portable line separator strings such as "\n", or "\r\n". - Thus, it is the preferred way of specifying a line separator. - - - - - processid - - - Used to output the system process ID for the current process. - - - - - property - - - Used to output a specific context property. The key to - lookup must be specified within braces and directly following the - pattern specifier, e.g. %property{user} would include the value - from the property that is keyed by the string 'user'. Each property value - that is to be included in the log must be specified separately. - Properties are stored in logging contexts. By default - the log4net:HostName property is set to the name of machine on - which the event was originally logged. - - - If no key is specified, e.g. %property then all the keys and their - values are printed in a comma separated list. - - - The properties of an event are combined from a number of different - contexts. These are listed below in the order in which they are searched. - - - - the thread properties - - The that are set on the current - thread. These properties are shared by all events logged on this thread. - - - - the global properties - - The that are set globally. These - properties are shared by all the threads in the AppDomain. - - - - - - - random - - - Used to output a random string of characters. The string is made up of - uppercase letters and numbers. By default the string is 4 characters long. - The length of the string can be specified within braces directly following the - pattern specifier, e.g. %random{8} would output an 8 character string. - - - - - username - - - Used to output the WindowsIdentity for the currently - active user. - - - - - utcdate - - - Used to output the date of the logging event in universal time. - The date conversion - specifier may be followed by a date format specifier enclosed - between braces. For example, %utcdate{HH:mm:ss,fff} or - %utcdate{dd MMM yyyy HH:mm:ss,fff}. If no date format specifier is - given then ISO8601 format is - assumed (). - - - The date format specifier admits the same syntax as the - time pattern string of the . - - - For better results it is recommended to use the log4net date - formatters. These can be specified using one of the strings - "ABSOLUTE", "DATE" and "ISO8601" for specifying - , - and respectively - . For example, - %utcdate{ISO8601} or %utcdate{ABSOLUTE}. - - - These dedicated date formatters perform significantly - better than . - - - - - % - - - The sequence %% outputs a single percent sign. - - - - - - Additional pattern converters may be registered with a specific - instance using or - . - - - See the for details on the - format modifiers supported by the patterns. - - - Nicko Cadell - - - - Internal map of converter identifiers to converter types. - - - - - the pattern - - - - - the head of the pattern converter chain - - - - - patterns defined on this PatternString only - - - - - Initialize the global registry - - - - - Default constructor - - - - Initialize a new instance of - - - - - - Constructs a PatternString - - The pattern to use with this PatternString - - - Initialize a new instance of with the pattern specified. - - - - - - Initialize object options - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - - - - Create the used to parse the pattern - - the pattern to parse - The - - - Returns PatternParser used to parse the conversion string. Subclasses - may override this to return a subclass of PatternParser which recognize - custom conversion pattern name. - - - - - - Produces a formatted string as specified by the conversion pattern. - - The TextWriter to write the formatted event to - - - Format the pattern to the . - - - - - - Format the pattern as a string - - the pattern formatted as a string - - - Format the pattern to a string. - - - - - - Add a converter to this PatternString - - the converter info - - - This version of the method is used by the configurator. - Programmatic users should use the alternative method. - - - - - - Add a converter to this PatternString - - the name of the conversion pattern for this converter - the type of the converter - - - Add a converter to this PatternString - - - - - - Gets or sets the pattern formatting string - - - The pattern formatting string - - - - The ConversionPattern option. This is the string which - controls formatting and consists of a mix of literal content and - conversion specifiers. - - - - - - Wrapper class used to map converter names to converter types - - - - Wrapper class used to map converter names to converter types - - - - - - default constructor - - - - - Gets or sets the name of the conversion pattern - - - The name of the conversion pattern - - - - Gets or sets the name of the conversion pattern - - - - - - Gets or sets the type of the converter - - - The type of the converter - - - - Gets or sets the type of the converter - - - - - - String keyed object map. - - - - While this collection is serializable only member - objects that are serializable will - be serialized along with this collection. - - - Nicko Cadell - Gert Driesen - - - - String keyed object map that is read only. - - - - This collection is readonly and cannot be modified. - - - While this collection is serializable only member - objects that are serializable will - be serialized along with this collection. - - - Nicko Cadell - Gert Driesen - - - - The Hashtable used to store the properties data - - - - - Constructor - - - - Initializes a new instance of the class. - - - - - - Copy Constructor - - properties to copy - - - Initializes a new instance of the class. - - - - - - Deserialization constructor - - The that holds the serialized object data. - The that contains contextual information about the source or destination. - - - Initializes a new instance of the class - with serialized data. - - - - - - Gets the key names. - - An array of all the keys. - - - Gets the key names. - - - - - - Test if the dictionary contains a specified key - - the key to look for - true if the dictionary contains the specified key - - - Test if the dictionary contains a specified key - - - - - - Serializes this object into the provided. - - The to populate with data. - The destination for this serialization. - - - Serializes this object into the provided. - - - - - - See - - - - - See - - - - - - See - - - - - - - Remove all properties from the properties collection - - - - - See - - - - - - - See - - - - - - - See - - - - - Gets or sets the value of the property with the specified key. - - - The value of the property with the specified key. - - The key of the property to get or set. - - - The property value will only be serialized if it is serializable. - If it cannot be serialized it will be silently ignored if - a serialization operation is performed. - - - - - - The hashtable used to store the properties - - - The internal collection used to store the properties - - - - The hashtable used to store the properties - - - - - - See - - - - - See - - - - - See - - - - - See - - - - - See - - - - - See - - - - - The number of properties in this collection - - - - - See - - - - - Constructor - - - - Initializes a new instance of the class. - - - - - - Constructor - - properties to copy - - - Initializes a new instance of the class. - - - - - - Initializes a new instance of the class - with serialized data. - - The that holds the serialized object data. - The that contains contextual information about the source or destination. - - - Because this class is sealed the serialization constructor is private. - - - - - - Remove the entry with the specified key from this dictionary - - the key for the entry to remove - - - Remove the entry with the specified key from this dictionary - - - - - - See - - an enumerator - - - Returns a over the contest of this collection. - - - - - - See - - the key to remove - - - Remove the entry with the specified key from this dictionary - - - - - - See - - the key to lookup in the collection - true if the collection contains the specified key - - - Test if this collection contains a specified key. - - - - - - Remove all properties from the properties collection - - - - Remove all properties from the properties collection - - - - - - See - - the key - the value to store for the key - - - Store a value for the specified . - - - Thrown if the is not a string - - - - See - - - - - - - See - - - - - Gets or sets the value of the property with the specified key. - - - The value of the property with the specified key. - - The key of the property to get or set. - - - The property value will only be serialized if it is serializable. - If it cannot be serialized it will be silently ignored if - a serialization operation is performed. - - - - - - See - - - false - - - - This collection is modifiable. This property always - returns false. - - - - - - See - - - The value for the key specified. - - - - Get or set a value for the specified . - - - Thrown if the is not a string - - - - See - - - - - See - - - - - See - - - - - See - - - - - See - - - - - A that ignores the message - - - - This writer is used in special cases where it is necessary - to protect a writer from being closed by a client. - - - Nicko Cadell - - - - Constructor - - the writer to actually write to - - - Create a new ProtectCloseTextWriter using a writer - - - - - - Attach this instance to a different underlying - - the writer to attach to - - - Attach this instance to a different underlying - - - - - - Does not close the underlying output writer. - - - - Does not close the underlying output writer. - This method does nothing. - - - - - - Defines a lock that supports single writers and multiple readers - - - - ReaderWriterLock is used to synchronize access to a resource. - At any given time, it allows either concurrent read access for - multiple threads, or write access for a single thread. In a - situation where a resource is changed infrequently, a - ReaderWriterLock provides better throughput than a simple - one-at-a-time lock, such as . - - - If a platform does not support a System.Threading.ReaderWriterLock - implementation then all readers and writers are serialized. Therefore - the caller must not rely on multiple simultaneous readers. - - - Nicko Cadell - - - - Constructor - - - - Initializes a new instance of the class. - - - - - - Acquires a reader lock - - - - blocks if a different thread has the writer - lock, or if at least one thread is waiting for the writer lock. - - - - - - Decrements the lock count - - - - decrements the lock count. When the count - reaches zero, the lock is released. - - - - - - Acquires the writer lock - - - - This method blocks if another thread has a reader lock or writer lock. - - - - - - Decrements the lock count on the writer lock - - - - ReleaseWriterLock decrements the writer lock count. - When the count reaches zero, the writer lock is released. - - - - - - A that can be and reused - - - - A that can be and reused. - This uses a single buffer for string operations. - - - Nicko Cadell - - - - Create an instance of - - the format provider to use - - - Create an instance of - - - - - - Override Dispose to prevent closing of writer - - flag - - - Override Dispose to prevent closing of writer - - - - - - Reset this string writer so that it can be reused. - - the maximum buffer capacity before it is trimmed - the default size to make the buffer - - - Reset this string writer so that it can be reused. - The internal buffers are cleared and reset. - - - - - - Utility class for system specific information. - - - - Utility class of static methods for system specific information. - - - Nicko Cadell - Gert Driesen - Alexey Solofnenko - - - - Private constructor to prevent instances. - - - - Only static methods are exposed from this type. - - - - - - Initialize default values for private static fields. - - - - Only static methods are exposed from this type. - - - - - - Gets the assembly location path for the specified assembly. - - The assembly to get the location for. - The location of the assembly. - - - This method does not guarantee to return the correct path - to the assembly. If only tries to give an indication as to - where the assembly was loaded from. - - - - - - Gets the fully qualified name of the , including - the name of the assembly from which the was - loaded. - - The to get the fully qualified name for. - The fully qualified name for the . - - - This is equivalent to the Type.AssemblyQualifiedName property, - but this method works on the .NET Compact Framework 1.0 as well as - the full .NET runtime. - - - - - - Gets the short name of the . - - The to get the name for. - The short name of the . - - - The short name of the assembly is the - without the version, culture, or public key. i.e. it is just the - assembly's file name without the extension. - - - Use this rather than Assembly.GetName().Name because that - is not available on the Compact Framework. - - - Because of a FileIOPermission security demand we cannot do - the obvious Assembly.GetName().Name. We are allowed to get - the of the assembly so we - start from there and strip out just the assembly name. - - - - - - Gets the file name portion of the , including the extension. - - The to get the file name for. - The file name of the assembly. - - - Gets the file name portion of the , including the extension. - - - - - - Loads the type specified in the type string. - - A sibling type to use to load the type. - The name of the type to load. - Flag set to true to throw an exception if the type cannot be loaded. - true to ignore the case of the type name; otherwise, false - The type loaded or null if it could not be loaded. - - - If the type name is fully qualified, i.e. if contains an assembly name in - the type name, the type will be loaded from the system using - . - - - If the type name is not fully qualified, it will be loaded from the assembly - containing the specified relative type. If the type is not found in the assembly - then all the loaded assemblies will be searched for the type. - - - - - - Loads the type specified in the type string. - - The name of the type to load. - Flag set to true to throw an exception if the type cannot be loaded. - true to ignore the case of the type name; otherwise, false - The type loaded or null if it could not be loaded. - - - If the type name is fully qualified, i.e. if contains an assembly name in - the type name, the type will be loaded from the system using - . - - - If the type name is not fully qualified it will be loaded from the - assembly that is directly calling this method. If the type is not found - in the assembly then all the loaded assemblies will be searched for the type. - - - - - - Loads the type specified in the type string. - - An assembly to load the type from. - The name of the type to load. - Flag set to true to throw an exception if the type cannot be loaded. - true to ignore the case of the type name; otherwise, false - The type loaded or null if it could not be loaded. - - - If the type name is fully qualified, i.e. if contains an assembly name in - the type name, the type will be loaded from the system using - . - - - If the type name is not fully qualified it will be loaded from the specified - assembly. If the type is not found in the assembly then all the loaded assemblies - will be searched for the type. - - - - - - Generate a new guid - - A new Guid - - - Generate a new guid - - - - - - Create an - - The name of the parameter that caused the exception - The value of the argument that causes this exception - The message that describes the error - the ArgumentOutOfRangeException object - - - Create a new instance of the class - with a specified error message, the parameter name, and the value - of the argument. - - - The Compact Framework does not support the 3 parameter constructor for the - type. This method provides an - implementation that works for all platforms. - - - - - - Parse a string into an value - - the string to parse - out param where the parsed value is placed - true if the string was able to be parsed into an integer - - - Attempts to parse the string into an integer. If the string cannot - be parsed then this method returns false. The method does not throw an exception. - - - - - - Parse a string into an value - - the string to parse - out param where the parsed value is placed - true if the string was able to be parsed into an integer - - - Attempts to parse the string into an integer. If the string cannot - be parsed then this method returns false. The method does not throw an exception. - - - - - - Lookup an application setting - - the application settings key to lookup - the value for the key, or null - - - Configuration APIs are not supported under the Compact Framework - - - - - - Convert a path into a fully qualified local file path. - - The path to convert. - The fully qualified path. - - - Converts the path specified to a fully - qualified path. If the path is relative it is - taken as relative from the application base - directory. - - - The path specified must be a local file path, a URI is not supported. - - - - - - Creates a new case-insensitive instance of the class with the default initial capacity. - - A new case-insensitive instance of the class with the default initial capacity - - - The new Hashtable instance uses the default load factor, the CaseInsensitiveHashCodeProvider, and the CaseInsensitiveComparer. - - - - - - Gets an empty array of types. - - - - The Type.EmptyTypes field is not available on - the .NET Compact Framework 1.0. - - - - - - Cache the host name for the current machine - - - - - Cache the application friendly name - - - - - Text to output when a null is encountered. - - - - - Text to output when an unsupported feature is requested. - - - - - Start time for the current process. - - - - - Gets the system dependent line terminator. - - - The system dependent line terminator. - - - - Gets the system dependent line terminator. - - - - - - Gets the base directory for this . - - The base directory path for the current . - - - Gets the base directory for this . - - - The value returned may be either a local file path or a URI. - - - - - - Gets the path to the configuration file for the current . - - The path to the configuration file for the current . - - - The .NET Compact Framework 1.0 does not have a concept of a configuration - file. For this runtime, we use the entry assembly location as the root for - the configuration file name. - - - The value returned may be either a local file path or a URI. - - - - - - Gets the path to the file that first executed in the current . - - The path to the entry assembly. - - - Gets the path to the file that first executed in the current . - - - - - - Gets the ID of the current thread. - - The ID of the current thread. - - - On the .NET framework, the AppDomain.GetCurrentThreadId method - is used to obtain the thread ID for the current thread. This is the - operating system ID for the thread. - - - On the .NET Compact Framework 1.0 it is not possible to get the - operating system thread ID for the current thread. The native method - GetCurrentThreadId is implemented inline in a header file - and cannot be called. - - - On the .NET Framework 2.0 the Thread.ManagedThreadId is used as this - gives a stable id unrelated to the operating system thread ID which may - change if the runtime is using fibers. - - - - - - Get the host name or machine name for the current machine - - - The hostname or machine name - - - - Get the host name or machine name for the current machine - - - The host name () or - the machine name (Environment.MachineName) for - the current machine, or if neither of these are available - then NOT AVAILABLE is returned. - - - - - - Get this application's friendly name - - - The friendly name of this application as a string - - - - If available the name of the application is retrieved from - the AppDomain using AppDomain.CurrentDomain.FriendlyName. - - - Otherwise the file name of the entry assembly is used. - - - - - - Get the start time for the current process. - - - - This is the time at which the log4net library was loaded into the - AppDomain. Due to reports of a hang in the call to System.Diagnostics.Process.StartTime - this is not the start time for the current process. - - - The log4net library should be loaded by an application early during its - startup, therefore this start time should be a good approximation for - the actual start time. - - - Note that AppDomains may be loaded and unloaded within the - same process without the process terminating, however this start time - will be set per AppDomain. - - - - - - Text to output when a null is encountered. - - - - Use this value to indicate a null has been encountered while - outputting a string representation of an item. - - - The default value is (null). This value can be overridden by specifying - a value for the log4net.NullText appSetting in the application's - .config file. - - - - - - Text to output when an unsupported feature is requested. - - - - Use this value when an unsupported feature is requested. - - - The default value is NOT AVAILABLE. This value can be overridden by specifying - a value for the log4net.NotAvailableText appSetting in the application's - .config file. - - - - - - Utility class that represents a format string. - - - - Utility class that represents a format string. - - - Nicko Cadell - - - - Initialise the - - An that supplies culture-specific formatting information. - A containing zero or more format items. - An array containing zero or more objects to format. - - - - Format the string and arguments - - the formatted string - - - - Replaces the format item in a specified with the text equivalent - of the value of a corresponding instance in a specified array. - A specified parameter supplies culture-specific formatting information. - - An that supplies culture-specific formatting information. - A containing zero or more format items. - An array containing zero or more objects to format. - - A copy of format in which the format items have been replaced by the - equivalent of the corresponding instances of in args. - - - - This method does not throw exceptions. If an exception thrown while formatting the result the - exception and arguments are returned in the result string. - - - - - - Process an error during StringFormat - - - - - Dump the contents of an array into a string builder - - - - - Dump an object to a string - - - - - Implementation of Properties collection for the - - - - Class implements a collection of properties that is specific to each thread. - The class is not synchronized as each thread has its own . - - - Nicko Cadell - - - - The thread local data slot to use to store a PropertiesDictionary. - - - - - Internal constructor - - - - Initializes a new instance of the class. - - - - - - Remove a property - - the key for the entry to remove - - - Remove a property - - - - - - Clear all properties - - - - Clear all properties - - - - - - Get the PropertiesDictionary for this thread. - - create the dictionary if it does not exist, otherwise return null if is does not exist - the properties for this thread - - - The collection returned is only to be used on the calling thread. If the - caller needs to share the collection between different threads then the - caller must clone the collection before doing so. - - - - - - Gets or sets the value of a property - - - The value for the property with the specified key - - - - Gets or sets the value of a property - - - - - - Implementation of Stack for the - - - - Implementation of Stack for the - - - Nicko Cadell - - - - The stack store. - - - - - Internal constructor - - - - Initializes a new instance of the class. - - - - - - Clears all the contextual information held in this stack. - - - - Clears all the contextual information held in this stack. - Only call this if you think that this tread is being reused after - a previous call execution which may not have completed correctly. - You do not need to use this method if you always guarantee to call - the method of the - returned from even in exceptional circumstances, - for example by using the using(log4net.ThreadContext.Stacks["NDC"].Push("Stack_Message")) - syntax. - - - - - - Removes the top context from this stack. - - The message in the context that was removed from the top of this stack. - - - Remove the top context from this stack, and return - it to the caller. If this stack is empty then an - empty string (not ) is returned. - - - - - - Pushes a new context message into this stack. - - The new context message. - - An that can be used to clean up the context stack. - - - - Pushes a new context onto this stack. An - is returned that can be used to clean up this stack. This - can be easily combined with the using keyword to scope the - context. - - - Simple example of using the Push method with the using keyword. - - using(log4net.ThreadContext.Stacks["NDC"].Push("Stack_Message")) - { - log.Warn("This should have an ThreadContext Stack message"); - } - - - - - - Gets the current context information for this stack. - - The current context information. - - - - Gets the current context information for this stack. - - Gets the current context information - - - Gets the current context information for this stack. - - - - - - Get a portable version of this object - - the portable instance of this object - - - Get a cross thread portable version of this object - - - - - - The number of messages in the stack - - - The current number of messages in the stack - - - - The current number of messages in the stack. That is - the number of times has been called - minus the number of times has been called. - - - - - - Gets and sets the internal stack used by this - - The internal storage stack - - - This property is provided only to support backward compatability - of the . Tytpically the internal stack should not - be modified. - - - - - - Inner class used to represent a single context frame in the stack. - - - - Inner class used to represent a single context frame in the stack. - - - - - - Constructor - - The message for this context. - The parent context in the chain. - - - Initializes a new instance of the class - with the specified message and parent context. - - - - - - Get the message. - - The message. - - - Get the message. - - - - - - Gets the full text of the context down to the root level. - - - The full text of the context down to the root level. - - - - Gets the full text of the context down to the root level. - - - - - - Struct returned from the method. - - - - This struct implements the and is designed to be used - with the pattern to remove the stack frame at the end of the scope. - - - - - - The ThreadContextStack internal stack - - - - - The depth to trim the stack to when this instance is disposed - - - - - Constructor - - The internal stack used by the ThreadContextStack. - The depth to return the stack to when this object is disposed. - - - Initializes a new instance of the class with - the specified stack and return depth. - - - - - - Returns the stack to the correct depth. - - - - Returns the stack to the correct depth. - - - - - - Implementation of Stacks collection for the - - - - Implementation of Stacks collection for the - - - Nicko Cadell - - - - Internal constructor - - - - Initializes a new instance of the class. - - - - - - Gets the named thread context stack - - - The named stack - - - - Gets the named thread context stack - - - - - - Utility class for transforming strings. - - - - Utility class for transforming strings. - - - Nicko Cadell - Gert Driesen - - - - Initializes a new instance of the class. - - - - Uses a private access modifier to prevent instantiation of this class. - - - - - - Write a string to an - - the writer to write to - the string to write - The string to replace non XML compliant chars with - - - The test is escaped either using XML escape entities - or using CDATA sections. - - - - - - Replace invalid XML characters in text string - - the XML text input string - the string to use in place of invalid characters - A string that does not contain invalid XML characters. - - - Certain Unicode code points are not allowed in the XML InfoSet, for - details see: http://www.w3.org/TR/REC-xml/#charsets. - - - This method replaces any illegal characters in the input string - with the mask string specified. - - - - - - Count the number of times that the substring occurs in the text - - the text to search - the substring to find - the number of times the substring occurs in the text - - - The substring is assumed to be non repeating within itself. - - - - - - Impersonate a Windows Account - - - - This impersonates a Windows account. - - - How the impersonation is done depends on the value of . - This allows the context to either impersonate a set of user credentials specified - using username, domain name and password or to revert to the process credentials. - - - - - - Default constructor - - - - Default constructor - - - - - - Initialize the SecurityContext based on the options set. - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - The security context will try to Logon the specified user account and - capture a primary token for impersonation. - - - The required , - or properties were not specified. - - - - Impersonate the Windows account specified by the and properties. - - caller provided state - - An instance that will revoke the impersonation of this SecurityContext - - - - Depending on the property either - impersonate a user using credentials supplied or revert - to the process credentials. - - - - - - Create a given the userName, domainName and password. - - the user name - the domain name - the password - the for the account specified - - - Uses the Windows API call LogonUser to get a principal token for the account. This - token is used to initialize the WindowsIdentity. - - - - - - Gets or sets the impersonation mode for this security context - - - The impersonation mode for this security context - - - - Impersonate either a user with user credentials or - revert this thread to the credentials of the process. - The value is one of the - enum. - - - The default value is - - - When the mode is set to - the user's credentials are established using the - , and - values. - - - When the mode is set to - no other properties need to be set. If the calling thread is - impersonating then it will be reverted back to the process credentials. - - - - - - Gets or sets the Windows username for this security context - - - The Windows username for this security context - - - - This property must be set if - is set to (the default setting). - - - - - - Gets or sets the Windows domain name for this security context - - - The Windows domain name for this security context - - - - The default value for is the local machine name - taken from the property. - - - This property must be set if - is set to (the default setting). - - - - - - Sets the password for the Windows account specified by the and properties. - - - The password for the Windows account specified by the and properties. - - - - This property must be set if - is set to (the default setting). - - - - - - The impersonation modes for the - - - - See the property for - details. - - - - - - Impersonate a user using the credentials supplied - - - - - Revert this the thread to the credentials of the process - - - - - Adds to - - - - Helper class to expose the - through the interface. - - - - - - Constructor - - the impersonation context being wrapped - - - Constructor - - - - - - Revert the impersonation - - - - Revert the impersonation - - - - - - The log4net Global Context. - - - - The GlobalContext provides a location for global debugging - information to be stored. - - - The global context has a properties map and these properties can - be included in the output of log messages. The - supports selecting and outputing these properties. - - - By default the log4net:HostName property is set to the name of - the current machine. - - - - - GlobalContext.Properties["hostname"] = Environment.MachineName; - - - - Nicko Cadell - - - - Private Constructor. - - - Uses a private access modifier to prevent instantiation of this class. - - - - - The global context properties instance - - - - - The global properties map. - - - The global properties map. - - - - The global properties map. - - - - - - The log4net Logical Thread Context. - - - - The LogicalThreadContext provides a location for specific debugging - information to be stored. - The LogicalThreadContext properties override any or - properties with the same name. - - - The Logical Thread Context has a properties map and a stack. - The properties and stack can - be included in the output of log messages. The - supports selecting and outputting these properties. - - - The Logical Thread Context provides a diagnostic context for the current call context. - This is an instrument for distinguishing interleaved log - output from different sources. Log output is typically interleaved - when a server handles multiple clients near-simultaneously. - - - The Logical Thread Context is managed on a per basis. - - - Example of using the thread context properties to store a username. - - LogicalThreadContext.Properties["user"] = userName; - log.Info("This log message has a LogicalThreadContext Property called 'user'"); - - - Example of how to push a message into the context stack - - using(LogicalThreadContext.Stacks["LDC"].Push("my context message")) - { - log.Info("This log message has a LogicalThreadContext Stack message that includes 'my context message'"); - - } // at the end of the using block the message is automatically popped - - - - Nicko Cadell - - - - Private Constructor. - - - - Uses a private access modifier to prevent instantiation of this class. - - - - - - The thread context properties instance - - - - - The thread context stacks instance - - - - - The thread properties map - - - The thread properties map - - - - The LogicalThreadContext properties override any - or properties with the same name. - - - - - - The thread stacks - - - stack map - - - - The logical thread stacks. - - - - - - This class is used by client applications to request logger instances. - - - - This class has static methods that are used by a client to request - a logger instance. The method is - used to retrieve a logger. - - - See the interface for more details. - - - Simple example of logging messages - - ILog log = LogManager.GetLogger("application-log"); - - log.Info("Application Start"); - log.Debug("This is a debug message"); - - if (log.IsDebugEnabled) - { - log.Debug("This is another debug message"); - } - - - - - Nicko Cadell - Gert Driesen - - - - Initializes a new instance of the class. - - - Uses a private access modifier to prevent instantiation of this class. - - - - Returns the named logger if it exists. - - Returns the named logger if it exists. - - - - If the named logger exists (in the default repository) then it - returns a reference to the logger, otherwise it returns null. - - - The fully qualified logger name to look for. - The logger found, or null if no logger could be found. - - - - Returns the named logger if it exists. - - - - If the named logger exists (in the specified repository) then it - returns a reference to the logger, otherwise it returns - null. - - - The repository to lookup in. - The fully qualified logger name to look for. - - The logger found, or null if the logger doesn't exist in the specified - repository. - - - - - Returns the named logger if it exists. - - - - If the named logger exists (in the repository for the specified assembly) then it - returns a reference to the logger, otherwise it returns - null. - - - The assembly to use to lookup the repository. - The fully qualified logger name to look for. - - The logger, or null if the logger doesn't exist in the specified - assembly's repository. - - - - Get the currently defined loggers. - - Returns all the currently defined loggers in the default repository. - - - The root logger is not included in the returned array. - - All the defined loggers. - - - - Returns all the currently defined loggers in the specified repository. - - The repository to lookup in. - - The root logger is not included in the returned array. - - All the defined loggers. - - - - Returns all the currently defined loggers in the specified assembly's repository. - - The assembly to use to lookup the repository. - - The root logger is not included in the returned array. - - All the defined loggers. - - - Get or create a logger. - - Retrieves or creates a named logger. - - - - Retrieves a logger named as the - parameter. If the named logger already exists, then the - existing instance will be returned. Otherwise, a new instance is - created. - - By default, loggers do not have a set level but inherit - it from the hierarchy. This is one of the central features of - log4net. - - - The name of the logger to retrieve. - The logger with the name specified. - - - - Retrieves or creates a named logger. - - - - Retrieve a logger named as the - parameter. If the named logger already exists, then the - existing instance will be returned. Otherwise, a new instance is - created. - - - By default, loggers do not have a set level but inherit - it from the hierarchy. This is one of the central features of - log4net. - - - The repository to lookup in. - The name of the logger to retrieve. - The logger with the name specified. - - - - Retrieves or creates a named logger. - - - - Retrieve a logger named as the - parameter. If the named logger already exists, then the - existing instance will be returned. Otherwise, a new instance is - created. - - - By default, loggers do not have a set level but inherit - it from the hierarchy. This is one of the central features of - log4net. - - - The assembly to use to lookup the repository. - The name of the logger to retrieve. - The logger with the name specified. - - - - Shorthand for . - - - Get the logger for the fully qualified name of the type specified. - - The full name of will be used as the name of the logger to retrieve. - The logger with the name specified. - - - - Shorthand for . - - - Gets the logger for the fully qualified name of the type specified. - - The repository to lookup in. - The full name of will be used as the name of the logger to retrieve. - The logger with the name specified. - - - - Shorthand for . - - - Gets the logger for the fully qualified name of the type specified. - - The assembly to use to lookup the repository. - The full name of will be used as the name of the logger to retrieve. - The logger with the name specified. - - - - Shuts down the log4net system. - - - - Calling this method will safely close and remove all - appenders in all the loggers including root contained in all the - default repositories. - - - Some appenders need to be closed before the application exists. - Otherwise, pending logging events might be lost. - - The shutdown method is careful to close nested - appenders before closing regular appenders. This is allows - configurations where a regular appender is attached to a logger - and again to a nested appender. - - - - - Shutdown a logger repository. - - Shuts down the default repository. - - - - Calling this method will safely close and remove all - appenders in all the loggers including root contained in the - default repository. - - Some appenders need to be closed before the application exists. - Otherwise, pending logging events might be lost. - - The shutdown method is careful to close nested - appenders before closing regular appenders. This is allows - configurations where a regular appender is attached to a logger - and again to a nested appender. - - - - - - Shuts down the repository for the repository specified. - - - - Calling this method will safely close and remove all - appenders in all the loggers including root contained in the - specified. - - - Some appenders need to be closed before the application exists. - Otherwise, pending logging events might be lost. - - The shutdown method is careful to close nested - appenders before closing regular appenders. This is allows - configurations where a regular appender is attached to a logger - and again to a nested appender. - - - The repository to shutdown. - - - - Shuts down the repository specified. - - - - Calling this method will safely close and remove all - appenders in all the loggers including root contained in the - repository. The repository is looked up using - the specified. - - - Some appenders need to be closed before the application exists. - Otherwise, pending logging events might be lost. - - - The shutdown method is careful to close nested - appenders before closing regular appenders. This is allows - configurations where a regular appender is attached to a logger - and again to a nested appender. - - - The assembly to use to lookup the repository. - - - Reset the configuration of a repository - - Resets all values contained in this repository instance to their defaults. - - - - Resets all values contained in the repository instance to their - defaults. This removes all appenders from all loggers, sets - the level of all non-root loggers to null, - sets their additivity flag to true and sets the level - of the root logger to . Moreover, - message disabling is set to its default "off" value. - - - - - - Resets all values contained in this repository instance to their defaults. - - - - Reset all values contained in the repository instance to their - defaults. This removes all appenders from all loggers, sets - the level of all non-root loggers to null, - sets their additivity flag to true and sets the level - of the root logger to . Moreover, - message disabling is set to its default "off" value. - - - The repository to reset. - - - - Resets all values contained in this repository instance to their defaults. - - - - Reset all values contained in the repository instance to their - defaults. This removes all appenders from all loggers, sets - the level of all non-root loggers to null, - sets their additivity flag to true and sets the level - of the root logger to . Moreover, - message disabling is set to its default "off" value. - - - The assembly to use to lookup the repository to reset. - - - Get the logger repository. - - Returns the default instance. - - - - Gets the for the repository specified - by the callers assembly (). - - - The instance for the default repository. - - - - Returns the default instance. - - The default instance. - - - Gets the for the repository specified - by the argument. - - - The repository to lookup in. - - - - Returns the default instance. - - The default instance. - - - Gets the for the repository specified - by the argument. - - - The assembly to use to lookup the repository. - - - Get a logger repository. - - Returns the default instance. - - - - Gets the for the repository specified - by the callers assembly (). - - - The instance for the default repository. - - - - Returns the default instance. - - The default instance. - - - Gets the for the repository specified - by the argument. - - - The repository to lookup in. - - - - Returns the default instance. - - The default instance. - - - Gets the for the repository specified - by the argument. - - - The assembly to use to lookup the repository. - - - Create a domain - - Creates a repository with the specified repository type. - - - - CreateDomain is obsolete. Use CreateRepository instead of CreateDomain. - - - The created will be associated with the repository - specified such that a call to will return - the same repository instance. - - - A that implements - and has a no arg constructor. An instance of this type will be created to act - as the for the repository specified. - The created for the repository. - - - Create a logger repository. - - Creates a repository with the specified repository type. - - A that implements - and has a no arg constructor. An instance of this type will be created to act - as the for the repository specified. - The created for the repository. - - - The created will be associated with the repository - specified such that a call to will return - the same repository instance. - - - - - - Creates a repository with the specified name. - - - - CreateDomain is obsolete. Use CreateRepository instead of CreateDomain. - - - Creates the default type of which is a - object. - - - The name must be unique. Repositories cannot be redefined. - An will be thrown if the repository already exists. - - - The name of the repository, this must be unique amongst repositories. - The created for the repository. - The specified repository already exists. - - - - Creates a repository with the specified name. - - - - Creates the default type of which is a - object. - - - The name must be unique. Repositories cannot be redefined. - An will be thrown if the repository already exists. - - - The name of the repository, this must be unique amongst repositories. - The created for the repository. - The specified repository already exists. - - - - Creates a repository with the specified name and repository type. - - - - CreateDomain is obsolete. Use CreateRepository instead of CreateDomain. - - - The name must be unique. Repositories cannot be redefined. - An will be thrown if the repository already exists. - - - The name of the repository, this must be unique to the repository. - A that implements - and has a no arg constructor. An instance of this type will be created to act - as the for the repository specified. - The created for the repository. - The specified repository already exists. - - - - Creates a repository with the specified name and repository type. - - - - The name must be unique. Repositories cannot be redefined. - An will be thrown if the repository already exists. - - - The name of the repository, this must be unique to the repository. - A that implements - and has a no arg constructor. An instance of this type will be created to act - as the for the repository specified. - The created for the repository. - The specified repository already exists. - - - - Creates a repository for the specified assembly and repository type. - - - - CreateDomain is obsolete. Use CreateRepository instead of CreateDomain. - - - The created will be associated with the repository - specified such that a call to with the - same assembly specified will return the same repository instance. - - - The assembly to use to get the name of the repository. - A that implements - and has a no arg constructor. An instance of this type will be created to act - as the for the repository specified. - The created for the repository. - - - - Creates a repository for the specified assembly and repository type. - - - - The created will be associated with the repository - specified such that a call to with the - same assembly specified will return the same repository instance. - - - The assembly to use to get the name of the repository. - A that implements - and has a no arg constructor. An instance of this type will be created to act - as the for the repository specified. - The created for the repository. - - - - Gets the list of currently defined repositories. - - - - Get an array of all the objects that have been created. - - - An array of all the known objects. - - - - Looks up the wrapper object for the logger specified. - - The logger to get the wrapper for. - The wrapper for the logger specified. - - - - Looks up the wrapper objects for the loggers specified. - - The loggers to get the wrappers for. - The wrapper objects for the loggers specified. - - - - Create the objects used by - this manager. - - The logger to wrap. - The wrapper for the logger specified. - - - - The wrapper map to use to hold the objects. - - - - - Implementation of Mapped Diagnostic Contexts. - - - - - The MDC is deprecated and has been replaced by the . - The current MDC implementation forwards to the ThreadContext.Properties. - - - - The MDC class is similar to the class except that it is - based on a map instead of a stack. It provides mapped - diagnostic contexts. A Mapped Diagnostic Context, or - MDC in short, is an instrument for distinguishing interleaved log - output from different sources. Log output is typically interleaved - when a server handles multiple clients near-simultaneously. - - - The MDC is managed on a per thread basis. - - - - Nicko Cadell - Gert Driesen - - - - Initializes a new instance of the class. - - - Uses a private access modifier to prevent instantiation of this class. - - - - - Gets the context value identified by the parameter. - - The key to lookup in the MDC. - The string value held for the key, or a null reference if no corresponding value is found. - - - - The MDC is deprecated and has been replaced by the . - The current MDC implementation forwards to the ThreadContext.Properties. - - - - If the parameter does not look up to a - previously defined context then null will be returned. - - - - - - Add an entry to the MDC - - The key to store the value under. - The value to store. - - - - The MDC is deprecated and has been replaced by the . - The current MDC implementation forwards to the ThreadContext.Properties. - - - - Puts a context value (the parameter) as identified - with the parameter into the current thread's - context map. - - - If a value is already defined for the - specified then the value will be replaced. If the - is specified as null then the key value mapping will be removed. - - - - - - Removes the key value mapping for the key specified. - - The key to remove. - - - - The MDC is deprecated and has been replaced by the . - The current MDC implementation forwards to the ThreadContext.Properties. - - - - Remove the specified entry from this thread's MDC - - - - - - Clear all entries in the MDC - - - - - The MDC is deprecated and has been replaced by the . - The current MDC implementation forwards to the ThreadContext.Properties. - - - - Remove all the entries from this thread's MDC - - - - - - Implementation of Nested Diagnostic Contexts. - - - - - The NDC is deprecated and has been replaced by the . - The current NDC implementation forwards to the ThreadContext.Stacks["NDC"]. - - - - A Nested Diagnostic Context, or NDC in short, is an instrument - to distinguish interleaved log output from different sources. Log - output is typically interleaved when a server handles multiple - clients near-simultaneously. - - - Interleaved log output can still be meaningful if each log entry - from different contexts had a distinctive stamp. This is where NDCs - come into play. - - - Note that NDCs are managed on a per thread basis. The NDC class - is made up of static methods that operate on the context of the - calling thread. - - - How to push a message into the context - - using(NDC.Push("my context message")) - { - ... all log calls will have 'my context message' included ... - - } // at the end of the using block the message is automatically removed - - - - Nicko Cadell - Gert Driesen - - - - Initializes a new instance of the class. - - - Uses a private access modifier to prevent instantiation of this class. - - - - - Clears all the contextual information held on the current thread. - - - - - The NDC is deprecated and has been replaced by the . - The current NDC implementation forwards to the ThreadContext.Stacks["NDC"]. - - - - Clears the stack of NDC data held on the current thread. - - - - - - Creates a clone of the stack of context information. - - A clone of the context info for this thread. - - - - The NDC is deprecated and has been replaced by the . - The current NDC implementation forwards to the ThreadContext.Stacks["NDC"]. - - - - The results of this method can be passed to the - method to allow child threads to inherit the context of their - parent thread. - - - - - - Inherits the contextual information from another thread. - - The context stack to inherit. - - - - The NDC is deprecated and has been replaced by the . - The current NDC implementation forwards to the ThreadContext.Stacks["NDC"]. - - - - This thread will use the context information from the stack - supplied. This can be used to initialize child threads with - the same contextual information as their parent threads. These - contexts will NOT be shared. Any further contexts that - are pushed onto the stack will not be visible to the other. - Call to obtain a stack to pass to - this method. - - - - - - Removes the top context from the stack. - - - The message in the context that was removed from the top - of the stack. - - - - - The NDC is deprecated and has been replaced by the . - The current NDC implementation forwards to the ThreadContext.Stacks["NDC"]. - - - - Remove the top context from the stack, and return - it to the caller. If the stack is empty then an - empty string (not null) is returned. - - - - - - Pushes a new context message. - - The new context message. - - An that can be used to clean up - the context stack. - - - - - The NDC is deprecated and has been replaced by the . - The current NDC implementation forwards to the ThreadContext.Stacks["NDC"]. - - - - Pushes a new context onto the context stack. An - is returned that can be used to clean up the context stack. This - can be easily combined with the using keyword to scope the - context. - - - Simple example of using the Push method with the using keyword. - - using(log4net.NDC.Push("NDC_Message")) - { - log.Warn("This should have an NDC message"); - } - - - - - - Removes the context information for this thread. It is - not required to call this method. - - - - - The NDC is deprecated and has been replaced by the . - The current NDC implementation forwards to the ThreadContext.Stacks["NDC"]. - - - - This method is not implemented. - - - - - - Forces the stack depth to be at most . - - The maximum depth of the stack - - - - The NDC is deprecated and has been replaced by the . - The current NDC implementation forwards to the ThreadContext.Stacks["NDC"]. - - - - Forces the stack depth to be at most . - This may truncate the head of the stack. This only affects the - stack in the current thread. Also it does not prevent it from - growing, it only sets the maximum depth at the time of the - call. This can be used to return to a known context depth. - - - - - - Gets the current context depth. - - The current context depth. - - - - The NDC is deprecated and has been replaced by the . - The current NDC implementation forwards to the ThreadContext.Stacks["NDC"]. - - - - The number of context values pushed onto the context stack. - - - Used to record the current depth of the context. This can then - be restored using the method. - - - - - - - The log4net Thread Context. - - - - The ThreadContext provides a location for thread specific debugging - information to be stored. - The ThreadContext properties override any - properties with the same name. - - - The thread context has a properties map and a stack. - The properties and stack can - be included in the output of log messages. The - supports selecting and outputting these properties. - - - The Thread Context provides a diagnostic context for the current thread. - This is an instrument for distinguishing interleaved log - output from different sources. Log output is typically interleaved - when a server handles multiple clients near-simultaneously. - - - The Thread Context is managed on a per thread basis. - - - Example of using the thread context properties to store a username. - - ThreadContext.Properties["user"] = userName; - log.Info("This log message has a ThreadContext Property called 'user'"); - - - Example of how to push a message into the context stack - - using(ThreadContext.Stacks["NDC"].Push("my context message")) - { - log.Info("This log message has a ThreadContext Stack message that includes 'my context message'"); - - } // at the end of the using block the message is automatically popped - - - - Nicko Cadell - - - - Private Constructor. - - - - Uses a private access modifier to prevent instantiation of this class. - - - - - - The thread context properties instance - - - - - The thread context stacks instance - - - - - The thread properties map - - - The thread properties map - - - - The ThreadContext properties override any - properties with the same name. - - - - - - The thread stacks - - - stack map - - - - The thread local stacks. - - - - - diff --git a/lib/NHibernate20/net/4.0/Castle.Core.dll b/lib/NHibernate20/net/4.0/Castle.Core.dll deleted file mode 100644 index 2464e661..00000000 Binary files a/lib/NHibernate20/net/4.0/Castle.Core.dll and /dev/null differ diff --git a/lib/NHibernate20/net/4.0/Castle.Core.xml b/lib/NHibernate20/net/4.0/Castle.Core.xml deleted file mode 100644 index 51e5d1ec..00000000 --- a/lib/NHibernate20/net/4.0/Castle.Core.xml +++ /dev/null @@ -1,3176 +0,0 @@ - - - - Castle.Core - - - - - This attribute is usefull only when you want to register all components - on an assembly as a batch process. - By doing so, the batch register will look - for this attribute to distinguish components from other classes. - - - - - Base for Attributes that want to express lifestyle - chosen by the component. - - - - - Initializes a new instance of the class. - - The type. - - - - Gets or sets the lifestyle. - - The lifestyle. - - - - Initializes a new instance of the class. - - The key. - - - - Initializes a new instance of the class. - - The key. - The service. - - - - Initializes a new instance of the class. - - The key. - The service. - The lifestyle. - - - - Gets the service. - - The service. - - - - Gets the key. - - The key. - - - - Associates a custom component with a component - - - - - Initializes a new instance of the class. - - Type of the component activator. - - - - Gets the type of the component activator. - - The type of the component activator. - - - - Specifies the proxying behavior for a component. - - - - - Initializes a new instance of the class. - - - - - Gets or sets a value indicating whether the generated - interface proxy should inherit from . - - - - - Determines if the component requires a single interface proxy. - - true if the component requires a single interface proxy. - - - - Gets or sets the additional interfaces used during proxy generation. - - - - - Marks as property to be skipped and not be wired - by the IoC container - - - - - Used to declare that a component wants interceptors acting on it. - - - - - Constructs the InterceptorAttribute pointing to - a key to a interceptor - - - - - - Constructs the InterceptorAttribute pointing to - a service - - - - - - Indicates that the target components wants a - singleton lifestyle. - - - - - Initializes a new instance of the class. - - - - - Indicates that the target components wants a - transient lifestyle. - - - - - Initializes a new instance of the class. - - - - - Indicates that the target components wants a - per thread lifestyle. - - - - - Initializes a new instance of the class. - - - - - Indicates that the target components wants a - per web request lifestyle. - - - - - Indicates that the target components wants a - pooled lifestyle. - - - - - Initializes a new instance of the class - using the default initial pool size (5) and the max pool size (15). - - - - - Initializes a new instance of the class. - - Initial size of the pool. - Max pool size. - - - - Gets the initial size of the pool. - - The initial size of the pool. - - - - Gets the maximum pool size. - - The size of the max pool. - - - - Indicates that the target components wants a - custom lifestyle. - - - - - Initializes a new instance of the class. - - The lifestyle handler. - - - - Gets the type of the lifestyle handler. - - The type of the lifestyle handler. - - - - New interface that is going to be used by DynamicProxy 2 - - - - - New interface that is going to be used by DynamicProxy 2 - - - - - Returns the concrete instantiation of , with any generic parameters bound to real types. - - The concrete instantiation of , or if not a generic method. - Can be slower than calling . - - - - Returns the concrete instantiation of , with any generic parameters bound to real types. - - The concrete instantiation of , or if not a generic method. - Can be slower than calling . - - - - - - - - - - The generic arguments of the method, or null if not a generic method. - - - - - - - - - - For interface proxies, this will point to the - on the target class - - - - - Interceptors might implement this to receive the - ComponentModel on behalf of the component where the - interceptor is acting. - - - - - Get the proxy target (note that null is a valid target!) - - - - - - Gets the interceptors for the proxy - - - - - - Abstract representation of a vertex. - - - - - The nodes that dependes on this node - - - - - The nodes that this node depends - - - - - The node has not been visited yet - - - - - This node is in the process of being visited - - - - - This now was visited - - - - - Represents a collection of objects - which are guaranted to be unique - and holds a color for them - - - - - Holds a timestamp (integer) - for a given item - - - - - Returns the node at the specified index. - - The lookup index. - The node at the specified index. - - If the specified is greater than the - number of objects within the list. - - - - - Validates the specified index. - - The lookup index. - - If the index is invalid. - - - - - Lifecycle interface. If implemented by a component, - the method Initialized will be invoked by the container - before making the component available to the external world. - - - - - Implementors should perform any initialization logic. - - - - - Only called for components that - belongs to a pool when the component - comes back to the pool. - - - - - Implementors should perform any - initialization/clean up. - - - - - Interface for components that wish to be started by the container - - - - - Starts this instance. - - - - - Stops this instance. - - - - - Provides a factory that can produce either or - classes. - - - - - Manages the instantiation of s. - - - - - Creates a new logger, getting the logger name from the specified type. - - - - - Creates a new logger. - - - - - Creates a new logger, getting the logger name from the specified type. - - - - - Creates a new logger. - - - - - Creates a new extended logger, getting the logger name from the specified type. - - - - - Creates a new extended logger. - - - - - Creates a new extended logger, getting the logger name from the specified type. - - - - - Creates a new extended logger. - - - - - Creates a new extended logger, getting the logger name from the specified type. - - - - - Creates a new extended logger. - - - - - Creates a new extended logger, getting the logger name from the specified type. - - - - - Creates a new extended logger. - - - - - Creates a new logger, getting the logger name from the specified type. - - - - - Creates a new logger. - - - - - Creates a new logger, getting the logger name from the specified type. - - - - - Creates a new logger. - - - - - Gets the configuration file. - - i.e. log4net.config - - - - - Gets the configuration file. - - i.e. log4net.config - - - - - Summary description for ConsoleFactory. - - - - - NullLogFactory used when logging is turned off. - - - - - Creates an instance of ILogger with the specified name. - - Name. - - - - - Creates an instance of ILogger with the specified name and LoggerLevel. - - Name. - Level. - - - - - Creates outputing - to files. The name of the file is derived from the log name - plus the 'log' extension. - - - - - Used to create the TraceLogger implementation of ILogger interface. See . - - - - - The Logger sending everything to the standard output streams. - This is mainly for the cases when you have a utility that - does not have a logger to supply. - - - - - The Level Filtered Logger class. This is a base clase which - provides a LogLevel attribute and reroutes all functions into - one Log method. - - - - - Manages logging. - - - This is a facade for the different logging subsystems. - It offers a simplified interface that follows IOC patterns - and a simplified priority/level/severity abstraction. - - - - - Logs a debug message. - - The message to log - - - - Logs a debug message. - - The exception to log - The message to log - - - - Logs a debug message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs a debug message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs a debug message. - - The exception to log - Format string for the message to log - Format arguments for the message to log - - - - Logs a debug message. - - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs a debug message. - - The exception to log - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs an info message. - - The message to log - - - - Logs an info message. - - The exception to log - The message to log - - - - Logs an info message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs an info message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs an info message. - - The exception to log - Format string for the message to log - Format arguments for the message to log - - - - Logs an info message. - - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs an info message. - - The exception to log - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs a warn message. - - The message to log - - - - Logs a warn message. - - The exception to log - The message to log - - - - Logs a warn message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs a warn message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs a warn message. - - The exception to log - Format string for the message to log - Format arguments for the message to log - - - - Logs a warn message. - - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs a warn message. - - The exception to log - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs an error message. - - The message to log - - - - Logs an error message. - - The exception to log - The message to log - - - - Logs an error message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs an error message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs an error message. - - The exception to log - Format string for the message to log - Format arguments for the message to log - - - - Logs an error message. - - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs an error message. - - The exception to log - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs a fatal message. - - The message to log - - - - Logs a fatal message. - - The exception to log - The message to log - - - - Logs a fatal message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs a fatal message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs a fatal message. - - The exception to log - Format string for the message to log - Format arguments for the message to log - - - - Logs a fatal message. - - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs a fatal message. - - The exception to log - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs a fatal error message. - - The Message - - - - Logs a fatal error message. - - The Message - The Exception - - - - Logs a fatal error message. - - Message format - Array of objects to write using format - - - - Create a new child logger. - The name of the child logger is [current-loggers-name].[passed-in-name] - - The Subname of this logger. - The New ILogger instance. - If the name has an empty element name. - - - - Determines if messages of priority "debug" will be logged. - - True if "debug" messages will be logged. - - - - Determines if messages of priority "info" will be logged. - - True if "info" messages will be logged. - - - - Determines if messages of priority "warn" will be logged. - - True if "warn" messages will be logged. - - - - Determines if messages of priority "error" will be logged. - - True if "error" messages will be logged. - - - - Determines if messages of priority "fatal" will be logged. - - True if "fatal" messages will be logged. - - - - Determines if messages of priority "fatalError" will be logged. - - True if "fatalError" messages will be logged. - - - - Creates a new LevelFilteredLogger. - - - - - Keep the instance alive in a remoting scenario - - - - - - Logs a debug message. - - The message to log - - - - Logs a debug message. - - The exception to log - The message to log - - - - Logs a debug message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs a debug message. - - The exception to log - Format string for the message to log - Format arguments for the message to log - - - - Logs a debug message. - - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs a debug message. - - The exception to log - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs a debug message. - - Message format - Array of objects to write using format - - - - Logs an info message. - - The message to log - - - - Logs an info message. - - The exception to log - The message to log - - - - Logs an info message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs an info message. - - The exception to log - Format string for the message to log - Format arguments for the message to log - - - - Logs an info message. - - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs an info message. - - The exception to log - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs an info message. - - Message format - Array of objects to write using format - - - - Logs a warn message. - - The message to log - - - - Logs a warn message. - - The exception to log - The message to log - - - - Logs a warn message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs a warn message. - - The exception to log - Format string for the message to log - Format arguments for the message to log - - - - Logs a warn message. - - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs a warn message. - - The exception to log - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs a warn message. - - Message format - Array of objects to write using format - - - - Logs an error message. - - The message to log - - - - Logs an error message. - - The exception to log - The message to log - - - - Logs an error message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs an error message. - - The exception to log - Format string for the message to log - Format arguments for the message to log - - - - Logs an error message. - - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs an error message. - - The exception to log - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs an error message. - - Message format - Array of objects to write using format - - - - Logs a fatal message. - - The message to log - - - - Logs a fatal message. - - The exception to log - The message to log - - - - Logs a fatal message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs a fatal message. - - The exception to log - Format string for the message to log - Format arguments for the message to log - - - - Logs a fatal message. - - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs a fatal message. - - The exception to log - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs a fatal message. - - Message format - Array of objects to write using format - - - - Logs a fatal error message. - - The Message - - - - Logs a fatal error message. - - The Message - The Exception - - - - Logs a fatal error message. - - Message format - Array of objects to write using format - - - - Implementors output the log content by implementing this method only. - Note that exception can be null - - - - - - - - - The LoggerLevel that this logger - will be using. Defaults to LoggerLevel.Off - - - - - The name that this logger will be using. - Defaults to String.Empty - - - - - Determines if messages of priority "debug" will be logged. - - true if log level flags include the bit - - - - Determines if messages of priority "info" will be logged. - - true if log level flags include the bit - - - - Determines if messages of priority "warn" will be logged. - - true if log level flags include the bit - - - - Determines if messages of priority "error" will be logged. - - true if log level flags include the bit - - - - Determines if messages of priority "fatal" will be logged. - - true if log level flags include the bit - - - - Determines if messages of priority "fatal" will be logged. - - true if log level flags include the bit - - - - Creates a new ConsoleLogger with the Level - set to LoggerLevel.Debug and the Name - set to String.Empty. - - - - - Creates a new ConsoleLogger with the Name - set to String.Empty. - - The logs Level. - - - - Creates a new ConsoleLogger with the Level - set to LoggerLevel.Debug. - - The logs Name. - - - - Creates a new ConsoleLogger. - - The logs Name. - The logs Level. - - - - A Common method to log. - - The level of logging - The name of the logger - The Message - The Exception - - - - Returns a new ConsoleLogger with the name - added after this loggers name, with a dot in between. - - The added hierarchical name. - A new ConsoleLogger. - - - - The Logger using standart Diagnostics namespace. - - - - - Creates a logger based on . - - - - - - Creates a logger based on . - - - - - - - Creates a logger based on . - - - - - - - - The Null Logger class. This is useful for implementations where you need - to provide a logger to a utility class, but do not want any output from it. - It also helps when you have a utility that does not have a logger to supply. - - - - - Provides an interface that supports and - allows the storage and retrieval of Contexts. These are supported in - both log4net and NLog. - - - - - Exposes the Global Context of the extended logger. - - - - - Exposes the Thread Context of the extended logger. - - - - - Exposes the Thread Stack of the extended logger. - - - - - Creates a new NullLogger. - - - - - No-op. - - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - - - - Returns this NullLogger. - - Ignored - This ILogger instance. - - - - No-op. - - false - - - - No-op. - - false - - - - No-op. - - false - - - - No-op. - - false - - - - No-op. - - false - - - - No-op. - - false - - - - Returns empty context properties. - - - - - Returns empty context properties. - - - - - Returns empty context stacks. - - - - - Interface for Context Properties implementations - - - - This interface defines a basic property get set accessor. - - - Based on the ContextPropertiesBase of log4net, by Nicko Cadell. - - - - - - Gets or sets the value of a property - - - The value for the property with the specified key - - - - Gets or sets the value of a property - - - - - - The Stream Logger class. This class can stream log information - to any stream, it is suitable for storing a log file to disk, - or to a MemoryStream for testing your components. - - - This logger is not thread safe. - - - - - Creates a new StreamLogger with default encoding - and buffer size. Initial Level is set to Debug. - - - The name of the log. - - - The stream that will be used for logging, - seeking while the logger is alive - - - - - Creates a new StreamLogger with default buffer size. - Initial Level is set to Debug. - - - The name of the log. - - - The stream that will be used for logging, - seeking while the logger is alive - - - The encoding that will be used for this stream. - - - - - - Creates a new StreamLogger. - Initial Level is set to Debug. - - - The name of the log. - - - The stream that will be used for logging, - seeking while the logger is alive - - - The encoding that will be used for this stream. - - - - The buffer size that will be used for this stream. - - - - - - Creates a new StreamLogger with - Debug as default Level. - - The name of the log. - The StreamWriter the log will write to. - - - - The TraceLogger sends all logging to the System.Diagnostics.TraceSource - built into the .net framework. - - - Logging can be configured in the system.diagnostics configuration - section. - - If logger doesn't find a source name with a full match it will - use source names which match the namespace partially. For example you can - configure from all castle components by adding a source name with the - name "Castle". - - If no portion of the namespace matches the source named "Default" will - be used. - - - - - Build a new trace logger based on the named TraceSource - - The name used to locate the best TraceSource. In most cases comes from the using type's fullname. - - - - Build a new trace logger based on the named TraceSource - - The name used to locate the best TraceSource. In most cases comes from the using type's fullname. - The default logging level at which this source should write messages. In almost all cases this - default value will be overridden in the config file. - - - - Create a new child logger. - The name of the child logger is [current-loggers-name].[passed-in-name] - - The Subname of this logger. - The New ILogger instance. - - - - The WebLogger sends everything to the HttpContext.Trace - - - Trace must be enabled on the Asp.Net configuration file (web.config or machine.config) - - - - - Creates a new WebLogger with the priority set to DEBUG. - - - - - Creates a new WebLogger. - - The Log level typecode. - - - - Creates a new WebLogger. - - The Log name. - - - - Creates a new WebLogger. - - The Log name. - The Log level typecode. - - - - A Common method to log. - - The level of logging - The Log name. - The Message - The Exception - - - - Just returns this logger (WebLogger is not hierarchical). - - Ignored - This ILogger instance. - - - - Tries to get the current http context's trace context. - - The current http context's trace context or null if none is - available - - - - Supporting Logger levels. - - - - - Logging will be off - - - - - Fatal logging level - - - - - Error logging level - - - - - Warn logging level - - - - - Info logging level - - - - - Debug logging level - - - - - Pendent - - - - - Deserializes the specified node into an abstract representation of configuration. - - The node. - - - - - If a config value is an empty string we return null, this is to keep - backward compability with old code - - - - - This is an abstract implementation - that deals with methods that can be abstracted away - from underlying implementations. - - - AbstractConfiguration makes easier to implementers - to create a new version of - - - - - Summary description for IConfiguration. - - - is a interface encapsulating a configuration node - used to retrieve configuration values. - - - - - Gets the value of the node and converts it - into specified . - - The - - The Default value returned if the convertion fails. - - The Value converted into the specified type. - - - - Gets the name of the node. - - - The Name of the node. - - - - - Gets the value of the node. - - - The Value of the node. - - - - - Gets an of - elements containing all node children. - - The Collection of child nodes. - - - - Gets an of the configuration attributes. - - - - - Gets the value of the node and converts it - into specified . - - The - - The Default value returned if the convertion fails. - - The Value converted into the specified type. - - - - Gets the name of the . - - - The Name of the . - - - - - Gets the value of . - - - The Value of the . - - - - - Gets all child nodes. - - The of child nodes. - - - - Gets node attributes. - - - All attributes of the node. - - - - - A collection of objects. - - - - - Creates a new instance of ConfigurationCollection. - - - - - Creates a new instance of ConfigurationCollection. - - - - - Adds an array of . - - The Array of to add. - - - - Summary description for MutableConfiguration. - - - - - Initializes a new instance of the class. - - The name. - - - - Enumeration used to mark the component's lifestyle. - - - - - No lifestyle specified. - - - - - Singleton components are instantiated once, and shared - between all clients. - - - - - Thread components have a unique instance per thread. - - - - - Transient components are created on demand. - - - - - Optimization of transient components that keeps - instance in a pool instead of always creating them. - - - - - Any other logic to create/release components. - - - - - PerWebRequest components are created once per Http Request - - - - - - - - - - Represents the collection of information and - meta information collected about a component. - - - - Name (key) of the component - - - Service exposed - - - Implementation for the service - - - Extended properties - - - Lifestyle for the component - - - Custom lifestyle, if any - - - Custom activator, if any - - - Dependencies the kernel must resolve - - - All available constructors - - - All potential properties that can be setted by the kernel - - - Steps of lifecycle - - - External parameters - - - Configuration node associated - - - Interceptors associated - - - /// Custom dependencies/// - - - - Constructs a ComponentModel - - - - - Requires the selected property dependencies. - - The property selector. - - - - Requires the property dependencies of type . - - The dependency type. - - - - Sets or returns the component key - - - - - Gets or sets the service exposed. - - The service. - - - - Gets or sets the component implementation. - - The implementation. - - - - Gets or sets a value indicating whether the component requires generic arguments. - - - true if generic arguments are required; otherwise, false. - - - - - Gets or sets the extended properties. - - The extended properties. - - - - Gets the constructors candidates. - - The constructors. - - - - Gets the properties set. - - The properties. - - - - Gets or sets the configuration. - - The configuration. - - - - Gets the lifecycle steps. - - The lifecycle steps. - - - - Gets or sets the lifestyle type. - - The type of the lifestyle. - - - - Gets or sets the strategy for - inspecting public properties - on the components - - - - - Gets or sets the custom lifestyle. - - The custom lifestyle. - - - - Gets or sets the custom component activator. - - The custom component activator. - - - - Gets the interceptors. - - The interceptors. - - - - Gets the parameter collection. - - The parameters. - - - - Dependencies are kept within constructors and - properties. Others dependencies must be - registered here, so the kernel (as a matter - of fact the handler) can check them - - - - - Gets the custom dependencies. - - The custom dependencies. - - - - Represents a constructor of the component - that the container can use to initialize it properly. - - - - - Initializes a new instance of the class. - - The constructor info. - The dependencies. - - - - Gets the ConstructorInfo (from reflection). - - The constructor. - - - - Gets the dependencies this constructor candidate exposes. - - The dependencies. - - - - Collection of - - - - - Gets the fewer arguments candidate. - - The fewer arguments candidate. - - - - Represents a dependency (other component or a - fixed value available through external configuration). - - - - - Initializes a new instance of the class. - - The type. - The dependency key. - Type of the target. - if set to true [is optional]. - - - - Returns a that represents the current . - - - A that represents the current . - - - - - Serves as a hash function for a particular type, suitable - for use in hashing algorithms and data structures like a hash table. - - - A hash code for the current . - - - - - Determines whether the specified is equal to the current . - - The to compare with the current . - - if the specified is equal to the - current ; otherwise, . - - - - - Gets or sets the type of the dependency. - - The type of the dependency. - - - - Gets or sets the dependency key. - - The dependency key. - - - - Gets the type of the target. - - The type of the target. - - - - Gets or sets whether this dependency is optional. - - - true if this dependency is optional; otherwise, false. - - - - - Collection of . - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - The dependencies. - - - - Represents an reference to a Interceptor component. - - - - - Initializes a new instance of the class. - - The component key. - - - - Initializes a new instance of the class. - - Type of the service. - - - - Gets an for the component key. - - The component key. - The - - - - Gets an for the service. - - The service. - The - - - - Gets an for the service. - - The service type. - The - - - - Gets the type of the service. - - The type of the service. - - - - Gets the interceptor component key. - - The component key. - - - - Gets the type of the reference. - - The type of the reference. - - - - Collection of - - - - - Adds the specified interceptor. - - The interceptor. - - - - Adds the the specified interceptor as the first. - - The interceptor. - - - - Adds the the specified interceptor as the last. - - The interceptor. - - - - Inserts the specified interceptor at the specified index. - - The index. - The interceptor. - - - - When implemented by a class, copies the elements of - the to an , starting at a particular index. - - The one-dimensional that is the destination of the elements copied from . The must have zero-based indexing. - The zero-based index in at which copying begins. - - is . - - is less than zero. - - - 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 . - - The type of the source cannot be cast automatically to the type of the destination . - - - - Returns an enumerator that can iterate through a collection. - - - An - that can be used to iterate through the collection. - - - - - Adds the interceptor to the end of the interceptors list if it does not exist already. - - The interceptor reference. - - - - Gets a value indicating whether this instance has interceptors. - - - true if this instance has interceptors; otherwise, false. - - - - - Gets the number of - elements contained in the . - - - - - - Gets an object that - can be used to synchronize access to the . - - - - - - Gets a value - indicating whether access to the is synchronized - (thread-safe). - - - - - - Represents a collection of ordered lifecycle steps. - - - - - Initializes a new instance of the class. - - - - - Returns all steps for the commission phase - - - - - - Returns all steps for the decommission phase - - - - - - Adds a step to the commission or decomission phases. - - - - - - - Copies the elements of - the to an , starting at a particular index. - - The one-dimensional that is the destination of the elements copied from . The must have zero-based indexing. - The zero-based index in at which copying begins. - - is . - - is less than zero. - - - 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 . - - The type of the source cannot be cast automatically to the type of the destination . - - - - Returns an enumerator that can iterate through a collection. - - - An - that can be used to iterate through the collection. - - - - - Gets a value indicating whether this instance has commission steps. - - - true if this instance has commission steps; otherwise, false. - - - - - Gets a value indicating whether this instance has decommission steps. - - - true if this instance has decommission steps; otherwise, false. - - - - - Gets the number of - elements contained in the . - - - - - - Gets an object that - can be used to synchronize access to the . - - - - - - Gets a value - indicating whether access to the is synchronized - (thread-safe). - - - - - - Represents meta information associated with a method - (not yet defined) - - - - - Initializes a new instance of the class. - - The config node. - - - - Gets the config node. - - The config node. - - - - Collection of - - - - - Gets the method info2 model. - - The method info2 model. - - - - Represents a parameter. Usually the parameter - comes from the external world, ie, an external configuration. - - - - - Initializes a new instance of the class. - - The name. - The value. - - - - Initializes a new instance of the class. - - The name. - The value. - - - - Gets the name. - - The name. - - - - Gets the value. - - The value. - - - - Gets the config value. - - The config value. - - - - Collection of - - - - - Initializes a new instance of the class. - - - - - Adds the specified name. - - The name. - The value. - - - - Adds the specified name. - - The name. - The config node. - - - - Determines whether this collection contains the specified key. - - The key. - - true if yes; otherwise, false. - - - - - Adds the specified key. - - - Not implemented - - The key. - The value. - - - - Clears this instance. - - - Not implemented - - - - - Removes the specified key. - - The key. - - Not implemented - - - - - Copy the content to the specified array - - target array - target index - - Not implemented - - - - - Returns an enumerator that can iterate through a collection. - - - An - that can be used to iterate through the collection. - - - - - Gets the keys. - - The keys. - - Not implemented - - - - - Gets the values. - - The values. - - Not implemented - - - - - Gets a value indicating whether this instance is read only. - - - true if this instance is read only; otherwise, false. - - - - - Gets a value indicating whether this instance is fixed size. - - - true if this instance is fixed size; otherwise, false. - - - - - Gets the with the specified key. - - - - - - Gets the count. - - The count. - - - - Gets the sync root. - - The sync root. - - - - Gets a value indicating whether this instance is synchronized. - - - true if this instance is synchronized; otherwise, false. - - - - - Represents a property and the respective dependency. - - - - - Initializes a new instance of the class. - - The property info. - The dependency. - - - - Gets the property. - - The property. - - - - Gets the dependency. - - The dependency. - - - - Collection of - - - - - Finds a PropertySet the by PropertyInfo. - - The info. - - - - - Represents a 'streamable' resource. Can - be a file, a resource in an assembly. - - - - - Returns a reader for the stream - - - It's up to the caller to dispose the reader. - - - - - - Returns a reader for the stream - - - It's up to the caller to dispose the reader. - - - - - - - Returns an instance of - created according to the relativePath - using itself as the root. - - - - - - - - - - Only valid for resources that - can be obtained through relative paths - - - - - - - - - - This returns a new stream instance each time it is called. - It is the responsability of the caller to dispose of this stream - - - - - - - - - - Depicts the contract for resource factories. - - - - - Used to check whether the resource factory - is able to deal with the given resource - identifier. - - - Implementors should return true - only if the given identificator is supported - by the resource factory - - - - - - - Creates an instance - for the given resource identifier - - - - - - - Creates an instance - for the given resource identifier - - - - - - - - - - - - - - - - - - Adapts a static string content as an - - - - - Enable access to files on network shares - - - - - Defines that the implementation wants a - in order to - access other components. The creator must be aware - that the component might (or might not) implement - the interface. - - - Used by Castle Project components to, for example, - gather logging factories - - - - - Increments IServiceProvider with a generic service resolution operation. - - - - - This interface should be implemented by classes - that are available in a bigger context, exposing - the container to different areas in the same application. - - For example, in Web application, the (global) HttpApplication - subclasses should implement this interface to expose - the configured container - - - - - - General purpose class to represent a standard pair of values. - - Type of the first value - Type of the second value - - - - Constructs a pair with its values - - - - - - - Pendent - - - - - Initializes a new instance of the class. - - The target. - - - - Determines whether the object contains an element with the specified key. - - The key to locate in the object. - - true if the contains an element with the key; otherwise, false. - - - is null. - - - - Adds an element with the provided key and value to the object. - - The to use as the key of the element to add. - The to use as the value of the element to add. - - is null. - An element with the same key already exists in the object. - The is read-only.-or- The has a fixed size. - - - - Removes all elements from the object. - - The object is read-only. - - - - Returns an object for the object. - - - An object for the object. - - - - - Removes the element with the specified key from the object. - - The key of the element to remove. - - is null. - The object is read-only.-or- The has a fixed size. - - - - Copies the elements of the to an , starting at a particular index. - - The one-dimensional that is the destination of the elements copied from . The must have zero-based indexing. - The zero-based index in at which copying begins. - - is null. - - is less than zero. - - 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 . - The type of the source cannot be cast automatically to the type of the destination . - - - - Returns an enumerator that iterates through a collection. - - - An object that can be used to iterate through the collection. - - - - - Gets or sets the with the specified key. - - - - - - Gets an object containing the keys of the object. - - - An object containing the keys of the object. - - - - Gets an object containing the values in the object. - - - An object containing the values in the object. - - - - Gets a value indicating whether the object is read-only. - - - true if the object is read-only; otherwise, false. - - - - Gets a value indicating whether the object has a fixed size. - - - true if the object has a fixed size; otherwise, false. - - - - Gets the number of elements contained in the . - - - The number of elements contained in the . - - - - Gets an object that can be used to synchronize access to the . - - - An object that can be used to synchronize access to the . - - - - Gets a value indicating whether access to the is synchronized (thread safe). - - - true if access to the is synchronized (thread safe); otherwise, false. - - - diff --git a/lib/NHibernate20/net/4.0/Castle.DynamicProxy.license.txt b/lib/NHibernate20/net/4.0/Castle.DynamicProxy.license.txt deleted file mode 100644 index b7530910..00000000 --- a/lib/NHibernate20/net/4.0/Castle.DynamicProxy.license.txt +++ /dev/null @@ -1,13 +0,0 @@ -Copyright 2004-2005 Castle Project - http://www.castleproject.org/ - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. diff --git a/lib/NHibernate20/net/4.0/Castle.DynamicProxy2.dll b/lib/NHibernate20/net/4.0/Castle.DynamicProxy2.dll deleted file mode 100644 index 83e192e9..00000000 Binary files a/lib/NHibernate20/net/4.0/Castle.DynamicProxy2.dll and /dev/null differ diff --git a/lib/NHibernate20/net/4.0/Castle.DynamicProxy2.xml b/lib/NHibernate20/net/4.0/Castle.DynamicProxy2.xml deleted file mode 100644 index 35567b0e..00000000 --- a/lib/NHibernate20/net/4.0/Castle.DynamicProxy2.xml +++ /dev/null @@ -1,688 +0,0 @@ - - - - Castle.DynamicProxy2 - - - - - Wraps a reference that is passed - ByRef and provides indirect load/store support. - - - - - Summary description for NewArrayExpression. - - - - - - - - - - Here we try to match a constructor argument to its value. - Since we can't get the values from the assembly, we use some heuristics to get it. - a/ we first try to match all the properties on the attributes by name (case insensitive) to the argument - b/ if we fail we try to match them by property type, with some smarts about convertions (i,e: can use Guid for string). - - - - - We have the following rules here. - Try to find a matching type, failing that, if the parameter is string, get the first property (under the assumption that - we can convert it. - - - - - Attributes can only accept simple types, so we return null for null, - if the value is passed as string we call to string (should help with converting), - otherwise, we use the value as is (enums, integer, etc). - - - - - Provides appropriate Ldc.X opcode for the type of primitive value to be loaded. - - - - - Provides appropriate Ldind.X opcode for - the type of primitive value to be loaded indirectly. - - - - - Inspect the base method for generic definitions - and set the return type and the parameters - accordingly - - - - - Emits a load opcode of the appropriate kind for a constant string or - primitive value. - - - - - - - Emits a load opcode of the appropriate kind for the constant default value of a - type, such as 0 for value types and null for reference types. - - - - - Emits a load indirect opcode of the appropriate type for a value or object reference. - Pops a pointer off the evaluation stack, dereferences it and loads - a value of the specified type. - - - - - - - Emits a store indirectopcode of the appropriate type for a value or object reference. - Pops a value of the specified type and a pointer off the evaluation stack, and - stores the value. - - - - - - - Summary description for PropertiesCollection. - - - - - Provides appropriate Stind.X opcode - for the type of primitive value to be stored indirectly. - - - - - Base class that exposes the common functionalities - to proxy generation. - - - TODO: - - Use the interceptor selector if provided - - Add tests and fixes for 'leaking this' problem - - - - - Used by dinamically implement - - - - - - Generates a parameters constructor that initializes the proxy - state with just to make it non-null. - - This constructor is important to allow proxies to be XML serializable - - - - - - If callbackMethod is null the InvokeOnTarget implementation - is just the code to throw an exception - - - - - - - - - - - - If callbackMethod is null the InvokeOnTarget implementation - is just the code to throw an exception - - - - - - - - If true the invocation will implement the IChangeProxyTarget interface - - - - - Generates the constructor for the nested class that extends - - - - - - - - - - Improvement: this cache should be static. We should generate a - type constructor instead - - - - - Performs some basic screening and invokes the - to select methods. - - - - - - - - Checks if the method is public or protected. - - - - - - - Attributes should be replicated if they are non-inheritable, - but there are some special cases where the attributes means - something to the CLR, where they should be skipped. - - - - - Checks if the method has the same signature as a method that was marked as - one that should generate a new vtable slot. - - - - - Initializes a new instance of the class. - - Type of the target. - The interfaces. - The options. - - - - - - - - - Initializes a new instance of the class. - - The emitter. - The add method. - The remove method. - The attributes. - - - - - - - - - Finds the type of the method on target. - - The method on interface. - Type of the proxy target. - /// if set to true will check implementation on mixins. - - - - - Checks whether the given types are the same. This is - more complicated than it looks. - - - - - - - - This is used by the ProxyObjectReference class durin de-serialiation, to know - which generator it should use - - - - - Returns the methods implemented by a type. Use this instead of Type.GetMethods() to work around a CLR issue - where duplicate MethodInfos are returned by Type.GetMethods() after a token of a generic type's method was loaded. - - - - - Handles the deserialization of proxies. - - - - - Resets the used for deserialization to a new scope. - - This is useful for test cases. - - - - Resets the used for deserialization to a given . - - The scope to be used for deserialization. - By default, the deserialization process uses a different scope than the rest of the application, which can lead to multiple proxies - being generated for the same type. By explicitly setting the deserialization scope to the application's scope, this can be avoided. - - - - Gets the used for deserialization. - - As has no way of automatically determining the scope used by the application (and the application - might use more than one scope at the same time), uses a dedicated scope instance for deserializing proxy - types. This instance can be reset and set to a specific value via and . - - - - Used during the target type inspection process. - Implementors have a chance to interfere in the - proxy generation process - - - - - Invoked by the generation process to know if - the specified member should be proxied - - - - - - - - Invoked by the generation process to notify that a - member wasn't marked as virtual. - - - - - - - Invoked by the generation process to notify - that the whole process is completed. - - - - - Applied to the assemblies saved by in order to persist the cache data included in the persisted assembly. - - - - - Abstracts the implementation of proxy constructions - - - - - Implementors should return a proxy for the specified type. - - The proxy base class. - The proxy generation options. - The generated proxy type. - - - - Implementors should return a proxy for the specified - type and interfaces. The interfaces must be only "mark" interfaces - - - - - - - - - Implementors should return a proxy for the specified - interface that 'proceeds' executions to the - specified target. - - - - - - - - - - Implementors should return a proxy for the specified - interface that delegate all executions to the - specified interceptor(s). - - - - - - - - - Implementors should return a proxy for the specified - interface that delegate all executions to the - specified interceptor(s) and uses an instance of the interface - as their targets, rather than a class. All IInvocation's - should then implement IChangeProxyTarget. - - - - - - - - Gets the module scope used by this builder for generating code. - - The module scope used by this builder. - - - - Determines whether this assembly has internals visisble to dynamic proxy. - - The asm. - - - - Determines whether the specified method is internal. - - The method. - - true if the specified method is internal; otherwise, false. - - - - - Because we need to cache the types based on the mixed in mixins, we do the following here: - - Get all the mixin interfaces - - Sort them by full name - - Return them by position - - The idea is to have reproducable behavior for the case that mixins are registered in different orders. - This method is here because it is required - - - - - Summary description for ModuleScope. - - - - - The default file name used when the assembly is saved using . - - - - - The default assembly (simple) name used for the assemblies generated by a instance. - - - - - Initializes a new instance of the class; assemblies created by this instance will not be saved. - - - - - Initializes a new instance of the class, allowing to specify whether the assemblies generated by this instance - should be saved. - - If set to true saves the generated module. - - - - Initializes a new instance of the class, allowing to specify whether the assemblies generated by this instance - should be saved and what simple names are to be assigned to them. - - If set to true saves the generated module. - The simple name of the strong-named assembly generated by this . - The path and file name of the manifest module of the strong-named assembly generated by this . - The simple name of the weak-named assembly generated by this . - The path and file name of the manifest module of the weak-named assembly generated by this . - - - - Returns a type from this scope's type cache, or null if the key cannot be found. - - The key to be looked up in the cache. - The type from this scope's type cache matching the key, or null if the key cannot be found - - - - Registers a type in this scope's type cache. - - The key to be associated with the type. - The type to be stored in the cache. - - - - Gets the key pair used to sign the strong-named assembly generated by this . - - - - - - Gets the specified module generated by this scope, creating a new one if none has yet been generated. - - If set to true, a strong-named module is returned; otherwise, a weak-named module is returned. - A strong-named or weak-named module generated by this scope, as specified by the parameter. - - - - Gets the strong-named module generated by this scope, creating a new one if none has yet been generated. - - A strong-named module generated by this scope. - - - - Gets the weak-named module generated by this scope, creating a new one if none has yet been generated. - - A weak-named module generated by this scope. - - - - Saves the generated assembly with the name and directory information given when this instance was created (or with - the and current directory if none was given). - - - - This method stores the generated assembly in the directory passed as part of the module information specified when this instance was - constructed (if any, else the current directory is used). If both a strong-named and a weak-named assembly - have been generated, it will throw an exception; in this case, use the overload. - - - If this was created without indicating that the assembly should be saved, this method does nothing. - - Both a strong-named and a weak-named assembly have been generated. - The path of the generated assembly file, or null if no file has been generated. - - - - Saves the specified generated assembly with the name and directory information given when this instance was created - (or with the and current directory if none was given). - - True if the generated assembly with a strong name should be saved (see ); - false if the generated assembly without a strong name should be saved (see . - - - This method stores the specified generated assembly in the directory passed as part of the module information specified when this instance was - constructed (if any, else the current directory is used). - - - If this was created without indicating that the assembly should be saved, this method does nothing. - - - No assembly has been generated that matches the parameter. - - The path of the generated assembly file, or null if no file has been generated. - - - - Loads the generated types from the given assembly into this 's cache. - - The assembly to load types from. This assembly must have been saved via or - , or it must have the manually applied. - - This method can be used to load previously generated and persisted proxy types from disk into this scope's type cache, eg. in order - to avoid the performance hit associated with proxy generation. - - - - - Users of this should use this lock when accessing the cache. - - - - - Gets the strong-named module generated by this scope, or if none has yet been generated. - - The strong-named module generated by this scope, or if none has yet been generated. - - - - Gets the file name of the strongly named module generated by this scope. - - The file name of the strongly named module generated by this scope. - - - - Gets the directory where the strongly named module generated by this scope will be saved, or if the current directory - is used. - - The directory where the strongly named module generated by this scope will be saved when is called - (if this scope was created to save modules). - - - - Gets the weak-named module generated by this scope, or if none has yet been generated. - - The weak-named module generated by this scope, or if none has yet been generated. - - - - Gets the file name of the weakly named module generated by this scope. - - The file name of the weakly named module generated by this scope. - - - - Gets the directory where the weakly named module generated by this scope will be saved, or if the current directory - is used. - - The directory where the weakly named module generated by this scope will be saved when is called - (if this scope was created to save modules). - - - - ProxyBuilder that persists the generated type. - - - The saved assembly contains just the last generated type. - - - - - Initializes a new instance of the class. - - - - - Saves the generated assembly to a physical file. Note that this renders the unusable. - - The path of the generated assembly file, or null if no assembly has been generated. - This method does not support saving multiple files. If both a signed and an unsigned module have been generated, use the - respective methods of the . - - - - Initializes a new instance of the class. - - The hook. - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - The builder. - - - - Initializes a new instance of the class. - - - - - Creates the class proxy. - - Type of the target. - The interfaces. - The interceptors. - - - - - Creates the class proxy. - - Type of the target. - The interceptors. - The constructor args. - - - - - - - - - - - - - - Creates the class proxy. - - Type of the target. - The interfaces. - The options. - The constructor args. - The interceptors. - - - - - Gets the proxy builder instance. - - The proxy builder. - - - - - - - - - - - - - - - For interface proxies, this will point to the - on the target class - - - - diff --git a/lib/NHibernate20/net/4.0/Iesi.Collections.dll b/lib/NHibernate20/net/4.0/Iesi.Collections.dll deleted file mode 100644 index 107c362c..00000000 Binary files a/lib/NHibernate20/net/4.0/Iesi.Collections.dll and /dev/null differ diff --git a/lib/NHibernate20/net/4.0/Iesi.Collections.license.txt b/lib/NHibernate20/net/4.0/Iesi.Collections.license.txt deleted file mode 100644 index 66c4a8dc..00000000 --- a/lib/NHibernate20/net/4.0/Iesi.Collections.license.txt +++ /dev/null @@ -1,9 +0,0 @@ -Copyright © 2002-2004 by Aidant Systems, Inc., and by Jason Smith. - -Copied from http://www.codeproject.com/csharp/sets.asp#xx703510xx that was posted by JasonSmith 12:13 2 Jan '04 - -Feel free to use this code any way you want to. As a favor to me, you can leave the copyright in there. You never know when someone might recognize your name! - -If you do use the code in a commercial product, I would appreciate hearing about it. This message serves as legal notice that I won't be suing you for royalties! The code is in the public domain. - -On the other hand, I don't provide support. The code is actually simple enough that it shouldn't need it. diff --git a/lib/NHibernate20/net/4.0/Iesi.Collections.xml b/lib/NHibernate20/net/4.0/Iesi.Collections.xml deleted file mode 100644 index 587094a3..00000000 --- a/lib/NHibernate20/net/4.0/Iesi.Collections.xml +++ /dev/null @@ -1,1887 +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 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/NHibernate20/net/4.0/NHibernate.dll b/lib/NHibernate20/net/4.0/NHibernate.dll deleted file mode 100644 index 392852e7..00000000 Binary files a/lib/NHibernate20/net/4.0/NHibernate.dll and /dev/null differ diff --git a/lib/NHibernate20/net/4.0/NHibernate.license.txt b/lib/NHibernate20/net/4.0/NHibernate.license.txt deleted file mode 100644 index 8a88d148..00000000 --- a/lib/NHibernate20/net/4.0/NHibernate.license.txt +++ /dev/null @@ -1,460 +0,0 @@ - GNU LESSER GENERAL PUBLIC LICENSE - Version 2.1, February 1999 - - Copyright (C) 1991, 1999 Free Software Foundation, Inc. - 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - -[This is the first released version of the Lesser GPL. It also counts - as the successor of the GNU Library Public License, version 2, hence - the version number 2.1.] - - Preamble - - The licenses for most software are designed to take away your -freedom to share and change it. By contrast, the GNU General Public -Licenses are intended to guarantee your freedom to share and change -free software--to make sure the software is free for all its users. - - This license, the Lesser General Public License, applies to some -specially designated software packages--typically libraries--of the -Free Software Foundation and other authors who decide to use it. You -can use it too, but we suggest you first think carefully about whether -this license or the ordinary General Public License is the better -strategy to use in any particular case, based on the explanations below. - - When we speak of free software, we are referring to freedom of use, -not price. Our General Public Licenses are designed to make sure that -you have the freedom to distribute copies of free software (and charge -for this service if you wish); that you receive source code or can get -it if you want it; that you can change the software and use pieces of -it in new free programs; and that you are informed that you can do -these things. - - To protect your rights, we need to make restrictions that forbid -distributors to deny you these rights or to ask you to surrender these -rights. These restrictions translate to certain responsibilities for -you if you distribute copies of the library or if you modify it. - - For example, if you distribute copies of the library, whether gratis -or for a fee, you must give the recipients all the rights that we gave -you. You must make sure that they, too, receive or can get the source -code. If you link other code with the library, you must provide -complete object files to the recipients, so that they can relink them -with the library after making changes to the library and recompiling -it. And you must show them these terms so they know their rights. - - We protect your rights with a two-step method: (1) we copyright the -library, and (2) we offer you this license, which gives you legal -permission to copy, distribute and/or modify the library. - - To protect each distributor, we want to make it very clear that -there is no warranty for the free library. Also, if the library is -modified by someone else and passed on, the recipients should know -that what they have is not the original version, so that the original -author's reputation will not be affected by problems that might be -introduced by others. - - Finally, software patents pose a constant threat to the existence of -any free program. We wish to make sure that a company cannot -effectively restrict the users of a free program by obtaining a -restrictive license from a patent holder. Therefore, we insist that -any patent license obtained for a version of the library must be -consistent with the full freedom of use specified in this license. - - Most GNU software, including some libraries, is covered by the -ordinary GNU General Public License. This license, the GNU Lesser -General Public License, applies to certain designated libraries, and -is quite different from the ordinary General Public License. We use -this license for certain libraries in order to permit linking those -libraries into non-free programs. - - When a program is linked with a library, whether statically or using -a shared library, the combination of the two is legally speaking a -combined work, a derivative of the original library. The ordinary -General Public License therefore permits such linking only if the -entire combination fits its criteria of freedom. The Lesser General -Public License permits more lax criteria for linking other code with -the library. - - We call this license the "Lesser" General Public License because it -does Less to protect the user's freedom than the ordinary General -Public License. It also provides other free software developers Less -of an advantage over competing non-free programs. These disadvantages -are the reason we use the ordinary General Public License for many -libraries. However, the Lesser license provides advantages in certain -special circumstances. - - For example, on rare occasions, there may be a special need to -encourage the widest possible use of a certain library, so that it becomes -a de-facto standard. To achieve this, non-free programs must be -allowed to use the library. A more frequent case is that a free -library does the same job as widely used non-free libraries. In this -case, there is little to gain by limiting the free library to free -software only, so we use the Lesser General Public License. - - In other cases, permission to use a particular library in non-free -programs enables a greater number of people to use a large body of -free software. For example, permission to use the GNU C Library in -non-free programs enables many more people to use the whole GNU -operating system, as well as its variant, the GNU/Linux operating -system. - - Although the Lesser General Public License is Less protective of the -users' freedom, it does ensure that the user of a program that is -linked with the Library has the freedom and the wherewithal to run -that program using a modified version of the Library. - - The precise terms and conditions for copying, distribution and -modification follow. Pay close attention to the difference between a -"work based on the library" and a "work that uses the library". The -former contains code derived from the library, whereas the latter must -be combined with the library in order to run. - - GNU LESSER GENERAL PUBLIC LICENSE - TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - - 0. This License Agreement applies to any software library or other -program which contains a notice placed by the copyright holder or -other authorized party saying it may be distributed under the terms of -this Lesser General Public License (also called "this License"). -Each licensee is addressed as "you". - - A "library" means a collection of software functions and/or data -prepared so as to be conveniently linked with application programs -(which use some of those functions and data) to form executables. - - The "Library", below, refers to any such software library or work -which has been distributed under these terms. A "work based on the -Library" means either the Library or any derivative work under -copyright law: that is to say, a work containing the Library or a -portion of it, either verbatim or with modifications and/or translated -straightforwardly into another language. (Hereinafter, translation is -included without limitation in the term "modification".) - - "Source code" for a work means the preferred form of the work for -making modifications to it. For a library, complete source code means -all the source code for all modules it contains, plus any associated -interface definition files, plus the scripts used to control compilation -and installation of the library. - - Activities other than copying, distribution and modification are not -covered by this License; they are outside its scope. The act of -running a program using the Library is not restricted, and output from -such a program is covered only if its contents constitute a work based -on the Library (independent of the use of the Library in a tool for -writing it). Whether that is true depends on what the Library does -and what the program that uses the Library does. - - 1. You may copy and distribute verbatim copies of the Library's -complete source code as you receive it, in any medium, provided that -you conspicuously and appropriately publish on each copy an -appropriate copyright notice and disclaimer of warranty; keep intact -all the notices that refer to this License and to the absence of any -warranty; and distribute a copy of this License along with the -Library. - - You may charge a fee for the physical act of transferring a copy, -and you may at your option offer warranty protection in exchange for a -fee. - - 2. You may modify your copy or copies of the Library or any portion -of it, thus forming a work based on the Library, and copy and -distribute such modifications or work under the terms of Section 1 -above, provided that you also meet all of these conditions: - - a) The modified work must itself be a software library. - - b) You must cause the files modified to carry prominent notices - stating that you changed the files and the date of any change. - - c) You must cause the whole of the work to be licensed at no - charge to all third parties under the terms of this License. - - d) If a facility in the modified Library refers to a function or a - table of data to be supplied by an application program that uses - the facility, other than as an argument passed when the facility - is invoked, then you must make a good faith effort to ensure that, - in the event an application does not supply such function or - table, the facility still operates, and performs whatever part of - its purpose remains meaningful. - - (For example, a function in a library to compute square roots has - a purpose that is entirely well-defined independent of the - application. Therefore, Subsection 2d requires that any - application-supplied function or table used by this function must - be optional: if the application does not supply it, the square - root function must still compute square roots.) - -These requirements apply to the modified work as a whole. If -identifiable sections of that work are not derived from the Library, -and can be reasonably considered independent and separate works in -themselves, then this License, and its terms, do not apply to those -sections when you distribute them as separate works. But when you -distribute the same sections as part of a whole which is a work based -on the Library, the distribution of the whole must be on the terms of -this License, whose permissions for other licensees extend to the -entire whole, and thus to each and every part regardless of who wrote -it. - -Thus, it is not the intent of this section to claim rights or contest -your rights to work written entirely by you; rather, the intent is to -exercise the right to control the distribution of derivative or -collective works based on the Library. - -In addition, mere aggregation of another work not based on the Library -with the Library (or with a work based on the Library) on a volume of -a storage or distribution medium does not bring the other work under -the scope of this License. - - 3. You may opt to apply the terms of the ordinary GNU General Public -License instead of this License to a given copy of the Library. To do -this, you must alter all the notices that refer to this License, so -that they refer to the ordinary GNU General Public License, version 2, -instead of to this License. (If a newer version than version 2 of the -ordinary GNU General Public License has appeared, then you can specify -that version instead if you wish.) Do not make any other change in -these notices. - - Once this change is made in a given copy, it is irreversible for -that copy, so the ordinary GNU General Public License applies to all -subsequent copies and derivative works made from that copy. - - This option is useful when you wish to copy part of the code of -the Library into a program that is not a library. - - 4. You may copy and distribute the Library (or a portion or -derivative of it, under Section 2) in object code or executable form -under the terms of Sections 1 and 2 above provided that you accompany -it with the complete corresponding machine-readable source code, which -must be distributed under the terms of Sections 1 and 2 above on a -medium customarily used for software interchange. - - If distribution of object code is made by offering access to copy -from a designated place, then offering equivalent access to copy the -source code from the same place satisfies the requirement to -distribute the source code, even though third parties are not -compelled to copy the source along with the object code. - - 5. A program that contains no derivative of any portion of the -Library, but is designed to work with the Library by being compiled or -linked with it, is called a "work that uses the Library". Such a -work, in isolation, is not a derivative work of the Library, and -therefore falls outside the scope of this License. - - However, linking a "work that uses the Library" with the Library -creates an executable that is a derivative of the Library (because it -contains portions of the Library), rather than a "work that uses the -library". The executable is therefore covered by this License. -Section 6 states terms for distribution of such executables. - - When a "work that uses the Library" uses material from a header file -that is part of the Library, the object code for the work may be a -derivative work of the Library even though the source code is not. -Whether this is true is especially significant if the work can be -linked without the Library, or if the work is itself a library. The -threshold for this to be true is not precisely defined by law. - - If such an object file uses only numerical parameters, data -structure layouts and accessors, and small macros and small inline -functions (ten lines or less in length), then the use of the object -file is unrestricted, regardless of whether it is legally a derivative -work. (Executables containing this object code plus portions of the -Library will still fall under Section 6.) - - Otherwise, if the work is a derivative of the Library, you may -distribute the object code for the work under the terms of Section 6. -Any executables containing that work also fall under Section 6, -whether or not they are linked directly with the Library itself. - - 6. As an exception to the Sections above, you may also combine or -link a "work that uses the Library" with the Library to produce a -work containing portions of the Library, and distribute that work -under terms of your choice, provided that the terms permit -modification of the work for the customer's own use and reverse -engineering for debugging such modifications. - - You must give prominent notice with each copy of the work that the -Library is used in it and that the Library and its use are covered by -this License. You must supply a copy of this License. If the work -during execution displays copyright notices, you must include the -copyright notice for the Library among them, as well as a reference -directing the user to the copy of this License. Also, you must do one -of these things: - - a) Accompany the work with the complete corresponding - machine-readable source code for the Library including whatever - changes were used in the work (which must be distributed under - Sections 1 and 2 above); and, if the work is an executable linked - with the Library, with the complete machine-readable "work that - uses the Library", as object code and/or source code, so that the - user can modify the Library and then relink to produce a modified - executable containing the modified Library. (It is understood - that the user who changes the contents of definitions files in the - Library will not necessarily be able to recompile the application - to use the modified definitions.) - - b) Use a suitable shared library mechanism for linking with the - Library. A suitable mechanism is one that (1) uses at run time a - copy of the library already present on the user's computer system, - rather than copying library functions into the executable, and (2) - will operate properly with a modified version of the library, if - the user installs one, as long as the modified version is - interface-compatible with the version that the work was made with. - - c) Accompany the work with a written offer, valid for at - least three years, to give the same user the materials - specified in Subsection 6a, above, for a charge no more - than the cost of performing this distribution. - - d) If distribution of the work is made by offering access to copy - from a designated place, offer equivalent access to copy the above - specified materials from the same place. - - e) Verify that the user has already received a copy of these - materials or that you have already sent this user a copy. - - For an executable, the required form of the "work that uses the -Library" must include any data and utility programs needed for -reproducing the executable from it. However, as a special exception, -the materials to be distributed need not include anything that is -normally distributed (in either source or binary form) with the major -components (compiler, kernel, and so on) of the operating system on -which the executable runs, unless that component itself accompanies -the executable. - - It may happen that this requirement contradicts the license -restrictions of other proprietary libraries that do not normally -accompany the operating system. Such a contradiction means you cannot -use both them and the Library together in an executable that you -distribute. - - 7. You may place library facilities that are a work based on the -Library side-by-side in a single library together with other library -facilities not covered by this License, and distribute such a combined -library, provided that the separate distribution of the work based on -the Library and of the other library facilities is otherwise -permitted, and provided that you do these two things: - - a) Accompany the combined library with a copy of the same work - based on the Library, uncombined with any other library - facilities. This must be distributed under the terms of the - Sections above. - - b) Give prominent notice with the combined library of the fact - that part of it is a work based on the Library, and explaining - where to find the accompanying uncombined form of the same work. - - 8. You may not copy, modify, sublicense, link with, or distribute -the Library except as expressly provided under this License. Any -attempt otherwise to copy, modify, sublicense, link with, or -distribute the Library is void, and will automatically terminate your -rights under this License. However, parties who have received copies, -or rights, from you under this License will not have their licenses -terminated so long as such parties remain in full compliance. - - 9. You are not required to accept this License, since you have not -signed it. However, nothing else grants you permission to modify or -distribute the Library or its derivative works. These actions are -prohibited by law if you do not accept this License. Therefore, by -modifying or distributing the Library (or any work based on the -Library), you indicate your acceptance of this License to do so, and -all its terms and conditions for copying, distributing or modifying -the Library or works based on it. - - 10. Each time you redistribute the Library (or any work based on the -Library), the recipient automatically receives a license from the -original licensor to copy, distribute, link with or modify the Library -subject to these terms and conditions. You may not impose any further -restrictions on the recipients' exercise of the rights granted herein. -You are not responsible for enforcing compliance by third parties with -this License. - - 11. If, as a consequence of a court judgment or allegation of patent -infringement or for any other reason (not limited to patent issues), -conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot -distribute so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you -may not distribute the Library at all. For example, if a patent -license would not permit royalty-free redistribution of the Library by -all those who receive copies directly or indirectly through you, then -the only way you could satisfy both it and this License would be to -refrain entirely from distribution of the Library. - -If any portion of this section is held invalid or unenforceable under any -particular circumstance, the balance of the section is intended to apply, -and the section as a whole is intended to apply in other circumstances. - -It is not the purpose of this section to induce you to infringe any -patents or other property right claims or to contest validity of any -such claims; this section has the sole purpose of protecting the -integrity of the free software distribution system which is -implemented by public license practices. Many people have made -generous contributions to the wide range of software distributed -through that system in reliance on consistent application of that -system; it is up to the author/donor to decide if he or she is willing -to distribute software through any other system and a licensee cannot -impose that choice. - -This section is intended to make thoroughly clear what is believed to -be a consequence of the rest of this License. - - 12. If the distribution and/or use of the Library is restricted in -certain countries either by patents or by copyrighted interfaces, the -original copyright holder who places the Library under this License may add -an explicit geographical distribution limitation excluding those countries, -so that distribution is permitted only in or among countries not thus -excluded. In such case, this License incorporates the limitation as if -written in the body of this License. - - 13. The Free Software Foundation may publish revised and/or new -versions of the Lesser General Public License from time to time. -Such new versions will be similar in spirit to the present version, -but may differ in detail to address new problems or concerns. - -Each version is given a distinguishing version number. If the Library -specifies a version number of this License which applies to it and -"any later version", you have the option of following the terms and -conditions either of that version or of any later version published by -the Free Software Foundation. If the Library does not specify a -license version number, you may choose any version ever published by -the Free Software Foundation. - - 14. If you wish to incorporate parts of the Library into other free -programs whose distribution conditions are incompatible with these, -write to the author to ask for permission. For software which is -copyrighted by the Free Software Foundation, write to the Free -Software Foundation; we sometimes make exceptions for this. Our -decision will be guided by the two goals of preserving the free status -of all derivatives of our free software and of promoting the sharing -and reuse of software generally. - - NO WARRANTY - - 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO -WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. -EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR -OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY -KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE -LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME -THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. - - 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN -WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY -AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU -FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR -CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE -LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING -RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A -FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF -SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGES. - - END OF TERMS AND CONDITIONS - diff --git a/lib/NHibernate20/net/4.0/NHibernate.xml b/lib/NHibernate20/net/4.0/NHibernate.xml deleted file mode 100644 index 47fab8a5..00000000 --- a/lib/NHibernate20/net/4.0/NHibernate.xml +++ /dev/null @@ -1,36622 +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 - - - - Do we need to retain this instance until after the transaction completes? - - - False if this class defines a no-op has after transaction completion. - - - - Called after the transaction completes - - - - What spaces (tables) are affected by 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 - - - - Do we need to retain this instance until after the transaction completes? - - - False if this class defines a no-op has after transaction completion. - - - - Called after the transaction completes - - - - 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 - - - - 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. - - - - - 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. - - - - - 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. - - - - - 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. - - - - - - An interface for factories of proxy factory instances. - - - Currently used to abstract from the tupizer even if... - - - - - Build a proxy factory specifically for handling runtime - lazy loading. - - The lazy-load proxy factory. - - - - 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. - - - - - A implementation that returns - , disabling reflection optimization. - - - - - 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 - - - - - Marker interface, denoting a client-visible "soft lock" on a cached item. - - - - - 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 - - - - - A simple -based cache - - - - - 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 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 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 . - for invalid values. - - - See for allowed values. - - - - - 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. - - - - - Convert a string to . - - The string that represent . - - The converted to . - - If the values is invalid. - - See for allowed values. - - - - - Values for class-cache and collection-cache strategy. - - - - Xml value: read-only - - - Xml value: read-write - - - Xml value: nonstrict-read-write - - - Xml value: transactional - - - - 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. - - - - - Initializes a new instance of the class. - - The session factory name. Null or empty string are allowed. - - - - 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. - - - - - 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 . - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - A base class for HBM schema classes that provides helper methods. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 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 - - - - - - - - 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 - - - - - 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 - - - - - The XML Namespace for the nhibernate-mapping - - - 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. - - - - 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. - - - - 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 - - - - - - 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. - - - - - 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 - - - - - - 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 - - - - - - - - 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 - - - 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 - 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 classes outside this resource - needed by the classes in this resource. - - An of - - - - Settings that affect the behavior of NHibernate at runtime. - - - - - 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. - The interface closely resembles bag semantics, - however NHibernate for .NET 1.1 used so - is used to ensure the easiest transition - to generics. - - The type of the element the bag should hold. - The underlying collection used is an - - - - 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. - - - - - 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. - - - - - 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 - - - - - Called before any elements are read into the collection, - allowing appropriate initializations to occur. - - The for this persistent collection. - - - - 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. - - - - - 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. - - - - - 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. - - - - - Get the snapshot value of the given collection entry - - - - - Called after initializing from cache - - - - - Clear the dirty flag, after flushing changes - to the database. - - - - - Mark the collection as dirty - - - - - 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. - - - - - Is the initialized collection empty? - - - - - Gets a indicating if the underlying collection is directly - accessable 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 the collection dirty? Note that this is only - reliable during the flush cycle, after the - collection elements are dirty checked against - the snapshot. - - - - - Called by any read-only method of the collection interface - - - - - Called by any writer method of the collection interface - - - - - Queue an addition if the persistent collection supports it - - - if the addition was queued up, if the persistent collection - doesn't support Queued Addition. - - - - - Queue additions - - - - - After reading all existing elements from the database, - add the queued elements to the underlying collection. - - The to add. - The that - is currently loading the collection. - - The default implementation is to throw an - because most collections do not support delayed addition. If the collection - does then override this method. - - - - - 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. - - - - - Not called by Hibernate, but used by non-NET serialization, eg. SOAP libraries. - - - - - 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 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 - - - - Read the state of the collection from a disassembled cached value. - - - - - - - - Iterate all collection entries, during update of the database - - - - - - 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. - - - - Get the index of the given collection entry - - - - - - - - Called before any elements are read into the collection, - allowing appropriate initializations to occur. - - - - - - Return a new snapshot of the current state - - The for this Collection. - - - - - Disassemble the collection, ready for the cache - - - - - - - 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. - - - - - 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? - - - - - - - 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 - - - - - Is the initialized collection empty? - - - - - Is the collection currently connected to an open session? - - - - - Is this collection in a state that would allow us to "queue" additions? - - - - - 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 . - - - - - - - - - - - - - - - - - - - - Initializes an instance of the - in the . - - The the bag is in. - - - - Initializes an instance of the - that wraps an existing in the . - - The the bag is in. - The to wrap. - - - - Gets a indicating if this Bag needs to be recreated - in the database. - - The for this Collection. - - 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. - - - - - 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 number of occurrences of the element in the list. - - - - - Is this the wrapper for the given underlying bag instance? - - The bag that might be wrapped. - - if the is equal to the - wrapped collection by object reference. - - - - - Is the initialized GenericBag empty? - - if the bag has a Count==0, otherwise. - - - - 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". - - - - - - 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 - - - - 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 bag is in. - The to wrap. - - - - Return a new snapshot of the current state. - - The for this Collection. - - A new that contains Deep Copies of the - Elements stored in this wrapped collection. - - - - - Get all "orphaned" elements. - - The snapshot of the collection. - The type of the entities the collection - is supposed to contain. - - An that contains all of the elements - that have been orphaned. - - - - - 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. - - - - Initializes an instance of the - in the . - - The the map is in. - - - - Initializes an instance of the - that wraps an existing in the - . - - The the bag is in. - The to wrap. - - - - .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 set is being - populated from the database. - - - This is necessary to ensure that the object being added to the set doesn't - have its and - methods called during the load process. - - - - - Returns a Hashtable where the Key & the Value are both a Copy of the - same object. - - - - - - - This constructor is NOT meant to be called from user code. - - - - - Creates a new PersistentGenericSet initialized to the values in the Map. - This constructor is NOT meant to be called from user code. - - - Only call this constructor if you consider the map initialized. - - - - - Initializes this PersistentGenericSet from the cached values. - - The CollectionPersister to use to reassemble the set. - The disassembled set. - 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 - that was populated during and writes it to the underlying - set. - - - - - - - - - - - - - - - - - - - - A persistent wrapper for an array. lazy initialization is NOT supported - - - - - The that NHibernate is wrapping. - - - - - A temporary list that holds the objects while the PersistentArrayHolder is being - populated from the database. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 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. - - - - Returns the user-visible portion of the NHibernate PersistentArrayHolder. - - - The array that contains the data, not the NHibernate wrapper. - - - - - - - - - - - - - - - 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. - - - - - 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 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 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 underlying collection used in an . - - - - - Return a new snapshot of the current state. - - The for this Collection. - - A new that contains Deep Copies of the - Elements stored in this wrapped collection. - - - - - 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 . - - - - - 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. - - - - - 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. - - - - - Returns a Hashtable where the Key & the Value are both a Copy of the - same object. - - - - - - - This constructor is NOT meant to be called from user code. - - - - - Creates a new PersistentSet initialized to the values in the Map. - This constructor is NOT meant to be called from user code. - - - Only call this constructor if you consider the map initialized. - - - - - 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. - - - - - - - - - - - - - - - - - - - - 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. - - - - - Initializes a new instance of the class. - - - - - 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 . - Works only with Web Applications. - - - - - 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 each . Works only with web applications. - - - - - 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. - - - - 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. - - - - 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 - - - - - 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 - - - - - 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? - - - - - 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. - - - - - 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. - - - - 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 - - - - - 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 " < " - - - - 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 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. - - - - - Constructor for Order. - - - - - - - Render the SQL fragment - - - - - Ascending 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 distinct property value count - - - - - - - A property maximum value - - - - - - - A property minimum value - - - - - - - A property average value - - - - - - - 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 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. - - - - - 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 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 - - - - - 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 - - - - - 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. - - - - - 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 particuar 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 retreive 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 - - 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 - - - - - 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? - - - - - How we seperate the queries when we use multiply queries. - - - - - 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 seperate 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 propogating 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 propogated 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. - - - - 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 is not zero - A new SqlString 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. - - - The InformixDialect defaults the following configuration properties: - - - Property - Default Value - - - connection.driver_class - - - - - - - - - - - - - - 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 - - - - - Whether this dialect have an Identity clause added to the data type or a - completely seperate identity data type - - - - - 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 of. - 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 with the LIMIT clause applied. - - The LIMIT SQL will look like - - - SELECT TOP last (columns) FROM ( - SELECT ROW_NUMBER() OVER(ORDER BY __hibernate_sort_expr_1__ {sort direction 1} [, __hibernate_sort_expr_2__ {sort direction 2}, ...]) as row, (query.columns) FROM ( - {original select query part}, {sort field 1} as __hibernate_sort_expr_1__ [, {sort field 2} as __hibernate_sort_expr_2__, ...] - {remainder of original query minus the order by clause} - ) query - ) page WHERE page.row > offset - - - - Note that we need to add explicitly specify the columns, because we need to be able to use them - in a paged subselect. NH-1155 - - - - - 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 - - - - 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. - - - - - 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 - - - - - - - - - - - - - - - - - - - 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. - - - - - - - - - - - - - - - - - - - - - - - - - - - - It's a immature version, it just work. - An SQL dialect for Oracle 9 - - - The Oracle9Dialect defaults the following configuration properties: - - - Property - Default Value - - - use_outer_join - - - - connection.driver_class - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - An SQL dialect for Oracle, compatible with Oracle 8. - - - - - - - - - - - - - - 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 - - - - - - - - - - - - - - Offset of the first row to process in the result set is non-zero - - - - 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. - - - - This is a subclass of SybaseDialect for sybase 11 databases (specifically tested against 11.9.2). 11.9.2 does not support ANSI JOINs - therefore we have to provide a special join fragment for left/right joins (*= and =* respectively). - - - - - An SQL dialect compatible with Sybase. - - -

- 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 SybaseDialect defaults the following configuration properties: - - - Property - Default Value - - - use_outer_join - - - - connection.driver_class - - - - prepare_sql - - - -
-
- - - - - - Sybase does not support quoted aliases, this function thus returns - aliasName as is. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - This class is basically a port of the hibernate 3.2 Sybase 11 join fragment. It uses concepts from that join fragment and the Oracle join fragment in NHibernate - - - - - Represents a SQL JOIN - - - - - An SQL dialect for Sybase Adaptive Server Anywhere 9.0/10.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 SybaseAnywhereDialect defaults the following configuration properties: - - - Property - Default Value - - - use_outer_join - - - - 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 - - - - - 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. - - - - - - 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? - - - - - 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. - - - - 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 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. - - - - - 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 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 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. - - - - - The SybaseClientDriver Driver provides a database driver for Sybase. - - - It has been reported to work with the . - - - - - Initializes a new instance of the class. - - - Thrown when the Sybase.Data.AseClient assembly can not be loaded. - - - - - Sybase.Data.AseClient uses named parameters in the sql. - - - Sybase uses @ in the sql. - - - - - - - Sybase.Data.AseClient use the @ to locate parameters in sql. - - @ is used to locate parameters in sql. - - - - 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. - - - - 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. - - - - Bind positional parameter values to the PreparedStatement - (these are parameters specified by a JDBC-style ?). - - - - - Bind named parameters to the PreparedStatement. This has an - empty implementation on this superclass and should be implemented by - subclasses (queries) which allow named parameters. - - - - 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. - - - - 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. - - - - - 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 - 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 - 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 - - - - - Defines a complete "snapshot" of a particular collection. - - - - - Gets the identifier of the Entity that owns this Collection. - - - - - Gets the role that identifies this Collection. - - - - - Gets the snapshot copy of the Collection's elements. - - - In most cases this is the same collection type as the one being snapshotted. - ie - the snapshot of an IList will return an IList. - - - - - Gets a indicating if the collection was at one time - associated with an Entity and then later dereferenced during a 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. - - - - - 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. - - - - session-start/post-flush persistent state - - - allow the snapshot to be serialized - - - - Initializes a new instance of . - - - The CollectionEntry is for a Collection that is not dirty and - has already been initialized. - - - - - Initializes a new instance of for collections just loaded from the database. - - The that persists this Collection type. - The identifier of the Entity that is the owner of this Collection. - A boolean indicating whether to ignore the collection during current (or next) flush. - - - For collections just loaded from the database - - - - Initializes a new instance of for initialized detached collections. - - The from another . - The that created this . - - This takes an from another and - creates an entry for it in this by copying the values from the - cs parameter. - - - - - 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. - - - - 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. - - - - 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 interpretet 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 - - - - Retreive 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 - - - 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 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 - - - - 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 - - - - - - Create a new databinder. - - - - - - Get the ClassMetadata associated with the given entity class - - - - - - - Get the CollectionMetadata associated with the named collection role - - - - - - - Get all ClassMetadata as a IDictionary from Type - to metadata object - - - - - - 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 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. - - - - - - 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 a new stateless session. - - - Get a new stateless session for the given ADO.NET connection. - - - - Get the used. - - - - - Get the SQL Dialect - - - - - Obtain a set of the names of all filters defined on this SessionFactory. - - The set of filter names. - - - - This collections allows external libraries - to add their own configuration to the NHibernate session factory. - This is needed in such cases where the library is tightly coupled to NHibernate, such - as the case of NHibernate Search - - - - Get the statistics for this session factory - - - - Get the persister for a class - - - - - Get the persister for the named class - - The name of the class that is persisted. - The for the class. - If no can be found. - - - - Get the persister for the named class - - The name of the class that is persisted. - Whether to throw an exception if the class is not found, - or just return - The for the class. - If no can be found - and throwIfNotFound is true. - - - - 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 - - - - Obtain an ADO.NET connection - - - - - - Release an ADO.NET connection - - - - - - Get the identifier generator for the hierarchy - - - - - Open a session conforming to the given parameters. For use mainly by - implementations. - - The external ADO.NET connection to use, if any (i.e., optional). - The release mode for managed database connections. - An appropriate session. - - - - - 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 a named second-level cache region - - - - Is outerjoin fetching enabled? - - - - - Are scrollable ResultSets supported? - - - - - Is PreparedStatement.getGeneratedKeys supported (Java-specific?) - - - - - Get the database schema specified in default_schema - - - - - Maximum depth of outer join fetching - - - - - Get the default query cache - - - - - Is query caching enabled? - - - - - Gets the IsolationLevel an IDbTransaction should be set to. - - - This is only applicable to manually controlled NHibernate Transactions. - - - - Retrieves the SQLExceptionConverter in effect for this SessionFactory. - The SQLExceptionConverter for this SessionFactory. - - - - Gets the ICurrentSessionContext instance attached to this session factory. - - - - The cache of table update timestamps - - - Statistics SPI - - - - Defines the internal contract between the Session and other parts of Hibernate - such as implementors of Type or ClassPersister - - - - - 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 - - - - - - - - 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 - - - - Get the IEntityPersister for an object - - - - - - - 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 shold 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 - - - - Retreive the currently set value for a filter parameter. - - The filter parameter name in the format - {FILTER_NAME.PARAMETER_NAME}. - The filter parameter value. - - - - Retreive the type for a given filter parrameter. - - 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 - - - - Allow to get the ISession instance without having to - down cast - - - - - 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 seperately 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 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 - - - - - 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 - - - - - Get the columns of the associated table 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. - - - - - - - - Gets or sets an that contains the named - parameter as the key and the as the value. - - An of 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 interpretet 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 - - - - Retreive 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 - - - 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. - - - - 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. - - - - - 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 preping 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 - - - - - - - - - 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 Session generated events. - - - - - 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. - - - - 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. - - - - The main runtime interface between a Java application and Hibernate. 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, - 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 - - - - 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 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 - - - - Execute a query - - A query expressed in Hibernate's query language - A distinct list of instances - See for implications of cache usage. - - - - Execute a query, binding a value to a "?" parameter in the query string. - - The query string - A value to be bound to a "?" placeholder - The Hibernate type of the value - A distinct list of instances - See for implications of cache usage. - - - - Execute a query, binding an array of values to a "?" parameters in the query string. - - The query string - An array of values to be bound to the "?" placeholders - An array of Hibernate types of the values - A distinct list of instances - See for implications of cache usage. - - - - Execute a query and return the results in an interator. - - - - If the query has multiple return values, values will be returned in an array of - type object[]. - - - Entities returned as results are initialized on demand. The first SQL query returns - identifiers only. So Enumerator() is usually a less efficient way to retrieve - object than List(). - - - The query string - An enumerator - - - - Execute a query and return the results in an interator, - binding a value to a "?" parameter in the query string. - - - - If the query has multiple return values, values will be returned in an array of - type object[]. - - - Entities returned as results are initialized on demand. The first SQL query returns - identifiers only. So Enumerator() is usually a less efficient way to retrieve - object than List(). - - - The query string - A value to be written to a "?" placeholder in the query string - The hibernate type of the value - An enumerator - - - - Execute a query and return the results in an interator, - binding the values to "?"s parameters in the query string. - - - - If the query has multiple return values, values will be returned in an array of - type object[]. - - - Entities returned as results are initialized on demand. The first SQL query returns - identifiers only. So Enumerator() is usually a less efficient way to retrieve - object than List(). - - - The query string - A list of values to be written to "?" placeholders in the query - A list of hibernate types of the values - An enumerator - - - - Apply a filter to a persistent collection. - - - A filter is a Hibernate query that may refer to this, the collection element. - Filters allow efficient access to very large lazy collections. (Executing the filter - does not initialize the collection.) - - A persistent collection to filter - A filter query string - The resulting collection - - - - Apply a filter to a persistent collection, binding the given parameter to a "?" placeholder - - - A filter is a Hibernate query that may refer to this, the collection element. - Filters allow efficient access to very large lazy collections. (Executing the filter - does not initialize the collection.) - - A persistent collection to filter - A filter query string - A value to be written to a "?" placeholder in the query - The hibernate type of value - A collection - - - - Apply a filter to a persistent collection, binding the given parameters to "?" placeholders. - - - A filter is a Hibernate query that may refer to this, the collection element. - Filters allow efficient access to very large lazy collections. (Executing the filter - does not initialize the collection.) - - A persistent collection to filter - A filter query string - The values to be written to "?" placeholders in the query - The hibernate types of the values - A collection - - - - 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 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 instance of Query for the given query string - - A hibernate query string - 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 IQuery for the given SQL string. - - a query expressed in SQL - a table alias that appears inside {} in the SQL string - the returned persistent class - An from the SQL string - - - - Create a new instance of for the given SQL string. - - a query expressed in SQL - an array of table aliases that appear inside {} in the SQL string - the returned persistent classes - An from the SQL string - - - - 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 - - - - 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 deleting an item from the datastore - - - - - - - - - Called after inserting an item in the datastore - - - - - - - - - - Called after updating the datastore - - - - - - - - - - - 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. - - Unused - - - Not allowed in Xml. It represente de 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: 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 - - - 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() - - - - 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 - - - - - Occurs before deleting an item from the datastore - - - - - Occurs before inserting an item in the datastore - - - - - Called before injecting property values into a newly loaded entity instance. - - - - - Occurs before updating the datastore - - - - - 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. - - - - - Converts the given SQLException into NHibernate's ADOException 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 NHibernate's ADOException 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 NHibernate's ADOException hierarchy. - - The to be converted. - An optional error message. - The SQL that generate the exception - The resulting ADOException. - - - - 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. - - - - Generates translators which uses the older hand-written parser to perform the translation. - - - - - Facade for generation of - and instances. - - - - - Construct a instance - capable of translating an HQL query string. - - - 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 string to be translated - Currently enabled filters - The session factory - An appropriate translator. - - - - Construct a instance capable of - translating an HQL filter string. - - - 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 string to be translated - Currently enabled filters - The session factory - An appropriate translator. - - - - 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. - - - - - 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 vesrion 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. - - - - - - - - Bind positional parameter values to the IDbCommand - (these are parameters specified by ?). - - - - - - - - - - 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 maximum last row number, - others require the maximum returned row count. - - - - - 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 - - - - 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. - - - - Bind named parameters to the IDbCommand - - The that contains the parameters. - The named parameters (key) and the values to set. - The this Loader is using. - - - - - 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. - - - - of - - - - 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 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") - - - - - An (optional) persister for a collection to be initialized; only collection loaders - return a non-null value - - - - - 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 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 - - - - - Get the result set descriptor - - - - - 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. - - - - - 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? - - - 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. - - - - - Provides utility methods for generating HQL / SQL names. - Shared by both the 'classic' and 'new' query translators. - - - - - 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. - - - - Handle Hibernate "implicit" polymorphism, by translating the query string into - several "concrete" queries against mapped classes. - - - - - - - - - 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 {@link #getSelectSQL}. - The session - The prepared {@link #getSelectSQL SQL} command - The entity being saved. - - - Get the SQL statement to be used to retrieve generated key values. - The SQL command string - - - - 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. - - - - - 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 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. - - - - - 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. - - - - 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 - - - - 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 - - - - An that requires creation of database objects - All s that also implement - An have access to a special mapping parameter: schema - - - - - 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 - - - - - A persister that may have an identity assigned by execution of a SQL INSERT. - - - - - 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 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. - - - - 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 . - - - - 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 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 - - - - - 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 particulare 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 . - - - - - 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. - - - - - The timeout for the underlying ADO query - - - - - - 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 - - - - - 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 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. The Hibernate 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 - Hibernate 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 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. - - - - Override the current session cache mode, just for this query. - The cache mode to use. - this (for method chaining) - - - - Execute the update or delete statement. - - The number of entities updated or deleted. - - - - The query string - - - - - The Hibernate types of the query result set. - - - - - 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(); - - - Hibernate's query language is much more general and should be used for non-simple cases. - - - This is an experimental API. - - - - - - Set a limit upon the number of objects to be retrieved - - - - - - Set the first result to be retrieved - - - - - - Set a timeout for the underlying ADO.NET query - - - - - - - Add an Expression to constrain the results to be retrieved. - - - - - - - An an Order to the result set - - - - - - Get the results - - - - - - Get the results and fill the - - The list to fill with the results. - - - - Strongly-typed version of . - - - - - 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 - - If there is more than one matching result - - - - - 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. - - - - - 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) - - - - Create a new , "rooted" at the associated entity - - - - - - - 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, - using the specified join type. - - A dot-seperated property path - The type of join to use - The created "sub criteria" - - - - Set a strategy for handling the query results. This determines the - "shape" of the query result set. - - - - - - - - - - Set the lock mode of the current entity - - the lock mode - - - - - Set the lock mode of the aliased entity - - an alias - the lock mode - - - - - 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 - - - - - 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. - - - - - - 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. - - - - Override the cache mode for this particular query. - The cache mode to use. - this (for method chaining) - - - - 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) - - - - 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 - - - - - - Executes the batch - - - This seems to be returning the total number of affected rows in all queries - - - - - Return the batch command to be executed - - - - - The number of commands batched in this instance - - - - - 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 - - - - - 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. - - - - - - - - - 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 - - - - - Adds the specified criteria to the query - - The criteria. - - - - - Adds the specified detached criteria. - - The detached criteria. - - - - - Sets whatevert this criteria is cacheable. - - if set to true [cachable]. - - - - Set the cache region for thie criteria - - The region - - - - - Force a cache refresh - - - - - - - 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 - - - - - Add the specified HQL query to the multi query - - - - - Add the specified HQL query to the multi query - - - - - Add a named query to the multi query - - - - - 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 - - - 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 forceable refresh of - the query cache? - - - - The timeout for the underlying ADO query - - - - - - Bind a value to a named query parameter - - The name of the parameter - The possibly null parameter value - The NHibernate . - - - - 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 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 a named parameter - using an NHibernate . - - The name of the parameter - A non-null instance of a array. - - - - 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 name of the parameter - 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 . - - A non-null instance of a . - The name of the parameter - - - - 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 name of the parameter - A non-null instance of a . - - - - 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 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 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 name of the parameter - 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 name of the parameter - 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 name of the parameter - An 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 name of the parameter - A non-null 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. - - - - - 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. - - - - - - - - - - - - - - - - - - - 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. - - - - A class that can be used as a Key in a Hashtable for - a Query Cache. - - - - - A class that can be used as a Key in a Hashtable for - a Query Cache. - - - - - 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. - - - TODO: verify that the AppDomain statements are correct. - - - - - - - - - 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. - - - - 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 - - - - - - - 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) - - - - Retrieve a list of persistent objects using a Hibernate query - - - - - - - - - - - - - - - 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 refesh 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. - 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. - - - - - 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. - - - - - - - - - - - - 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 - - - - - - - - - - A flag to indicate if Dispose() has been called. - - - - - Finalizer that ensures the object is correctly disposed of. - - - - - Just in case the user forgot to Commit() or Close() - - - - - 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 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. - - - Is the entity considered dirty? - True if the entity is dirty; otherwise false. - - - Is the entity to which we are bound completely initialized? - - - 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 - - - - 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 - - - - - 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 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 aliases of the columns constrained - by this criterion (for use in ORDER BY clause). - - - - - Get the a typed value for the given property value. - - - - - Optional, may return - - - - Substitues JDBC 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. - - @param sqlString The query string. - @return The SQL query with parameter substitution complete. - - - - 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 collumns 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 aliases for the property columns - - - - - The result set column alias for the Oracle row id - - - - - Calculate and cache select-clause suffixes. - - - - - 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 name of the column at the specified position. - - The (zero-based) position. - The column name. - - - - Gets the (zero-based) position of the column with the specified name. - - Name of the column. - The column position. - - - - Gets the Hibernate type of the specified column. - - The column position. - The Hibernate type. - - - - Abstract superclass for entity loaders that use outer joins - - - - - - - - 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 - - - - - 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 collumns 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 . - - - - - 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 Qualifier to use when accessing the table. - 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. - - - - 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 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 heirarchy 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 heirarchy 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? - - - - - 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 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. - - - - 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 - - - - - 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 - - - - - 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 property name, determine the number of the table which contains the column - to which this property is mapped. - - The name of the property. - The nunber 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. - - - - - Is this an abstract class? - - - - Is this class explicit polymorphism only? - - - - - The class that this class is mapped as a subclass of - not necessarily the direct superclass - - - - Get the names of columns used to persist the identifier - - - - 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 inheritence hierarchy described by this persister contained across - multiple tables? - - True if the inheritence 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 contraint 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. - - - - 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 - - - - - 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. - - - - 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. - - - - 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. - - - 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. - - - - A for use with the Castle Dynamic Class Generator. - - - - 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. - - - - - Initializes a new object. - - - The Class to Proxy. - The Id of the Object we are Proxying. - - - - The ISession this Proxy is in. - - - - Invoke the actual Property/Method using the Proxy or instantiate the actual - object and use it when the Proxy can't handle the method. - - The from the generated Castle.DynamicProxy. - - - - Build a proxy using the Castle.DynamicProxy library. - - The value for the Id. - The Session the proxy is in. - A fully built INHibernateProxy. - - - - 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 - - - - - Validates whether can be specified as the base class - (or an interface) for a dynamically-generated proxy. - - - A collection of errors, if any, or if none were found. - - The type to validate. - - - - 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. - - - - - - - - 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 - - - - - 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 . - - - - - Used as a placeholder when parsing HQL or SQL queries. - - - - - 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. - - - - - 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 - - - - 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 - - - - 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 - - - - Initializes a new instance of the class. - - - - - SqlTypeFactory provides Singleton access to the SqlTypes. - - - - - Describes the details of a that is stored in an XML column. - - - Does not handle advanced concepts such as associating a schema to the XML column. - - - - - 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 SessionFactory. - Beware of milliseconds metrics, they are dependent of the JVM precision: - you may then encounter a 10 ms approximation depending on your OS platform. - Please refer to the JVM documentation for more information. - - - - 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 time in milliseconds 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 - - - 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. - - - - - Get a reference to the connection we are using. - - - - - Release any resources held by this helper. - - - - - Executes a query and returns a datatable. The parameters array is used - in the following fashion ExecuteQuery("select @id", "id", 15); - - - - - 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 and the format parameter to true. - - - - - 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 and format 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. - if the ddl should be nicely formatted instead of one statement per line. - - 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. - if the ddl should be nicely formatted instead of one statement per line. - - This method allows for both the drop and create ddl script to be executed. - - - - - Format an SQL statement using simple rules - - The string containing the sql to format. - A string that contains formatted sql. - - The simple rules to used when formatting are: - - - Insert a newline after each comma - - - Indent three spaces after each inserted newline - - - - If the statement contains single/double quotes return unchanged because - it is too complex and could be broken by simple formatting. - - - - - - - - Execute the schema updates - - - - - Returns a List of all Exceptions which occured during the export. - - - - - - 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 ITransaction instances. - - - - - Configure from the given properties - - - - - - Create a new transaction and return it without starting it. - - - - - 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 - - - - - Implementors define a strategy for transforming criteria query - results into the actual application-visible query result list. - - - - - - - - - - - - - - - - - - - - - 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]; - - - - - - Each row of results is a map () from alias to values/entities - - - - - 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 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 - - - - - 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 instaniated 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 incremement 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 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Summary description for CompositeCustomType. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Maps a Property - to a column. - - - CultureInfoType stores the culture name (not the Culture ID) of the - in the DB. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - A custom type for mapping user-written classes that implement - . - - - - - - - Adapts IUserType to the generic IType interface. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 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 - - - - - - - - - - - Maps the Year, Month, and Day of a Property to a - column - - - - - - - - - - - Maps a Property - to a column. - - - - - 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? - - - - - 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 - - - - - - - - Should we cascade at this cascade point? - - - - - A foreign key from child to parent - - - - - A foreign key from parent to child - - - - - 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 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 . - - - - - 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 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 an DateTime column that only stores the - Hours, Minutes, and Seconds of the DateTime as significant. - - - - 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. - - - - - - - - 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. - - - - - 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. - - - An 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. - - - A 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. - - - 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. - - - 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. - - - 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. - - - 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. - - - 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. - - - 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. - - - A 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. - - The to use to create the - with. - - - A for the specified role. - - - - - Creates a new for an - with identifier - 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. - - The to use to create the - with. - - - A for the specified role. - - - - - Creates a new for an - with list - 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. - - The to use to create the - with. - - - 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. - - The to use as the TKey to create the - with. - - - The to use as the TValue to create the - with. - - - 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. - The type of the set elements. - A for the specified role. - - - - Creates a new for a sorted . - - 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 for the set. - The type of the elements in the set. - A for the specified role. - - - 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 orginating session - - - - Determine if any of the given field values are dirty, - returning an array containing indexes of - the dirty fields or null if no fields are dirty. - - - - - Determine if any of the given field values are modified, - returning an array containing indexes of - the dirty fields or null if no fields are modified. - - - - - - - - - - - - - - Apply the {@link Type#disassemble} operation across a series of values. - The values - The value types - An array indicating which values to include in the disassemled state - The orginating 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 orginating 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 orginating 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 orginating 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 - accross the component subtypes but do not replace the component value itself. - - - - - 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. - - - - - - - - - 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. - - - - 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. - - - - - 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 instaniated 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 - . - - - - - - - - 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. - - - - 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 seperators in the tokens. - - - This is more powerful than Split because you have the option of including or - not including the seperators in the tokens. - - - - - - - - - - - - - - - - - - - - Takes a fully qualified type name and returns the full name of the - Class - includes namespaces. - - - - - - - Takes a fully qualifed 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 - - - - - - - - - - - - - - - - - - - - - - - - - - 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 - - - - - - Contains static declarations from Criteria interface in Hibernate. - - - - - The alias that refers to the "root" entity of the criteria query. - - - - - Each row of results is an IDictionary 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 - - - - - 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 a session-scoped (and only session scoped) interceptor is attached - to a session - - - - Called when sql string is being prepared. - sql to be prepared - original or modified sql - - - 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 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 decimal type - - - - - NHibernate double type - - - - - 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 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 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 - - - - - - - - - - Overwrite existing rows when a row already exists - - - - - - - - - - When a row already exists, choose the latest version - - - - - - - - - - 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/NHibernate20/net/4.0/log4net.dll b/lib/NHibernate20/net/4.0/log4net.dll deleted file mode 100644 index ffc57e11..00000000 Binary files a/lib/NHibernate20/net/4.0/log4net.dll and /dev/null differ diff --git a/lib/NHibernate20/net/4.0/log4net.license.txt b/lib/NHibernate20/net/4.0/log4net.license.txt deleted file mode 100644 index 29f81d81..00000000 --- a/lib/NHibernate20/net/4.0/log4net.license.txt +++ /dev/null @@ -1,201 +0,0 @@ - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. diff --git a/lib/NHibernate20/net/4.0/log4net.xml b/lib/NHibernate20/net/4.0/log4net.xml deleted file mode 100644 index fab7af26..00000000 --- a/lib/NHibernate20/net/4.0/log4net.xml +++ /dev/null @@ -1,28655 +0,0 @@ - - - - log4net - - - - - Appender that logs to a database. - - - - appends logging events to a table within a - database. The appender can be configured to specify the connection - string by setting the property. - The connection type (provider) can be specified by setting the - property. For more information on database connection strings for - your specific database see http://www.connectionstrings.com/. - - - Records are written into the database either using a prepared - statement or a stored procedure. The property - is set to (System.Data.CommandType.Text) to specify a prepared statement - or to (System.Data.CommandType.StoredProcedure) to specify a stored - procedure. - - - The prepared statement text or the name of the stored procedure - must be set in the property. - - - The prepared statement or stored procedure can take a number - of parameters. Parameters are added using the - method. This adds a single to the - ordered list of parameters. The - type may be subclassed if required to provide database specific - functionality. The specifies - the parameter name, database type, size, and how the value should - be generated using a . - - - - An example of a SQL Server table that could be logged to: - - CREATE TABLE [dbo].[Log] ( - [ID] [int] IDENTITY (1, 1) NOT NULL , - [Date] [datetime] NOT NULL , - [Thread] [varchar] (255) NOT NULL , - [Level] [varchar] (20) NOT NULL , - [Logger] [varchar] (255) NOT NULL , - [Message] [varchar] (4000) NOT NULL - ) ON [PRIMARY] - - - - An example configuration to log to the above table: - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Julian Biddle - Nicko Cadell - Gert Driesen - Lance Nehring - - - - Abstract base class implementation of that - buffers events in a fixed size buffer. - - - - This base class should be used by appenders that need to buffer a - number of events before logging them. For example the - buffers events and then submits the entire contents of the buffer to - the underlying database in one go. - - - Subclasses should override the - method to deliver the buffered events. - - The BufferingAppenderSkeleton maintains a fixed size cyclic - buffer of events. The size of the buffer is set using - the property. - - A is used to inspect - each event as it arrives in the appender. If the - triggers, then the current buffer is sent immediately - (see ). Otherwise the event - is stored in the buffer. For example, an evaluator can be used to - deliver the events immediately when an ERROR event arrives. - - - The buffering appender can be configured in a mode. - By default the appender is NOT lossy. When the buffer is full all - the buffered events are sent with . - If the property is set to true then the - buffer will not be sent when it is full, and new events arriving - in the appender will overwrite the oldest event in the buffer. - In lossy mode the buffer will only be sent when the - triggers. This can be useful behavior when you need to know about - ERROR events but not about events with a lower level, configure an - evaluator that will trigger when an ERROR event arrives, the whole - buffer will be sent which gives a history of events leading up to - the ERROR event. - - - Nicko Cadell - Gert Driesen - - - - Abstract base class implementation of . - - - - This class provides the code for common functionality, such - as support for threshold filtering and support for general filters. - - - Appenders can also implement the interface. Therefore - they would require that the method - be called after the appenders properties have been configured. - - - Nicko Cadell - Gert Driesen - - - - Implement this interface for your own strategies for printing log statements. - - - - Implementors should consider extending the - class which provides a default implementation of this interface. - - - Appenders can also implement the interface. Therefore - they would require that the method - be called after the appenders properties have been configured. - - - Nicko Cadell - Gert Driesen - - - - Closes the appender and releases resources. - - - - Releases any resources allocated within the appender such as file handles, - network connections, etc. - - - It is a programming error to append to a closed appender. - - - - - - Log the logging event in Appender specific way. - - The event to log - - - This method is called to log a message into this appender. - - - - - - Gets or sets the name of this appender. - - The name of the appender. - - The name uniquely identifies the appender. - - - - - Interface for appenders that support bulk logging. - - - - This interface extends the interface to - support bulk logging of objects. Appenders - should only implement this interface if they can bulk log efficiently. - - - Nicko Cadell - - - - Log the array of logging events in Appender specific way. - - The events to log - - - This method is called to log an array of events into this appender. - - - - - - Interface used to delay activate a configured object. - - - - This allows an object to defer activation of its options until all - options have been set. This is required for components which have - related options that remain ambiguous until all are set. - - - If a component implements this interface then the method - must be called by the container after its all the configured properties have been set - and before the component can be used. - - - Nicko Cadell - - - - Activate the options that were previously set with calls to properties. - - - - This allows an object to defer activation of its options until all - options have been set. This is required for components which have - related options that remain ambiguous until all are set. - - - If a component implements this interface then this method must be called - after its properties have been set before the component can be used. - - - - - - Initial buffer size - - - - - Maximum buffer size before it is recycled - - - - - Default constructor - - - Empty default constructor - - - - - Finalizes this appender by calling the implementation's - method. - - - - If this appender has not been closed then the Finalize method - will call . - - - - - - Initialize the appender based on the options set - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - - - - Closes the appender and release resources. - - - - Release any resources allocated within the appender such as file handles, - network connections, etc. - - - It is a programming error to append to a closed appender. - - - This method cannot be overridden by subclasses. This method - delegates the closing of the appender to the - method which must be overridden in the subclass. - - - - - - Performs threshold checks and invokes filters before - delegating actual logging to the subclasses specific - method. - - The event to log. - - - This method cannot be overridden by derived classes. A - derived class should override the method - which is called by this method. - - - The implementation of this method is as follows: - - - - - - Checks that the severity of the - is greater than or equal to the of this - appender. - - - - Checks that the chain accepts the - . - - - - - Calls and checks that - it returns true. - - - - - If all of the above steps succeed then the - will be passed to the abstract method. - - - - - - Performs threshold checks and invokes filters before - delegating actual logging to the subclasses specific - method. - - The array of events to log. - - - This method cannot be overridden by derived classes. A - derived class should override the method - which is called by this method. - - - The implementation of this method is as follows: - - - - - - Checks that the severity of the - is greater than or equal to the of this - appender. - - - - Checks that the chain accepts the - . - - - - - Calls and checks that - it returns true. - - - - - If all of the above steps succeed then the - will be passed to the method. - - - - - - Test if the logging event should we output by this appender - - the event to test - true if the event should be output, false if the event should be ignored - - - This method checks the logging event against the threshold level set - on this appender and also against the filters specified on this - appender. - - - The implementation of this method is as follows: - - - - - - Checks that the severity of the - is greater than or equal to the of this - appender. - - - - Checks that the chain accepts the - . - - - - - - - - - Adds a filter to the end of the filter chain. - - the filter to add to this appender - - - The Filters are organized in a linked list. - - - Setting this property causes the new filter to be pushed onto the - back of the filter chain. - - - - - - Clears the filter list for this appender. - - - - Clears the filter list for this appender. - - - - - - Checks if the message level is below this appender's threshold. - - to test against. - - - If there is no threshold set, then the return value is always true. - - - - true if the meets the - requirements of this appender. - - - - - Is called when the appender is closed. Derived classes should override - this method if resources need to be released. - - - - Releases any resources allocated within the appender such as file handles, - network connections, etc. - - - It is a programming error to append to a closed appender. - - - - - - Subclasses of should implement this method - to perform actual logging. - - The event to append. - - - A subclass must implement this method to perform - logging of the . - - This method will be called by - if all the conditions listed for that method are met. - - - To restrict the logging of events in the appender - override the method. - - - - - - Append a bulk array of logging events. - - the array of logging events - - - This base class implementation calls the - method for each element in the bulk array. - - - A sub class that can better process a bulk array of events should - override this method in addition to . - - - - - - Called before as a precondition. - - - - This method is called by - before the call to the abstract method. - - - This method can be overridden in a subclass to extend the checks - made before the event is passed to the method. - - - A subclass should ensure that they delegate this call to - this base class if it is overridden. - - - true if the call to should proceed. - - - - Renders the to a string. - - The event to render. - The event rendered as a string. - - - Helper method to render a to - a string. This appender must have a - set to render the to - a string. - - If there is exception data in the logging event and - the layout does not process the exception, this method - will append the exception text to the rendered string. - - - Where possible use the alternative version of this method - . - That method streams the rendering onto an existing Writer - which can give better performance if the caller already has - a open and ready for writing. - - - - - - Renders the to a string. - - The event to render. - The TextWriter to write the formatted event to - - - Helper method to render a to - a string. This appender must have a - set to render the to - a string. - - If there is exception data in the logging event and - the layout does not process the exception, this method - will append the exception text to the rendered string. - - - Use this method in preference to - where possible. If, however, the caller needs to render the event - to a string then does - provide an efficient mechanism for doing so. - - - - - - The layout of this appender. - - - See for more information. - - - - - The name of this appender. - - - See for more information. - - - - - The level threshold of this appender. - - - - There is no level threshold filtering by default. - - - See for more information. - - - - - - It is assumed and enforced that errorHandler is never null. - - - - It is assumed and enforced that errorHandler is never null. - - - See for more information. - - - - - - The first filter in the filter chain. - - - - Set to null initially. - - - See for more information. - - - - - - The last filter in the filter chain. - - - See for more information. - - - - - Flag indicating if this appender is closed. - - - See for more information. - - - - - The guard prevents an appender from repeatedly calling its own DoAppend method - - - - - StringWriter used to render events - - - - - Gets or sets the threshold of this appender. - - - The threshold of the appender. - - - - All log events with lower level than the threshold level are ignored - by the appender. - - - In configuration files this option is specified by setting the - value of the option to a level - string, such as "DEBUG", "INFO" and so on. - - - - - - Gets or sets the for this appender. - - The of the appender - - - The provides a default - implementation for the property. - - - - - - The filter chain. - - The head of the filter chain filter chain. - - - Returns the head Filter. The Filters are organized in a linked list - and so all Filters on this Appender are available through the result. - - - - - - Gets or sets the for this appender. - - The layout of the appender. - - - See for more information. - - - - - - - Gets or sets the name of this appender. - - The name of the appender. - - - The name uniquely identifies the appender. - - - - - - Tests if this appender requires a to be set. - - - - In the rather exceptional case, where the appender - implementation admits a layout but can also work without it, - then the appender should return true. - - - This default implementation always returns true. - - - - true if the appender requires a layout object, otherwise false. - - - - - The default buffer size. - - - The default size of the cyclic buffer used to store events. - This is set to 512 by default. - - - - - Initializes a new instance of the class. - - - - Protected default constructor to allow subclassing. - - - - - - Initializes a new instance of the class. - - the events passed through this appender must be - fixed by the time that they arrive in the derived class' SendBuffer method. - - - Protected constructor to allow subclassing. - - - The should be set if the subclass - expects the events delivered to be fixed even if the - is set to zero, i.e. when no buffering occurs. - - - - - - Flush the currently buffered events - - - - Flushes any events that have been buffered. - - - If the appender is buffering in mode then the contents - of the buffer will NOT be flushed to the appender. - - - - - - Flush the currently buffered events - - set to true to flush the buffer of lossy events - - - Flushes events that have been buffered. If is - false then events will only be flushed if this buffer is non-lossy mode. - - - If the appender is buffering in mode then the contents - of the buffer will only be flushed if is true. - In this case the contents of the buffer will be tested against the - and if triggering will be output. All other buffered - events will be discarded. - - - If is true then the buffer will always - be emptied by calling this method. - - - - - - Initialize the appender based on the options set - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - - - - Close this appender instance. - - - - Close this appender instance. If this appender is marked - as not then the remaining events in - the buffer must be sent when the appender is closed. - - - - - - This method is called by the method. - - the event to log - - - Stores the in the cyclic buffer. - - - The buffer will be sent (i.e. passed to the - method) if one of the following conditions is met: - - - - The cyclic buffer is full and this appender is - marked as not lossy (see ) - - - An is set and - it is triggered for the - specified. - - - - Before the event is stored in the buffer it is fixed - (see ) to ensure that - any data referenced by the event will be valid when the buffer - is processed. - - - - - - Sends the contents of the buffer. - - The first logging event. - The buffer containing the events that need to be send. - - - The subclass must override . - - - - - - Sends the events. - - The events that need to be send. - - - The subclass must override this method to process the buffered events. - - - - - - The size of the cyclic buffer used to hold the logging events. - - - Set to by default. - - - - - The cyclic buffer used to store the logging events. - - - - - The triggering event evaluator that causes the buffer to be sent immediately. - - - The object that is used to determine if an event causes the entire - buffer to be sent immediately. This field can be null, which - indicates that event triggering is not to be done. The evaluator - can be set using the property. If this appender - has the ( property) set to - true then an must be set. - - - - - Indicates if the appender should overwrite events in the cyclic buffer - when it becomes full, or if the buffer should be flushed when the - buffer is full. - - - If this field is set to true then an must - be set. - - - - - The triggering event evaluator filters discarded events. - - - The object that is used to determine if an event that is discarded should - really be discarded or if it should be sent to the appenders. - This field can be null, which indicates that all discarded events will - be discarded. - - - - - Value indicating which fields in the event should be fixed - - - By default all fields are fixed - - - - - The events delivered to the subclass must be fixed. - - - - - Gets or sets a value that indicates whether the appender is lossy. - - - true if the appender is lossy, otherwise false. The default is false. - - - - This appender uses a buffer to store logging events before - delivering them. A triggering event causes the whole buffer - to be send to the remote sink. If the buffer overruns before - a triggering event then logging events could be lost. Set - to false to prevent logging events - from being lost. - - If is set to true then an - must be specified. - - - - - Gets or sets the size of the cyclic buffer used to hold the - logging events. - - - The size of the cyclic buffer used to hold the logging events. - - - - The option takes a positive integer - representing the maximum number of logging events to collect in - a cyclic buffer. When the is reached, - oldest events are deleted as new events are added to the - buffer. By default the size of the cyclic buffer is 512 events. - - - If the is set to a value less than - or equal to 1 then no buffering will occur. The logging event - will be delivered synchronously (depending on the - and properties). Otherwise the event will - be buffered. - - - - - - Gets or sets the that causes the - buffer to be sent immediately. - - - The that causes the buffer to be - sent immediately. - - - - The evaluator will be called for each event that is appended to this - appender. If the evaluator triggers then the current buffer will - immediately be sent (see ). - - If is set to true then an - must be specified. - - - - - Gets or sets the value of the to use. - - - The value of the to use. - - - - The evaluator will be called for each event that is discarded from this - appender. If the evaluator triggers then the current buffer will immediately - be sent (see ). - - - - - - Gets or sets a value indicating if only part of the logging event data - should be fixed. - - - true if the appender should only fix part of the logging event - data, otherwise false. The default is false. - - - - Setting this property to true will cause only part of the - event data to be fixed and serialized. This will improve performance. - - - See for more information. - - - - - - Gets or sets a the fields that will be fixed in the event - - - The event fields that will be fixed before the event is buffered - - - - The logging event needs to have certain thread specific values - captured before it can be buffered. See - for details. - - - - - - - Initializes a new instance of the class. - - - Public default constructor to initialize a new instance of this class. - - - - - Initialize the appender based on the options set - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - - - - Override the parent method to close the database - - - - Closes the database command and database connection. - - - - - - Inserts the events into the database. - - The events to insert into the database. - - - Insert all the events specified in the - array into the database. - - - - - - Adds a parameter to the command. - - The parameter to add to the command. - - - Adds a parameter to the ordered list of command parameters. - - - - - - Writes the events to the database using the transaction specified. - - The transaction that the events will be executed under. - The array of events to insert into the database. - - - The transaction argument can be null if the appender has been - configured not to use transactions. See - property for more information. - - - - - - Formats the log message into database statement text. - - The event being logged. - - This method can be overridden by subclasses to provide - more control over the format of the database statement. - - - Text that can be passed to a . - - - - - Connects to the database. - - - - - Retrieves the class type of the ADO.NET provider. - - - - Gets the Type of the ADO.NET provider to use to connect to the - database. This method resolves the type specified in the - property. - - - Subclasses can override this method to return a different type - if necessary. - - - The of the ADO.NET provider - - - - Prepares the database command and initialize the parameters. - - - - - Flag to indicate if we are using a command object - - - - Set to true when the appender is to use a prepared - statement or stored procedure to insert into the database. - - - - - - The list of objects. - - - - The list of objects. - - - - - - The security context to use for privileged calls - - - - - The that will be used - to insert logging events into a database. - - - - - The database command. - - - - - Database connection string. - - - - - String type name of the type name. - - - - - The text of the command. - - - - - The command type. - - - - - Indicates whether to use transactions when writing to the database. - - - - - Indicates whether to use transactions when writing to the database. - - - - - Gets or sets the database connection string that is used to connect to - the database. - - - The database connection string used to connect to the database. - - - - The connections string is specific to the connection type. - See for more information. - - - Connection string for MS Access via ODBC: - "DSN=MS Access Database;UID=admin;PWD=;SystemDB=C:\data\System.mdw;SafeTransactions = 0;FIL=MS Access;DriverID = 25;DBQ=C:\data\train33.mdb" - - Another connection string for MS Access via ODBC: - "Driver={Microsoft Access Driver (*.mdb)};DBQ=C:\Work\cvs_root\log4net-1.2\access.mdb;UID=;PWD=;" - - Connection string for MS Access via OLE DB: - "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Work\cvs_root\log4net-1.2\access.mdb;User Id=;Password=;" - - - - - Gets or sets the type name of the connection - that should be created. - - - The type name of the connection. - - - - The type name of the ADO.NET provider to use. - - - The default is to use the OLE DB provider. - - - Use the OLE DB Provider. This is the default value. - System.Data.OleDb.OleDbConnection, System.Data, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - Use the MS SQL Server Provider. - System.Data.SqlClient.SqlConnection, System.Data, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - Use the ODBC Provider. - Microsoft.Data.Odbc.OdbcConnection,Microsoft.Data.Odbc,version=1.0.3300.0,publicKeyToken=b77a5c561934e089,culture=neutral - This is an optional package that you can download from - http://msdn.microsoft.com/downloads - search for ODBC .NET Data Provider. - - Use the Oracle Provider. - System.Data.OracleClient.OracleConnection, System.Data.OracleClient, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - This is an optional package that you can download from - http://msdn.microsoft.com/downloads - search for .NET Managed Provider for Oracle. - - - - - Gets or sets the command text that is used to insert logging events - into the database. - - - The command text used to insert logging events into the database. - - - - Either the text of the prepared statement or the - name of the stored procedure to execute to write into - the database. - - - The property determines if - this text is a prepared statement or a stored procedure. - - - - - - Gets or sets the command type to execute. - - - The command type to execute. - - - - This value may be either (System.Data.CommandType.Text) to specify - that the is a prepared statement to execute, - or (System.Data.CommandType.StoredProcedure) to specify that the - property is the name of a stored procedure - to execute. - - - The default value is (System.Data.CommandType.Text). - - - - - - Should transactions be used to insert logging events in the database. - - - true if transactions should be used to insert logging events in - the database, otherwise false. The default value is true. - - - - Gets or sets a value that indicates whether transactions should be used - to insert logging events in the database. - - - When set a single transaction will be used to insert the buffered events - into the database. Otherwise each event will be inserted without using - an explicit transaction. - - - - - - Gets or sets the used to call the NetSend method. - - - The used to call the NetSend method. - - - - Unless a specified here for this appender - the is queried for the - security context to use. The default behavior is to use the security context - of the current thread. - - - - - - Should this appender try to reconnect to the database on error. - - - true if the appender should try to reconnect to the database after an - error has occurred, otherwise false. The default value is false, - i.e. not to try to reconnect. - - - - The default behaviour is for the appender not to try to reconnect to the - database if an error occurs. Subsequent logging events are discarded. - - - To force the appender to attempt to reconnect to the database set this - property to true. - - - When the appender attempts to connect to the database there may be a - delay of up to the connection timeout specified in the connection string. - This delay will block the calling application's thread. - Until the connection can be reestablished this potential delay may occur multiple times. - - - - - - Gets or sets the underlying . - - - The underlying . - - - creates a to insert - logging events into a database. Classes deriving from - can use this property to get or set this . Use the - underlying returned from if - you require access beyond that which provides. - - - - - Parameter type used by the . - - - - This class provides the basic database parameter properties - as defined by the interface. - - This type can be subclassed to provide database specific - functionality. The two methods that are called externally are - and . - - - - - - Initializes a new instance of the class. - - - Default constructor for the AdoNetAppenderParameter class. - - - - - Prepare the specified database command object. - - The command to prepare. - - - Prepares the database command object by adding - this parameter to its collection of parameters. - - - - - - Renders the logging event and set the parameter value in the command. - - The command containing the parameter. - The event to be rendered. - - - Renders the logging event using this parameters layout - object. Sets the value of the parameter on the command object. - - - - - - The name of this parameter. - - - - - The database type for this parameter. - - - - - Flag to infer type rather than use the DbType - - - - - The precision for this parameter. - - - - - The scale for this parameter. - - - - - The size for this parameter. - - - - - The to use to render the - logging event into an object for this parameter. - - - - - Gets or sets the name of this parameter. - - - The name of this parameter. - - - - The name of this parameter. The parameter name - must match up to a named parameter to the SQL stored procedure - or prepared statement. - - - - - - Gets or sets the database type for this parameter. - - - The database type for this parameter. - - - - The database type for this parameter. This property should - be set to the database type from the - enumeration. See . - - - This property is optional. If not specified the ADO.NET provider - will attempt to infer the type from the value. - - - - - - - Gets or sets the precision for this parameter. - - - The precision for this parameter. - - - - The maximum number of digits used to represent the Value. - - - This property is optional. If not specified the ADO.NET provider - will attempt to infer the precision from the value. - - - - - - - Gets or sets the scale for this parameter. - - - The scale for this parameter. - - - - The number of decimal places to which Value is resolved. - - - This property is optional. If not specified the ADO.NET provider - will attempt to infer the scale from the value. - - - - - - - Gets or sets the size for this parameter. - - - The size for this parameter. - - - - The maximum size, in bytes, of the data within the column. - - - This property is optional. If not specified the ADO.NET provider - will attempt to infer the size from the value. - - - - - - - Gets or sets the to use to - render the logging event into an object for this - parameter. - - - The used to render the - logging event into an object for this parameter. - - - - The that renders the value for this - parameter. - - - The can be used to adapt - any into a - for use in the property. - - - - - - Appends logging events to the terminal using ANSI color escape sequences. - - - - AnsiColorTerminalAppender appends log events to the standard output stream - or the error output stream using a layout specified by the - user. It also allows the color of a specific level of message to be set. - - - This appender expects the terminal to understand the VT100 control set - in order to interpret the color codes. If the terminal or console does not - understand the control codes the behavior is not defined. - - - By default, all output is written to the console's standard output stream. - The property can be set to direct the output to the - error stream. - - - NOTE: This appender writes each message to the System.Console.Out or - System.Console.Error that is set at the time the event is appended. - Therefore it is possible to programmatically redirect the output of this appender - (for example NUnit does this to capture program output). While this is the desired - behavior of this appender it may have security implications in your application. - - - When configuring the ANSI colored terminal appender, a mapping should be - specified to map a logging level to a color. For example: - - - - - - - - - - - - - - - The Level is the standard log4net logging level and ForeColor and BackColor can be any - of the following values: - - Blue - Green - Red - White - Yellow - Purple - Cyan - - These color values cannot be combined together to make new colors. - - - The attributes can be any combination of the following: - - Brightforeground is brighter - Dimforeground is dimmer - Underscoremessage is underlined - Blinkforeground is blinking (does not work on all terminals) - Reverseforeground and background are reversed - Hiddenoutput is hidden - Strikethroughmessage has a line through it - - While any of these attributes may be combined together not all combinations - work well together, for example setting both Bright and Dim attributes makes - no sense. - - - Patrick Wagstrom - Nicko Cadell - - - - The to use when writing to the Console - standard output stream. - - - - The to use when writing to the Console - standard output stream. - - - - - - The to use when writing to the Console - standard error output stream. - - - - The to use when writing to the Console - standard error output stream. - - - - - - Ansi code to reset terminal - - - - - Initializes a new instance of the class. - - - The instance of the class is set up to write - to the standard output stream. - - - - - Add a mapping of level to color - - The mapping to add - - - Add a mapping to this appender. - Each mapping defines the foreground and background colours - for a level. - - - - - - This method is called by the method. - - The event to log. - - - Writes the event to the console. - - - The format of the output will depend on the appender's layout. - - - - - - Initialize the options for this appender - - - - Initialize the level to color mappings set on this appender. - - - - - - Flag to write output to the error stream rather than the standard output stream - - - - - Mapping from level object to color value - - - - - Target is the value of the console output stream. - - - Target is the value of the console output stream. - This is either "Console.Out" or "Console.Error". - - - - Target is the value of the console output stream. - This is either "Console.Out" or "Console.Error". - - - - - - This appender requires a to be set. - - true - - - This appender requires a to be set. - - - - - - The enum of possible display attributes - - - - The following flags can be combined together to - form the ANSI color attributes. - - - - - - - text is bright - - - - - text is dim - - - - - text is underlined - - - - - text is blinking - - - Not all terminals support this attribute - - - - - text and background colors are reversed - - - - - text is hidden - - - - - text is displayed with a strikethrough - - - - - The enum of possible foreground or background color values for - use with the color mapping method - - - - The output can be in one for the following ANSI colors. - - - - - - - color is black - - - - - color is red - - - - - color is green - - - - - color is yellow - - - - - color is blue - - - - - color is magenta - - - - - color is cyan - - - - - color is white - - - - - A class to act as a mapping between the level that a logging call is made at and - the color it should be displayed as. - - - - Defines the mapping between a level and the color it should be displayed in. - - - - - - An entry in the - - - - This is an abstract base class for types that are stored in the - object. - - - Nicko Cadell - - - - Default protected constructor - - - - Default protected constructor - - - - - - Initialize any options defined on this entry - - - - Should be overridden by any classes that need to initialise based on their options - - - - - - The level that is the key for this mapping - - - The that is the key for this mapping - - - - Get or set the that is the key for this - mapping subclass. - - - - - - Initialize the options for the object - - - - Combine the and together - and append the attributes. - - - - - - The mapped foreground color for the specified level - - - - Required property. - The mapped foreground color for the specified level - - - - - - The mapped background color for the specified level - - - - Required property. - The mapped background color for the specified level - - - - - - The color attributes for the specified level - - - - Required property. - The color attributes for the specified level - - - - - - The combined , and - suitable for setting the ansi terminal color. - - - - - A strongly-typed collection of objects. - - Nicko Cadell - - - - Creates a read-only wrapper for a AppenderCollection instance. - - list to create a readonly wrapper arround - - An AppenderCollection wrapper that is read-only. - - - - - An empty readonly static AppenderCollection - - - - - Initializes a new instance of the AppenderCollection class - that is empty and has the default initial capacity. - - - - - Initializes a new instance of the AppenderCollection class - that has the specified initial capacity. - - - The number of elements that the new AppenderCollection is initially capable of storing. - - - - - Initializes a new instance of the AppenderCollection class - that contains elements copied from the specified AppenderCollection. - - The AppenderCollection whose elements are copied to the new collection. - - - - Initializes a new instance of the AppenderCollection class - that contains elements copied from the specified array. - - The array whose elements are copied to the new list. - - - - Initializes a new instance of the AppenderCollection class - that contains elements copied from the specified collection. - - The collection whose elements are copied to the new list. - - - - Allow subclasses to avoid our default constructors - - - - - - - Copies the entire AppenderCollection to a one-dimensional - array. - - The one-dimensional array to copy to. - - - - Copies the entire AppenderCollection to a one-dimensional - array, starting at the specified index of the target array. - - The one-dimensional array to copy to. - The zero-based index in at which copying begins. - - - - Adds a to the end of the AppenderCollection. - - The to be added to the end of the AppenderCollection. - The index at which the value has been added. - - - - Removes all elements from the AppenderCollection. - - - - - Creates a shallow copy of the . - - A new with a shallow copy of the collection data. - - - - Determines whether a given is in the AppenderCollection. - - The to check for. - true if is found in the AppenderCollection; otherwise, false. - - - - Returns the zero-based index of the first occurrence of a - in the AppenderCollection. - - The to locate in the AppenderCollection. - - The zero-based index of the first occurrence of - in the entire AppenderCollection, if found; otherwise, -1. - - - - - Inserts an element into the AppenderCollection at the specified index. - - The zero-based index at which should be inserted. - The to insert. - - is less than zero - -or- - is equal to or greater than . - - - - - Removes the first occurrence of a specific from the AppenderCollection. - - The to remove from the AppenderCollection. - - The specified was not found in the AppenderCollection. - - - - - Removes the element at the specified index of the AppenderCollection. - - The zero-based index of the element to remove. - - is less than zero - -or- - is equal to or greater than . - - - - - Returns an enumerator that can iterate through the AppenderCollection. - - An for the entire AppenderCollection. - - - - Adds the elements of another AppenderCollection to the current AppenderCollection. - - The AppenderCollection whose elements should be added to the end of the current AppenderCollection. - The new of the AppenderCollection. - - - - Adds the elements of a array to the current AppenderCollection. - - The array whose elements should be added to the end of the AppenderCollection. - The new of the AppenderCollection. - - - - Adds the elements of a collection to the current AppenderCollection. - - The collection whose elements should be added to the end of the AppenderCollection. - The new of the AppenderCollection. - - - - Sets the capacity to the actual number of elements. - - - - - Return the collection elements as an array - - the array - - - - is less than zero - -or- - is equal to or greater than . - - - - - is less than zero - -or- - is equal to or greater than . - - - - - Gets the number of elements actually contained in the AppenderCollection. - - - - - Gets a value indicating whether access to the collection is synchronized (thread-safe). - - true if access to the ICollection is synchronized (thread-safe); otherwise, false. - - - - Gets an object that can be used to synchronize access to the collection. - - - - - Gets or sets the at the specified index. - - The zero-based index of the element to get or set. - - is less than zero - -or- - is equal to or greater than . - - - - - Gets a value indicating whether the collection has a fixed size. - - true if the collection has a fixed size; otherwise, false. The default is false - - - - Gets a value indicating whether the IList is read-only. - - true if the collection is read-only; otherwise, false. The default is false - - - - Gets or sets the number of elements the AppenderCollection can contain. - - - - - Supports type-safe iteration over a . - - - - - - Advances the enumerator to the next element in the collection. - - - true if the enumerator was successfully advanced to the next element; - false if the enumerator has passed the end of the collection. - - - The collection was modified after the enumerator was created. - - - - - Sets the enumerator to its initial position, before the first element in the collection. - - - - - Gets the current element in the collection. - - - - - Type visible only to our subclasses - Used to access protected constructor - - - - - - A value - - - - - Supports simple iteration over a . - - - - - - Initializes a new instance of the Enumerator class. - - - - - - Advances the enumerator to the next element in the collection. - - - true if the enumerator was successfully advanced to the next element; - false if the enumerator has passed the end of the collection. - - - The collection was modified after the enumerator was created. - - - - - Sets the enumerator to its initial position, before the first element in the collection. - - - - - Gets the current element in the collection. - - - - - - - - - Appends log events to the ASP.NET system. - - - - - Diagnostic information and tracing messages that you specify are appended to the output - of the page that is sent to the requesting browser. Optionally, you can view this information - from a separate trace viewer (Trace.axd) that displays trace information for every page in a - given application. - - - Trace statements are processed and displayed only when tracing is enabled. You can control - whether tracing is displayed to a page, to the trace viewer, or both. - - - The logging event is passed to the or - method depending on the level of the logging event. - - - Nicko Cadell - Gert Driesen - - - - Initializes a new instance of the class. - - - - Default constructor. - - - - - - Write the logging event to the ASP.NET trace - - the event to log - - - Write the logging event to the ASP.NET trace - HttpContext.Current.Trace - (). - - - - - - This appender requires a to be set. - - true - - - This appender requires a to be set. - - - - - - Buffers events and then forwards them to attached appenders. - - - - The events are buffered in this appender until conditions are - met to allow the appender to deliver the events to the attached - appenders. See for the - conditions that cause the buffer to be sent. - - The forwarding appender can be used to specify different - thresholds and filters for the same appender at different locations - within the hierarchy. - - - Nicko Cadell - Gert Driesen - - - - Interface for attaching appenders to objects. - - - - Interface for attaching, removing and retrieving appenders. - - - Nicko Cadell - Gert Driesen - - - - Attaches an appender. - - The appender to add. - - - Add the specified appender. The implementation may - choose to allow or deny duplicate appenders. - - - - - - Gets an attached appender with the specified name. - - The name of the appender to get. - - The appender with the name specified, or null if no appender with the - specified name is found. - - - - Returns an attached appender with the specified. - If no appender with the specified name is found null will be - returned. - - - - - - Removes all attached appenders. - - - - Removes and closes all attached appenders - - - - - - Removes the specified appender from the list of attached appenders. - - The appender to remove. - The appender removed from the list - - - The appender removed is not closed. - If you are discarding the appender you must call - on the appender removed. - - - - - - Removes the appender with the specified name from the list of appenders. - - The name of the appender to remove. - The appender removed from the list - - - The appender removed is not closed. - If you are discarding the appender you must call - on the appender removed. - - - - - - Gets all attached appenders. - - - A collection of attached appenders. - - - - Gets a collection of attached appenders. - If there are no attached appenders the - implementation should return an empty - collection rather than null. - - - - - - Initializes a new instance of the class. - - - - Default constructor. - - - - - - Closes the appender and releases resources. - - - - Releases any resources allocated within the appender such as file handles, - network connections, etc. - - - It is a programming error to append to a closed appender. - - - - - - Send the events. - - The events that need to be send. - - - Forwards the events to the attached appenders. - - - - - - Adds an to the list of appenders of this - instance. - - The to add to this appender. - - - If the specified is already in the list of - appenders, then it won't be added again. - - - - - - Looks for the appender with the specified name. - - The name of the appender to lookup. - - The appender with the specified name, or null. - - - - Get the named appender attached to this buffering appender. - - - - - - Removes all previously added appenders from this appender. - - - - This is useful when re-reading configuration information. - - - - - - Removes the specified appender from the list of appenders. - - The appender to remove. - The appender removed from the list - - The appender removed is not closed. - If you are discarding the appender you must call - on the appender removed. - - - - - Removes the appender with the specified name from the list of appenders. - - The name of the appender to remove. - The appender removed from the list - - The appender removed is not closed. - If you are discarding the appender you must call - on the appender removed. - - - - - Implementation of the interface - - - - - Gets the appenders contained in this appender as an - . - - - If no appenders can be found, then an - is returned. - - - A collection of the appenders in this appender. - - - - - Appends logging events to the console. - - - - ColoredConsoleAppender appends log events to the standard output stream - or the error output stream using a layout specified by the - user. It also allows the color of a specific type of message to be set. - - - By default, all output is written to the console's standard output stream. - The property can be set to direct the output to the - error stream. - - - NOTE: This appender writes directly to the application's attached console - not to the System.Console.Out or System.Console.Error TextWriter. - The System.Console.Out and System.Console.Error streams can be - programmatically redirected (for example NUnit does this to capture program output). - This appender will ignore these redirections because it needs to use Win32 - API calls to colorize the output. To respect these redirections the - must be used. - - - When configuring the colored console appender, mapping should be - specified to map a logging level to a color. For example: - - - - - - - - - - - - - - The Level is the standard log4net logging level and ForeColor and BackColor can be any - combination of the following values: - - Blue - Green - Red - White - Yellow - Purple - Cyan - HighIntensity - - - - Rick Hobbs - Nicko Cadell - - - - The to use when writing to the Console - standard output stream. - - - - The to use when writing to the Console - standard output stream. - - - - - - The to use when writing to the Console - standard error output stream. - - - - The to use when writing to the Console - standard error output stream. - - - - - - Initializes a new instance of the class. - - - The instance of the class is set up to write - to the standard output stream. - - - - - Initializes a new instance of the class - with the specified layout. - - the layout to use for this appender - - The instance of the class is set up to write - to the standard output stream. - - - - - Initializes a new instance of the class - with the specified layout. - - the layout to use for this appender - flag set to true to write to the console error stream - - When is set to true, output is written to - the standard error output stream. Otherwise, output is written to the standard - output stream. - - - - - Add a mapping of level to color - done by the config file - - The mapping to add - - - Add a mapping to this appender. - Each mapping defines the foreground and background colors - for a level. - - - - - - This method is called by the method. - - The event to log. - - - Writes the event to the console. - - - The format of the output will depend on the appender's layout. - - - - - - Initialize the options for this appender - - - - Initialize the level to color mappings set on this appender. - - - - - - Flag to write output to the error stream rather than the standard output stream - - - - - Mapping from level object to color value - - - - - The console output stream writer to write to - - - - This writer is not thread safe. - - - - - - Target is the value of the console output stream. - This is either "Console.Out" or "Console.Error". - - - Target is the value of the console output stream. - This is either "Console.Out" or "Console.Error". - - - - Target is the value of the console output stream. - This is either "Console.Out" or "Console.Error". - - - - - - This appender requires a to be set. - - true - - - This appender requires a to be set. - - - - - - The enum of possible color values for use with the color mapping method - - - - The following flags can be combined together to - form the colors. - - - - - - - color is blue - - - - - color is green - - - - - color is red - - - - - color is white - - - - - color is yellow - - - - - color is purple - - - - - color is cyan - - - - - color is intensified - - - - - A class to act as a mapping between the level that a logging call is made at and - the color it should be displayed as. - - - - Defines the mapping between a level and the color it should be displayed in. - - - - - - Initialize the options for the object - - - - Combine the and together. - - - - - - The mapped foreground color for the specified level - - - - Required property. - The mapped foreground color for the specified level. - - - - - - The mapped background color for the specified level - - - - Required property. - The mapped background color for the specified level. - - - - - - The combined and suitable for - setting the console color. - - - - - Appends logging events to the console. - - - - ConsoleAppender appends log events to the standard output stream - or the error output stream using a layout specified by the - user. - - - By default, all output is written to the console's standard output stream. - The property can be set to direct the output to the - error stream. - - - NOTE: This appender writes each message to the System.Console.Out or - System.Console.Error that is set at the time the event is appended. - Therefore it is possible to programmatically redirect the output of this appender - (for example NUnit does this to capture program output). While this is the desired - behavior of this appender it may have security implications in your application. - - - Nicko Cadell - Gert Driesen - - - - The to use when writing to the Console - standard output stream. - - - - The to use when writing to the Console - standard output stream. - - - - - - The to use when writing to the Console - standard error output stream. - - - - The to use when writing to the Console - standard error output stream. - - - - - - Initializes a new instance of the class. - - - The instance of the class is set up to write - to the standard output stream. - - - - - Initializes a new instance of the class - with the specified layout. - - the layout to use for this appender - - The instance of the class is set up to write - to the standard output stream. - - - - - Initializes a new instance of the class - with the specified layout. - - the layout to use for this appender - flag set to true to write to the console error stream - - When is set to true, output is written to - the standard error output stream. Otherwise, output is written to the standard - output stream. - - - - - This method is called by the method. - - The event to log. - - - Writes the event to the console. - - - The format of the output will depend on the appender's layout. - - - - - - Target is the value of the console output stream. - This is either "Console.Out" or "Console.Error". - - - Target is the value of the console output stream. - This is either "Console.Out" or "Console.Error". - - - - Target is the value of the console output stream. - This is either "Console.Out" or "Console.Error". - - - - - - This appender requires a to be set. - - true - - - This appender requires a to be set. - - - - - - Appends log events to the system. - - - - The application configuration file can be used to control what listeners - are actually used. See the MSDN documentation for the - class for details on configuring the - debug system. - - - Events are written using the - method. The event's logger name is passed as the value for the category name to the Write method. - - - Nicko Cadell - - - - Initializes a new instance of the . - - - - Default constructor. - - - - - - Initializes a new instance of the - with a specified layout. - - The layout to use with this appender. - - - Obsolete constructor. - - - - - - Writes the logging event to the system. - - The event to log. - - - Writes the logging event to the system. - If is true then the - is called. - - - - - - Immediate flush means that the underlying writer or output stream - will be flushed at the end of each append operation. - - - - Immediate flush is slower but ensures that each append request is - actually written. If is set to - false, then there is a good chance that the last few - logs events are not actually written to persistent media if and - when the application crashes. - - - The default value is true. - - - - - Gets or sets a value that indicates whether the appender will - flush at the end of each write. - - - The default behavior is to flush at the end of each - write. If the option is set tofalse, then the underlying - stream can defer writing to physical medium to a later time. - - - Avoiding the flush operation at the end of each append results - in a performance gain of 10 to 20 percent. However, there is safety - trade-off involved in skipping flushing. Indeed, when flushing is - skipped, then it is likely that the last few log events will not - be recorded on disk when the application exits. This is a high - price to pay even for a 20% performance gain. - - - - - - This appender requires a to be set. - - true - - - This appender requires a to be set. - - - - - - Writes events to the system event log. - - - - The EventID of the event log entry can be - set using the EventLogEventID property () - on the . - - - There is a limit of 32K characters for an event log message - - - When configuring the EventLogAppender a mapping can be - specified to map a logging level to an event log entry type. For example: - - - <mapping> - <level value="ERROR" /> - <eventLogEntryType value="Error" /> - </mapping> - <mapping> - <level value="DEBUG" /> - <eventLogEntryType value="Information" /> - </mapping> - - - The Level is the standard log4net logging level and eventLogEntryType can be any value - from the enum, i.e.: - - Erroran error event - Warninga warning event - Informationan informational event - - - - Aspi Havewala - Douglas de la Torre - Nicko Cadell - Gert Driesen - Thomas Voss - - - - Initializes a new instance of the class. - - - - Default constructor. - - - - - - Initializes a new instance of the class - with the specified . - - The to use with this appender. - - - Obsolete constructor. - - - - - - Add a mapping of level to - done by the config file - - The mapping to add - - - Add a mapping to this appender. - Each mapping defines the event log entry type for a level. - - - - - - Initialize the appender based on the options set - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - - - - Create an event log source - - - Uses different API calls under NET_2_0 - - - - - This method is called by the - method. - - the event to log - - Writes the event to the system event log using the - . - - If the event has an EventID property (see ) - set then this integer will be used as the event log event id. - - - There is a limit of 32K characters for an event log message - - - - - - Get the equivalent for a - - the Level to convert to an EventLogEntryType - The equivalent for a - - Because there are fewer applicable - values to use in logging levels than there are in the - this is a one way mapping. There is - a loss of information during the conversion. - - - - - The log name is the section in the event logs where the messages - are stored. - - - - - Name of the application to use when logging. This appears in the - application column of the event log named by . - - - - - The name of the machine which holds the event log. This is - currently only allowed to be '.' i.e. the current machine. - - - - - Mapping from level object to EventLogEntryType - - - - - The security context to use for privileged calls - - - - - The name of the log where messages will be stored. - - - The string name of the log where messages will be stored. - - - This is the name of the log as it appears in the Event Viewer - tree. The default value is to log into the Application - log, this is where most applications write their events. However - if you need a separate log for your application (or applications) - then you should set the appropriately. - This should not be used to distinguish your event log messages - from those of other applications, the - property should be used to distinguish events. This property should be - used to group together events into a single log. - - - - - - Property used to set the Application name. This appears in the - event logs when logging. - - - The string used to distinguish events from different sources. - - - Sets the event log source property. - - - - - This property is used to return the name of the computer to use - when accessing the event logs. Currently, this is the current - computer, denoted by a dot "." - - - The string name of the machine holding the event log that - will be logged into. - - - This property cannot be changed. It is currently set to '.' - i.e. the local machine. This may be changed in future. - - - - - Gets or sets the used to write to the EventLog. - - - The used to write to the EventLog. - - - - The system security context used to write to the EventLog. - - - Unless a specified here for this appender - the is queried for the - security context to use. The default behavior is to use the security context - of the current thread. - - - - - - This appender requires a to be set. - - true - - - This appender requires a to be set. - - - - - - A class to act as a mapping between the level that a logging call is made at and - the color it should be displayed as. - - - - Defines the mapping between a level and its event log entry type. - - - - - - The for this entry - - - - Required property. - The for this entry - - - - - - Appends logging events to a file. - - - - Logging events are sent to the file specified by - the property. - - - The file can be opened in either append or overwrite mode - by specifying the property. - If the file path is relative it is taken as relative from - the application base directory. The file encoding can be - specified by setting the property. - - - The layout's and - values will be written each time the file is opened and closed - respectively. If the property is - then the file may contain multiple copies of the header and footer. - - - This appender will first try to open the file for writing when - is called. This will typically be during configuration. - If the file cannot be opened for writing the appender will attempt - to open the file again each time a message is logged to the appender. - If the file cannot be opened for writing when a message is logged then - the message will be discarded by this appender. - - - The supports pluggable file locking models via - the property. - The default behavior, implemented by - is to obtain an exclusive write lock on the file until this appender is closed. - The alternative model, , only holds a - write lock while the appender is writing a logging event. - - - Nicko Cadell - Gert Driesen - Rodrigo B. de Oliveira - Douglas de la Torre - Niall Daley - - - - Sends logging events to a . - - - - An Appender that writes to a . - - - This appender may be used stand alone if initialized with an appropriate - writer, however it is typically used as a base class for an appender that - can open a to write to. - - - Nicko Cadell - Gert Driesen - Douglas de la Torre - - - - Initializes a new instance of the class. - - - - Default constructor. - - - - - - Initializes a new instance of the class and - sets the output destination to a new initialized - with the specified . - - The layout to use with this appender. - The to output to. - - - Obsolete constructor. - - - - - - Initializes a new instance of the class and sets - the output destination to the specified . - - The layout to use with this appender - The to output to - - The must have been previously opened. - - - - Obsolete constructor. - - - - - - This method determines if there is a sense in attempting to append. - - - - This method checked if an output target has been set and if a - layout has been set. - - - false if any of the preconditions fail. - - - - This method is called by the - method. - - The event to log. - - - Writes a log statement to the output stream if the output stream exists - and is writable. - - - The format of the output will depend on the appender's layout. - - - - - - This method is called by the - method. - - The array of events to log. - - - This method writes all the bulk logged events to the output writer - before flushing the stream. - - - - - - Close this appender instance. The underlying stream or writer is also closed. - - - Closed appenders cannot be reused. - - - - - Writes the footer and closes the underlying . - - - - Writes the footer and closes the underlying . - - - - - - Closes the underlying . - - - - Closes the underlying . - - - - - - Clears internal references to the underlying - and other variables. - - - - Subclasses can override this method for an alternate closing behavior. - - - - - - Writes a footer as produced by the embedded layout's property. - - - - Writes a footer as produced by the embedded layout's property. - - - - - - Writes a header produced by the embedded layout's property. - - - - Writes a header produced by the embedded layout's property. - - - - - - Called to allow a subclass to lazily initialize the writer - - - - This method is called when an event is logged and the or - have not been set. This allows a subclass to - attempt to initialize the writer multiple times. - - - - - - This is the where logging events - will be written to. - - - - - Immediate flush means that the underlying - or output stream will be flushed at the end of each append operation. - - - - Immediate flush is slower but ensures that each append request is - actually written. If is set to - false, then there is a good chance that the last few - logging events are not actually persisted if and when the application - crashes. - - - The default value is true. - - - - - - Gets or set whether the appender will flush at the end - of each append operation. - - - - The default behavior is to flush at the end of each - append operation. - - - If this option is set to false, then the underlying - stream can defer persisting the logging event to a later - time. - - - - Avoiding the flush operation at the end of each append results in - a performance gain of 10 to 20 percent. However, there is safety - trade-off involved in skipping flushing. Indeed, when flushing is - skipped, then it is likely that the last few log events will not - be recorded on disk when the application exits. This is a high - price to pay even for a 20% performance gain. - - - - - Sets the where the log output will go. - - - - The specified must be open and writable. - - - The will be closed when the appender - instance is closed. - - - Note: Logging to an unopened will fail. - - - - - - Gets or set the and the underlying - , if any, for this appender. - - - The for this appender. - - - - - This appender requires a to be set. - - true - - - This appender requires a to be set. - - - - - - Gets or sets the where logging events - will be written to. - - - The where logging events are written. - - - - This is the where logging events - will be written to. - - - - - - Default constructor - - - - Default constructor - - - - - - Construct a new appender using the layout, file and append mode. - - the layout to use with this appender - the full path to the file to write to - flag to indicate if the file should be appended to - - - Obsolete constructor. - - - - - - Construct a new appender using the layout and file specified. - The file will be appended to. - - the layout to use with this appender - the full path to the file to write to - - - Obsolete constructor. - - - - - - Activate the options on the file appender. - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - This will cause the file to be opened. - - - - - - Closes any previously opened file and calls the parent's . - - - - Resets the filename and the file stream. - - - - - - Called to initialize the file writer - - - - Will be called for each logged message until the file is - successfully opened. - - - - - - This method is called by the - method. - - The event to log. - - - Writes a log statement to the output stream if the output stream exists - and is writable. - - - The format of the output will depend on the appender's layout. - - - - - - This method is called by the - method. - - The array of events to log. - - - Acquires the output file locks once before writing all the events to - the stream. - - - - - - Writes a footer as produced by the embedded layout's property. - - - - Writes a footer as produced by the embedded layout's property. - - - - - - Writes a header produced by the embedded layout's property. - - - - Writes a header produced by the embedded layout's property. - - - - - - Closes the underlying . - - - - Closes the underlying . - - - - - - Closes the previously opened file. - - - - Writes the to the file and then - closes the file. - - - - - - Sets and opens the file where the log output will go. The specified file must be writable. - - The path to the log file. Must be a fully qualified path. - If true will append to fileName. Otherwise will truncate fileName - - - Calls but guarantees not to throw an exception. - Errors are passed to the . - - - - - - Sets and opens the file where the log output will go. The specified file must be writable. - - The path to the log file. Must be a fully qualified path. - If true will append to fileName. Otherwise will truncate fileName - - - If there was already an opened file, then the previous file - is closed first. - - - This method will ensure that the directory structure - for the specified exists. - - - - - - Sets the quiet writer used for file output - - the file stream that has been opened for writing - - - This implementation of creates a - over the and passes it to the - method. - - - This method can be overridden by sub classes that want to wrap the - in some way, for example to encrypt the output - data using a System.Security.Cryptography.CryptoStream. - - - - - - Sets the quiet writer being used. - - the writer over the file stream that has been opened for writing - - - This method can be overridden by sub classes that want to - wrap the in some way. - - - - - - Convert a path into a fully qualified path. - - The path to convert. - The fully qualified path. - - - Converts the path specified to a fully - qualified path. If the path is relative it is - taken as relative from the application base - directory. - - - - - - Flag to indicate if we should append to the file - or overwrite the file. The default is to append. - - - - - The name of the log file. - - - - - The encoding to use for the file stream. - - - - - The security context to use for privileged calls - - - - - The stream to log to. Has added locking semantics - - - - - The locking model to use - - - - - Gets or sets the path to the file that logging will be written to. - - - The path to the file that logging will be written to. - - - - If the path is relative it is taken as relative from - the application base directory. - - - - - - Gets or sets a flag that indicates whether the file should be - appended to or overwritten. - - - Indicates whether the file should be appended to or overwritten. - - - - If the value is set to false then the file will be overwritten, if - it is set to true then the file will be appended to. - - The default value is true. - - - - - Gets or sets used to write to the file. - - - The used to write to the file. - - - - The default encoding set is - which is the encoding for the system's current ANSI code page. - - - - - - Gets or sets the used to write to the file. - - - The used to write to the file. - - - - Unless a specified here for this appender - the is queried for the - security context to use. The default behavior is to use the security context - of the current thread. - - - - - - Gets or sets the used to handle locking of the file. - - - The used to lock the file. - - - - Gets or sets the used to handle locking of the file. - - - There are two built in locking models, and . - The former locks the file from the start of logging to the end and the - later lock only for the minimal amount of time when logging each message. - - - The default locking model is the . - - - - - - Write only that uses the - to manage access to an underlying resource. - - - - - True asynchronous writes are not supported, the implementation forces a synchronous write. - - - - - Exception base type for log4net. - - - - This type extends . It - does not add any new functionality but does differentiate the - type of exception being thrown. - - - Nicko Cadell - Gert Driesen - - - - Constructor - - - - Initializes a new instance of the class. - - - - - - Constructor - - A message to include with the exception. - - - Initializes a new instance of the class with - the specified message. - - - - - - Constructor - - A message to include with the exception. - A nested exception to include. - - - Initializes a new instance of the class - with the specified message and inner exception. - - - - - - Serialization constructor - - The that holds the serialized object data about the exception being thrown. - The that contains contextual information about the source or destination. - - - Initializes a new instance of the class - with serialized data. - - - - - - Locking model base class - - - - Base class for the locking models available to the derived loggers. - - - - - - Open the output file - - The filename to use - Whether to append to the file, or overwrite - The encoding to use - - - Open the file specified and prepare for logging. - No writes will be made until is called. - Must be called before any calls to , - and . - - - - - - Close the file - - - - Close the file. No further writes will be made. - - - - - - Acquire the lock on the file - - A stream that is ready to be written to. - - - Acquire the lock on the file in preparation for writing to it. - Return a stream pointing to the file. - must be called to release the lock on the output file. - - - - - - Release the lock on the file - - - - Release the lock on the file. No further writes will be made to the - stream until is called again. - - - - - - Gets or sets the for this LockingModel - - - The for this LockingModel - - - - The file appender this locking model is attached to and working on - behalf of. - - - The file appender is used to locate the security context and the error handler to use. - - - The value of this property will be set before is - called. - - - - - - Hold an exclusive lock on the output file - - - - Open the file once for writing and hold it open until is called. - Maintains an exclusive lock on the file during this time. - - - - - - Open the file specified and prepare for logging. - - The filename to use - Whether to append to the file, or overwrite - The encoding to use - - - Open the file specified and prepare for logging. - No writes will be made until is called. - Must be called before any calls to , - and . - - - - - - Close the file - - - - Close the file. No further writes will be made. - - - - - - Acquire the lock on the file - - A stream that is ready to be written to. - - - Does nothing. The lock is already taken - - - - - - Release the lock on the file - - - - Does nothing. The lock will be released when the file is closed. - - - - - - Acquires the file lock for each write - - - - Opens the file once for each / cycle, - thus holding the lock for the minimal amount of time. This method of locking - is considerably slower than but allows - other processes to move/delete the log file whilst logging continues. - - - - - - Prepares to open the file when the first message is logged. - - The filename to use - Whether to append to the file, or overwrite - The encoding to use - - - Open the file specified and prepare for logging. - No writes will be made until is called. - Must be called before any calls to , - and . - - - - - - Close the file - - - - Close the file. No further writes will be made. - - - - - - Acquire the lock on the file - - A stream that is ready to be written to. - - - Acquire the lock on the file in preparation for writing to it. - Return a stream pointing to the file. - must be called to release the lock on the output file. - - - - - - Release the lock on the file - - - - Release the lock on the file. No further writes will be made to the - stream until is called again. - - - - - - This appender forwards logging events to attached appenders. - - - - The forwarding appender can be used to specify different thresholds - and filters for the same appender at different locations within the hierarchy. - - - Nicko Cadell - Gert Driesen - - - - Initializes a new instance of the class. - - - - Default constructor. - - - - - - Closes the appender and releases resources. - - - - Releases any resources allocated within the appender such as file handles, - network connections, etc. - - - It is a programming error to append to a closed appender. - - - - - - Forward the logging event to the attached appenders - - The event to log. - - - Delivers the logging event to all the attached appenders. - - - - - - Forward the logging events to the attached appenders - - The array of events to log. - - - Delivers the logging events to all the attached appenders. - - - - - - Adds an to the list of appenders of this - instance. - - The to add to this appender. - - - If the specified is already in the list of - appenders, then it won't be added again. - - - - - - Looks for the appender with the specified name. - - The name of the appender to lookup. - - The appender with the specified name, or null. - - - - Get the named appender attached to this appender. - - - - - - Removes all previously added appenders from this appender. - - - - This is useful when re-reading configuration information. - - - - - - Removes the specified appender from the list of appenders. - - The appender to remove. - The appender removed from the list - - The appender removed is not closed. - If you are discarding the appender you must call - on the appender removed. - - - - - Removes the appender with the specified name from the list of appenders. - - The name of the appender to remove. - The appender removed from the list - - The appender removed is not closed. - If you are discarding the appender you must call - on the appender removed. - - - - - Implementation of the interface - - - - - Gets the appenders contained in this appender as an - . - - - If no appenders can be found, then an - is returned. - - - A collection of the appenders in this appender. - - - - - Logs events to a local syslog service. - - - - This appender uses the POSIX libc library functions openlog, syslog, and closelog. - If these functions are not available on the local system then this appender will not work! - - - The functions openlog, syslog, and closelog are specified in SUSv2 and - POSIX 1003.1-2001 standards. These are used to log messages to the local syslog service. - - - This appender talks to a local syslog service. If you need to log to a remote syslog - daemon and you cannot configure your local syslog service to do this you may be - able to use the to log via UDP. - - - Syslog messages must have a facility and and a severity. The severity - is derived from the Level of the logging event. - The facility must be chosen from the set of defined syslog - values. The facilities list is predefined - and cannot be extended. - - - An identifier is specified with each log message. This can be specified - by setting the property. The identity (also know - as the tag) must not contain white space. The default value for the - identity is the application name (from ). - - - Rob Lyon - Nicko Cadell - - - - Initializes a new instance of the class. - - - This instance of the class is set up to write - to a local syslog service. - - - - - Add a mapping of level to severity - - The mapping to add - - - Adds a to this appender. - - - - - - Initialize the appender based on the options set. - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - - - - This method is called by the method. - - The event to log. - - - Writes the event to a remote syslog daemon. - - - The format of the output will depend on the appender's layout. - - - - - - Close the syslog when the appender is closed - - - - Close the syslog when the appender is closed - - - - - - Translates a log4net level to a syslog severity. - - A log4net level. - A syslog severity. - - - Translates a log4net level to a syslog severity. - - - - - - Generate a syslog priority. - - The syslog facility. - The syslog severity. - A syslog priority. - - - - The facility. The default facility is . - - - - - The message identity - - - - - Marshaled handle to the identity string. We have to hold on to the - string as the openlog and syslog APIs just hold the - pointer to the ident and dereference it for each log message. - - - - - Mapping from level object to syslog severity - - - - - Open connection to system logger. - - - - - Generate a log message. - - - - The libc syslog method takes a format string and a variable argument list similar - to the classic printf function. As this type of vararg list is not supported - by C# we need to specify the arguments explicitly. Here we have specified the - format string with a single message argument. The caller must set the format - string to "%s". - - - - - - Close descriptor used to write to system logger. - - - - - Message identity - - - - An identifier is specified with each log message. This can be specified - by setting the property. The identity (also know - as the tag) must not contain white space. The default value for the - identity is the application name (from ). - - - - - - Syslog facility - - - Set to one of the values. The list of - facilities is predefined and cannot be extended. The default value - is . - - - - - This appender requires a to be set. - - true - - - This appender requires a to be set. - - - - - - syslog severities - - - - The log4net Level maps to a syslog severity using the - method and the - class. The severity is set on . - - - - - - system is unusable - - - - - action must be taken immediately - - - - - critical conditions - - - - - error conditions - - - - - warning conditions - - - - - normal but significant condition - - - - - informational - - - - - debug-level messages - - - - - syslog facilities - - - - The syslog facility defines which subsystem the logging comes from. - This is set on the property. - - - - - - kernel messages - - - - - random user-level messages - - - - - mail system - - - - - system daemons - - - - - security/authorization messages - - - - - messages generated internally by syslogd - - - - - line printer subsystem - - - - - network news subsystem - - - - - UUCP subsystem - - - - - clock (cron/at) daemon - - - - - security/authorization messages (private) - - - - - ftp daemon - - - - - NTP subsystem - - - - - log audit - - - - - log alert - - - - - clock daemon - - - - - reserved for local use - - - - - reserved for local use - - - - - reserved for local use - - - - - reserved for local use - - - - - reserved for local use - - - - - reserved for local use - - - - - reserved for local use - - - - - reserved for local use - - - - - A class to act as a mapping between the level that a logging call is made at and - the syslog severity that is should be logged at. - - - - A class to act as a mapping between the level that a logging call is made at and - the syslog severity that is should be logged at. - - - - - - The mapped syslog severity for the specified level - - - - Required property. - The mapped syslog severity for the specified level - - - - - - Stores logging events in an array. - - - - The memory appender stores all the logging events - that are appended in an in-memory array. - - - Use the method to get - the current list of events that have been appended. - - - Use the method to clear the - current list of events. - - - Julian Biddle - Nicko Cadell - Gert Driesen - - - - Initializes a new instance of the class. - - - - Default constructor. - - - - - - Gets the events that have been logged. - - The events that have been logged - - - Gets the events that have been logged. - - - - - - This method is called by the method. - - the event to log - - Stores the in the events list. - - - - - Clear the list of events - - - Clear the list of events - - - - - The list of events that have been appended. - - - - - Value indicating which fields in the event should be fixed - - - By default all fields are fixed - - - - - Gets or sets a value indicating whether only part of the logging event - data should be fixed. - - - true if the appender should only fix part of the logging event - data, otherwise false. The default is false. - - - - Setting this property to true will cause only part of the event - data to be fixed and stored in the appender, hereby improving performance. - - - See for more information. - - - - - - Gets or sets the fields that will be fixed in the event - - - - The logging event needs to have certain thread specific values - captured before it can be buffered. See - for details. - - - - - - Logs entries by sending network messages using the - native function. - - - - You can send messages only to names that are active - on the network. If you send the message to a user name, - that user must be logged on and running the Messenger - service to receive the message. - - - The receiver will get a top most window displaying the - messages one at a time, therefore this appender should - not be used to deliver a high volume of messages. - - - The following table lists some possible uses for this appender : - - - - - Action - Property Value(s) - - - Send a message to a user account on the local machine - - - = <name of the local machine> - - - = <user name> - - - - - Send a message to a user account on a remote machine - - - = <name of the remote machine> - - - = <user name> - - - - - Send a message to a domain user account - - - = <name of a domain controller | uninitialized> - - - = <user name> - - - - - Send a message to all the names in a workgroup or domain - - - = <workgroup name | domain name>* - - - - - Send a message from the local machine to a remote machine - - - = <name of the local machine | uninitialized> - - - = <name of the remote machine> - - - - - - - Note : security restrictions apply for sending - network messages, see - for more information. - - - - - An example configuration section to log information - using this appender from the local machine, named - LOCAL_PC, to machine OPERATOR_PC : - - - - - - - - - - Nicko Cadell - Gert Driesen - - - - The DNS or NetBIOS name of the server on which the function is to execute. - - - - - The sender of the network message. - - - - - The message alias to which the message should be sent. - - - - - The security context to use for privileged calls - - - - - Initializes the appender. - - - The default constructor initializes all fields to their default values. - - - - - Initialize the appender based on the options set. - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - The appender will be ignored if no was specified. - - - The required property was not specified. - - - - This method is called by the method. - - The event to log. - - - Sends the event using a network message. - - - - - - Sends a buffer of information to a registered message alias. - - The DNS or NetBIOS name of the server on which the function is to execute. - The message alias to which the message buffer should be sent - The originator of the message. - The message text. - The length, in bytes, of the message text. - - - The following restrictions apply for sending network messages: - - - - - Platform - Requirements - - - Windows NT - - - No special group membership is required to send a network message. - - - Admin, Accounts, Print, or Server Operator group membership is required to - successfully send a network message on a remote server. - - - - - Windows 2000 or later - - - If you send a message on a domain controller that is running Active Directory, - access is allowed or denied based on the access control list (ACL) for the securable - object. The default ACL permits only Domain Admins and Account Operators to send a network message. - - - On a member server or workstation, only Administrators and Server Operators can send a network message. - - - - - - - For more information see Security Requirements for the Network Management Functions. - - - - - If the function succeeds, the return value is zero. - - - - - - Gets or sets the sender of the message. - - - The sender of the message. - - - If this property is not specified, the message is sent from the local computer. - - - - - Gets or sets the message alias to which the message should be sent. - - - The recipient of the message. - - - This property should always be specified in order to send a message. - - - - - Gets or sets the DNS or NetBIOS name of the remote server on which the function is to execute. - - - DNS or NetBIOS name of the remote server on which the function is to execute. - - - - For Windows NT 4.0 and earlier, the string should begin with \\. - - - If this property is not specified, the local computer is used. - - - - - - Gets or sets the used to call the NetSend method. - - - The used to call the NetSend method. - - - - Unless a specified here for this appender - the is queried for the - security context to use. The default behavior is to use the security context - of the current thread. - - - - - - This appender requires a to be set. - - true - - - This appender requires a to be set. - - - - - - Appends log events to the OutputDebugString system. - - - - OutputDebugStringAppender appends log events to the - OutputDebugString system. - - - The string is passed to the native OutputDebugString - function. - - - Nicko Cadell - Gert Driesen - - - - Initializes a new instance of the class. - - - - Default constructor. - - - - - - Write the logging event to the output debug string API - - the event to log - - - Write the logging event to the output debug string API - - - - - - Stub for OutputDebugString native method - - the string to output - - - Stub for OutputDebugString native method - - - - - - This appender requires a to be set. - - true - - - This appender requires a to be set. - - - - - - Logs events to a remote syslog daemon. - - - - The BSD syslog protocol is used to remotely log to - a syslog daemon. The syslogd listens for for messages - on UDP port 514. - - - The syslog UDP protocol is not authenticated. Most syslog daemons - do not accept remote log messages because of the security implications. - You may be able to use the LocalSyslogAppender to talk to a local - syslog service. - - - There is an RFC 3164 that claims to document the BSD Syslog Protocol. - This RFC can be seen here: http://www.faqs.org/rfcs/rfc3164.html. - This appender generates what the RFC calls an "Original Device Message", - i.e. does not include the TIMESTAMP or HOSTNAME fields. By observation - this format of message will be accepted by all current syslog daemon - implementations. The daemon will attach the current time and the source - hostname or IP address to any messages received. - - - Syslog messages must have a facility and and a severity. The severity - is derived from the Level of the logging event. - The facility must be chosen from the set of defined syslog - values. The facilities list is predefined - and cannot be extended. - - - An identifier is specified with each log message. This can be specified - by setting the property. The identity (also know - as the tag) must not contain white space. The default value for the - identity is the application name (from ). - - - Rob Lyon - Nicko Cadell - - - - Sends logging events as connectionless UDP datagrams to a remote host or a - multicast group using an . - - - - UDP guarantees neither that messages arrive, nor that they arrive in the correct order. - - - To view the logging results, a custom application can be developed that listens for logging - events. - - - When decoding events send via this appender remember to use the same encoding - to decode the events as was used to send the events. See the - property to specify the encoding to use. - - - - This example shows how to log receive logging events that are sent - on IP address 244.0.0.1 and port 8080 to the console. The event is - encoded in the packet as a unicode string and it is decoded as such. - - IPEndPoint remoteEndPoint = new IPEndPoint(IPAddress.Any, 0); - UdpClient udpClient; - byte[] buffer; - string loggingEvent; - - try - { - udpClient = new UdpClient(8080); - - while(true) - { - buffer = udpClient.Receive(ref remoteEndPoint); - loggingEvent = System.Text.Encoding.Unicode.GetString(buffer); - Console.WriteLine(loggingEvent); - } - } - catch(Exception e) - { - Console.WriteLine(e.ToString()); - } - - - Dim remoteEndPoint as IPEndPoint - Dim udpClient as UdpClient - Dim buffer as Byte() - Dim loggingEvent as String - - Try - remoteEndPoint = new IPEndPoint(IPAddress.Any, 0) - udpClient = new UdpClient(8080) - - While True - buffer = udpClient.Receive(ByRef remoteEndPoint) - loggingEvent = System.Text.Encoding.Unicode.GetString(buffer) - Console.WriteLine(loggingEvent) - Wend - Catch e As Exception - Console.WriteLine(e.ToString()) - End Try - - - An example configuration section to log information using this appender to the - IP 224.0.0.1 on port 8080: - - - - - - - - - - Gert Driesen - Nicko Cadell - - - - Initializes a new instance of the class. - - - The default constructor initializes all fields to their default values. - - - - - Initialize the appender based on the options set. - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - The appender will be ignored if no was specified or - an invalid remote or local TCP port number was specified. - - - The required property was not specified. - The TCP port number assigned to or is less than or greater than . - - - - This method is called by the method. - - The event to log. - - - Sends the event using an UDP datagram. - - - Exceptions are passed to the . - - - - - - Closes the UDP connection and releases all resources associated with - this instance. - - - - Disables the underlying and releases all managed - and unmanaged resources associated with the . - - - - - - Initializes the underlying connection. - - - - The underlying is initialized and binds to the - port number from which you intend to communicate. - - - Exceptions are passed to the . - - - - - - The IP address of the remote host or multicast group to which - the logging event will be sent. - - - - - The TCP port number of the remote host or multicast group to - which the logging event will be sent. - - - - - The cached remote endpoint to which the logging events will be sent. - - - - - The TCP port number from which the will communicate. - - - - - The instance that will be used for sending the - logging events. - - - - - The encoding to use for the packet. - - - - - Gets or sets the IP address of the remote host or multicast group to which - the underlying should sent the logging event. - - - The IP address of the remote host or multicast group to which the logging event - will be sent. - - - - Multicast addresses are identified by IP class D addresses (in the range 224.0.0.0 to - 239.255.255.255). Multicast packets can pass across different networks through routers, so - it is possible to use multicasts in an Internet scenario as long as your network provider - supports multicasting. - - - Hosts that want to receive particular multicast messages must register their interest by joining - the multicast group. Multicast messages are not sent to networks where no host has joined - the multicast group. Class D IP addresses are used for multicast groups, to differentiate - them from normal host addresses, allowing nodes to easily detect if a message is of interest. - - - Static multicast addresses that are needed globally are assigned by IANA. A few examples are listed in the table below: - - - - - IP Address - Description - - - 224.0.0.1 - - - Sends a message to all system on the subnet. - - - - - 224.0.0.2 - - - Sends a message to all routers on the subnet. - - - - - 224.0.0.12 - - - The DHCP server answers messages on the IP address 224.0.0.12, but only on a subnet. - - - - - - - A complete list of actually reserved multicast addresses and their owners in the ranges - defined by RFC 3171 can be found at the IANA web site. - - - The address range 239.0.0.0 to 239.255.255.255 is reserved for administrative scope-relative - addresses. These addresses can be reused with other local groups. Routers are typically - configured with filters to prevent multicast traffic in this range from flowing outside - of the local network. - - - - - - Gets or sets the TCP port number of the remote host or multicast group to which - the underlying should sent the logging event. - - - An integer value in the range to - indicating the TCP port number of the remote host or multicast group to which the logging event - will be sent. - - - The underlying will send messages to this TCP port number - on the remote host or multicast group. - - The value specified is less than or greater than . - - - - Gets or sets the TCP port number from which the underlying will communicate. - - - An integer value in the range to - indicating the TCP port number from which the underlying will communicate. - - - - The underlying will bind to this port for sending messages. - - - Setting the value to 0 (the default) will cause the udp client not to bind to - a local port. - - - The value specified is less than or greater than . - - - - Gets or sets used to write the packets. - - - The used to write the packets. - - - - The used to write the packets. - - - - - - Gets or sets the underlying . - - - The underlying . - - - creates a to send logging events - over a network. Classes deriving from can use this - property to get or set this . Use the underlying - returned from if you require access beyond that which - provides. - - - - - Gets or sets the cached remote endpoint to which the logging events should be sent. - - - The cached remote endpoint to which the logging events will be sent. - - - The method will initialize the remote endpoint - with the values of the and - properties. - - - - - This appender requires a to be set. - - true - - - This appender requires a to be set. - - - - - - Syslog port 514 - - - - - Initializes a new instance of the class. - - - This instance of the class is set up to write - to a remote syslog daemon. - - - - - Add a mapping of level to severity - - The mapping to add - - - Add a mapping to this appender. - - - - - - This method is called by the method. - - The event to log. - - - Writes the event to a remote syslog daemon. - - - The format of the output will depend on the appender's layout. - - - - - - Initialize the options for this appender - - - - Initialize the level to syslog severity mappings set on this appender. - - - - - - Translates a log4net level to a syslog severity. - - A log4net level. - A syslog severity. - - - Translates a log4net level to a syslog severity. - - - - - - Generate a syslog priority. - - The syslog facility. - The syslog severity. - A syslog priority. - - - Generate a syslog priority. - - - - - - The facility. The default facility is . - - - - - The message identity - - - - - Mapping from level object to syslog severity - - - - - Message identity - - - - An identifier is specified with each log message. This can be specified - by setting the property. The identity (also know - as the tag) must not contain white space. The default value for the - identity is the application name (from ). - - - - - - Syslog facility - - - Set to one of the values. The list of - facilities is predefined and cannot be extended. The default value - is . - - - - - syslog severities - - - - The syslog severities. - - - - - - system is unusable - - - - - action must be taken immediately - - - - - critical conditions - - - - - error conditions - - - - - warning conditions - - - - - normal but significant condition - - - - - informational - - - - - debug-level messages - - - - - syslog facilities - - - - The syslog facilities - - - - - - kernel messages - - - - - random user-level messages - - - - - mail system - - - - - system daemons - - - - - security/authorization messages - - - - - messages generated internally by syslogd - - - - - line printer subsystem - - - - - network news subsystem - - - - - UUCP subsystem - - - - - clock (cron/at) daemon - - - - - security/authorization messages (private) - - - - - ftp daemon - - - - - NTP subsystem - - - - - log audit - - - - - log alert - - - - - clock daemon - - - - - reserved for local use - - - - - reserved for local use - - - - - reserved for local use - - - - - reserved for local use - - - - - reserved for local use - - - - - reserved for local use - - - - - reserved for local use - - - - - reserved for local use - - - - - A class to act as a mapping between the level that a logging call is made at and - the syslog severity that is should be logged at. - - - - A class to act as a mapping between the level that a logging call is made at and - the syslog severity that is should be logged at. - - - - - - The mapped syslog severity for the specified level - - - - Required property. - The mapped syslog severity for the specified level - - - - - - Delivers logging events to a remote logging sink. - - - - This Appender is designed to deliver events to a remote sink. - That is any object that implements the - interface. It delivers the events using .NET remoting. The - object to deliver events to is specified by setting the - appenders property. - - The RemotingAppender buffers events before sending them. This allows it to - make more efficient use of the remoting infrastructure. - - Once the buffer is full the events are still not sent immediately. - They are scheduled to be sent using a pool thread. The effect is that - the send occurs asynchronously. This is very important for a - number of non obvious reasons. The remoting infrastructure will - flow thread local variables (stored in the ), - if they are marked as , across the - remoting boundary. If the server is not contactable then - the remoting infrastructure will clear the - objects from the . To prevent a logging failure from - having side effects on the calling application the remoting call must be made - from a separate thread to the one used by the application. A - thread is used for this. If no thread is available then - the events will block in the thread pool manager until a thread is available. - - Because the events are sent asynchronously using pool threads it is possible to close - this appender before all the queued events have been sent. - When closing the appender attempts to wait until all the queued events have been sent, but - this will timeout after 30 seconds regardless. - - If this appender is being closed because the - event has fired it may not be possible to send all the queued events. During process - exit the runtime limits the time that a - event handler is allowed to run for. If the runtime terminates the threads before - the queued events have been sent then they will be lost. To ensure that all events - are sent the appender must be closed before the application exits. See - for details on how to shutdown - log4net programmatically. - - - Nicko Cadell - Gert Driesen - Daniel Cazzulino - - - - Initializes a new instance of the class. - - - - Default constructor. - - - - - - Initialize the appender based on the options set - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - - - - Send the contents of the buffer to the remote sink. - - - The events are not sent immediately. They are scheduled to be sent - using a pool thread. The effect is that the send occurs asynchronously. - This is very important for a number of non obvious reasons. The remoting - infrastructure will flow thread local variables (stored in the ), - if they are marked as , across the - remoting boundary. If the server is not contactable then - the remoting infrastructure will clear the - objects from the . To prevent a logging failure from - having side effects on the calling application the remoting call must be made - from a separate thread to the one used by the application. A - thread is used for this. If no thread is available then - the events will block in the thread pool manager until a thread is available. - - The events to send. - - - - Override base class close. - - - - This method waits while there are queued work items. The events are - sent asynchronously using work items. These items - will be sent once a thread pool thread is available to send them, therefore - it is possible to close the appender before all the queued events have been - sent. - - This method attempts to wait until all the queued events have been sent, but this - method will timeout after 30 seconds regardless. - - If the appender is being closed because the - event has fired it may not be possible to send all the queued events. During process - exit the runtime limits the time that a - event handler is allowed to run for. - - - - - A work item is being queued into the thread pool - - - - - A work item from the thread pool has completed - - - - - Send the contents of the buffer to the remote sink. - - - This method is designed to be used with the . - This method expects to be passed an array of - objects in the state param. - - the logging events to send - - - - The URL of the remote sink. - - - - - The local proxy (.NET remoting) for the remote logging sink. - - - - - The number of queued callbacks currently waiting or executing - - - - - Event used to signal when there are no queued work items - - - This event is set when there are no queued work items. In this - state it is safe to close the appender. - - - - - Gets or sets the URL of the well-known object that will accept - the logging events. - - - The well-known URL of the remote sink. - - - - The URL of the remoting sink that will accept logging events. - The sink must implement the - interface. - - - - - - Interface used to deliver objects to a remote sink. - - - This interface must be implemented by a remoting sink - if the is to be used - to deliver logging events to the sink. - - - - - Delivers logging events to the remote sink - - Array of events to log. - - - Delivers logging events to the remote sink - - - - - - Appender that rolls log files based on size or date or both. - - - - RollingFileAppender can roll log files based on size or date or both - depending on the setting of the property. - When set to the log file will be rolled - once its size exceeds the . - When set to the log file will be rolled - once the date boundary specified in the property - is crossed. - When set to the log file will be - rolled once the date boundary specified in the property - is crossed, but within a date boundary the file will also be rolled - once its size exceeds the . - When set to the log file will be rolled when - the appender is configured. This effectively means that the log file can be - rolled once per program execution. - - - A of few additional optional features have been added: - - Attach date pattern for current log file - Backup number increments for newer files - Infinite number of backups by file size - - - - - - For large or infinite numbers of backup files a - greater than zero is highly recommended, otherwise all the backup files need - to be renamed each time a new backup is created. - - - When Date/Time based rolling is used setting - to will reduce the number of file renamings to few or none. - - - - - - Changing or without clearing - the log file directory of backup files will cause unexpected and unwanted side effects. - - - - - If Date/Time based rolling is enabled this appender will attempt to roll existing files - in the directory without a Date/Time tag based on the last write date of the base log file. - The appender only rolls the log file when a message is logged. If Date/Time based rolling - is enabled then the appender will not roll the log file at the Date/Time boundary but - at the point when the next message is logged after the boundary has been crossed. - - - - The extends the and - has the same behavior when opening the log file. - The appender will first try to open the file for writing when - is called. This will typically be during configuration. - If the file cannot be opened for writing the appender will attempt - to open the file again each time a message is logged to the appender. - If the file cannot be opened for writing when a message is logged then - the message will be discarded by this appender. - - - When rolling a backup file necessitates deleting an older backup file the - file to be deleted is moved to a temporary name before being deleted. - - - - - A maximum number of backup files when rolling on date/time boundaries is not supported. - - - - Nicko Cadell - Gert Driesen - Aspi Havewala - Douglas de la Torre - Edward Smit - - - - Initializes a new instance of the class. - - - - Default constructor. - - - - - - Sets the quiet writer being used. - - - This method can be overridden by sub classes. - - the writer to set - - - - Write out a logging event. - - the event to write to file. - - - Handles append time behavior for RollingFileAppender. This checks - if a roll over either by date (checked first) or time (checked second) - is need and then appends to the file last. - - - - - - Write out an array of logging events. - - the events to write to file. - - - Handles append time behavior for RollingFileAppender. This checks - if a roll over either by date (checked first) or time (checked second) - is need and then appends to the file last. - - - - - - Performs any required rolling before outputting the next event - - - - Handles append time behavior for RollingFileAppender. This checks - if a roll over either by date (checked first) or time (checked second) - is need and then appends to the file last. - - - - - - Creates and opens the file for logging. If - is false then the fully qualified name is determined and used. - - the name of the file to open - true to append to existing file - - This method will ensure that the directory structure - for the specified exists. - - - - - Get the current output file name - - the base file name - the output file name - - The output file name is based on the base fileName specified. - If is set then the output - file name is the same as the base file passed in. Otherwise - the output file depends on the date pattern, on the count - direction or both. - - - - - Determines curSizeRollBackups (only within the current roll point) - - - - - Generates a wildcard pattern that can be used to find all files - that are similar to the base file name. - - - - - - - Builds a list of filenames for all files matching the base filename plus a file - pattern. - - - - - - - Initiates a roll over if needed for crossing a date boundary since the last run. - - - - - Initializes based on existing conditions at time of . - - - - Initializes based on existing conditions at time of . - The following is done - - determine curSizeRollBackups (only within the current roll point) - initiates a roll over if needed for crossing a date boundary since the last run. - - - - - - - Does the work of bumping the 'current' file counter higher - to the highest count when an incremental file name is seen. - The highest count is either the first file (when count direction - is greater than 0) or the last file (when count direction less than 0). - In either case, we want to know the highest count that is present. - - - - - - - Takes a list of files and a base file name, and looks for - 'incremented' versions of the base file. Bumps the max - count up to the highest count seen. - - - - - - - Calculates the RollPoint for the datePattern supplied. - - the date pattern to calculate the check period for - The RollPoint that is most accurate for the date pattern supplied - - Essentially the date pattern is examined to determine what the - most suitable roll point is. The roll point chosen is the roll point - with the smallest period that can be detected using the date pattern - supplied. i.e. if the date pattern only outputs the year, month, day - and hour then the smallest roll point that can be detected would be - and hourly roll point as minutes could not be detected. - - - - - Initialize the appender based on the options set - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - Sets initial conditions including date/time roll over information, first check, - scheduledFilename, and calls to initialize - the current number of backups. - - - - - - Rollover the file(s) to date/time tagged file(s). - - set to true if the file to be rolled is currently open - - - Rollover the file(s) to date/time tagged file(s). - Resets curSizeRollBackups. - If fileIsOpen is set then the new file is opened (through SafeOpenFile). - - - - - - Renames file to file . - - Name of existing file to roll. - New name for file. - - - Renames file to file . It - also checks for existence of target file and deletes if it does. - - - - - - Test if a file exists at a specified path - - the path to the file - true if the file exists - - - Test if a file exists at a specified path - - - - - - Deletes the specified file if it exists. - - The file to delete. - - - Delete a file if is exists. - The file is first moved to a new filename then deleted. - This allows the file to be removed even when it cannot - be deleted, but it still can be moved. - - - - - - Implements file roll base on file size. - - - - If the maximum number of size based backups is reached - (curSizeRollBackups == maxSizeRollBackups) then the oldest - file is deleted -- its index determined by the sign of countDirection. - If countDirection < 0, then files - {File.1, ..., File.curSizeRollBackups -1} - are renamed to {File.2, ..., - File.curSizeRollBackups}. Moreover, File is - renamed File.1 and closed. - - - A new file is created to receive further log output. - - - If maxSizeRollBackups is equal to zero, then the - File is truncated with no backup files created. - - - If maxSizeRollBackups < 0, then File is - renamed if needed and no files are deleted. - - - - - - Implements file roll. - - the base name to rename - - - If the maximum number of size based backups is reached - (curSizeRollBackups == maxSizeRollBackups) then the oldest - file is deleted -- its index determined by the sign of countDirection. - If countDirection < 0, then files - {File.1, ..., File.curSizeRollBackups -1} - are renamed to {File.2, ..., - File.curSizeRollBackups}. - - - If maxSizeRollBackups is equal to zero, then the - File is truncated with no backup files created. - - - If maxSizeRollBackups < 0, then File is - renamed if needed and no files are deleted. - - - This is called by to rename the files. - - - - - - Get the start time of the next window for the current rollpoint - - the current date - the type of roll point we are working with - the start time for the next roll point an interval after the currentDateTime date - - - Returns the date of the next roll point after the currentDateTime date passed to the method. - - - The basic strategy is to subtract the time parts that are less significant - than the rollpoint from the current time. This should roll the time back to - the start of the time window for the current rollpoint. Then we add 1 window - worth of time and get the start time of the next window for the rollpoint. - - - - - - This object supplies the current date/time. Allows test code to plug in - a method to control this class when testing date/time based rolling. - - - - - The date pattern. By default, the pattern is set to ".yyyy-MM-dd" - meaning daily rollover. - - - - - The actual formatted filename that is currently being written to - or will be the file transferred to on roll over - (based on staticLogFileName). - - - - - The timestamp when we shall next recompute the filename. - - - - - Holds date of last roll over - - - - - The type of rolling done - - - - - The default maximum file size is 10MB - - - - - There is zero backup files by default - - - - - How many sized based backups have been made so far - - - - - The rolling file count direction. - - - - - The rolling mode used in this appender. - - - - - Cache flag set if we are rolling by date. - - - - - Cache flag set if we are rolling by size. - - - - - Value indicating whether to always log to the same file. - - - - - FileName provided in configuration. Used for rolling properly - - - - - The 1st of January 1970 in UTC - - - - - Gets or sets the date pattern to be used for generating file names - when rolling over on date. - - - The date pattern to be used for generating file names when rolling - over on date. - - - - Takes a string in the same format as expected by - . - - - This property determines the rollover schedule when rolling over - on date. - - - - - - Gets or sets the maximum number of backup files that are kept before - the oldest is erased. - - - The maximum number of backup files that are kept before the oldest is - erased. - - - - If set to zero, then there will be no backup files and the log file - will be truncated when it reaches . - - - If a negative number is supplied then no deletions will be made. Note - that this could result in very slow performance as a large number of - files are rolled over unless is used. - - - The maximum applies to each time based group of files and - not the total. - - - - - - Gets or sets the maximum size that the output file is allowed to reach - before being rolled over to backup files. - - - The maximum size in bytes that the output file is allowed to reach before being - rolled over to backup files. - - - - This property is equivalent to except - that it is required for differentiating the setter taking a - argument from the setter taking a - argument. - - - The default maximum file size is 10MB (10*1024*1024). - - - - - - Gets or sets the maximum size that the output file is allowed to reach - before being rolled over to backup files. - - - The maximum size that the output file is allowed to reach before being - rolled over to backup files. - - - - This property allows you to specify the maximum size with the - suffixes "KB", "MB" or "GB" so that the size is interpreted being - expressed respectively in kilobytes, megabytes or gigabytes. - - - For example, the value "10KB" will be interpreted as 10240 bytes. - - - The default maximum file size is 10MB. - - - If you have the option to set the maximum file size programmatically - consider using the property instead as this - allows you to set the size in bytes as a . - - - - - - Gets or sets the rolling file count direction. - - - The rolling file count direction. - - - - Indicates if the current file is the lowest numbered file or the - highest numbered file. - - - By default newer files have lower numbers ( < 0), - i.e. log.1 is most recent, log.5 is the 5th backup, etc... - - - >= 0 does the opposite i.e. - log.1 is the first backup made, log.5 is the 5th backup made, etc. - For infinite backups use >= 0 to reduce - rollover costs. - - The default file count direction is -1. - - - - - Gets or sets the rolling style. - - The rolling style. - - - The default rolling style is . - - - When set to this appender's - property is set to false, otherwise - the appender would append to a single file rather than rolling - the file each time it is opened. - - - - - - Gets or sets a value indicating whether to always log to - the same file. - - - true if always should be logged to the same file, otherwise false. - - - - By default file.log is always the current file. Optionally - file.log.yyyy-mm-dd for current formatted datePattern can by the currently - logging file (or file.log.curSizeRollBackup or even - file.log.yyyy-mm-dd.curSizeRollBackup). - - - This will make time based rollovers with a large number of backups - much faster as the appender it won't have to rename all the backups! - - - - - - Style of rolling to use - - - - Style of rolling to use - - - - - - Roll files once per program execution - - - - Roll files once per program execution. - Well really once each time this appender is - configured. - - - Setting this option also sets AppendToFile to - false on the RollingFileAppender, otherwise - this appender would just be a normal file appender. - - - - - - Roll files based only on the size of the file - - - - - Roll files based only on the date - - - - - Roll files based on both the size and date of the file - - - - - The code assumes that the following 'time' constants are in a increasing sequence. - - - - The code assumes that the following 'time' constants are in a increasing sequence. - - - - - - Roll the log not based on the date - - - - - Roll the log for each minute - - - - - Roll the log for each hour - - - - - Roll the log twice a day (midday and midnight) - - - - - Roll the log each day (midnight) - - - - - Roll the log each week - - - - - Roll the log each month - - - - - This interface is used to supply Date/Time information to the . - - - This interface is used to supply Date/Time information to the . - Used primarily to allow test classes to plug themselves in so they can - supply test date/times. - - - - - Gets the current time. - - The current time. - - - Gets the current time. - - - - - - Default implementation of that returns the current time. - - - - - Gets the current time. - - The current time. - - - Gets the current time. - - - - - - Send an e-mail when a specific logging event occurs, typically on errors - or fatal errors. - - - - The number of logging events delivered in this e-mail depend on - the value of option. The - keeps only the last - logging events in its - cyclic buffer. This keeps memory requirements at a reasonable level while - still delivering useful application context. - - - Authentication and setting the server Port are only available on the MS .NET 1.1 runtime. - For these features to be enabled you need to ensure that you are using a version of - the log4net assembly that is built against the MS .NET 1.1 framework and that you are - running the your application on the MS .NET 1.1 runtime. On all other platforms only sending - unauthenticated messages to a server listening on port 25 (the default) is supported. - - - Authentication is supported by setting the property to - either or . - If using authentication then the - and properties must also be set. - - - To set the SMTP server port use the property. The default port is 25. - - - Nicko Cadell - Gert Driesen - - - - Default constructor - - - - Default constructor - - - - - - Sends the contents of the cyclic buffer as an e-mail message. - - The logging events to send. - - - - Send the email message - - the body text to include in the mail - - - - Gets or sets a semicolon-delimited list of recipient e-mail addresses. - - - A semicolon-delimited list of e-mail addresses. - - - - A semicolon-delimited list of recipient e-mail addresses. - - - - - - Gets or sets the e-mail address of the sender. - - - The e-mail address of the sender. - - - - The e-mail address of the sender. - - - - - - Gets or sets the subject line of the e-mail message. - - - The subject line of the e-mail message. - - - - The subject line of the e-mail message. - - - - - - Gets or sets the name of the SMTP relay mail server to use to send - the e-mail messages. - - - The name of the e-mail relay server. If SmtpServer is not set, the - name of the local SMTP server is used. - - - - The name of the e-mail relay server. If SmtpServer is not set, the - name of the local SMTP server is used. - - - - - - Obsolete - - - Use the BufferingAppenderSkeleton Fix methods instead - - - - Obsolete property. - - - - - - The mode to use to authentication with the SMTP server - - - Authentication is only available on the MS .NET 1.1 runtime. - - Valid Authentication mode values are: , - , and . - The default value is . When using - you must specify the - and to use to authenticate. - When using the Windows credentials for the current - thread, if impersonating, or the process will be used to authenticate. - - - - - - The username to use to authenticate with the SMTP server - - - Authentication is only available on the MS .NET 1.1 runtime. - - A and must be specified when - is set to , - otherwise the username will be ignored. - - - - - - The password to use to authenticate with the SMTP server - - - Authentication is only available on the MS .NET 1.1 runtime. - - A and must be specified when - is set to , - otherwise the password will be ignored. - - - - - - The port on which the SMTP server is listening - - - Server Port is only available on the MS .NET 1.1 runtime. - - The port on which the SMTP server is listening. The default - port is 25. The Port can only be changed when running on - the MS .NET 1.1 runtime. - - - - - - Gets or sets the priority of the e-mail message - - - One of the values. - - - - Sets the priority of the e-mails generated by this - appender. The default priority is . - - - If you are using this appender to report errors then - you may want to set the priority to . - - - - - - This appender requires a to be set. - - true - - - This appender requires a to be set. - - - - - - Values for the property. - - - - SMTP authentication modes. - - - - - - No authentication - - - - - Basic authentication. - - - Requires a username and password to be supplied - - - - - Integrated authentication - - - Uses the Windows credentials from the current thread or process to authenticate. - - - - - Send an email when a specific logging event occurs, typically on errors - or fatal errors. Rather than sending via smtp it writes a file into the - directory specified by . This allows services such - as the IIS SMTP agent to manage sending the messages. - - - - The configuration for this appender is identical to that of the SMTPAppender, - except that instead of specifying the SMTPAppender.SMTPHost you specify - . - - - The number of logging events delivered in this e-mail depend on - the value of option. The - keeps only the last - logging events in its - cyclic buffer. This keeps memory requirements at a reasonable level while - still delivering useful application context. - - - Niall Daley - Nicko Cadell - - - - Default constructor - - - - Default constructor - - - - - - Sends the contents of the cyclic buffer as an e-mail message. - - The logging events to send. - - - Sends the contents of the cyclic buffer as an e-mail message. - - - - - - Activate the options on this appender. - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - - - - Convert a path into a fully qualified path. - - The path to convert. - The fully qualified path. - - - Converts the path specified to a fully - qualified path. If the path is relative it is - taken as relative from the application base - directory. - - - - - - The security context to use for privileged calls - - - - - Gets or sets a semicolon-delimited list of recipient e-mail addresses. - - - A semicolon-delimited list of e-mail addresses. - - - - A semicolon-delimited list of e-mail addresses. - - - - - - Gets or sets the e-mail address of the sender. - - - The e-mail address of the sender. - - - - The e-mail address of the sender. - - - - - - Gets or sets the subject line of the e-mail message. - - - The subject line of the e-mail message. - - - - The subject line of the e-mail message. - - - - - - Gets or sets the path to write the messages to. - - - - Gets or sets the path to write the messages to. This should be the same - as that used by the agent sending the messages. - - - - - - Gets or sets the used to write to the pickup directory. - - - The used to write to the pickup directory. - - - - Unless a specified here for this appender - the is queried for the - security context to use. The default behavior is to use the security context - of the current thread. - - - - - - This appender requires a to be set. - - true - - - This appender requires a to be set. - - - - - - Appender that allows clients to connect via Telnet to receive log messages - - - - The TelnetAppender accepts socket connections and streams logging messages - back to the client. - The output is provided in a telnet-friendly way so that a log can be monitored - over a TCP/IP socket. - This allows simple remote monitoring of application logging. - - - The default is 23 (the telnet port). - - - Keith Long - Nicko Cadell - - - - Default constructor - - - - Default constructor - - - - - - Overrides the parent method to close the socket handler - - - - Closes all the outstanding connections. - - - - - - Initialize the appender based on the options set. - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - Create the socket handler and wait for connections - - - - - - Writes the logging event to each connected client. - - The event to log. - - - Writes the logging event to each connected client. - - - - - - Gets or sets the TCP port number on which this will listen for connections. - - - An integer value in the range to - indicating the TCP port number on which this will listen for connections. - - - - The default value is 23 (the telnet port). - - - The value specified is less than - or greater than . - - - - This appender requires a to be set. - - true - - - This appender requires a to be set. - - - - - - Helper class to manage connected clients - - - - The SocketHandler class is used to accept connections from - clients. It is threaded so that clients can connect/disconnect - asynchronously. - - - - - - Opens a new server port on - - the local port to listen on for connections - - - Creates a socket handler on the specified local server port. - - - - - - Sends a string message to each of the connected clients - - the text to send - - - Sends a string message to each of the connected clients - - - - - - Add a client to the internal clients list - - client to add - - - - Remove a client from the internal clients list - - client to remove - - - - Callback used to accept a connection on the server socket - - The result of the asynchronous operation - - - On connection adds to the list of connections - if there are two many open connections you will be disconnected - - - - - - Close all network connections - - - - Make sure we close all network connections - - - - - - Test if this handler has active connections - - - true if this handler has active connections - - - - This property will be true while this handler has - active connections, that is at least one connection that - the handler will attempt to send a message to. - - - - - - Class that represents a client connected to this handler - - - - Class that represents a client connected to this handler - - - - - - Create this for the specified - - the client's socket - - - Opens a stream writer on the socket. - - - - - - Write a string to the client - - string to send - - - Write a string to the client - - - - - - Cleanup the clients connection - - - - Close the socket connection. - - - - - - Appends log events to the system. - - - - The application configuration file can be used to control what listeners - are actually used. See the MSDN documentation for the - class for details on configuring the - trace system. - - - Events are written using the System.Diagnostics.Trace.Write(string,string) - method. The event's logger name is passed as the value for the category name to the Write method. - - - Compact Framework
- The Compact Framework does not support the - class for any operation except Assert. When using the Compact Framework this - appender will write to the system rather than - the Trace system. This appender will therefore behave like the . -
-
- Douglas de la Torre - Nicko Cadell - Gert Driesen -
- - - Initializes a new instance of the . - - - - Default constructor. - - - - - - Initializes a new instance of the - with a specified layout. - - The layout to use with this appender. - - - Obsolete constructor. - - - - - - Writes the logging event to the system. - - The event to log. - - - Writes the logging event to the system. - - - - - - Immediate flush means that the underlying writer or output stream - will be flushed at the end of each append operation. - - - - Immediate flush is slower but ensures that each append request is - actually written. If is set to - false, then there is a good chance that the last few - logs events are not actually written to persistent media if and - when the application crashes. - - - The default value is true. - - - - - Gets or sets a value that indicates whether the appender will - flush at the end of each write. - - - The default behavior is to flush at the end of each - write. If the option is set tofalse, then the underlying - stream can defer writing to physical medium to a later time. - - - Avoiding the flush operation at the end of each append results - in a performance gain of 10 to 20 percent. However, there is safety - trade-off involved in skipping flushing. Indeed, when flushing is - skipped, then it is likely that the last few log events will not - be recorded on disk when the application exits. This is a high - price to pay even for a 20% performance gain. - - - - - - This appender requires a to be set. - - true - - - This appender requires a to be set. - - - - - - Assembly level attribute that specifies a domain to alias to this assembly's repository. - - - - AliasDomainAttribute is obsolete. Use AliasRepositoryAttribute instead of AliasDomainAttribute. - - - An assembly's logger repository is defined by its , - however this can be overridden by an assembly loaded before the target assembly. - - - An assembly can alias another assembly's domain to its repository by - specifying this attribute with the name of the target domain. - - - This attribute can only be specified on the assembly and may be used - as many times as necessary to alias all the required domains. - - - Nicko Cadell - Gert Driesen - - - - Assembly level attribute that specifies a repository to alias to this assembly's repository. - - - - An assembly's logger repository is defined by its , - however this can be overridden by an assembly loaded before the target assembly. - - - An assembly can alias another assembly's repository to its repository by - specifying this attribute with the name of the target repository. - - - This attribute can only be specified on the assembly and may be used - as many times as necessary to alias all the required repositories. - - - Nicko Cadell - Gert Driesen - - - - Initializes a new instance of the class with - the specified repository to alias to this assembly's repository. - - The repository to alias to this assemby's repository. - - - Initializes a new instance of the class with - the specified repository to alias to this assembly's repository. - - - - - - Gets or sets the repository to alias to this assemby's repository. - - - The repository to alias to this assemby's repository. - - - - The name of the repository to alias to this assemby's repository. - - - - - - Initializes a new instance of the class with - the specified domain to alias to this assembly's repository. - - The domain to alias to this assemby's repository. - - - Obsolete. Use instead of . - - - - - - Use this class to quickly configure a . - - - - Allows very simple programmatic configuration of log4net. - - - Only one appender can be configured using this configurator. - The appender is set at the root of the hierarchy and all logging - events will be delivered to that appender. - - - Appenders can also implement the interface. Therefore - they would require that the method - be called after the appenders properties have been configured. - - - Nicko Cadell - Gert Driesen - - - - Initializes a new instance of the class. - - - - Uses a private access modifier to prevent instantiation of this class. - - - - - - Initializes the log4net system with a default configuration. - - - - Initializes the log4net logging system using a - that will write to Console.Out. The log messages are - formatted using the layout object - with the - layout style. - - - - - - Initializes the log4net system using the specified appender. - - The appender to use to log all logging events. - - - Initializes the log4net system using the specified appender. - - - - - - Initializes the with a default configuration. - - The repository to configure. - - - Initializes the specified repository using a - that will write to Console.Out. The log messages are - formatted using the layout object - with the - layout style. - - - - - - Initializes the using the specified appender. - - The repository to configure. - The appender to use to log all logging events. - - - Initializes the using the specified appender. - - - - - - Base class for all log4net configuration attributes. - - - This is an abstract class that must be extended by - specific configurators. This attribute allows the - configurator to be parameterized by an assembly level - attribute. - - Nicko Cadell - Gert Driesen - - - - Constructor used by subclasses. - - the ordering priority for this configurator - - - The is used to order the configurator - attributes before they are invoked. Higher priority configurators are executed - before lower priority ones. - - - - - - Configures the for the specified assembly. - - The assembly that this attribute was defined on. - The repository to configure. - - - Abstract method implemented by a subclass. When this method is called - the subclass should configure the . - - - - - - Compare this instance to another ConfiguratorAttribute - - the object to compare to - see - - - Compares the priorities of the two instances. - Sorts by priority in descending order. Objects with the same priority are - randomly ordered. - - - - - - Assembly level attribute that specifies the logging domain for the assembly. - - - - DomainAttribute is obsolete. Use RepositoryAttribute instead of DomainAttribute. - - - Assemblies are mapped to logging domains. Each domain has its own - logging repository. This attribute specified on the assembly controls - the configuration of the domain. The property specifies the name - of the domain that this assembly is a part of. The - specifies the type of the repository objects to create for the domain. If - this attribute is not specified and a is not specified - then the assembly will be part of the default shared logging domain. - - - This attribute can only be specified on the assembly and may only be used - once per assembly. - - - Nicko Cadell - Gert Driesen - - - - Assembly level attribute that specifies the logging repository for the assembly. - - - - Assemblies are mapped to logging repository. This attribute specified - on the assembly controls - the configuration of the repository. The property specifies the name - of the repository that this assembly is a part of. The - specifies the type of the object - to create for the assembly. If this attribute is not specified or a - is not specified then the assembly will be part of the default shared logging repository. - - - This attribute can only be specified on the assembly and may only be used - once per assembly. - - - Nicko Cadell - Gert Driesen - - - - Initializes a new instance of the class. - - - - Default constructor. - - - - - - Initialize a new instance of the class - with the name of the repository. - - The name of the repository. - - - Initialize the attribute with the name for the assembly's repository. - - - - - - Gets or sets the name of the logging repository. - - - The string name to use as the name of the repository associated with this - assembly. - - - - This value does not have to be unique. Several assemblies can share the - same repository. They will share the logging configuration of the repository. - - - - - - Gets or sets the type of repository to create for this assembly. - - - The type of repository to create for this assembly. - - - - The type of the repository to create for the assembly. - The type must implement the - interface. - - - This will be the type of repository created when - the repository is created. If multiple assemblies reference the - same repository then the repository is only created once using the - of the first assembly to call into the - repository. - - - - - - Initializes a new instance of the class. - - - - Obsolete. Use RepositoryAttribute instead of DomainAttribute. - - - - - - Initialize a new instance of the class - with the name of the domain. - - The name of the domain. - - - Obsolete. Use RepositoryAttribute instead of DomainAttribute. - - - - - - Use this class to initialize the log4net environment using an Xml tree. - - - - DOMConfigurator is obsolete. Use XmlConfigurator instead of DOMConfigurator. - - - Configures a using an Xml tree. - - - Nicko Cadell - Gert Driesen - - - - Private constructor - - - - - Automatically configures the log4net system based on the - application's configuration settings. - - - - DOMConfigurator is obsolete. Use XmlConfigurator instead of DOMConfigurator. - - Each application has a configuration file. This has the - same name as the application with '.config' appended. - This file is XML and calling this function prompts the - configurator to look in that file for a section called - log4net that contains the configuration data. - - - - - Automatically configures the using settings - stored in the application's configuration file. - - - - DOMConfigurator is obsolete. Use XmlConfigurator instead of DOMConfigurator. - - Each application has a configuration file. This has the - same name as the application with '.config' appended. - This file is XML and calling this function prompts the - configurator to look in that file for a section called - log4net that contains the configuration data. - - The repository to configure. - - - - Configures log4net using a log4net element - - - - DOMConfigurator is obsolete. Use XmlConfigurator instead of DOMConfigurator. - - Loads the log4net configuration from the XML element - supplied as . - - The element to parse. - - - - Configures the using the specified XML - element. - - - - DOMConfigurator is obsolete. Use XmlConfigurator instead of DOMConfigurator. - - Loads the log4net configuration from the XML element - supplied as . - - The repository to configure. - The element to parse. - - - - Configures log4net using the specified configuration file. - - The XML file to load the configuration from. - - - DOMConfigurator is obsolete. Use XmlConfigurator instead of DOMConfigurator. - - - The configuration file must be valid XML. It must contain - at least one element called log4net that holds - the log4net configuration data. - - - The log4net configuration file can possible be specified in the application's - configuration file (either MyAppName.exe.config for a - normal application on Web.config for an ASP.NET application). - - - The following example configures log4net using a configuration file, of which the - location is stored in the application's configuration file : - - - using log4net.Config; - using System.IO; - using System.Configuration; - - ... - - DOMConfigurator.Configure(new FileInfo(ConfigurationSettings.AppSettings["log4net-config-file"])); - - - In the .config file, the path to the log4net can be specified like this : - - - - - - - - - - - - - Configures log4net using the specified configuration file. - - A stream to load the XML configuration from. - - - DOMConfigurator is obsolete. Use XmlConfigurator instead of DOMConfigurator. - - - The configuration data must be valid XML. It must contain - at least one element called log4net that holds - the log4net configuration data. - - - Note that this method will NOT close the stream parameter. - - - - - - Configures the using the specified configuration - file. - - The repository to configure. - The XML file to load the configuration from. - - - DOMConfigurator is obsolete. Use XmlConfigurator instead of DOMConfigurator. - - - The configuration file must be valid XML. It must contain - at least one element called log4net that holds - the configuration data. - - - The log4net configuration file can possible be specified in the application's - configuration file (either MyAppName.exe.config for a - normal application on Web.config for an ASP.NET application). - - - The following example configures log4net using a configuration file, of which the - location is stored in the application's configuration file : - - - using log4net.Config; - using System.IO; - using System.Configuration; - - ... - - DOMConfigurator.Configure(new FileInfo(ConfigurationSettings.AppSettings["log4net-config-file"])); - - - In the .config file, the path to the log4net can be specified like this : - - - - - - - - - - - - - Configures the using the specified configuration - file. - - The repository to configure. - The stream to load the XML configuration from. - - - DOMConfigurator is obsolete. Use XmlConfigurator instead of DOMConfigurator. - - - The configuration data must be valid XML. It must contain - at least one element called log4net that holds - the configuration data. - - - Note that this method will NOT close the stream parameter. - - - - - - Configures log4net using the file specified, monitors the file for changes - and reloads the configuration if a change is detected. - - The XML file to load the configuration from. - - - DOMConfigurator is obsolete. Use XmlConfigurator instead of DOMConfigurator. - - - The configuration file must be valid XML. It must contain - at least one element called log4net that holds - the configuration data. - - - The configuration file will be monitored using a - and depends on the behavior of that class. - - - For more information on how to configure log4net using - a separate configuration file, see . - - - - - - - Configures the using the file specified, - monitors the file for changes and reloads the configuration if a change - is detected. - - The repository to configure. - The XML file to load the configuration from. - - - DOMConfigurator is obsolete. Use XmlConfigurator instead of DOMConfigurator. - - - The configuration file must be valid XML. It must contain - at least one element called log4net that holds - the configuration data. - - - The configuration file will be monitored using a - and depends on the behavior of that class. - - - For more information on how to configure log4net using - a separate configuration file, see . - - - - - - - Assembly level attribute to configure the . - - - - AliasDomainAttribute is obsolete. Use AliasRepositoryAttribute instead of AliasDomainAttribute. - - - This attribute may only be used at the assembly scope and can only - be used once per assembly. - - - Use this attribute to configure the - without calling one of the - methods. - - - Nicko Cadell - Gert Driesen - - - - Assembly level attribute to configure the . - - - - This attribute may only be used at the assembly scope and can only - be used once per assembly. - - - Use this attribute to configure the - without calling one of the - methods. - - - If neither of the or - properties are set the configuration is loaded from the application's .config file. - If set the property takes priority over the - property. The property - specifies a path to a file to load the config from. The path is relative to the - application's base directory; . - The property is used as a postfix to the assembly file name. - The config file must be located in the application's base directory; . - For example in a console application setting the to - config has the same effect as not specifying the or - properties. - - - The property can be set to cause the - to watch the configuration file for changes. - - - - Log4net will only look for assembly level configuration attributes once. - When using the log4net assembly level attributes to control the configuration - of log4net you must ensure that the first call to any of the - methods is made from the assembly with the configuration - attributes. - - - If you cannot guarantee the order in which log4net calls will be made from - different assemblies you must use programmatic configuration instead, i.e. - call the method directly. - - - - Nicko Cadell - Gert Driesen - - - - Default constructor - - - - Default constructor - - - - - - Configures the for the specified assembly. - - The assembly that this attribute was defined on. - The repository to configure. - - - Configure the repository using the . - The specified must extend the - class otherwise the will not be able to - configure it. - - - The does not extend . - - - - Attempt to load configuration from the local file system - - The assembly that this attribute was defined on. - The repository to configure. - - - - Configure the specified repository using a - - The repository to configure. - the FileInfo pointing to the config file - - - - Attempt to load configuration from a URI - - The assembly that this attribute was defined on. - The repository to configure. - - - - Gets or sets the filename of the configuration file. - - - The filename of the configuration file. - - - - If specified, this is the name of the configuration file to use with - the . This file path is relative to the - application base directory (). - - - The takes priority over the . - - - - - - Gets or sets the extension of the configuration file. - - - The extension of the configuration file. - - - - If specified this is the extension for the configuration file. - The path to the config file is built by using the application - base directory (), - the assembly file name and the config file extension. - - - If the is set to MyExt then - possible config file names would be: MyConsoleApp.exe.MyExt or - MyClassLibrary.dll.MyExt. - - - The takes priority over the . - - - - - - Gets or sets a value indicating whether to watch the configuration file. - - - true if the configuration should be watched, false otherwise. - - - - If this flag is specified and set to true then the framework - will watch the configuration file and will reload the config each time - the file is modified. - - - The config file can only be watched if it is loaded from local disk. - In a No-Touch (Smart Client) deployment where the application is downloaded - from a web server the config file may not reside on the local disk - and therefore it may not be able to watch it. - - - Watching configuration is not supported on the SSCLI. - - - - - - Class to register for the log4net section of the configuration file - - - The log4net section of the configuration file needs to have a section - handler registered. This is the section handler used. It simply returns - the XML element that is the root of the section. - - - Example of registering the log4net section handler : - - - -
- - - log4net configuration XML goes here - - - - - Nicko Cadell - Gert Driesen - - - - Initializes a new instance of the class. - - - - Default constructor. - - - - - - Parses the configuration section. - - The configuration settings in a corresponding parent configuration section. - The configuration context when called from the ASP.NET configuration system. Otherwise, this parameter is reserved and is a null reference. - The for the log4net section. - The for the log4net section. - - - Returns the containing the configuration data, - - - - - - Assembly level attribute that specifies a plugin to attach to - the repository. - - - - Specifies the type of a plugin to create and attach to the - assembly's repository. The plugin type must implement the - interface. - - - Nicko Cadell - Gert Driesen - - - - Interface used to create plugins. - - - - Interface used to create a plugin. - - - Nicko Cadell - Gert Driesen - - - - Creates the plugin object. - - the new plugin instance - - - Create and return a new plugin instance. - - - - - - Initializes a new instance of the class - with the specified type. - - The type name of plugin to create. - - - Create the attribute with the plugin type specified. - - - Where possible use the constructor that takes a . - - - - - - Initializes a new instance of the class - with the specified type. - - The type of plugin to create. - - - Create the attribute with the plugin type specified. - - - - - - Creates the plugin object defined by this attribute. - - - - Creates the instance of the object as - specified by this attribute. - - - The plugin object. - - - - Returns a representation of the properties of this object. - - - - Overrides base class method to - return a representation of the properties of this object. - - - A representation of the properties of this object - - - - Gets or sets the type for the plugin. - - - The type for the plugin. - - - - The type for the plugin. - - - - - - Gets or sets the type name for the plugin. - - - The type name for the plugin. - - - - The type name for the plugin. - - - Where possible use the property instead. - - - - - - Assembly level attribute to configure the . - - - - This attribute may only be used at the assembly scope and can only - be used once per assembly. - - - Use this attribute to configure the - without calling one of the - methods. - - - Nicko Cadell - - - - Construct provider attribute with type specified - - the type of the provider to use - - - The provider specified must subclass the - class. - - - - - - Configures the SecurityContextProvider - - The assembly that this attribute was defined on. - The repository to configure. - - - Creates a provider instance from the specified. - Sets this as the default security context provider . - - - - - - Gets or sets the type of the provider to use. - - - the type of the provider to use. - - - - The provider specified must subclass the - class. - - - - - - Use this class to initialize the log4net environment using an Xml tree. - - - - Configures a using an Xml tree. - - - Nicko Cadell - Gert Driesen - - - - Private constructor - - - - - Automatically configures the log4net system based on the - application's configuration settings. - - - - Each application has a configuration file. This has the - same name as the application with '.config' appended. - This file is XML and calling this function prompts the - configurator to look in that file for a section called - log4net that contains the configuration data. - - - To use this method to configure log4net you must specify - the section - handler for the log4net configuration section. See the - for an example. - - - - - - - Automatically configures the using settings - stored in the application's configuration file. - - - - Each application has a configuration file. This has the - same name as the application with '.config' appended. - This file is XML and calling this function prompts the - configurator to look in that file for a section called - log4net that contains the configuration data. - - - To use this method to configure log4net you must specify - the section - handler for the log4net configuration section. See the - for an example. - - - The repository to configure. - - - - Configures log4net using a log4net element - - - - Loads the log4net configuration from the XML element - supplied as . - - - The element to parse. - - - - Configures the using the specified XML - element. - - - Loads the log4net configuration from the XML element - supplied as . - - The repository to configure. - The element to parse. - - - - Configures log4net using the specified configuration file. - - The XML file to load the configuration from. - - - The configuration file must be valid XML. It must contain - at least one element called log4net that holds - the log4net configuration data. - - - The log4net configuration file can possible be specified in the application's - configuration file (either MyAppName.exe.config for a - normal application on Web.config for an ASP.NET application). - - - The first element matching <configuration> will be read as the - configuration. If this file is also a .NET .config file then you must specify - a configuration section for the log4net element otherwise .NET will - complain. Set the type for the section handler to , for example: - - -
- - - - - The following example configures log4net using a configuration file, of which the - location is stored in the application's configuration file : - - - using log4net.Config; - using System.IO; - using System.Configuration; - - ... - - XmlConfigurator.Configure(new FileInfo(ConfigurationSettings.AppSettings["log4net-config-file"])); - - - In the .config file, the path to the log4net can be specified like this : - - - - - - - - - - - - - Configures log4net using the specified configuration URI. - - A URI to load the XML configuration from. - - - The configuration data must be valid XML. It must contain - at least one element called log4net that holds - the log4net configuration data. - - - The must support the URI scheme specified. - - - - - - Configures log4net using the specified configuration data stream. - - A stream to load the XML configuration from. - - - The configuration data must be valid XML. It must contain - at least one element called log4net that holds - the log4net configuration data. - - - Note that this method will NOT close the stream parameter. - - - - - - Configures the using the specified configuration - file. - - The repository to configure. - The XML file to load the configuration from. - - - The configuration file must be valid XML. It must contain - at least one element called log4net that holds - the configuration data. - - - The log4net configuration file can possible be specified in the application's - configuration file (either MyAppName.exe.config for a - normal application on Web.config for an ASP.NET application). - - - The first element matching <configuration> will be read as the - configuration. If this file is also a .NET .config file then you must specify - a configuration section for the log4net element otherwise .NET will - complain. Set the type for the section handler to , for example: - - -
- - - - - The following example configures log4net using a configuration file, of which the - location is stored in the application's configuration file : - - - using log4net.Config; - using System.IO; - using System.Configuration; - - ... - - XmlConfigurator.Configure(new FileInfo(ConfigurationSettings.AppSettings["log4net-config-file"])); - - - In the .config file, the path to the log4net can be specified like this : - - - - - - - - - - - - - Configures the using the specified configuration - URI. - - The repository to configure. - A URI to load the XML configuration from. - - - The configuration data must be valid XML. It must contain - at least one element called log4net that holds - the configuration data. - - - The must support the URI scheme specified. - - - - - - Configures the using the specified configuration - file. - - The repository to configure. - The stream to load the XML configuration from. - - - The configuration data must be valid XML. It must contain - at least one element called log4net that holds - the configuration data. - - - Note that this method will NOT close the stream parameter. - - - - - - Configures log4net using the file specified, monitors the file for changes - and reloads the configuration if a change is detected. - - The XML file to load the configuration from. - - - The configuration file must be valid XML. It must contain - at least one element called log4net that holds - the configuration data. - - - The configuration file will be monitored using a - and depends on the behavior of that class. - - - For more information on how to configure log4net using - a separate configuration file, see . - - - - - - - Configures the using the file specified, - monitors the file for changes and reloads the configuration if a change - is detected. - - The repository to configure. - The XML file to load the configuration from. - - - The configuration file must be valid XML. It must contain - at least one element called log4net that holds - the configuration data. - - - The configuration file will be monitored using a - and depends on the behavior of that class. - - - For more information on how to configure log4net using - a separate configuration file, see . - - - - - - - Configures the specified repository using a log4net element. - - The hierarchy to configure. - The element to parse. - - - Loads the log4net configuration from the XML element - supplied as . - - - This method is ultimately called by one of the Configure methods - to load the configuration from an . - - - - - - Class used to watch config files. - - - - Uses the to monitor - changes to a specified file. Because multiple change notifications - may be raised when the file is modified, a timer is used to - compress the notifications into a single event. The timer - waits for time before delivering - the event notification. If any further - change notifications arrive while the timer is waiting it - is reset and waits again for to - elapse. - - - - - - The default amount of time to wait after receiving notification - before reloading the config file. - - - - - Watch a specified config file used to configure a repository - - The repository to configure. - The configuration file to watch. - - - Watch a specified config file used to configure a repository - - - - - - Holds the FileInfo used to configure the XmlConfigurator - - - - - Holds the repository being configured. - - - - - The timer used to compress the notification events. - - - - - Initializes a new instance of the class. - - The repository to configure. - The configuration file to watch. - - - Initializes a new instance of the class. - - - - - - Event handler used by . - - The firing the event. - The argument indicates the file that caused the event to be fired. - - - This handler reloads the configuration from the file when the event is fired. - - - - - - Event handler used by . - - The firing the event. - The argument indicates the file that caused the event to be fired. - - - This handler reloads the configuration from the file when the event is fired. - - - - - - Called by the timer when the configuration has been updated. - - null - - - - The implementation of the interface suitable - for use with the compact framework - - - - This implementation is a simple - mapping between repository name and - object. - - - The .NET Compact Framework 1.0 does not support retrieving assembly - level attributes therefore unlike the DefaultRepositorySelector - this selector does not examine the calling assembly for attributes. - - - Nicko Cadell - - - - Interface used by the to select the . - - - - The uses a - to specify the policy for selecting the correct - to return to the caller. - - - Nicko Cadell - Gert Driesen - - - - Gets the for the specified assembly. - - The assembly to use to lookup to the - The for the assembly. - - - Gets the for the specified assembly. - - - How the association between and - is made is not defined. The implementation may choose any method for - this association. The results of this method must be repeatable, i.e. - when called again with the same arguments the result must be the - save value. - - - - - - Gets the named . - - The name to use to lookup to the . - The named - - Lookup a named . This is the repository created by - calling . - - - - - Creates a new repository for the assembly specified. - - The assembly to use to create the domain to associate with the . - The type of repository to create, must implement . - The repository created. - - - The created will be associated with the domain - specified such that a call to with the - same assembly specified will return the same repository instance. - - - How the association between and - is made is not defined. The implementation may choose any method for - this association. - - - - - - Creates a new repository with the name specified. - - The name to associate with the . - The type of repository to create, must implement . - The repository created. - - - The created will be associated with the name - specified such that a call to with the - same name will return the same repository instance. - - - - - - Test if a named repository exists - - the named repository to check - true if the repository exists - - - Test if a named repository exists. Use - to create a new repository and to retrieve - a repository. - - - - - - Gets an array of all currently defined repositories. - - - An array of the instances created by - this . - - - Gets an array of all of the repositories created by this selector. - - - - - - Event to notify that a logger repository has been created. - - - Event to notify that a logger repository has been created. - - - - Event raised when a new repository is created. - The event source will be this selector. The event args will - be a which - holds the newly created . - - - - - - Create a new repository selector - - the type of the repositories to create, must implement - - - Create an new compact repository selector. - The default type for repositories must be specified, - an appropriate value would be . - - - throw if is null - throw if does not implement - - - - Get the for the specified assembly - - not used - The default - - - The argument is not used. This selector does not create a - separate repository for each assembly. - - - As a named repository is not specified the default repository is - returned. The default repository is named log4net-default-repository. - - - - - - Get the named - - the name of the repository to lookup - The named - - - Get the named . The default - repository is log4net-default-repository. Other repositories - must be created using the . - If the named repository does not exist an exception is thrown. - - - throw if is null - throw if the does not exist - - - - Create a new repository for the assembly specified - - not used - the type of repository to create, must implement - the repository created - - - The argument is not used. This selector does not create a - separate repository for each assembly. - - - If the is null then the - default repository type specified to the constructor is used. - - - As a named repository is not specified the default repository is - returned. The default repository is named log4net-default-repository. - - - - - - Create a new repository for the repository specified - - the repository to associate with the - the type of repository to create, must implement . - If this param is null then the default repository type is used. - the repository created - - - The created will be associated with the repository - specified such that a call to with the - same repository specified will return the same repository instance. - - - If the named repository already exists an exception will be thrown. - - - If is null then the default - repository type specified to the constructor is used. - - - throw if is null - throw if the already exists - - - - Test if a named repository exists - - the named repository to check - true if the repository exists - - - Test if a named repository exists. Use - to create a new repository and to retrieve - a repository. - - - - - - Gets a list of objects - - an array of all known objects - - - Gets an array of all of the repositories created by this selector. - - - - - - Notify the registered listeners that the repository has been created - - The repository that has been created - - - Raises the LoggerRepositoryCreatedEvent - event. - - - - - - Event to notify that a logger repository has been created. - - - Event to notify that a logger repository has been created. - - - - Event raised when a new repository is created. - The event source will be this selector. The event args will - be a which - holds the newly created . - - - - - - The default implementation of the interface. - - - - Uses attributes defined on the calling assembly to determine how to - configure the hierarchy for the repository. - - - Nicko Cadell - Gert Driesen - - - - Creates a new repository selector. - - The type of the repositories to create, must implement - - - Create an new repository selector. - The default type for repositories must be specified, - an appropriate value would be . - - - is . - does not implement . - - - - Gets the for the specified assembly. - - The assembly use to lookup the . - - - The type of the created and the repository - to create can be overridden by specifying the - attribute on the . - - - The default values are to use the - implementation of the interface and to use the - as the name of the repository. - - - The created will be automatically configured using - any attributes defined on - the . - - - The for the assembly - is . - - - - Gets the for the specified repository. - - The repository to use to lookup the . - The for the specified repository. - - - Returns the named repository. If is null - a is thrown. If the repository - does not exist a is thrown. - - - Use to create a repository. - - - is . - does not exist. - - - - Create a new repository for the assembly specified - - the assembly to use to create the repository to associate with the . - The type of repository to create, must implement . - The repository created. - - - The created will be associated with the repository - specified such that a call to with the - same assembly specified will return the same repository instance. - - - The type of the created and - the repository to create can be overridden by specifying the - attribute on the - . The default values are to use the - implementation of the - interface and to use the - as the name of the repository. - - - The created will be automatically - configured using any - attributes defined on the . - - - If a repository for the already exists - that repository will be returned. An error will not be raised and that - repository may be of a different type to that specified in . - Also the attribute on the - assembly may be used to override the repository type specified in - . - - - is . - - - - Creates a new repository for the assembly specified. - - the assembly to use to create the repository to associate with the . - The type of repository to create, must implement . - The name to assign to the created repository - Set to true to read and apply the assembly attributes - The repository created. - - - The created will be associated with the repository - specified such that a call to with the - same assembly specified will return the same repository instance. - - - The type of the created and - the repository to create can be overridden by specifying the - attribute on the - . The default values are to use the - implementation of the - interface and to use the - as the name of the repository. - - - The created will be automatically - configured using any - attributes defined on the . - - - If a repository for the already exists - that repository will be returned. An error will not be raised and that - repository may be of a different type to that specified in . - Also the attribute on the - assembly may be used to override the repository type specified in - . - - - is . - - - - Creates a new repository for the specified repository. - - The repository to associate with the . - The type of repository to create, must implement . - If this param is then the default repository type is used. - The new repository. - - - The created will be associated with the repository - specified such that a call to with the - same repository specified will return the same repository instance. - - - is . - already exists. - - - - Test if a named repository exists - - the named repository to check - true if the repository exists - - - Test if a named repository exists. Use - to create a new repository and to retrieve - a repository. - - - - - - Gets a list of objects - - an array of all known objects - - - Gets an array of all of the repositories created by this selector. - - - - - - Aliases a repository to an existing repository. - - The repository to alias. - The repository that the repository is aliased to. - - - The repository specified will be aliased to the repository when created. - The repository must not already exist. - - - When the repository is created it must utilize the same repository type as - the repository it is aliased to, otherwise the aliasing will fail. - - - - is . - -or- - is . - - - - - Notifies the registered listeners that the repository has been created. - - The repository that has been created. - - - Raises the event. - - - - - - Gets the repository name and repository type for the specified assembly. - - The assembly that has a . - in/out param to hold the repository name to use for the assembly, caller should set this to the default value before calling. - in/out param to hold the type of the repository to create for the assembly, caller should set this to the default value before calling. - is . - - - - Configures the repository using information from the assembly. - - The assembly containing - attributes which define the configuration for the repository. - The repository to configure. - - is . - -or- - is . - - - - - Loads the attribute defined plugins on the assembly. - - The assembly that contains the attributes. - The repository to add the plugins to. - - is . - -or- - is . - - - - - Loads the attribute defined aliases on the assembly. - - The assembly that contains the attributes. - The repository to alias to. - - is . - -or- - is . - - - - - Event to notify that a logger repository has been created. - - - Event to notify that a logger repository has been created. - - - - Event raised when a new repository is created. - The event source will be this selector. The event args will - be a which - holds the newly created . - - - - - - Defined error codes that can be passed to the method. - - - - Values passed to the method. - - - Nicko Cadell - - - - A general error - - - - - Error while writing output - - - - - Failed to flush file - - - - - Failed to close file - - - - - Unable to open output file - - - - - No layout specified - - - - - Failed to parse address - - - - - Appenders may delegate their error handling to an . - - - - Error handling is a particularly tedious to get right because by - definition errors are hard to predict and to reproduce. - - - Nicko Cadell - Gert Driesen - - - - Handles the error and information about the error condition is passed as - a parameter. - - The message associated with the error. - The that was thrown when the error occurred. - The error code associated with the error. - - - Handles the error and information about the error condition is passed as - a parameter. - - - - - - Prints the error message passed as a parameter. - - The message associated with the error. - The that was thrown when the error occurred. - - - See . - - - - - - Prints the error message passed as a parameter. - - The message associated with the error. - - - See . - - - - - - Interface for objects that require fixing. - - - - Interface that indicates that the object requires fixing before it - can be taken outside the context of the appender's - method. - - - When objects that implement this interface are stored - in the context properties maps - and - are fixed - (see ) the - method will be called. - - - Nicko Cadell - - - - Get a portable version of this object - - the portable instance of this object - - - Get a portable instance object that represents the current - state of this object. The portable object can be stored - and logged from any thread with identical results. - - - - - - Interface that all loggers implement - - - - This interface supports logging events and testing if a level - is enabled for logging. - - - These methods will not throw exceptions. Note to implementor, ensure - that the implementation of these methods cannot allow an exception - to be thrown to the caller. - - - Nicko Cadell - Gert Driesen - - - - This generic form is intended to be used by wrappers. - - The declaring type of the method that is - the stack boundary into the logging system for this call. - The level of the message to be logged. - The message object to log. - the exception to log, including its stack trace. Pass null to not log an exception. - - - Generates a logging event for the specified using - the and . - - - - - - This is the most generic printing method that is intended to be used - by wrappers. - - The event being logged. - - - Logs the specified logging event through this logger. - - - - - - Checks if this logger is enabled for a given passed as parameter. - - The level to check. - - true if this logger is enabled for level, otherwise false. - - - - Test if this logger is going to log events of the specified . - - - - - - Gets the name of the logger. - - - The name of the logger. - - - - The name of this logger - - - - - - Gets the where this - Logger instance is attached to. - - - The that this logger belongs to. - - - - Gets the where this - Logger instance is attached to. - - - - - - Base interface for all wrappers - - - - Base interface for all wrappers. - - - All wrappers must implement this interface. - - - Nicko Cadell - - - - Get the implementation behind this wrapper object. - - - The object that in implementing this object. - - - - The object that in implementing this - object. The Logger object may not - be the same object as this object because of logger decorators. - This gets the actual underlying objects that is used to process - the log events. - - - - - - Delegate used to handle logger repository creation event notifications - - The which created the repository. - The event args - that holds the instance that has been created. - - - Delegate used to handle logger repository creation event notifications. - - - - - - Provides data for the event. - - - - A - event is raised every time a is created. - - - - - - The created - - - - - Construct instance using specified - - the that has been created - - - Construct instance using specified - - - - - - The that has been created - - - The that has been created - - - - The that has been created - - - - - - Test if an triggers an action - - - - Implementations of this interface allow certain appenders to decide - when to perform an appender specific action. - - - The action or behavior triggered is defined by the implementation. - - - Nicko Cadell - - - - Test if this event triggers the action - - The event to check - true if this event triggers the action, otherwise false - - - Return true if this event triggers the action - - - - - - Defines the default set of levels recognized by the system. - - - - Each has an associated . - - - Levels have a numeric that defines the relative - ordering between levels. Two Levels with the same - are deemed to be equivalent. - - - The levels that are recognized by log4net are set for each - and each repository can have different levels defined. The levels are stored - in the on the repository. Levels are - looked up by name from the . - - - When logging at level INFO the actual level used is not but - the value of LoggerRepository.LevelMap["INFO"]. The default value for this is - , but this can be changed by reconfiguring the level map. - - - Each level has a in addition to its . The - is the string that is written into the output log. By default - the display name is the same as the level name, but this can be used to alias levels - or to localize the log output. - - - Some of the predefined levels recognized by the system are: - - - - . - - - . - - - . - - - . - - - . - - - . - - - . - - - - Nicko Cadell - Gert Driesen - - - - Constructor - - Integer value for this level, higher values represent more severe levels. - The string name of this level. - The display name for this level. This may be localized or otherwise different from the name - - - Initializes a new instance of the class with - the specified level name and value. - - - - - - Constructor - - Integer value for this level, higher values represent more severe levels. - The string name of this level. - - - Initializes a new instance of the class with - the specified level name and value. - - - - - - Returns the representation of the current - . - - - A representation of the current . - - - - Returns the level . - - - - - - Compares levels. - - The object to compare against. - true if the objects are equal. - - - Compares the levels of instances, and - defers to base class if the target object is not a - instance. - - - - - - Returns a hash code - - A hash code for the current . - - - Returns a hash code suitable for use in hashing algorithms and data - structures like a hash table. - - - Returns the hash code of the level . - - - - - - Compares this instance to a specified object and returns an - indication of their relative values. - - A instance or to compare with this instance. - - A 32-bit signed integer that indicates the relative order of the - values compared. The return value has these meanings: - - - Value - Meaning - - - Less than zero - This instance is less than . - - - Zero - This instance is equal to . - - - Greater than zero - - This instance is greater than . - -or- - is . - - - - - - - must be an instance of - or ; otherwise, an exception is thrown. - - - is not a . - - - - Returns a value indicating whether a specified - is greater than another specified . - - A - A - - true if is greater than - ; otherwise, false. - - - - Compares two levels. - - - - - - Returns a value indicating whether a specified - is less than another specified . - - A - A - - true if is less than - ; otherwise, false. - - - - Compares two levels. - - - - - - Returns a value indicating whether a specified - is greater than or equal to another specified . - - A - A - - true if is greater than or equal to - ; otherwise, false. - - - - Compares two levels. - - - - - - Returns a value indicating whether a specified - is less than or equal to another specified . - - A - A - - true if is less than or equal to - ; otherwise, false. - - - - Compares two levels. - - - - - - Returns a value indicating whether two specified - objects have the same value. - - A or . - A or . - - true if the value of is the same as the - value of ; otherwise, false. - - - - Compares two levels. - - - - - - Returns a value indicating whether two specified - objects have different values. - - A or . - A or . - - true if the value of is different from - the value of ; otherwise, false. - - - - Compares two levels. - - - - - - Compares two specified instances. - - The first to compare. - The second to compare. - - A 32-bit signed integer that indicates the relative order of the - two values compared. The return value has these meanings: - - - Value - Meaning - - - Less than zero - is less than . - - - Zero - is equal to . - - - Greater than zero - is greater than . - - - - - - Compares two levels. - - - - - - The level designates a higher level than all the rest. - - - - - The level designates very severe error events. - System unusable, emergencies. - - - - - The level designates very severe error events - that will presumably lead the application to abort. - - - - - The level designates very severe error events. - Take immediate action, alerts. - - - - - The level designates very severe error events. - Critical condition, critical. - - - - - The level designates very severe error events. - - - - - The level designates error events that might - still allow the application to continue running. - - - - - The level designates potentially harmful - situations. - - - - - The level designates informational messages - that highlight the progress of the application at the highest level. - - - - - The level designates informational messages that - highlight the progress of the application at coarse-grained level. - - - - - The level designates fine-grained informational - events that are most useful to debug an application. - - - - - The level designates fine-grained informational - events that are most useful to debug an application. - - - - - The level designates fine-grained informational - events that are most useful to debug an application. - - - - - The level designates fine-grained informational - events that are most useful to debug an application. - - - - - The level designates fine-grained informational - events that are most useful to debug an application. - - - - - The level designates fine-grained informational - events that are most useful to debug an application. - - - - - The level designates the lowest level possible. - - - - - Gets the name of this level. - - - The name of this level. - - - - Gets the name of this level. - - - - - - Gets the value of this level. - - - The value of this level. - - - - Gets the value of this level. - - - - - - Gets the display name of this level. - - - The display name of this level. - - - - Gets the display name of this level. - - - - - - A strongly-typed collection of objects. - - Nicko Cadell - - - - Creates a read-only wrapper for a LevelCollection instance. - - list to create a readonly wrapper arround - - A LevelCollection wrapper that is read-only. - - - - - Initializes a new instance of the LevelCollection class - that is empty and has the default initial capacity. - - - - - Initializes a new instance of the LevelCollection class - that has the specified initial capacity. - - - The number of elements that the new LevelCollection is initially capable of storing. - - - - - Initializes a new instance of the LevelCollection class - that contains elements copied from the specified LevelCollection. - - The LevelCollection whose elements are copied to the new collection. - - - - Initializes a new instance of the LevelCollection class - that contains elements copied from the specified array. - - The array whose elements are copied to the new list. - - - - Initializes a new instance of the LevelCollection class - that contains elements copied from the specified collection. - - The collection whose elements are copied to the new list. - - - - Allow subclasses to avoid our default constructors - - - - - - Copies the entire LevelCollection to a one-dimensional - array. - - The one-dimensional array to copy to. - - - - Copies the entire LevelCollection to a one-dimensional - array, starting at the specified index of the target array. - - The one-dimensional array to copy to. - The zero-based index in at which copying begins. - - - - Adds a to the end of the LevelCollection. - - The to be added to the end of the LevelCollection. - The index at which the value has been added. - - - - Removes all elements from the LevelCollection. - - - - - Creates a shallow copy of the . - - A new with a shallow copy of the collection data. - - - - Determines whether a given is in the LevelCollection. - - The to check for. - true if is found in the LevelCollection; otherwise, false. - - - - Returns the zero-based index of the first occurrence of a - in the LevelCollection. - - The to locate in the LevelCollection. - - The zero-based index of the first occurrence of - in the entire LevelCollection, if found; otherwise, -1. - - - - - Inserts an element into the LevelCollection at the specified index. - - The zero-based index at which should be inserted. - The to insert. - - is less than zero - -or- - is equal to or greater than . - - - - - Removes the first occurrence of a specific from the LevelCollection. - - The to remove from the LevelCollection. - - The specified was not found in the LevelCollection. - - - - - Removes the element at the specified index of the LevelCollection. - - The zero-based index of the element to remove. - - is less than zero - -or- - is equal to or greater than . - - - - - Returns an enumerator that can iterate through the LevelCollection. - - An for the entire LevelCollection. - - - - Adds the elements of another LevelCollection to the current LevelCollection. - - The LevelCollection whose elements should be added to the end of the current LevelCollection. - The new of the LevelCollection. - - - - Adds the elements of a array to the current LevelCollection. - - The array whose elements should be added to the end of the LevelCollection. - The new of the LevelCollection. - - - - Adds the elements of a collection to the current LevelCollection. - - The collection whose elements should be added to the end of the LevelCollection. - The new of the LevelCollection. - - - - Sets the capacity to the actual number of elements. - - - - - is less than zero - -or- - is equal to or greater than . - - - - - is less than zero - -or- - is equal to or greater than . - - - - - Gets the number of elements actually contained in the LevelCollection. - - - - - Gets a value indicating whether access to the collection is synchronized (thread-safe). - - true if access to the ICollection is synchronized (thread-safe); otherwise, false. - - - - Gets an object that can be used to synchronize access to the collection. - - - - - Gets or sets the at the specified index. - - The zero-based index of the element to get or set. - - is less than zero - -or- - is equal to or greater than . - - - - - Gets a value indicating whether the collection has a fixed size. - - true if the collection has a fixed size; otherwise, false. The default is false - - - - Gets a value indicating whether the IList is read-only. - - true if the collection is read-only; otherwise, false. The default is false - - - - Gets or sets the number of elements the LevelCollection can contain. - - - - - Supports type-safe iteration over a . - - - - - Advances the enumerator to the next element in the collection. - - - true if the enumerator was successfully advanced to the next element; - false if the enumerator has passed the end of the collection. - - - The collection was modified after the enumerator was created. - - - - - Sets the enumerator to its initial position, before the first element in the collection. - - - - - Gets the current element in the collection. - - - - - Type visible only to our subclasses - Used to access protected constructor - - - - - A value - - - - - Supports simple iteration over a . - - - - - Initializes a new instance of the Enumerator class. - - - - - - Advances the enumerator to the next element in the collection. - - - true if the enumerator was successfully advanced to the next element; - false if the enumerator has passed the end of the collection. - - - The collection was modified after the enumerator was created. - - - - - Sets the enumerator to its initial position, before the first element in the collection. - - - - - Gets the current element in the collection. - - - - - An evaluator that triggers at a threshold level - - - - This evaluator will trigger if the level of the event - passed to - is equal to or greater than the - level. - - - Nicko Cadell - - - - The threshold for triggering - - - - - Create a new evaluator using the threshold. - - - - Create a new evaluator using the threshold. - - - This evaluator will trigger if the level of the event - passed to - is equal to or greater than the - level. - - - - - - Create a new evaluator using the specified threshold. - - the threshold to trigger at - - - Create a new evaluator using the specified threshold. - - - This evaluator will trigger if the level of the event - passed to - is equal to or greater than the - level. - - - - - - Is this the triggering event? - - The event to check - This method returns true, if the event level - is equal or higher than the . - Otherwise it returns false - - - This evaluator will trigger if the level of the event - passed to - is equal to or greater than the - level. - - - - - - the threshold to trigger at - - - The that will cause this evaluator to trigger - - - - This evaluator will trigger if the level of the event - passed to - is equal to or greater than the - level. - - - - - - Mapping between string name and Level object - - - - Mapping between string name and object. - This mapping is held separately for each . - The level name is case insensitive. - - - Nicko Cadell - - - - Mapping from level name to Level object. The - level name is case insensitive - - - - - Construct the level map - - - - Construct the level map. - - - - - - Clear the internal maps of all levels - - - - Clear the internal maps of all levels - - - - - - Create a new Level and add it to the map - - the string to display for the Level - the level value to give to the Level - - - Create a new Level and add it to the map - - - - - - - Create a new Level and add it to the map - - the string to display for the Level - the level value to give to the Level - the display name to give to the Level - - - Create a new Level and add it to the map - - - - - - Add a Level to the map - - the Level to add - - - Add a Level to the map - - - - - - Lookup a named level from the map - - the name of the level to lookup is taken from this level. - If the level is not set on the map then this level is added - the level in the map with the name specified - - - Lookup a named level from the map. The name of the level to lookup is taken - from the property of the - argument. - - - If no level with the specified name is found then the - argument is added to the level map - and returned. - - - - - - Lookup a by name - - The name of the Level to lookup - a Level from the map with the name specified - - - Returns the from the - map with the name specified. If the no level is - found then null is returned. - - - - - - Return all possible levels as a list of Level objects. - - all possible levels as a list of Level objects - - - Return all possible levels as a list of Level objects. - - - - - - The internal representation of caller location information. - - - - This class uses the System.Diagnostics.StackTrace class to generate - a call stack. The caller's information is then extracted from this stack. - - - The System.Diagnostics.StackTrace class is not supported on the - .NET Compact Framework 1.0 therefore caller location information is not - available on that framework. - - - The System.Diagnostics.StackTrace class has this to say about Release builds: - - - "StackTrace information will be most informative with Debug build configurations. - By default, Debug builds include debug symbols, while Release builds do not. The - debug symbols contain most of the file, method name, line number, and column - information used in constructing StackFrame and StackTrace objects. StackTrace - might not report as many method calls as expected, due to code transformations - that occur during optimization." - - - This means that in a Release build the caller information may be incomplete or may - not exist at all! Therefore caller location information cannot be relied upon in a Release build. - - - Nicko Cadell - Gert Driesen - - - - When location information is not available the constant - NA is returned. Current value of this string - constant is ?. - - - - - Constructor - - The declaring type of the method that is - the stack boundary into the logging system for this call. - - - Initializes a new instance of the - class based on the current thread. - - - - - - Constructor - - The fully qualified class name. - The method name. - The file name. - The line number of the method within the file. - - - Initializes a new instance of the - class with the specified data. - - - - - - Gets the fully qualified class name of the caller making the logging - request. - - - The fully qualified class name of the caller making the logging - request. - - - - Gets the fully qualified class name of the caller making the logging - request. - - - - - - Gets the file name of the caller. - - - The file name of the caller. - - - - Gets the file name of the caller. - - - - - - Gets the line number of the caller. - - - The line number of the caller. - - - - Gets the line number of the caller. - - - - - - Gets the method name of the caller. - - - The method name of the caller. - - - - Gets the method name of the caller. - - - - - - Gets all available caller information - - - All available caller information, in the format - fully.qualified.classname.of.caller.methodName(Filename:line) - - - - Gets all available caller information, in the format - fully.qualified.classname.of.caller.methodName(Filename:line) - - - - - - Static manager that controls the creation of repositories - - - - Static manager that controls the creation of repositories - - - This class is used by the wrapper managers (e.g. ) - to provide access to the objects. - - - This manager also holds the that is used to - lookup and create repositories. The selector can be set either programmatically using - the property, or by setting the log4net.RepositorySelector - AppSetting in the applications config file to the fully qualified type name of the - selector to use. - - - Nicko Cadell - Gert Driesen - - - - Private constructor to prevent instances. Only static methods should be used. - - - - Private constructor to prevent instances. Only static methods should be used. - - - - - - Hook the shutdown event - - - - On the full .NET runtime, the static constructor hooks up the - AppDomain.ProcessExit and AppDomain.DomainUnload> events. - These are used to shutdown the log4net system as the application exits. - - - - - - Register for ProcessExit and DomainUnload events on the AppDomain - - - - This needs to be in a separate method because the events make - a LinkDemand for the ControlAppDomain SecurityPermission. Because - this is a LinkDemand it is demanded at JIT time. Therefore we cannot - catch the exception in the method itself, we have to catch it in the - caller. - - - - - - Return the default instance. - - the repository to lookup in - Return the default instance - - - Gets the for the repository specified - by the argument. - - - - - - Returns the default instance. - - The assembly to use to lookup the repository. - The default instance. - - - - Return the default instance. - - the repository to lookup in - Return the default instance - - - Gets the for the repository specified - by the argument. - - - - - - Returns the default instance. - - The assembly to use to lookup the repository. - The default instance. - - - Returns the default instance. - - - - - - Returns the named logger if it exists. - - The repository to lookup in. - The fully qualified logger name to look for. - - The logger found, or null if the named logger does not exist in the - specified repository. - - - - If the named logger exists (in the specified repository) then it - returns a reference to the logger, otherwise it returns - null. - - - - - - Returns the named logger if it exists. - - The assembly to use to lookup the repository. - The fully qualified logger name to look for. - - The logger found, or null if the named logger does not exist in the - specified assembly's repository. - - - - If the named logger exists (in the specified assembly's repository) then it - returns a reference to the logger, otherwise it returns - null. - - - - - - Returns all the currently defined loggers in the specified repository. - - The repository to lookup in. - All the defined loggers. - - - The root logger is not included in the returned array. - - - - - - Returns all the currently defined loggers in the specified assembly's repository. - - The assembly to use to lookup the repository. - All the defined loggers. - - - The root logger is not included in the returned array. - - - - - - Retrieves or creates a named logger. - - The repository to lookup in. - The name of the logger to retrieve. - The logger with the name specified. - - - Retrieves a logger named as the - parameter. If the named logger already exists, then the - existing instance will be returned. Otherwise, a new instance is - created. - - - By default, loggers do not have a set level but inherit - it from the hierarchy. This is one of the central features of - log4net. - - - - - - Retrieves or creates a named logger. - - The assembly to use to lookup the repository. - The name of the logger to retrieve. - The logger with the name specified. - - - Retrieves a logger named as the - parameter. If the named logger already exists, then the - existing instance will be returned. Otherwise, a new instance is - created. - - - By default, loggers do not have a set level but inherit - it from the hierarchy. This is one of the central features of - log4net. - - - - - - Shorthand for . - - The repository to lookup in. - The of which the fullname will be used as the name of the logger to retrieve. - The logger with the name specified. - - - Gets the logger for the fully qualified name of the type specified. - - - - - - Shorthand for . - - the assembly to use to lookup the repository - The of which the fullname will be used as the name of the logger to retrieve. - The logger with the name specified. - - - Gets the logger for the fully qualified name of the type specified. - - - - - - Shuts down the log4net system. - - - - Calling this method will safely close and remove all - appenders in all the loggers including root contained in all the - default repositories. - - - Some appenders need to be closed before the application exists. - Otherwise, pending logging events might be lost. - - - The shutdown method is careful to close nested - appenders before closing regular appenders. This is allows - configurations where a regular appender is attached to a logger - and again to a nested appender. - - - - - - Shuts down the repository for the repository specified. - - The repository to shutdown. - - - Calling this method will safely close and remove all - appenders in all the loggers including root contained in the - repository for the specified. - - - Some appenders need to be closed before the application exists. - Otherwise, pending logging events might be lost. - - - The shutdown method is careful to close nested - appenders before closing regular appenders. This is allows - configurations where a regular appender is attached to a logger - and again to a nested appender. - - - - - - Shuts down the repository for the repository specified. - - The assembly to use to lookup the repository. - - - Calling this method will safely close and remove all - appenders in all the loggers including root contained in the - repository for the repository. The repository is looked up using - the specified. - - - Some appenders need to be closed before the application exists. - Otherwise, pending logging events might be lost. - - - The shutdown method is careful to close nested - appenders before closing regular appenders. This is allows - configurations where a regular appender is attached to a logger - and again to a nested appender. - - - - - - Resets all values contained in this repository instance to their defaults. - - The repository to reset. - - - Resets all values contained in the repository instance to their - defaults. This removes all appenders from all loggers, sets - the level of all non-root loggers to null, - sets their additivity flag to true and sets the level - of the root logger to . Moreover, - message disabling is set its default "off" value. - - - - - - Resets all values contained in this repository instance to their defaults. - - The assembly to use to lookup the repository to reset. - - - Resets all values contained in the repository instance to their - defaults. This removes all appenders from all loggers, sets - the level of all non-root loggers to null, - sets their additivity flag to true and sets the level - of the root logger to . Moreover, - message disabling is set its default "off" value. - - - - - - Creates a repository with the specified name. - - The name of the repository, this must be unique amongst repositories. - The created for the repository. - - - CreateDomain is obsolete. Use CreateRepository instead of CreateDomain. - - - Creates the default type of which is a - object. - - - The name must be unique. Repositories cannot be redefined. - An will be thrown if the repository already exists. - - - The specified repository already exists. - - - - Creates a repository with the specified name. - - The name of the repository, this must be unique amongst repositories. - The created for the repository. - - - Creates the default type of which is a - object. - - - The name must be unique. Repositories cannot be redefined. - An will be thrown if the repository already exists. - - - The specified repository already exists. - - - - Creates a repository with the specified name and repository type. - - The name of the repository, this must be unique to the repository. - A that implements - and has a no arg constructor. An instance of this type will be created to act - as the for the repository specified. - The created for the repository. - - - CreateDomain is obsolete. Use CreateRepository instead of CreateDomain. - - - The name must be unique. Repositories cannot be redefined. - An Exception will be thrown if the repository already exists. - - - The specified repository already exists. - - - - Creates a repository with the specified name and repository type. - - The name of the repository, this must be unique to the repository. - A that implements - and has a no arg constructor. An instance of this type will be created to act - as the for the repository specified. - The created for the repository. - - - The name must be unique. Repositories cannot be redefined. - An Exception will be thrown if the repository already exists. - - - The specified repository already exists. - - - - Creates a repository for the specified assembly and repository type. - - The assembly to use to get the name of the repository. - A that implements - and has a no arg constructor. An instance of this type will be created to act - as the for the repository specified. - The created for the repository. - - - CreateDomain is obsolete. Use CreateRepository instead of CreateDomain. - - - The created will be associated with the repository - specified such that a call to with the - same assembly specified will return the same repository instance. - - - - - - Creates a repository for the specified assembly and repository type. - - The assembly to use to get the name of the repository. - A that implements - and has a no arg constructor. An instance of this type will be created to act - as the for the repository specified. - The created for the repository. - - - The created will be associated with the repository - specified such that a call to with the - same assembly specified will return the same repository instance. - - - - - - Gets an array of all currently defined repositories. - - An array of all the known objects. - - - Gets an array of all currently defined repositories. - - - - - - Internal method to get pertinent version info. - - A string of version info. - - - - Called when the event fires - - the that is exiting - null - - - Called when the event fires. - - - When the event is triggered the log4net system is . - - - - - - Called when the event fires - - the that is exiting - null - - - Called when the event fires. - - - When the event is triggered the log4net system is . - - - - - - Initialize the default repository selector - - - - - Gets or sets the repository selector used by the . - - - The repository selector used by the . - - - - The repository selector () is used by - the to create and select repositories - (). - - - The caller to supplies either a string name - or an assembly (if not supplied the assembly is inferred using - ). - - - This context is used by the selector to lookup a specific repository. - - - For the full .NET Framework, the default repository is DefaultRepositorySelector; - for the .NET Compact Framework CompactRepositorySelector is the default - repository. - - - - - - Implementation of the interface. - - - - This class should be used as the base for all wrapper implementations. - - - Nicko Cadell - Gert Driesen - - - - Constructs a new wrapper for the specified logger. - - The logger to wrap. - - - Constructs a new wrapper for the specified logger. - - - - - - The logger that this object is wrapping - - - - - Gets the implementation behind this wrapper object. - - - The object that this object is implementing. - - - - The Logger object may not be the same object as this object - because of logger decorators. - - - This gets the actual underlying objects that is used to process - the log events. - - - - - - Portable data structure used by - - - - Portable data structure used by - - - Nicko Cadell - - - - The logger name. - - - - The logger name. - - - - - - Level of logging event. - - - - Level of logging event. Level cannot be Serializable - because it is a flyweight. Due to its special serialization it - cannot be declared final either. - - - - - - The application supplied message. - - - - The application supplied message of logging event. - - - - - - The name of thread - - - - The name of thread in which this logging event was generated - - - - - - The time the event was logged - - - - The TimeStamp is stored in the local time zone for this computer. - - - - - - Location information for the caller. - - - - Location information for the caller. - - - - - - String representation of the user - - - - String representation of the user's windows name, - like DOMAIN\username - - - - - - String representation of the identity. - - - - String representation of the current thread's principal identity. - - - - - - The string representation of the exception - - - - The string representation of the exception - - - - - - String representation of the AppDomain. - - - - String representation of the AppDomain. - - - - - - Additional event specific properties - - - - A logger or an appender may attach additional - properties to specific events. These properties - have a string key and an object value. - - - - - - Flags passed to the property - - - - Flags passed to the property - - - Nicko Cadell - - - - Fix the MDC - - - - - Fix the NDC - - - - - Fix the rendered message - - - - - Fix the thread name - - - - - Fix the callers location information - - - CAUTION: Very slow to generate - - - - - Fix the callers windows user name - - - CAUTION: Slow to generate - - - - - Fix the domain friendly name - - - - - Fix the callers principal name - - - CAUTION: May be slow to generate - - - - - Fix the exception text - - - - - Fix the event properties - - - - - No fields fixed - - - - - All fields fixed - - - - - Partial fields fixed - - - - This set of partial fields gives good performance. The following fields are fixed: - - - - - - - - - - - - - The internal representation of logging events. - - - - When an affirmative decision is made to log then a - instance is created. This instance - is passed around to the different log4net components. - - - This class is of concern to those wishing to extend log4net. - - - Some of the values in instances of - are considered volatile, that is the values are correct at the - time the event is delivered to appenders, but will not be consistent - at any time afterwards. If an event is to be stored and then processed - at a later time these volatile values must be fixed by calling - . There is a performance penalty - for incurred by calling but it - is essential to maintaining data consistency. - - - Nicko Cadell - Gert Driesen - Douglas de la Torre - Daniel Cazzulino - - - - The key into the Properties map for the host name value. - - - - - The key into the Properties map for the thread identity value. - - - - - The key into the Properties map for the user name value. - - - - - Initializes a new instance of the class - from the supplied parameters. - - The declaring type of the method that is - the stack boundary into the logging system for this call. - The repository this event is logged in. - The name of the logger of this event. - The level of this event. - The message of this event. - The exception for this event. - - - Except , and , - all fields of LoggingEvent are filled when actually needed. Call - to cache all data locally - to prevent inconsistencies. - - This method is called by the log4net framework - to create a logging event. - - - - - - Initializes a new instance of the class - using specific data. - - The declaring type of the method that is - the stack boundary into the logging system for this call. - The repository this event is logged in. - Data used to initialize the logging event. - The fields in the struct that have already been fixed. - - - This constructor is provided to allow a - to be created independently of the log4net framework. This can - be useful if you require a custom serialization scheme. - - - Use the method to obtain an - instance of the class. - - - The parameter should be used to specify which fields in the - struct have been preset. Fields not specified in the - will be captured from the environment if requested or fixed. - - - - - - Initializes a new instance of the class - using specific data. - - The declaring type of the method that is - the stack boundary into the logging system for this call. - The repository this event is logged in. - Data used to initialize the logging event. - - - This constructor is provided to allow a - to be created independently of the log4net framework. This can - be useful if you require a custom serialization scheme. - - - Use the method to obtain an - instance of the class. - - - This constructor sets this objects flags to , - this assumes that all the data relating to this event is passed in via the - parameter and no other data should be captured from the environment. - - - - - - Initializes a new instance of the class - using specific data. - - Data used to initialize the logging event. - - - This constructor is provided to allow a - to be created independently of the log4net framework. This can - be useful if you require a custom serialization scheme. - - - Use the method to obtain an - instance of the class. - - - This constructor sets this objects flags to , - this assumes that all the data relating to this event is passed in via the - parameter and no other data should be captured from the environment. - - - - - - Serialization constructor - - The that holds the serialized object data. - The that contains contextual information about the source or destination. - - - Initializes a new instance of the class - with serialized data. - - - - - - Ensure that the repository is set. - - the value for the repository - - - - Write the rendered message to a TextWriter - - the writer to write the message to - - - Unlike the property this method - does store the message data in the internal cache. Therefore - if called only once this method should be faster than the - property, however if the message is - to be accessed multiple times then the property will be more efficient. - - - - - - Serializes this object into the provided. - - The to populate with data. - The destination for this serialization. - - - The data in this event must be fixed before it can be serialized. - - - The method must be called during the - method call if this event - is to be used outside that method. - - - - - - Gets the portable data for this . - - The for this event. - - - A new can be constructed using a - instance. - - - Does a fix of the data - in the logging event before returning the event data. - - - - - - Gets the portable data for this . - - The set of data to ensure is fixed in the LoggingEventData - The for this event. - - - A new can be constructed using a - instance. - - - - - - Returns this event's exception's rendered using the - . - - - This event's exception's rendered using the . - - - - Obsolete. Use instead. - - - - - - Returns this event's exception's rendered using the - . - - - This event's exception's rendered using the . - - - - Returns this event's exception's rendered using the - . - - - - - - Fix instance fields that hold volatile data. - - - - Some of the values in instances of - are considered volatile, that is the values are correct at the - time the event is delivered to appenders, but will not be consistent - at any time afterwards. If an event is to be stored and then processed - at a later time these volatile values must be fixed by calling - . There is a performance penalty - incurred by calling but it - is essential to maintaining data consistency. - - - Calling is equivalent to - calling passing the parameter - false. - - - See for more - information. - - - - - - Fixes instance fields that hold volatile data. - - Set to true to not fix data that takes a long time to fix. - - - Some of the values in instances of - are considered volatile, that is the values are correct at the - time the event is delivered to appenders, but will not be consistent - at any time afterwards. If an event is to be stored and then processed - at a later time these volatile values must be fixed by calling - . There is a performance penalty - for incurred by calling but it - is essential to maintaining data consistency. - - - The param controls the data that - is fixed. Some of the data that can be fixed takes a long time to - generate, therefore if you do not require those settings to be fixed - they can be ignored by setting the param - to true. This setting will ignore the - and settings. - - - Set to false to ensure that all - settings are fixed. - - - - - - Fix the fields specified by the parameter - - the fields to fix - - - Only fields specified in the will be fixed. - Fields will not be fixed if they have previously been fixed. - It is not possible to 'unfix' a field. - - - - - - Lookup a composite property in this event - - the key for the property to lookup - the value for the property - - - This event has composite properties that combine together properties from - several different contexts in the following order: - - - this events properties - - This event has that can be set. These - properties are specific to this event only. - - - - the thread properties - - The that are set on the current - thread. These properties are shared by all events logged on this thread. - - - - the global properties - - The that are set globally. These - properties are shared by all the threads in the AppDomain. - - - - - - - - - Get all the composite properties in this event - - the containing all the properties - - - See for details of the composite properties - stored by the event. - - - This method returns a single containing all the - properties defined for this event. - - - - - - The internal logging event data. - - - - - The internal logging event data. - - - - - The internal logging event data. - - - - - The fully qualified Type of the calling - logger class in the stack frame (i.e. the declaring type of the method). - - - - - The application supplied message of logging event. - - - - - The exception that was thrown. - - - This is not serialized. The string representation - is serialized instead. - - - - - The repository that generated the logging event - - - This is not serialized. - - - - - The fix state for this event - - - These flags indicate which fields have been fixed. - Not serialized. - - - - - Indicated that the internal cache is updateable (ie not fixed) - - - This is a seperate flag to m_fixFlags as it allows incrementel fixing and simpler - changes in the caching strategy. - - - - - Gets the time when the current process started. - - - This is the time when this process started. - - - - The TimeStamp is stored in the local time zone for this computer. - - - Tries to get the start time for the current process. - Failing that it returns the time of the first call to - this property. - - - Note that AppDomains may be loaded and unloaded within the - same process without the process terminating and therefore - without the process start time being reset. - - - - - - Gets the of the logging event. - - - The of the logging event. - - - - Gets the of the logging event. - - - - - - Gets the time of the logging event. - - - The time of the logging event. - - - - The TimeStamp is stored in the local time zone for this computer. - - - - - - Gets the name of the logger that logged the event. - - - The name of the logger that logged the event. - - - - Gets the name of the logger that logged the event. - - - - - - Gets the location information for this logging event. - - - The location information for this logging event. - - - - The collected information is cached for future use. - - - See the class for more information on - supported frameworks and the different behavior in Debug and - Release builds. - - - - - - Gets the message object used to initialize this event. - - - The message object used to initialize this event. - - - - Gets the message object used to initialize this event. - Note that this event may not have a valid message object. - If the event is serialized the message object will not - be transferred. To get the text of the message the - property must be used - not this property. - - - If there is no defined message object for this event then - null will be returned. - - - - - - Gets the exception object used to initialize this event. - - - The exception object used to initialize this event. - - - - Gets the exception object used to initialize this event. - Note that this event may not have a valid exception object. - If the event is serialized the exception object will not - be transferred. To get the text of the exception the - method must be used - not this property. - - - If there is no defined exception object for this event then - null will be returned. - - - - - - The that this event was created in. - - - - The that this event was created in. - - - - - - Gets the message, rendered through the . - - - The message rendered through the . - - - - The collected information is cached for future use. - - - - - - Gets the name of the current thread. - - - The name of the current thread, or the thread ID when - the name is not available. - - - - The collected information is cached for future use. - - - - - - Gets the name of the current user. - - - The name of the current user, or NOT AVAILABLE when the - underlying runtime has no support for retrieving the name of the - current user. - - - - Calls WindowsIdentity.GetCurrent().Name to get the name of - the current windows user. - - - To improve performance, we could cache the string representation of - the name, and reuse that as long as the identity stayed constant. - Once the identity changed, we would need to re-assign and re-render - the string. - - - However, the WindowsIdentity.GetCurrent() call seems to - return different objects every time, so the current implementation - doesn't do this type of caching. - - - Timing for these operations: - - - - Method - Results - - - WindowsIdentity.GetCurrent() - 10000 loops, 00:00:00.2031250 seconds - - - WindowsIdentity.GetCurrent().Name - 10000 loops, 00:00:08.0468750 seconds - - - - This means we could speed things up almost 40 times by caching the - value of the WindowsIdentity.GetCurrent().Name property, since - this takes (8.04-0.20) = 7.84375 seconds. - - - - - - Gets the identity of the current thread principal. - - - The string name of the identity of the current thread principal. - - - - Calls System.Threading.Thread.CurrentPrincipal.Identity.Name to get - the name of the current thread principal. - - - - - - Gets the AppDomain friendly name. - - - The AppDomain friendly name. - - - - Gets the AppDomain friendly name. - - - - - - Additional event specific properties. - - - Additional event specific properties. - - - - A logger or an appender may attach additional - properties to specific events. These properties - have a string key and an object value. - - - This property is for events that have been added directly to - this event. The aggregate properties (which include these - event properties) can be retrieved using - and . - - - Once the properties have been fixed this property - returns the combined cached properties. This ensures that updates to - this property are always reflected in the underlying storage. When - returning the combined properties there may be more keys in the - Dictionary than expected. - - - - - - The fixed fields in this event - - - The set of fields that are fixed in this event - - - - Fields will not be fixed if they have previously been fixed. - It is not possible to 'unfix' a field. - - - - - - Implementation of wrapper interface. - - - - This implementation of the interface - forwards to the held by the base class. - - - This logger has methods to allow the caller to log at the following - levels: - - - - DEBUG - - The and methods log messages - at the DEBUG level. That is the level with that name defined in the - repositories . The default value - for this level is . The - property tests if this level is enabled for logging. - - - - INFO - - The and methods log messages - at the INFO level. That is the level with that name defined in the - repositories . The default value - for this level is . The - property tests if this level is enabled for logging. - - - - WARN - - The and methods log messages - at the WARN level. That is the level with that name defined in the - repositories . The default value - for this level is . The - property tests if this level is enabled for logging. - - - - ERROR - - The and methods log messages - at the ERROR level. That is the level with that name defined in the - repositories . The default value - for this level is . The - property tests if this level is enabled for logging. - - - - FATAL - - The and methods log messages - at the FATAL level. That is the level with that name defined in the - repositories . The default value - for this level is . The - property tests if this level is enabled for logging. - - - - - The values for these levels and their semantic meanings can be changed by - configuring the for the repository. - - - Nicko Cadell - Gert Driesen - - - - The ILog interface is use by application to log messages into - the log4net framework. - - - - Use the to obtain logger instances - that implement this interface. The - static method is used to get logger instances. - - - This class contains methods for logging at different levels and also - has properties for determining if those logging levels are - enabled in the current configuration. - - - This interface can be implemented in different ways. This documentation - specifies reasonable behavior that a caller can expect from the actual - implementation, however different implementations reserve the right to - do things differently. - - - Simple example of logging messages - - ILog log = LogManager.GetLogger("application-log"); - - log.Info("Application Start"); - log.Debug("This is a debug message"); - - if (log.IsDebugEnabled) - { - log.Debug("This is another debug message"); - } - - - - - Nicko Cadell - Gert Driesen - - - Log a message object with the level. - - Log a message object with the level. - - The message object to log. - - - This method first checks if this logger is DEBUG - enabled by comparing the level of this logger with the - level. If this logger is - DEBUG enabled, then it converts the message object - (passed as parameter) to a string by invoking the appropriate - . It then - proceeds to call all the registered appenders in this logger - and also higher in the hierarchy depending on the value of - the additivity flag. - - WARNING Note that passing an - to this method will print the name of the - but no stack trace. To print a stack trace use the - form instead. - - - - - - - - Log a message object with the level including - the stack trace of the passed - as a parameter. - - The message object to log. - The exception to log, including its stack trace. - - - See the form for more detailed information. - - - - - - - Log a formatted string with the level. - - Logs a formatted message string with the level. - - A String containing zero or more format items - An Object array containing zero or more objects to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - - Logs a formatted message string with the level. - - A String containing zero or more format items - An Object to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - - Logs a formatted message string with the level. - - A String containing zero or more format items - An Object to format - An Object to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - - Logs a formatted message string with the level. - - A String containing zero or more format items - An Object to format - An Object to format - An Object to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - - Logs a formatted message string with the level. - - An that supplies culture-specific formatting information - A String containing zero or more format items - An Object array containing zero or more objects to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - Log a message object with the level. - - Logs a message object with the level. - - - - This method first checks if this logger is INFO - enabled by comparing the level of this logger with the - level. If this logger is - INFO enabled, then it converts the message object - (passed as parameter) to a string by invoking the appropriate - . It then - proceeds to call all the registered appenders in this logger - and also higher in the hierarchy depending on the value of the - additivity flag. - - WARNING Note that passing an - to this method will print the name of the - but no stack trace. To print a stack trace use the - form instead. - - - The message object to log. - - - - - - Logs a message object with the INFO level including - the stack trace of the passed - as a parameter. - - The message object to log. - The exception to log, including its stack trace. - - - See the form for more detailed information. - - - - - - - Log a formatted message string with the level. - - Logs a formatted message string with the level. - - A String containing zero or more format items - An Object array containing zero or more objects to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - - Logs a formatted message string with the level. - - A String containing zero or more format items - An Object to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - - Logs a formatted message string with the level. - - A String containing zero or more format items - An Object to format - An Object to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - - Logs a formatted message string with the level. - - A String containing zero or more format items - An Object to format - An Object to format - An Object to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - - Logs a formatted message string with the level. - - An that supplies culture-specific formatting information - A String containing zero or more format items - An Object array containing zero or more objects to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - Log a message object with the level. - - Log a message object with the level. - - - - This method first checks if this logger is WARN - enabled by comparing the level of this logger with the - level. If this logger is - WARN enabled, then it converts the message object - (passed as parameter) to a string by invoking the appropriate - . It then - proceeds to call all the registered appenders in this logger - and also higher in the hierarchy depending on the value of the - additivity flag. - - WARNING Note that passing an - to this method will print the name of the - but no stack trace. To print a stack trace use the - form instead. - - - The message object to log. - - - - - - Log a message object with the level including - the stack trace of the passed - as a parameter. - - The message object to log. - The exception to log, including its stack trace. - - - See the form for more detailed information. - - - - - - - Log a formatted message string with the level. - - Logs a formatted message string with the level. - - A String containing zero or more format items - An Object array containing zero or more objects to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - - Logs a formatted message string with the level. - - A String containing zero or more format items - An Object to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - - Logs a formatted message string with the level. - - A String containing zero or more format items - An Object to format - An Object to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - - Logs a formatted message string with the level. - - A String containing zero or more format items - An Object to format - An Object to format - An Object to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - - Logs a formatted message string with the level. - - An that supplies culture-specific formatting information - A String containing zero or more format items - An Object array containing zero or more objects to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - Log a message object with the level. - - Logs a message object with the level. - - The message object to log. - - - This method first checks if this logger is ERROR - enabled by comparing the level of this logger with the - level. If this logger is - ERROR enabled, then it converts the message object - (passed as parameter) to a string by invoking the appropriate - . It then - proceeds to call all the registered appenders in this logger - and also higher in the hierarchy depending on the value of the - additivity flag. - - WARNING Note that passing an - to this method will print the name of the - but no stack trace. To print a stack trace use the - form instead. - - - - - - - - Log a message object with the level including - the stack trace of the passed - as a parameter. - - The message object to log. - The exception to log, including its stack trace. - - - See the form for more detailed information. - - - - - - - Log a formatted message string with the level. - - Logs a formatted message string with the level. - - A String containing zero or more format items - An Object array containing zero or more objects to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - - Logs a formatted message string with the level. - - A String containing zero or more format items - An Object to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - - Logs a formatted message string with the level. - - A String containing zero or more format items - An Object to format - An Object to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - - Logs a formatted message string with the level. - - A String containing zero or more format items - An Object to format - An Object to format - An Object to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - - Logs a formatted message string with the level. - - An that supplies culture-specific formatting information - A String containing zero or more format items - An Object array containing zero or more objects to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - Log a message object with the level. - - Log a message object with the level. - - - - This method first checks if this logger is FATAL - enabled by comparing the level of this logger with the - level. If this logger is - FATAL enabled, then it converts the message object - (passed as parameter) to a string by invoking the appropriate - . It then - proceeds to call all the registered appenders in this logger - and also higher in the hierarchy depending on the value of the - additivity flag. - - WARNING Note that passing an - to this method will print the name of the - but no stack trace. To print a stack trace use the - form instead. - - - The message object to log. - - - - - - Log a message object with the level including - the stack trace of the passed - as a parameter. - - The message object to log. - The exception to log, including its stack trace. - - - See the form for more detailed information. - - - - - - - Log a formatted message string with the level. - - Logs a formatted message string with the level. - - A String containing zero or more format items - An Object array containing zero or more objects to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - - Logs a formatted message string with the level. - - A String containing zero or more format items - An Object to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - - Logs a formatted message string with the level. - - A String containing zero or more format items - An Object to format - An Object to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - - Logs a formatted message string with the level. - - A String containing zero or more format items - An Object to format - An Object to format - An Object to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - - Logs a formatted message string with the level. - - An that supplies culture-specific formatting information - A String containing zero or more format items - An Object array containing zero or more objects to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - - Checks if this logger is enabled for the level. - - - true if this logger is enabled for events, false otherwise. - - - - This function is intended to lessen the computational cost of - disabled log debug statements. - - For some ILog interface log, when you write: - - log.Debug("This is entry number: " + i ); - - - You incur the cost constructing the message, string construction and concatenation in - this case, regardless of whether the message is logged or not. - - - If you are worried about speed (who isn't), then you should write: - - - if (log.IsDebugEnabled) - { - log.Debug("This is entry number: " + i ); - } - - - This way you will not incur the cost of parameter - construction if debugging is disabled for log. On - the other hand, if the log is debug enabled, you - will incur the cost of evaluating whether the logger is debug - enabled twice. Once in and once in - the . This is an insignificant overhead - since evaluating a logger takes about 1% of the time it - takes to actually log. This is the preferred style of logging. - - Alternatively if your logger is available statically then the is debug - enabled state can be stored in a static variable like this: - - - private static readonly bool isDebugEnabled = log.IsDebugEnabled; - - - Then when you come to log you can write: - - - if (isDebugEnabled) - { - log.Debug("This is entry number: " + i ); - } - - - This way the debug enabled state is only queried once - when the class is loaded. Using a private static readonly - variable is the most efficient because it is a run time constant - and can be heavily optimized by the JIT compiler. - - - Of course if you use a static readonly variable to - hold the enabled state of the logger then you cannot - change the enabled state at runtime to vary the logging - that is produced. You have to decide if you need absolute - speed or runtime flexibility. - - - - - - - - Checks if this logger is enabled for the level. - - - true if this logger is enabled for events, false otherwise. - - - For more information see . - - - - - - - - Checks if this logger is enabled for the level. - - - true if this logger is enabled for events, false otherwise. - - - For more information see . - - - - - - - - Checks if this logger is enabled for the level. - - - true if this logger is enabled for events, false otherwise. - - - For more information see . - - - - - - - - Checks if this logger is enabled for the level. - - - true if this logger is enabled for events, false otherwise. - - - For more information see . - - - - - - - - Construct a new wrapper for the specified logger. - - The logger to wrap. - - - Construct a new wrapper for the specified logger. - - - - - - Virtual method called when the configuration of the repository changes - - the repository holding the levels - - - Virtual method called when the configuration of the repository changes - - - - - - Logs a message object with the DEBUG level. - - The message object to log. - - - This method first checks if this logger is DEBUG - enabled by comparing the level of this logger with the - DEBUG level. If this logger is - DEBUG enabled, then it converts the message object - (passed as parameter) to a string by invoking the appropriate - . It then - proceeds to call all the registered appenders in this logger - and also higher in the hierarchy depending on the value of the - additivity flag. - - - WARNING Note that passing an - to this method will print the name of the - but no stack trace. To print a stack trace use the - form instead. - - - - - - Logs a message object with the DEBUG level - - The message object to log. - The exception to log, including its stack trace. - - - Logs a message object with the DEBUG level including - the stack trace of the passed - as a parameter. - - - See the form for more detailed information. - - - - - - - Logs a formatted message string with the DEBUG level. - - A String containing zero or more format items - An Object array containing zero or more objects to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - The string is formatted using the - format provider. To specify a localized provider use the - method. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Logs a formatted message string with the DEBUG level. - - A String containing zero or more format items - An Object to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - The string is formatted using the - format provider. To specify a localized provider use the - method. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Logs a formatted message string with the DEBUG level. - - A String containing zero or more format items - An Object to format - An Object to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - The string is formatted using the - format provider. To specify a localized provider use the - method. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Logs a formatted message string with the DEBUG level. - - A String containing zero or more format items - An Object to format - An Object to format - An Object to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - The string is formatted using the - format provider. To specify a localized provider use the - method. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Logs a formatted message string with the DEBUG level. - - An that supplies culture-specific formatting information - A String containing zero or more format items - An Object array containing zero or more objects to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Logs a message object with the INFO level. - - The message object to log. - - - This method first checks if this logger is INFO - enabled by comparing the level of this logger with the - INFO level. If this logger is - INFO enabled, then it converts the message object - (passed as parameter) to a string by invoking the appropriate - . It then - proceeds to call all the registered appenders in this logger - and also higher in the hierarchy depending on the value of - the additivity flag. - - - WARNING Note that passing an - to this method will print the name of the - but no stack trace. To print a stack trace use the - form instead. - - - - - - Logs a message object with the INFO level. - - The message object to log. - The exception to log, including its stack trace. - - - Logs a message object with the INFO level including - the stack trace of the - passed as a parameter. - - - See the form for more detailed information. - - - - - - - Logs a formatted message string with the INFO level. - - A String containing zero or more format items - An Object array containing zero or more objects to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - The string is formatted using the - format provider. To specify a localized provider use the - method. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Logs a formatted message string with the INFO level. - - A String containing zero or more format items - An Object to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - The string is formatted using the - format provider. To specify a localized provider use the - method. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Logs a formatted message string with the INFO level. - - A String containing zero or more format items - An Object to format - An Object to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - The string is formatted using the - format provider. To specify a localized provider use the - method. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Logs a formatted message string with the INFO level. - - A String containing zero or more format items - An Object to format - An Object to format - An Object to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - The string is formatted using the - format provider. To specify a localized provider use the - method. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Logs a formatted message string with the INFO level. - - An that supplies culture-specific formatting information - A String containing zero or more format items - An Object array containing zero or more objects to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Logs a message object with the WARN level. - - the message object to log - - - This method first checks if this logger is WARN - enabled by comparing the level of this logger with the - WARN level. If this logger is - WARN enabled, then it converts the message object - (passed as parameter) to a string by invoking the appropriate - . It then - proceeds to call all the registered appenders in this logger and - also higher in the hierarchy depending on the value of the - additivity flag. - - - WARNING Note that passing an to this - method will print the name of the but no - stack trace. To print a stack trace use the - form instead. - - - - - - Logs a message object with the WARN level - - The message object to log. - The exception to log, including its stack trace. - - - Logs a message object with the WARN level including - the stack trace of the - passed as a parameter. - - - See the form for more detailed information. - - - - - - - Logs a formatted message string with the WARN level. - - A String containing zero or more format items - An Object array containing zero or more objects to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - The string is formatted using the - format provider. To specify a localized provider use the - method. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Logs a formatted message string with the WARN level. - - A String containing zero or more format items - An Object to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - The string is formatted using the - format provider. To specify a localized provider use the - method. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Logs a formatted message string with the WARN level. - - A String containing zero or more format items - An Object to format - An Object to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - The string is formatted using the - format provider. To specify a localized provider use the - method. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Logs a formatted message string with the WARN level. - - A String containing zero or more format items - An Object to format - An Object to format - An Object to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - The string is formatted using the - format provider. To specify a localized provider use the - method. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Logs a formatted message string with the WARN level. - - An that supplies culture-specific formatting information - A String containing zero or more format items - An Object array containing zero or more objects to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Logs a message object with the ERROR level. - - The message object to log. - - - This method first checks if this logger is ERROR - enabled by comparing the level of this logger with the - ERROR level. If this logger is - ERROR enabled, then it converts the message object - (passed as parameter) to a string by invoking the appropriate - . It then - proceeds to call all the registered appenders in this logger and - also higher in the hierarchy depending on the value of the - additivity flag. - - - WARNING Note that passing an to this - method will print the name of the but no - stack trace. To print a stack trace use the - form instead. - - - - - - Logs a message object with the ERROR level - - The message object to log. - The exception to log, including its stack trace. - - - Logs a message object with the ERROR level including - the stack trace of the - passed as a parameter. - - - See the form for more detailed information. - - - - - - - Logs a formatted message string with the ERROR level. - - A String containing zero or more format items - An Object array containing zero or more objects to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - The string is formatted using the - format provider. To specify a localized provider use the - method. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Logs a formatted message string with the ERROR level. - - A String containing zero or more format items - An Object to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - The string is formatted using the - format provider. To specify a localized provider use the - method. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Logs a formatted message string with the ERROR level. - - A String containing zero or more format items - An Object to format - An Object to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - The string is formatted using the - format provider. To specify a localized provider use the - method. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Logs a formatted message string with the ERROR level. - - A String containing zero or more format items - An Object to format - An Object to format - An Object to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - The string is formatted using the - format provider. To specify a localized provider use the - method. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Logs a formatted message string with the ERROR level. - - An that supplies culture-specific formatting information - A String containing zero or more format items - An Object array containing zero or more objects to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Logs a message object with the FATAL level. - - The message object to log. - - - This method first checks if this logger is FATAL - enabled by comparing the level of this logger with the - FATAL level. If this logger is - FATAL enabled, then it converts the message object - (passed as parameter) to a string by invoking the appropriate - . It then - proceeds to call all the registered appenders in this logger and - also higher in the hierarchy depending on the value of the - additivity flag. - - - WARNING Note that passing an to this - method will print the name of the but no - stack trace. To print a stack trace use the - form instead. - - - - - - Logs a message object with the FATAL level - - The message object to log. - The exception to log, including its stack trace. - - - Logs a message object with the FATAL level including - the stack trace of the - passed as a parameter. - - - See the form for more detailed information. - - - - - - - Logs a formatted message string with the FATAL level. - - A String containing zero or more format items - An Object array containing zero or more objects to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - The string is formatted using the - format provider. To specify a localized provider use the - method. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Logs a formatted message string with the FATAL level. - - A String containing zero or more format items - An Object to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - The string is formatted using the - format provider. To specify a localized provider use the - method. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Logs a formatted message string with the FATAL level. - - A String containing zero or more format items - An Object to format - An Object to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - The string is formatted using the - format provider. To specify a localized provider use the - method. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Logs a formatted message string with the FATAL level. - - A String containing zero or more format items - An Object to format - An Object to format - An Object to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - The string is formatted using the - format provider. To specify a localized provider use the - method. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Logs a formatted message string with the FATAL level. - - An that supplies culture-specific formatting information - A String containing zero or more format items - An Object array containing zero or more objects to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Event handler for the event - - the repository - Empty - - - - The fully qualified name of this declaring type not the type of any subclass. - - - - - Checks if this logger is enabled for the DEBUG - level. - - - true if this logger is enabled for DEBUG events, - false otherwise. - - - - This function is intended to lessen the computational cost of - disabled log debug statements. - - - For some log Logger object, when you write: - - - log.Debug("This is entry number: " + i ); - - - You incur the cost constructing the message, concatenation in - this case, regardless of whether the message is logged or not. - - - If you are worried about speed, then you should write: - - - if (log.IsDebugEnabled()) - { - log.Debug("This is entry number: " + i ); - } - - - This way you will not incur the cost of parameter - construction if debugging is disabled for log. On - the other hand, if the log is debug enabled, you - will incur the cost of evaluating whether the logger is debug - enabled twice. Once in IsDebugEnabled and once in - the Debug. This is an insignificant overhead - since evaluating a logger takes about 1% of the time it - takes to actually log. - - - - - - Checks if this logger is enabled for the INFO level. - - - true if this logger is enabled for INFO events, - false otherwise. - - - - See for more information and examples - of using this method. - - - - - - - Checks if this logger is enabled for the WARN level. - - - true if this logger is enabled for WARN events, - false otherwise. - - - - See for more information and examples - of using this method. - - - - - - - Checks if this logger is enabled for the ERROR level. - - - true if this logger is enabled for ERROR events, - false otherwise. - - - - See for more information and examples of using this method. - - - - - - - Checks if this logger is enabled for the FATAL level. - - - true if this logger is enabled for FATAL events, - false otherwise. - - - - See for more information and examples of using this method. - - - - - - - A SecurityContext used by log4net when interacting with protected resources - - - - A SecurityContext used by log4net when interacting with protected resources - for example with operating system services. This can be used to impersonate - a principal that has been granted privileges on the system resources. - - - Nicko Cadell - - - - Impersonate this SecurityContext - - State supplied by the caller - An instance that will - revoke the impersonation of this SecurityContext, or null - - - Impersonate this security context. Further calls on the current - thread should now be made in the security context provided - by this object. When the result - method is called the security - context of the thread should be reverted to the state it was in - before was called. - - - - - - The providers default instances. - - - - A configured component that interacts with potentially protected system - resources uses a to provide the elevated - privileges required. If the object has - been not been explicitly provided to the component then the component - will request one from this . - - - By default the is - an instance of which returns only - objects. This is a reasonable default - where the privileges required are not know by the system. - - - This default behavior can be overridden by subclassing the - and overriding the method to return - the desired objects. The default provider - can be replaced by programmatically setting the value of the - property. - - - An alternative is to use the log4net.Config.SecurityContextProviderAttribute - This attribute can be applied to an assembly in the same way as the - log4net.Config.XmlConfiguratorAttribute". The attribute takes - the type to use as the as an argument. - - - Nicko Cadell - - - - The default provider - - - - - Protected default constructor to allow subclassing - - - - Protected default constructor to allow subclassing - - - - - - Create a SecurityContext for a consumer - - The consumer requesting the SecurityContext - An impersonation context - - - The default implementation is to return a . - - - Subclasses should override this method to provide their own - behavior. - - - - - - Gets or sets the default SecurityContextProvider - - - The default SecurityContextProvider - - - - The default provider is used by configured components that - require a and have not had one - given to them. - - - By default this is an instance of - that returns objects. - - - The default provider can be set programmatically by setting - the value of this property to a sub class of - that has the desired behavior. - - - - - - Delegate used to handle creation of new wrappers. - - The logger to wrap in a wrapper. - - - Delegate used to handle creation of new wrappers. This delegate - is called from the - method to construct the wrapper for the specified logger. - - - The delegate to use is supplied to the - constructor. - - - - - - Maps between logger objects and wrapper objects. - - - - This class maintains a mapping between objects and - objects. Use the method to - lookup the for the specified . - - - New wrapper instances are created by the - method. The default behavior is for this method to delegate construction - of the wrapper to the delegate supplied - to the constructor. This allows specialization of the behavior without - requiring subclassing of this type. - - - Nicko Cadell - Gert Driesen - - - - Initializes a new instance of the - - The handler to use to create the wrapper objects. - - - Initializes a new instance of the class with - the specified handler to create the wrapper objects. - - - - - - Gets the wrapper object for the specified logger. - - The wrapper object for the specified logger - - - If the logger is null then the corresponding wrapper is null. - - - Looks up the wrapper it it has previously been requested and - returns it. If the wrapper has never been requested before then - the virtual method is - called. - - - - - - Creates the wrapper object for the specified logger. - - The logger to wrap in a wrapper. - The wrapper object for the logger. - - - This implementation uses the - passed to the constructor to create the wrapper. This method - can be overridden in a subclass. - - - - - - Called when a monitored repository shutdown event is received. - - The that is shutting down - - - This method is called when a that this - is holding loggers for has signaled its shutdown - event . The default - behavior of this method is to release the references to the loggers - and their wrappers generated for this repository. - - - - - - Event handler for repository shutdown event. - - The sender of the event. - The event args. - - - - Map of logger repositories to hashtables of ILogger to ILoggerWrapper mappings - - - - - The handler to use to create the extension wrapper objects. - - - - - Internal reference to the delegate used to register for repository shutdown events. - - - - - Gets the map of logger repositories. - - - Map of logger repositories. - - - - Gets the hashtable that is keyed on . The - values are hashtables keyed on with the - value being the corresponding . - - - - - - Formats a as "HH:mm:ss,fff". - - - - Formats a in the format "HH:mm:ss,fff" for example, "15:49:37,459". - - - Nicko Cadell - Gert Driesen - - - - Render a as a string. - - - - Interface to abstract the rendering of a - instance into a string. - - - The method is used to render the - date to a text writer. - - - Nicko Cadell - Gert Driesen - - - - Formats the specified date as a string. - - The date to format. - The writer to write to. - - - Format the as a string and write it - to the provided. - - - - - - String constant used to specify AbsoluteTimeDateFormat in layouts. Current value is ABSOLUTE. - - - - - String constant used to specify DateTimeDateFormat in layouts. Current value is DATE. - - - - - String constant used to specify ISO8601DateFormat in layouts. Current value is ISO8601. - - - - - Renders the date into a string. Format is "HH:mm:ss". - - The date to render into a string. - The string builder to write to. - - - Subclasses should override this method to render the date - into a string using a precision up to the second. This method - will be called at most once per second and the result will be - reused if it is needed again during the same second. - - - - - - Renders the date into a string. Format is "HH:mm:ss,fff". - - The date to render into a string. - The writer to write to. - - - Uses the method to generate the - time string up to the seconds and then appends the current - milliseconds. The results from are - cached and is called at most once - per second. - - - Sub classes should override - rather than . - - - - - - Last stored time with precision up to the second. - - - - - Last stored time with precision up to the second, formatted - as a string. - - - - - Last stored time with precision up to the second, formatted - as a string. - - - - - Formats a as "dd MMM yyyy HH:mm:ss,fff" - - - - Formats a in the format - "dd MMM yyyy HH:mm:ss,fff" for example, - "06 Nov 1994 15:49:37,459". - - - Nicko Cadell - Gert Driesen - Angelika Schnagl - - - - Default constructor. - - - - Initializes a new instance of the class. - - - - - - Formats the date without the milliseconds part - - The date to format. - The string builder to write to. - - - Formats a DateTime in the format "dd MMM yyyy HH:mm:ss" - for example, "06 Nov 1994 15:49:37". - - - The base class will append the ",fff" milliseconds section. - This method will only be called at most once per second. - - - - - - The format info for the invariant culture. - - - - - Formats the as "yyyy-MM-dd HH:mm:ss,fff". - - - - Formats the specified as a string: "yyyy-MM-dd HH:mm:ss,fff". - - - Nicko Cadell - Gert Driesen - - - - Default constructor - - - - Initializes a new instance of the class. - - - - - - Formats the date without the milliseconds part - - The date to format. - The string builder to write to. - - - Formats the date specified as a string: "yyyy-MM-dd HH:mm:ss". - - - The base class will append the ",fff" milliseconds section. - This method will only be called at most once per second. - - - - - - Formats the using the method. - - - - Formats the using the method. - - - Nicko Cadell - Gert Driesen - - - - Constructor - - The format string. - - - Initializes a new instance of the class - with the specified format string. - - - The format string must be compatible with the options - that can be supplied to . - - - - - - Formats the date using . - - The date to convert to a string. - The writer to write to. - - - Uses the date format string supplied to the constructor to call - the method to format the date. - - - - - - The format string used to format the . - - - - The format string must be compatible with the options - that can be supplied to . - - - - - - This filter drops all . - - - - You can add this filter to the end of a filter chain to - switch from the default "accept all unless instructed otherwise" - filtering behavior to a "deny all unless instructed otherwise" - behavior. - - - Nicko Cadell - Gert Driesen - - - - Subclass this type to implement customized logging event filtering - - - - Users should extend this class to implement customized logging - event filtering. Note that and - , the parent class of all standard - appenders, have built-in filtering rules. It is suggested that you - first use and understand the built-in rules before rushing to write - your own custom filters. - - - This abstract class assumes and also imposes that filters be - organized in a linear chain. The - method of each filter is called sequentially, in the order of their - addition to the chain. - - - The method must return one - of the integer constants , - or . - - - If the value is returned, then the log event is dropped - immediately without consulting with the remaining filters. - - - If the value is returned, then the next filter - in the chain is consulted. If there are no more filters in the - chain, then the log event is logged. Thus, in the presence of no - filters, the default behavior is to log all logging events. - - - If the value is returned, then the log - event is logged without consulting the remaining filters. - - - The philosophy of log4net filters is largely inspired from the - Linux ipchains. - - - Nicko Cadell - Gert Driesen - - - - Implement this interface to provide customized logging event filtering - - - - Users should implement this interface to implement customized logging - event filtering. Note that and - , the parent class of all standard - appenders, have built-in filtering rules. It is suggested that you - first use and understand the built-in rules before rushing to write - your own custom filters. - - - This abstract class assumes and also imposes that filters be - organized in a linear chain. The - method of each filter is called sequentially, in the order of their - addition to the chain. - - - The method must return one - of the integer constants , - or . - - - If the value is returned, then the log event is dropped - immediately without consulting with the remaining filters. - - - If the value is returned, then the next filter - in the chain is consulted. If there are no more filters in the - chain, then the log event is logged. Thus, in the presence of no - filters, the default behavior is to log all logging events. - - - If the value is returned, then the log - event is logged without consulting the remaining filters. - - - The philosophy of log4net filters is largely inspired from the - Linux ipchains. - - - Nicko Cadell - Gert Driesen - - - - Decide if the logging event should be logged through an appender. - - The LoggingEvent to decide upon - The decision of the filter - - - If the decision is , then the event will be - dropped. If the decision is , then the next - filter, if any, will be invoked. If the decision is then - the event will be logged without consulting with other filters in - the chain. - - - - - - Property to get and set the next filter - - - The next filter in the chain - - - - Filters are typically composed into chains. This property allows the next filter in - the chain to be accessed. - - - - - - Points to the next filter in the filter chain. - - - - See for more information. - - - - - - Initialize the filter with the options set - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - Typically filter's options become active immediately on set, - however this method must still be called. - - - - - - Decide if the should be logged through an appender. - - The to decide upon - The decision of the filter - - - If the decision is , then the event will be - dropped. If the decision is , then the next - filter, if any, will be invoked. If the decision is then - the event will be logged without consulting with other filters in - the chain. - - - This method is marked abstract and must be implemented - in a subclass. - - - - - - Property to get and set the next filter - - - The next filter in the chain - - - - Filters are typically composed into chains. This property allows the next filter in - the chain to be accessed. - - - - - - Default constructor - - - - - Always returns the integer constant - - the LoggingEvent to filter - Always returns - - - Ignores the event being logged and just returns - . This can be used to change the default filter - chain behavior from to . This filter - should only be used as the last filter in the chain - as any further filters will be ignored! - - - - - - The return result from - - - - The return result from - - - - - - The log event must be dropped immediately without - consulting with the remaining filters, if any, in the chain. - - - - - This filter is neutral with respect to the log event. - The remaining filters, if any, should be consulted for a final decision. - - - - - The log event must be logged immediately without - consulting with the remaining filters, if any, in the chain. - - - - - This is a very simple filter based on matching. - - - - The filter admits two options and - . If there is an exact match between the value - of the option and the of the - , then the method returns in - case the option value is set - to true, if it is false then - is returned. If the does not match then - the result will be . - - - Nicko Cadell - Gert Driesen - - - - flag to indicate if the filter should on a match - - - - - the to match against - - - - - Default constructor - - - - - Tests if the of the logging event matches that of the filter - - the event to filter - see remarks - - - If the of the event matches the level of the - filter then the result of the function depends on the - value of . If it is true then - the function will return , it it is false then it - will return . If the does not match then - the result will be . - - - - - - when matching - - - - The property is a flag that determines - the behavior when a matching is found. If the - flag is set to true then the filter will the - logging event, otherwise it will the event. - - - The default is true i.e. to the event. - - - - - - The that the filter will match - - - - The level that this filter will attempt to match against the - level. If a match is found then - the result depends on the value of . - - - - - - This is a simple filter based on matching. - - - - The filter admits three options and - that determine the range of priorities that are matched, and - . If there is a match between the range - of priorities and the of the , then the - method returns in case the - option value is set to true, if it is false - then is returned. If there is no match, is returned. - - - Nicko Cadell - Gert Driesen - - - - Flag to indicate the behavior when matching a - - - - - the minimum value to match - - - - - the maximum value to match - - - - - Default constructor - - - - - Check if the event should be logged. - - the logging event to check - see remarks - - - If the of the logging event is outside the range - matched by this filter then - is returned. If the is matched then the value of - is checked. If it is true then - is returned, otherwise - is returned. - - - - - - when matching and - - - - The property is a flag that determines - the behavior when a matching is found. If the - flag is set to true then the filter will the - logging event, otherwise it will the event. - - - The default is true i.e. to the event. - - - - - - Set the minimum matched - - - - The minimum level that this filter will attempt to match against the - level. If a match is found then - the result depends on the value of . - - - - - - Sets the maximum matched - - - - The maximum level that this filter will attempt to match against the - level. If a match is found then - the result depends on the value of . - - - - - - Simple filter to match a string in the event's logger name. - - - - The works very similar to the . It admits two - options and . If the - of the starts - with the value of the option, then the - method returns in - case the option value is set to true, - if it is false then is returned. - - - Daniel Cazzulino - - - - Flag to indicate the behavior when we have a match - - - - - The logger name string to substring match against the event - - - - - Default constructor - - - - - Check if this filter should allow the event to be logged - - the event being logged - see remarks - - - The rendered message is matched against the . - If the equals the beginning of - the incoming () - then a match will have occurred. If no match occurs - this function will return - allowing other filters to check the event. If a match occurs then - the value of is checked. If it is - true then is returned otherwise - is returned. - - - - - - when matching - - - - The property is a flag that determines - the behavior when a matching is found. If the - flag is set to true then the filter will the - logging event, otherwise it will the event. - - - The default is true i.e. to the event. - - - - - - The that the filter will match - - - - This filter will attempt to match this value against logger name in - the following way. The match will be done against the beginning of the - logger name (using ). The match is - case sensitive. If a match is found then - the result depends on the value of . - - - - - - Simple filter to match a keyed string in the - - - - Simple filter to match a keyed string in the - - - As the MDC has been replaced with layered properties the - should be used instead. - - - Nicko Cadell - Gert Driesen - - - - Simple filter to match a string an event property - - - - Simple filter to match a string in the value for a - specific event property - - - Nicko Cadell - - - - Simple filter to match a string in the rendered message - - - - Simple filter to match a string in the rendered message - - - Nicko Cadell - Gert Driesen - - - - Flag to indicate the behavior when we have a match - - - - - The string to substring match against the message - - - - - A string regex to match - - - - - A regex object to match (generated from m_stringRegexToMatch) - - - - - Default constructor - - - - - Initialize and precompile the Regex if required - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - - - - Check if this filter should allow the event to be logged - - the event being logged - see remarks - - - The rendered message is matched against the . - If the occurs as a substring within - the message then a match will have occurred. If no match occurs - this function will return - allowing other filters to check the event. If a match occurs then - the value of is checked. If it is - true then is returned otherwise - is returned. - - - - - - when matching or - - - - The property is a flag that determines - the behavior when a matching is found. If the - flag is set to true then the filter will the - logging event, otherwise it will the event. - - - The default is true i.e. to the event. - - - - - - Sets the static string to match - - - - The string that will be substring matched against - the rendered message. If the message contains this - string then the filter will match. If a match is found then - the result depends on the value of . - - - One of or - must be specified. - - - - - - Sets the regular expression to match - - - - The regular expression pattern that will be matched against - the rendered message. If the message matches this - pattern then the filter will match. If a match is found then - the result depends on the value of . - - - One of or - must be specified. - - - - - - The key to use to lookup the string from the event properties - - - - - Default constructor - - - - - Check if this filter should allow the event to be logged - - the event being logged - see remarks - - - The event property for the is matched against - the . - If the occurs as a substring within - the property value then a match will have occurred. If no match occurs - this function will return - allowing other filters to check the event. If a match occurs then - the value of is checked. If it is - true then is returned otherwise - is returned. - - - - - - The key to lookup in the event properties and then match against. - - - - The key name to use to lookup in the properties map of the - . The match will be performed against - the value of this property if it exists. - - - - - - Simple filter to match a string in the - - - - Simple filter to match a string in the - - - As the MDC has been replaced with named stacks stored in the - properties collections the should - be used instead. - - - Nicko Cadell - Gert Driesen - - - - Default constructor - - - - Sets the to "NDC". - - - - - - Write the event appdomain name to the output - - - - Writes the to the output writer. - - - Daniel Cazzulino - Nicko Cadell - - - - Abstract class that provides the formatting functionality that - derived classes need. - - - Conversion specifiers in a conversion patterns are parsed to - individual PatternConverters. Each of which is responsible for - converting a logging event in a converter specific manner. - - Nicko Cadell - - - - Abstract class that provides the formatting functionality that - derived classes need. - - - - Conversion specifiers in a conversion patterns are parsed to - individual PatternConverters. Each of which is responsible for - converting a logging event in a converter specific manner. - - - Nicko Cadell - Gert Driesen - - - - Initial buffer size - - - - - Maximum buffer size before it is recycled - - - - - Protected constructor - - - - Initializes a new instance of the class. - - - - - - Evaluate this pattern converter and write the output to a writer. - - that will receive the formatted result. - The state object on which the pattern converter should be executed. - - - Derived pattern converters must override this method in order to - convert conversion specifiers in the appropriate way. - - - - - - Set the next pattern converter in the chains - - the pattern converter that should follow this converter in the chain - the next converter - - - The PatternConverter can merge with its neighbor during this method (or a sub class). - Therefore the return value may or may not be the value of the argument passed in. - - - - - - Write the pattern converter to the writer with appropriate formatting - - that will receive the formatted result. - The state object on which the pattern converter should be executed. - - - This method calls to allow the subclass to perform - appropriate conversion of the pattern converter. If formatting options have - been specified via the then this method will - apply those formattings before writing the output. - - - - - - Fast space padding method. - - to which the spaces will be appended. - The number of spaces to be padded. - - - Fast space padding method. - - - - - - The option string to the converter - - - - - Write an dictionary to a - - the writer to write to - a to use for object conversion - the value to write to the writer - - - Writes the to a writer in the form: - - - {key1=value1, key2=value2, key3=value3} - - - If the specified - is not null then it is used to render the key and value to text, otherwise - the object's ToString method is called. - - - - - - Write an object to a - - the writer to write to - a to use for object conversion - the value to write to the writer - - - Writes the Object to a writer. If the specified - is not null then it is used to render the object to text, otherwise - the object's ToString method is called. - - - - - - Get the next pattern converter in the chain - - - the next pattern converter in the chain - - - - Get the next pattern converter in the chain - - - - - - Gets or sets the formatting info for this converter - - - The formatting info for this converter - - - - Gets or sets the formatting info for this converter - - - - - - Gets or sets the option value for this converter - - - The option for this converter - - - - Gets or sets the option value for this converter - - - - - - Initializes a new instance of the class. - - - - - Derived pattern converters must override this method in order to - convert conversion specifiers in the correct way. - - that will receive the formatted result. - The on which the pattern converter should be executed. - - - - Derived pattern converters must override this method in order to - convert conversion specifiers in the correct way. - - that will receive the formatted result. - The state object on which the pattern converter should be executed. - - - - Flag indicating if this converter handles exceptions - - - false if this converter handles exceptions - - - - - Flag indicating if this converter handles the logging event exception - - false if this converter handles the logging event exception - - - If this converter handles the exception object contained within - , then this property should be set to - false. Otherwise, if the layout ignores the exception - object, then the property should be set to true. - - - Set this value to override a this default setting. The default - value is true, this converter does not handle the exception. - - - - - - Write the event appdomain name to the output - - that will receive the formatted result. - the event being logged - - - Writes the to the output . - - - - - - Date pattern converter, uses a to format - the date of a . - - - - Render the to the writer as a string. - - - The value of the determines - the formatting of the date. The following values are allowed: - - - Option value - Output - - - ISO8601 - - Uses the formatter. - Formats using the "yyyy-MM-dd HH:mm:ss,fff" pattern. - - - - DATE - - Uses the formatter. - Formats using the "dd MMM yyyy HH:mm:ss,fff" for example, "06 Nov 1994 15:49:37,459". - - - - ABSOLUTE - - Uses the formatter. - Formats using the "HH:mm:ss,yyyy" for example, "15:49:37,459". - - - - other - - Any other pattern string uses the formatter. - This formatter passes the pattern string to the - method. - For details on valid patterns see - DateTimeFormatInfo Class. - - - - - - The is in the local time zone and is rendered in that zone. - To output the time in Universal time see . - - - Nicko Cadell - - - - The used to render the date to a string - - - - The used to render the date to a string - - - - - - Initialize the converter pattern based on the property. - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - - - - Convert the pattern into the rendered message - - that will receive the formatted result. - the event being logged - - - Pass the to the - for it to render it to the writer. - - - The passed is in the local time zone. - - - - - - Write the exception text to the output - - - - If an exception object is stored in the logging event - it will be rendered into the pattern output with a - trailing newline. - - - If there is no exception then nothing will be output - and no trailing newline will be appended. - It is typical to put a newline before the exception - and to have the exception as the last data in the pattern. - - - Nicko Cadell - - - - Default constructor - - - - - Write the exception text to the output - - that will receive the formatted result. - the event being logged - - - If an exception object is stored in the logging event - it will be rendered into the pattern output with a - trailing newline. - - - If there is no exception then nothing will be output - and no trailing newline will be appended. - It is typical to put a newline before the exception - and to have the exception as the last data in the pattern. - - - - - - Writes the caller location file name to the output - - - - Writes the value of the for - the event to the output writer. - - - Nicko Cadell - - - - Write the caller location file name to the output - - that will receive the formatted result. - the event being logged - - - Writes the value of the for - the to the output . - - - - - - Write the caller location info to the output - - - - Writes the to the output writer. - - - Nicko Cadell - - - - Write the caller location info to the output - - that will receive the formatted result. - the event being logged - - - Writes the to the output writer. - - - - - - Writes the event identity to the output - - - - Writes the value of the to - the output writer. - - - Daniel Cazzulino - Nicko Cadell - - - - Writes the event identity to the output - - that will receive the formatted result. - the event being logged - - - Writes the value of the - to - the output . - - - - - - Write the event level to the output - - - - Writes the display name of the event - to the writer. - - - Nicko Cadell - - - - Write the event level to the output - - that will receive the formatted result. - the event being logged - - - Writes the of the - to the . - - - - - - Write the caller location line number to the output - - - - Writes the value of the for - the event to the output writer. - - - Nicko Cadell - - - - Write the caller location line number to the output - - that will receive the formatted result. - the event being logged - - - Writes the value of the for - the to the output . - - - - - - Converter for logger name - - - - Outputs the of the event. - - - Nicko Cadell - - - - Converter to output and truncate '.' separated strings - - - - This abstract class supports truncating a '.' separated string - to show a specified number of elements from the right hand side. - This is used to truncate class names that are fully qualified. - - - Subclasses should override the method to - return the fully qualified string. - - - Nicko Cadell - - - - Initialize the converter - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - - - - Get the fully qualified string data - - the event being logged - the fully qualified name - - - Overridden by subclasses to get the fully qualified name before the - precision is applied to it. - - - Return the fully qualified '.' (dot/period) separated string. - - - - - - Convert the pattern to the rendered message - - that will receive the formatted result. - the event being logged - - Render the to the precision - specified by the property. - - - - - Gets the fully qualified name of the logger - - the event being logged - The fully qualified logger name - - - Returns the of the . - - - - - - Writes the event message to the output - - - - Uses the method - to write out the event message. - - - Nicko Cadell - - - - Writes the event message to the output - - that will receive the formatted result. - the event being logged - - - Uses the method - to write out the event message. - - - - - - Write the method name to the output - - - - Writes the caller location to - the output. - - - Nicko Cadell - - - - Write the method name to the output - - that will receive the formatted result. - the event being logged - - - Writes the caller location to - the output. - - - - - - Converter to include event NDC - - - - Outputs the value of the event property named NDC. - - - The should be used instead. - - - Nicko Cadell - - - - Write the event NDC to the output - - that will receive the formatted result. - the event being logged - - - As the thread context stacks are now stored in named event properties - this converter simply looks up the value of the NDC property. - - - The should be used instead. - - - - - - Property pattern converter - - - - Writes out the value of a named property. The property name - should be set in the - property. - - - If the is set to null - then all the properties are written as key value pairs. - - - Nicko Cadell - - - - Write the property value to the output - - that will receive the formatted result. - the event being logged - - - Writes out the value of a named property. The property name - should be set in the - property. - - - If the is set to null - then all the properties are written as key value pairs. - - - - - - Converter to output the relative time of the event - - - - Converter to output the time of the event relative to the start of the program. - - - Nicko Cadell - - - - Write the relative time to the output - - that will receive the formatted result. - the event being logged - - - Writes out the relative time of the event in milliseconds. - That is the number of milliseconds between the event - and the . - - - - - - Helper method to get the time difference between two DateTime objects - - start time (in the current local time zone) - end time (in the current local time zone) - the time difference in milliseconds - - - - Converter to include event thread name - - - - Writes the to the output. - - - Nicko Cadell - - - - Write the ThreadName to the output - - that will receive the formatted result. - the event being logged - - - Writes the to the . - - - - - - Pattern converter for the class name - - - - Outputs the of the event. - - - Nicko Cadell - - - - Gets the fully qualified name of the class - - the event being logged - The fully qualified type name for the caller location - - - Returns the of the . - - - - - - Converter to include event user name - - Douglas de la Torre - Nicko Cadell - - - - Convert the pattern to the rendered message - - that will receive the formatted result. - the event being logged - - - - Write the TimeStamp to the output - - - - Date pattern converter, uses a to format - the date of a . - - - Uses a to format the - in Universal time. - - - See the for details on the date pattern syntax. - - - - Nicko Cadell - - - - Write the TimeStamp to the output - - that will receive the formatted result. - the event being logged - - - Pass the to the - for it to render it to the writer. - - - The passed is in the local time zone, this is converted - to Universal time before it is rendered. - - - - - - - A Layout that renders only the Exception text from the logging event - - - - A Layout that renders only the Exception text from the logging event. - - - This Layout should only be used with appenders that utilize multiple - layouts (e.g. ). - - - Nicko Cadell - Gert Driesen - - - - Extend this abstract class to create your own log layout format. - - - - This is the base implementation of the - interface. Most layout objects should extend this class. - - - - - - Subclasses must implement the - method. - - - Subclasses should set the in their default - constructor. - - - - Nicko Cadell - Gert Driesen - - - - Interface implemented by layout objects - - - - An object is used to format a - as text. The method is called by an - appender to transform the into a string. - - - The layout can also supply and - text that is appender before any events and after all the events respectively. - - - Nicko Cadell - Gert Driesen - - - - Implement this method to create your own layout format. - - The TextWriter to write the formatted event to - The event to format - - - This method is called by an appender to format - the as text and output to a writer. - - - If the caller does not have a and prefers the - event to be formatted as a then the following - code can be used to format the event into a . - - - StringWriter writer = new StringWriter(); - Layout.Format(writer, loggingEvent); - string formattedEvent = writer.ToString(); - - - - - - The content type output by this layout. - - The content type - - - The content type output by this layout. - - - This is a MIME type e.g. "text/plain". - - - - - - The header for the layout format. - - the layout header - - - The Header text will be appended before any logging events - are formatted and appended. - - - - - - The footer for the layout format. - - the layout footer - - - The Footer text will be appended after all the logging events - have been formatted and appended. - - - - - - Flag indicating if this layout handle exceptions - - false if this layout handles exceptions - - - If this layout handles the exception object contained within - , then the layout should return - false. Otherwise, if the layout ignores the exception - object, then the layout should return true. - - - - - - The header text - - - - See for more information. - - - - - - The footer text - - - - See for more information. - - - - - - Flag indicating if this layout handles exceptions - - - - false if this layout handles exceptions - - - - - - Empty default constructor - - - - Empty default constructor - - - - - - Activate component options - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - This method must be implemented by the subclass. - - - - - - Implement this method to create your own layout format. - - The TextWriter to write the formatted event to - The event to format - - - This method is called by an appender to format - the as text. - - - - - - The content type output by this layout. - - The content type is "text/plain" - - - The content type output by this layout. - - - This base class uses the value "text/plain". - To change this value a subclass must override this - property. - - - - - - The header for the layout format. - - the layout header - - - The Header text will be appended before any logging events - are formatted and appended. - - - - - - The footer for the layout format. - - the layout footer - - - The Footer text will be appended after all the logging events - have been formatted and appended. - - - - - - Flag indicating if this layout handles exceptions - - false if this layout handles exceptions - - - If this layout handles the exception object contained within - , then the layout should return - false. Otherwise, if the layout ignores the exception - object, then the layout should return true. - - - Set this value to override a this default setting. The default - value is true, this layout does not handle the exception. - - - - - - Default constructor - - - - Constructs a ExceptionLayout - - - - - - Activate component options - - - - Part of the component activation - framework. - - - This method does nothing as options become effective immediately. - - - - - - Gets the exception text from the logging event - - The TextWriter to write the formatted event to - the event being logged - - - Write the exception string to the . - The exception string is retrieved from . - - - - - - Interface for raw layout objects - - - - Interface used to format a - to an object. - - - This interface should not be confused with the - interface. This interface is used in - only certain specialized situations where a raw object is - required rather than a formatted string. The - is not generally useful than this interface. - - - Nicko Cadell - Gert Driesen - - - - Implement this method to create your own layout format. - - The event to format - returns the formatted event - - - Implement this method to create your own layout format. - - - - - - Adapts any to a - - - - Where an is required this adapter - allows a to be specified. - - - Nicko Cadell - Gert Driesen - - - - The layout to adapt - - - - - Construct a new adapter - - the layout to adapt - - - Create the adapter for the specified . - - - - - - Format the logging event as an object. - - The event to format - returns the formatted event - - - Format the logging event as an object. - - - Uses the object supplied to - the constructor to perform the formatting. - - - - - - A flexible layout configurable with pattern string. - - - - The goal of this class is to a - as a string. The results - depend on the conversion pattern. - - - The conversion pattern is closely related to the conversion - pattern of the printf function in C. A conversion pattern is - composed of literal text and format control expressions called - conversion specifiers. - - - You are free to insert any literal text within the conversion - pattern. - - - Each conversion specifier starts with a percent sign (%) and is - followed by optional format modifiers and a conversion - pattern name. The conversion pattern name specifies the type of - data, e.g. logger, level, date, thread name. The format - modifiers control such things as field width, padding, left and - right justification. The following is a simple example. - - - Let the conversion pattern be "%-5level [%thread]: %message%newline" and assume - that the log4net environment was set to use a PatternLayout. Then the - statements - - - ILog log = LogManager.GetLogger(typeof(TestApp)); - log.Debug("Message 1"); - log.Warn("Message 2"); - - would yield the output - - DEBUG [main]: Message 1 - WARN [main]: Message 2 - - - Note that there is no explicit separator between text and - conversion specifiers. The pattern parser knows when it has reached - the end of a conversion specifier when it reads a conversion - character. In the example above the conversion specifier - %-5level means the level of the logging event should be left - justified to a width of five characters. - - - The recognized conversion pattern names are: - - - - Conversion Pattern Name - Effect - - - a - Equivalent to appdomain - - - appdomain - - Used to output the friendly name of the AppDomain where the - logging event was generated. - - - - c - Equivalent to logger - - - C - Equivalent to type - - - class - Equivalent to type - - - d - Equivalent to date - - - date - - - Used to output the date of the logging event in the local time zone. - To output the date in universal time use the %utcdate pattern. - The date conversion - specifier may be followed by a date format specifier enclosed - between braces. For example, %date{HH:mm:ss,fff} or - %date{dd MMM yyyy HH:mm:ss,fff}. If no date format specifier is - given then ISO8601 format is - assumed (). - - - The date format specifier admits the same syntax as the - time pattern string of the . - - - For better results it is recommended to use the log4net date - formatters. These can be specified using one of the strings - "ABSOLUTE", "DATE" and "ISO8601" for specifying - , - and respectively - . For example, - %date{ISO8601} or %date{ABSOLUTE}. - - - These dedicated date formatters perform significantly - better than . - - - - - exception - - - Used to output the exception passed in with the log message. - - - If an exception object is stored in the logging event - it will be rendered into the pattern output with a - trailing newline. - If there is no exception then nothing will be output - and no trailing newline will be appended. - It is typical to put a newline before the exception - and to have the exception as the last data in the pattern. - - - - - F - Equivalent to file - - - file - - - Used to output the file name where the logging request was - issued. - - - WARNING Generating caller location information is - extremely slow. Its use should be avoided unless execution speed - is not an issue. - - - See the note below on the availability of caller location information. - - - - - identity - - - Used to output the user name for the currently active user - (Principal.Identity.Name). - - - WARNING Generating caller information is - extremely slow. Its use should be avoided unless execution speed - is not an issue. - - - - - l - Equivalent to location - - - L - Equivalent to line - - - location - - - Used to output location information of the caller which generated - the logging event. - - - The location information depends on the CLI implementation but - usually consists of the fully qualified name of the calling - method followed by the callers source the file name and line - number between parentheses. - - - The location information can be very useful. However, its - generation is extremely slow. Its use should be avoided - unless execution speed is not an issue. - - - See the note below on the availability of caller location information. - - - - - level - - - Used to output the level of the logging event. - - - - - line - - - Used to output the line number from where the logging request - was issued. - - - WARNING Generating caller location information is - extremely slow. Its use should be avoided unless execution speed - is not an issue. - - - See the note below on the availability of caller location information. - - - - - logger - - - Used to output the logger of the logging event. The - logger conversion specifier can be optionally followed by - precision specifier, that is a decimal constant in - brackets. - - - If a precision specifier is given, then only the corresponding - number of right most components of the logger name will be - printed. By default the logger name is printed in full. - - - For example, for the logger name "a.b.c" the pattern - %logger{2} will output "b.c". - - - - - m - Equivalent to message - - - M - Equivalent to method - - - message - - - Used to output the application supplied message associated with - the logging event. - - - - - mdc - - - The MDC (old name for the ThreadContext.Properties) is now part of the - combined event properties. This pattern is supported for compatibility - but is equivalent to property. - - - - - method - - - Used to output the method name where the logging request was - issued. - - - WARNING Generating caller location information is - extremely slow. Its use should be avoided unless execution speed - is not an issue. - - - See the note below on the availability of caller location information. - - - - - n - Equivalent to newline - - - newline - - - Outputs the platform dependent line separator character or - characters. - - - This conversion pattern offers the same performance as using - non-portable line separator strings such as "\n", or "\r\n". - Thus, it is the preferred way of specifying a line separator. - - - - - ndc - - - Used to output the NDC (nested diagnostic context) associated - with the thread that generated the logging event. - - - - - p - Equivalent to level - - - P - Equivalent to property - - - properties - Equivalent to property - - - property - - - Used to output the an event specific property. The key to - lookup must be specified within braces and directly following the - pattern specifier, e.g. %property{user} would include the value - from the property that is keyed by the string 'user'. Each property value - that is to be included in the log must be specified separately. - Properties are added to events by loggers or appenders. By default - the log4net:HostName property is set to the name of machine on - which the event was originally logged. - - - If no key is specified, e.g. %property then all the keys and their - values are printed in a comma separated list. - - - The properties of an event are combined from a number of different - contexts. These are listed below in the order in which they are searched. - - - - the event properties - - The event has that can be set. These - properties are specific to this event only. - - - - the thread properties - - The that are set on the current - thread. These properties are shared by all events logged on this thread. - - - - the global properties - - The that are set globally. These - properties are shared by all the threads in the AppDomain. - - - - - - - - r - Equivalent to timestamp - - - t - Equivalent to thread - - - timestamp - - - Used to output the number of milliseconds elapsed since the start - of the application until the creation of the logging event. - - - - - thread - - - Used to output the name of the thread that generated the - logging event. Uses the thread number if no name is available. - - - - - type - - - Used to output the fully qualified type name of the caller - issuing the logging request. This conversion specifier - can be optionally followed by precision specifier, that - is a decimal constant in brackets. - - - If a precision specifier is given, then only the corresponding - number of right most components of the class name will be - printed. By default the class name is output in fully qualified form. - - - For example, for the class name "log4net.Layout.PatternLayout", the - pattern %type{1} will output "PatternLayout". - - - WARNING Generating the caller class information is - slow. Thus, its use should be avoided unless execution speed is - not an issue. - - - See the note below on the availability of caller location information. - - - - - u - Equivalent to identity - - - username - - - Used to output the WindowsIdentity for the currently - active user. - - - WARNING Generating caller WindowsIdentity information is - extremely slow. Its use should be avoided unless execution speed - is not an issue. - - - - - utcdate - - - Used to output the date of the logging event in universal time. - The date conversion - specifier may be followed by a date format specifier enclosed - between braces. For example, %utcdate{HH:mm:ss,fff} or - %utcdate{dd MMM yyyy HH:mm:ss,fff}. If no date format specifier is - given then ISO8601 format is - assumed (). - - - The date format specifier admits the same syntax as the - time pattern string of the . - - - For better results it is recommended to use the log4net date - formatters. These can be specified using one of the strings - "ABSOLUTE", "DATE" and "ISO8601" for specifying - , - and respectively - . For example, - %utcdate{ISO8601} or %utcdate{ABSOLUTE}. - - - These dedicated date formatters perform significantly - better than . - - - - - w - Equivalent to username - - - x - Equivalent to ndc - - - X - Equivalent to mdc - - - % - - - The sequence %% outputs a single percent sign. - - - - - - The single letter patterns are deprecated in favor of the - longer more descriptive pattern names. - - - By default the relevant information is output as is. However, - with the aid of format modifiers it is possible to change the - minimum field width, the maximum field width and justification. - - - The optional format modifier is placed between the percent sign - and the conversion pattern name. - - - The first optional format modifier is the left justification - flag which is just the minus (-) character. Then comes the - optional minimum field width modifier. This is a decimal - constant that represents the minimum number of characters to - output. If the data item requires fewer characters, it is padded on - either the left or the right until the minimum width is - reached. The default is to pad on the left (right justify) but you - can specify right padding with the left justification flag. The - padding character is space. If the data item is larger than the - minimum field width, the field is expanded to accommodate the - data. The value is never truncated. - - - This behavior can be changed using the maximum field - width modifier which is designated by a period followed by a - decimal constant. If the data item is longer than the maximum - field, then the extra characters are removed from the - beginning of the data item and not from the end. For - example, it the maximum field width is eight and the data item is - ten characters long, then the first two characters of the data item - are dropped. This behavior deviates from the printf function in C - where truncation is done from the end. - - - Below are various format modifier examples for the logger - conversion specifier. - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Format modifierleft justifyminimum widthmaximum widthcomment
%20loggerfalse20none - - Left pad with spaces if the logger name is less than 20 - characters long. - -
%-20loggertrue20none - - Right pad with spaces if the logger - name is less than 20 characters long. - -
%.30loggerNAnone30 - - Truncate from the beginning if the logger - name is longer than 30 characters. - -
%20.30loggerfalse2030 - - Left pad with spaces if the logger name is shorter than 20 - characters. However, if logger name is longer than 30 characters, - then truncate from the beginning. - -
%-20.30loggertrue2030 - - Right pad with spaces if the logger name is shorter than 20 - characters. However, if logger name is longer than 30 characters, - then truncate from the beginning. - -
-
- - Note about caller location information.
- The following patterns %type %file %line %method %location %class %C %F %L %l %M - all generate caller location information. - Location information uses the System.Diagnostics.StackTrace class to generate - a call stack. The caller's information is then extracted from this stack. -
- - - The System.Diagnostics.StackTrace class is not supported on the - .NET Compact Framework 1.0 therefore caller location information is not - available on that framework. - - - - - The System.Diagnostics.StackTrace class has this to say about Release builds: - - - "StackTrace information will be most informative with Debug build configurations. - By default, Debug builds include debug symbols, while Release builds do not. The - debug symbols contain most of the file, method name, line number, and column - information used in constructing StackFrame and StackTrace objects. StackTrace - might not report as many method calls as expected, due to code transformations - that occur during optimization." - - - This means that in a Release build the caller information may be incomplete or may - not exist at all! Therefore caller location information cannot be relied upon in a Release build. - - - - Additional pattern converters may be registered with a specific - instance using the method. - -
- - This is a more detailed pattern. - %timestamp [%thread] %level %logger %ndc - %message%newline - - - A similar pattern except that the relative time is - right padded if less than 6 digits, thread name is right padded if - less than 15 characters and truncated if longer and the logger - name is left padded if shorter than 30 characters and truncated if - longer. - %-6timestamp [%15.15thread] %-5level %30.30logger %ndc - %message%newline - - Nicko Cadell - Gert Driesen - Douglas de la Torre - Daniel Cazzulino -
- - - Default pattern string for log output. - - - - Default pattern string for log output. - Currently set to the string "%message%newline" - which just prints the application supplied message. - - - - - - A detailed conversion pattern - - - - A conversion pattern which includes Time, Thread, Logger, and Nested Context. - Current value is %timestamp [%thread] %level %logger %ndc - %message%newline. - - - - - - Internal map of converter identifiers to converter types. - - - - This static map is overridden by the m_converterRegistry instance map - - - - - - the pattern - - - - - the head of the pattern converter chain - - - - - patterns defined on this PatternLayout only - - - - - Initialize the global registry - - - - Defines the builtin global rules. - - - - - - Constructs a PatternLayout using the DefaultConversionPattern - - - - The default pattern just produces the application supplied message. - - - Note to Inheritors: This constructor calls the virtual method - . If you override this method be - aware that it will be called before your is called constructor. - - - As per the contract the - method must be called after the properties on this object have been - configured. - - - - - - Constructs a PatternLayout using the supplied conversion pattern - - the pattern to use - - - Note to Inheritors: This constructor calls the virtual method - . If you override this method be - aware that it will be called before your is called constructor. - - - When using this constructor the method - need not be called. This may not be the case when using a subclass. - - - - - - Create the pattern parser instance - - the pattern to parse - The that will format the event - - - Creates the used to parse the conversion string. Sets the - global and instance rules on the . - - - - - - Initialize layout options - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - - - - Produces a formatted string as specified by the conversion pattern. - - the event being logged - The TextWriter to write the formatted event to - - - Parse the using the patter format - specified in the property. - - - - - - Add a converter to this PatternLayout - - the converter info - - - This version of the method is used by the configurator. - Programmatic users should use the alternative method. - - - - - - Add a converter to this PatternLayout - - the name of the conversion pattern for this converter - the type of the converter - - - Add a named pattern converter to this instance. This - converter will be used in the formatting of the event. - This method must be called before . - - - The specified must extend the - type. - - - - - - The pattern formatting string - - - - The ConversionPattern option. This is the string which - controls formatting and consists of a mix of literal content and - conversion specifiers. - - - - - - Wrapper class used to map converter names to converter types - - - - Pattern converter info class used during configuration to - pass to the - method. - - - - - - default constructor - - - - - Gets or sets the name of the conversion pattern - - - - The name of the pattern in the format string - - - - - - Gets or sets the type of the converter - - - - The value specified must extend the - type. - - - - - - Type converter for the interface - - - - Used to convert objects to the interface. - Supports converting from the interface to - the interface using the . - - - Nicko Cadell - Gert Driesen - - - - Interface supported by type converters - - - - This interface supports conversion from arbitrary types - to a single target type. See . - - - Nicko Cadell - Gert Driesen - - - - Can the source type be converted to the type supported by this object - - the type to convert - true if the conversion is possible - - - Test if the can be converted to the - type supported by this converter. - - - - - - Convert the source object to the type supported by this object - - the object to convert - the converted object - - - Converts the to the type supported - by this converter. - - - - - - Can the sourceType be converted to an - - the source to be to be converted - true if the source type can be converted to - - - Test if the can be converted to a - . Only is supported - as the . - - - - - - Convert the value to a object - - the value to convert - the object - - - Convert the object to a - object. If the object - is a then the - is used to adapt between the two interfaces, otherwise an - exception is thrown. - - - - - - Extract the value of a property from the - - - - Extract the value of a property from the - - - Nicko Cadell - - - - Constructs a RawPropertyLayout - - - - - Lookup the property for - - The event to format - returns property value - - - Looks up and returns the object value of the property - named . If there is no property defined - with than name then null will be returned. - - - - - - The name of the value to lookup in the LoggingEvent Properties collection. - - - Value to lookup in the LoggingEvent Properties collection - - - - String name of the property to lookup in the . - - - - - - Extract the date from the - - - - Extract the date from the - - - Nicko Cadell - Gert Driesen - - - - Constructs a RawTimeStampLayout - - - - - Gets the as a . - - The event to format - returns the time stamp - - - Gets the as a . - - - The time stamp is in local time. To format the time stamp - in universal time use . - - - - - - Extract the date from the - - - - Extract the date from the - - - Nicko Cadell - Gert Driesen - - - - Constructs a RawUtcTimeStampLayout - - - - - Gets the as a . - - The event to format - returns the time stamp - - - Gets the as a . - - - The time stamp is in universal time. To format the time stamp - in local time use . - - - - - - A very simple layout - - - - SimpleLayout consists of the level of the log statement, - followed by " - " and then the log message itself. For example, - - DEBUG - Hello world - - - - Nicko Cadell - Gert Driesen - - - - Constructs a SimpleLayout - - - - - Initialize layout options - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - - - - Produces a simple formatted output. - - the event being logged - The TextWriter to write the formatted event to - - - Formats the event as the level of the even, - followed by " - " and then the log message itself. The - output is terminated by a newline. - - - - - - Layout that formats the log events as XML elements. - - - - The output of the consists of a series of - log4net:event elements. It does not output a complete well-formed XML - file. The output is designed to be included as an external entity - in a separate file to form a correct XML file. - - - For example, if abc is the name of the file where - the output goes, then a well-formed XML file would - be: - - - <?xml version="1.0" ?> - - <!DOCTYPE log4net:events SYSTEM "log4net-events.dtd" [<!ENTITY data SYSTEM "abc">]> - - <log4net:events version="1.2" xmlns:log4net="http://logging.apache.org/log4net/schemas/log4net-events-1.2> - &data; - </log4net:events> - - - This approach enforces the independence of the - and the appender where it is embedded. - - - The version attribute helps components to correctly - interpret output generated by . The value of - this attribute should be "1.2" for release 1.2 and later. - - - Alternatively the Header and Footer properties can be - configured to output the correct XML header, open tag and close tag. - When setting the Header and Footer properties it is essential - that the underlying data store not be appendable otherwise the data - will become invalid XML. - - - Nicko Cadell - Gert Driesen - - - - Layout that formats the log events as XML elements. - - - - This is an abstract class that must be subclassed by an implementation - to conform to a specific schema. - - - Deriving classes must implement the method. - - - Nicko Cadell - Gert Driesen - - - - Protected constructor to support subclasses - - - - Initializes a new instance of the class - with no location info. - - - - - - Protected constructor to support subclasses - - - - The parameter determines whether - location information will be output by the layout. If - is set to true, then the - file name and line number of the statement at the origin of the log - statement will be output. - - - If you are embedding this layout within an SMTPAppender - then make sure to set the LocationInfo option of that - appender as well. - - - - - - Initialize layout options - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - - - - Produces a formatted string. - - The event being logged. - The TextWriter to write the formatted event to - - - Format the and write it to the . - - - This method creates an that writes to the - . The is passed - to the method. Subclasses should override the - method rather than this method. - - - - - - Does the actual writing of the XML. - - The writer to use to output the event to. - The event to write. - - - Subclasses should override this method to format - the as XML. - - - - - - Flag to indicate if location information should be included in - the XML events. - - - - - Writer adapter that ignores Close - - - - - The string to replace invalid chars with - - - - - Gets a value indicating whether to include location information in - the XML events. - - - true if location information should be included in the XML - events; otherwise, false. - - - - If is set to true, then the file - name and line number of the statement at the origin of the log - statement will be output. - - - If you are embedding this layout within an SMTPAppender - then make sure to set the LocationInfo option of that - appender as well. - - - - - - The string to replace characters that can not be expressed in XML with. - - - Not all characters may be expressed in XML. This property contains the - string to replace those that can not with. This defaults to a ?. Set it - to the empty string to simply remove offending characters. For more - details on the allowed character ranges see http://www.w3.org/TR/REC-xml/#charsets - Character replacement will occur in the log message, the property names - and the property values. - - - - - - - Gets the content type output by this layout. - - - As this is the XML layout, the value is always "text/xml". - - - - As this is the XML layout, the value is always "text/xml". - - - - - - Constructs an XmlLayout - - - - - Constructs an XmlLayout. - - - - The LocationInfo option takes a boolean value. By - default, it is set to false which means there will be no location - information output by this layout. If the the option is set to - true, then the file name and line number of the statement - at the origin of the log statement will be output. - - - If you are embedding this layout within an SmtpAppender - then make sure to set the LocationInfo option of that - appender as well. - - - - - - Initialize layout options - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - Builds a cache of the element names - - - - - - Does the actual writing of the XML. - - The writer to use to output the event to. - The event to write. - - - Override the base class method - to write the to the . - - - - - - The prefix to use for all generated element names - - - - - The prefix to use for all element names - - - - The default prefix is log4net. Set this property - to change the prefix. If the prefix is set to an empty string - then no prefix will be written. - - - - - - Set whether or not to base64 encode the message. - - - - By default the log message will be written as text to the xml - output. This can cause problems when the message contains binary - data. By setting this to true the contents of the message will be - base64 encoded. If this is set then invalid character replacement - (see ) will not be performed - on the log message. - - - - - - Set whether or not to base64 encode the property values. - - - - By default the properties will be written as text to the xml - output. This can cause problems when one or more properties contain - binary data. By setting this to true the values of the properties - will be base64 encoded. If this is set then invalid character replacement - (see ) will not be performed - on the property values. - - - - - - Layout that formats the log events as XML elements compatible with the log4j schema - - - - Formats the log events according to the http://logging.apache.org/log4j schema. - - - Nicko Cadell - - - - The 1st of January 1970 in UTC - - - - - Constructs an XMLLayoutSchemaLog4j - - - - - Constructs an XMLLayoutSchemaLog4j. - - - - The LocationInfo option takes a boolean value. By - default, it is set to false which means there will be no location - information output by this layout. If the the option is set to - true, then the file name and line number of the statement - at the origin of the log statement will be output. - - - If you are embedding this layout within an SMTPAppender - then make sure to set the LocationInfo option of that - appender as well. - - - - - - Actually do the writing of the xml - - the writer to use - the event to write - - - Generate XML that is compatible with the log4j schema. - - - - - - The version of the log4j schema to use. - - - - Only version 1.2 of the log4j schema is supported. - - - - - - The default object Renderer. - - - - The default renderer supports rendering objects and collections to strings. - - - See the method for details of the output. - - - Nicko Cadell - Gert Driesen - - - - Implement this interface in order to render objects as strings - - - - Certain types require special case conversion to - string form. This conversion is done by an object renderer. - Object renderers implement the - interface. - - - Nicko Cadell - Gert Driesen - - - - Render the object to a string - - The map used to lookup renderers - The object to render - The writer to render to - - - Render the object to a - string. - - - The parameter is - provided to lookup and render other objects. This is - very useful where contains - nested objects of unknown type. The - method can be used to render these objects. - - - - - - Default constructor - - - - Default constructor - - - - - - Render the object to a string - - The map used to lookup renderers - The object to render - The writer to render to - - - Render the object to a string. - - - The parameter is - provided to lookup and render other objects. This is - very useful where contains - nested objects of unknown type. The - method can be used to render these objects. - - - The default renderer supports rendering objects to strings as follows: - - - - Value - Rendered String - - - null - - "(null)" - - - - - - - For a one dimensional array this is the - array type name, an open brace, followed by a comma - separated list of the elements (using the appropriate - renderer), followed by a close brace. - - - For example: int[] {1, 2, 3}. - - - If the array is not one dimensional the - Array.ToString() is returned. - - - - - , & - - - Rendered as an open brace, followed by a comma - separated list of the elements (using the appropriate - renderer), followed by a close brace. - - - For example: {a, b, c}. - - - All collection classes that implement its subclasses, - or generic equivalents all implement the interface. - - - - - - - - Rendered as the key, an equals sign ('='), and the value (using the appropriate - renderer). - - - For example: key=value. - - - - - other - - Object.ToString() - - - - - - - - Render the array argument into a string - - The map used to lookup renderers - the array to render - The writer to render to - - - For a one dimensional array this is the - array type name, an open brace, followed by a comma - separated list of the elements (using the appropriate - renderer), followed by a close brace. For example: - int[] {1, 2, 3}. - - - If the array is not one dimensional the - Array.ToString() is returned. - - - - - - Render the enumerator argument into a string - - The map used to lookup renderers - the enumerator to render - The writer to render to - - - Rendered as an open brace, followed by a comma - separated list of the elements (using the appropriate - renderer), followed by a close brace. For example: - {a, b, c}. - - - - - - Render the DictionaryEntry argument into a string - - The map used to lookup renderers - the DictionaryEntry to render - The writer to render to - - - Render the key, an equals sign ('='), and the value (using the appropriate - renderer). For example: key=value. - - - - - - Map class objects to an . - - - - Maintains a mapping between types that require special - rendering and the that - is used to render them. - - - The method is used to render an - object using the appropriate renderers defined in this map. - - - Nicko Cadell - Gert Driesen - - - - Default Constructor - - - - Default constructor. - - - - - - Render using the appropriate renderer. - - the object to render to a string - the object rendered as a string - - - This is a convenience method used to render an object to a string. - The alternative method - should be used when streaming output to a . - - - - - - Render using the appropriate renderer. - - the object to render to a string - The writer to render to - - - Find the appropriate renderer for the type of the - parameter. This is accomplished by calling the - method. Once a renderer is found, it is - applied on the object and the result is returned - as a . - - - - - - Gets the renderer for the specified object type - - the object to lookup the renderer for - the renderer for - - - Gets the renderer for the specified object type. - - - Syntactic sugar method that calls - with the type of the object parameter. - - - - - - Gets the renderer for the specified type - - the type to lookup the renderer for - the renderer for the specified type - - - Returns the renderer for the specified type. - If no specific renderer has been defined the - will be returned. - - - - - - Internal function to recursively search interfaces - - the type to lookup the renderer for - the renderer for the specified type - - - - Clear the map of renderers - - - - Clear the custom renderers defined by using - . The - cannot be removed. - - - - - - Register an for . - - the type that will be rendered by - the renderer for - - - Register an object renderer for a specific source type. - This renderer will be returned from a call to - specifying the same as an argument. - - - - - - Get the default renderer instance - - the default renderer - - - Get the default renderer - - - - - - Interface implemented by logger repository plugins. - - - - Plugins define additional behavior that can be associated - with a . - The held by the - property is used to store the plugins for a repository. - - - The log4net.Config.PluginAttribute can be used to - attach plugins to repositories created using configuration - attributes. - - - Nicko Cadell - Gert Driesen - - - - Attaches the plugin to the specified . - - The that this plugin should be attached to. - - - A plugin may only be attached to a single repository. - - - This method is called when the plugin is attached to the repository. - - - - - - Is called when the plugin is to shutdown. - - - - This method is called to notify the plugin that - it should stop operating and should detach from - the repository. - - - - - - Gets the name of the plugin. - - - The name of the plugin. - - - - Plugins are stored in the - keyed by name. Each plugin instance attached to a - repository must be a unique name. - - - - - - A strongly-typed collection of objects. - - Nicko Cadell - - - - Creates a read-only wrapper for a PluginCollection instance. - - list to create a readonly wrapper arround - - A PluginCollection wrapper that is read-only. - - - - - Initializes a new instance of the PluginCollection class - that is empty and has the default initial capacity. - - - - - Initializes a new instance of the PluginCollection class - that has the specified initial capacity. - - - The number of elements that the new PluginCollection is initially capable of storing. - - - - - Initializes a new instance of the PluginCollection class - that contains elements copied from the specified PluginCollection. - - The PluginCollection whose elements are copied to the new collection. - - - - Initializes a new instance of the PluginCollection class - that contains elements copied from the specified array. - - The array whose elements are copied to the new list. - - - - Initializes a new instance of the PluginCollection class - that contains elements copied from the specified collection. - - The collection whose elements are copied to the new list. - - - - Allow subclasses to avoid our default constructors - - - - - - - Copies the entire PluginCollection to a one-dimensional - array. - - The one-dimensional array to copy to. - - - - Copies the entire PluginCollection to a one-dimensional - array, starting at the specified index of the target array. - - The one-dimensional array to copy to. - The zero-based index in at which copying begins. - - - - Adds a to the end of the PluginCollection. - - The to be added to the end of the PluginCollection. - The index at which the value has been added. - - - - Removes all elements from the PluginCollection. - - - - - Creates a shallow copy of the . - - A new with a shallow copy of the collection data. - - - - Determines whether a given is in the PluginCollection. - - The to check for. - true if is found in the PluginCollection; otherwise, false. - - - - Returns the zero-based index of the first occurrence of a - in the PluginCollection. - - The to locate in the PluginCollection. - - The zero-based index of the first occurrence of - in the entire PluginCollection, if found; otherwise, -1. - - - - - Inserts an element into the PluginCollection at the specified index. - - The zero-based index at which should be inserted. - The to insert. - - is less than zero - -or- - is equal to or greater than . - - - - - Removes the first occurrence of a specific from the PluginCollection. - - The to remove from the PluginCollection. - - The specified was not found in the PluginCollection. - - - - - Removes the element at the specified index of the PluginCollection. - - The zero-based index of the element to remove. - - is less than zero. - -or- - is equal to or greater than . - - - - - Returns an enumerator that can iterate through the PluginCollection. - - An for the entire PluginCollection. - - - - Adds the elements of another PluginCollection to the current PluginCollection. - - The PluginCollection whose elements should be added to the end of the current PluginCollection. - The new of the PluginCollection. - - - - Adds the elements of a array to the current PluginCollection. - - The array whose elements should be added to the end of the PluginCollection. - The new of the PluginCollection. - - - - Adds the elements of a collection to the current PluginCollection. - - The collection whose elements should be added to the end of the PluginCollection. - The new of the PluginCollection. - - - - Sets the capacity to the actual number of elements. - - - - - is less than zero. - -or- - is equal to or greater than . - - - - - is less than zero. - -or- - is equal to or greater than . - - - - - Gets the number of elements actually contained in the PluginCollection. - - - - - Gets a value indicating whether access to the collection is synchronized (thread-safe). - - true if access to the ICollection is synchronized (thread-safe); otherwise, false. - - - - Gets an object that can be used to synchronize access to the collection. - - - An object that can be used to synchronize access to the collection. - - - - - Gets or sets the at the specified index. - - - The at the specified index. - - The zero-based index of the element to get or set. - - is less than zero. - -or- - is equal to or greater than . - - - - - Gets a value indicating whether the collection has a fixed size. - - true if the collection has a fixed size; otherwise, false. The default is false. - - - - Gets a value indicating whether the IList is read-only. - - true if the collection is read-only; otherwise, false. The default is false. - - - - Gets or sets the number of elements the PluginCollection can contain. - - - The number of elements the PluginCollection can contain. - - - - - Supports type-safe iteration over a . - - - - - - Advances the enumerator to the next element in the collection. - - - true if the enumerator was successfully advanced to the next element; - false if the enumerator has passed the end of the collection. - - - The collection was modified after the enumerator was created. - - - - - Sets the enumerator to its initial position, before the first element in the collection. - - - - - Gets the current element in the collection. - - - - - Type visible only to our subclasses - Used to access protected constructor - - - - - - A value - - - - - Supports simple iteration over a . - - - - - - Initializes a new instance of the Enumerator class. - - - - - - Advances the enumerator to the next element in the collection. - - - true if the enumerator was successfully advanced to the next element; - false if the enumerator has passed the end of the collection. - - - The collection was modified after the enumerator was created. - - - - - Sets the enumerator to its initial position, before the first element in the collection. - - - - - Gets the current element in the collection. - - - The current element in the collection. - - - - - - - - Map of repository plugins. - - - - This class is a name keyed map of the plugins that are - attached to a repository. - - - Nicko Cadell - Gert Driesen - - - - Constructor - - The repository that the plugins should be attached to. - - - Initialize a new instance of the class with a - repository that the plugins should be attached to. - - - - - - Adds a to the map. - - The to add to the map. - - - The will be attached to the repository when added. - - - If there already exists a plugin with the same name - attached to the repository then the old plugin will - be and replaced with - the new plugin. - - - - - - Removes a from the map. - - The to remove from the map. - - - Remove a specific plugin from this map. - - - - - - Gets a by name. - - The name of the to lookup. - - The from the map with the name specified, or - null if no plugin is found. - - - - Lookup a plugin by name. If the plugin is not found null - will be returned. - - - - - - Gets all possible plugins as a list of objects. - - All possible plugins as a list of objects. - - - Get a collection of all the plugins defined in this map. - - - - - - Base implementation of - - - - Default abstract implementation of the - interface. This base class can be used by implementors - of the interface. - - - Nicko Cadell - Gert Driesen - - - - Constructor - - the name of the plugin - - Initializes a new Plugin with the specified name. - - - - - Attaches this plugin to a . - - The that this plugin should be attached to. - - - A plugin may only be attached to a single repository. - - - This method is called when the plugin is attached to the repository. - - - - - - Is called when the plugin is to shutdown. - - - - This method is called to notify the plugin that - it should stop operating and should detach from - the repository. - - - - - - The name of this plugin. - - - - - The repository this plugin is attached to. - - - - - Gets or sets the name of the plugin. - - - The name of the plugin. - - - - Plugins are stored in the - keyed by name. Each plugin instance attached to a - repository must be a unique name. - - - The name of the plugin must not change one the - plugin has been attached to a repository. - - - - - - The repository for this plugin - - - The that this plugin is attached to. - - - - Gets or sets the that this plugin is - attached to. - - - - - - Plugin that listens for events from the - - - - This plugin publishes an instance of - on a specified . This listens for logging events delivered from - a remote . - - - When an event is received it is relogged within the attached repository - as if it had been raised locally. - - - Nicko Cadell - Gert Driesen - - - - Default constructor - - - - Initializes a new instance of the class. - - - The property must be set. - - - - - - Construct with sink Uri. - - The name to publish the sink under in the remoting infrastructure. - See for more details. - - - Initializes a new instance of the class - with specified name. - - - - - - Attaches this plugin to a . - - The that this plugin should be attached to. - - - A plugin may only be attached to a single repository. - - - This method is called when the plugin is attached to the repository. - - - - - - Is called when the plugin is to shutdown. - - - - When the plugin is shutdown the remote logging - sink is disconnected. - - - - - - Gets or sets the URI of this sink. - - - The URI of this sink. - - - - This is the name under which the object is marshaled. - - - - - - - Delivers objects to a remote sink. - - - - Internal class used to listen for logging events - and deliver them to the local repository. - - - - - - Constructor - - The repository to log to. - - - Initializes a new instance of the for the - specified . - - - - - - Logs the events to the repository. - - The events to log. - - - The events passed are logged to the - - - - - - Obtains a lifetime service object to control the lifetime - policy for this instance. - - null to indicate that this instance should live forever. - - - Obtains a lifetime service object to control the lifetime - policy for this instance. This object should live forever - therefore this implementation returns null. - - - - - - The underlying that events should - be logged to. - - - - - Default implementation of - - - - This default implementation of the - interface is used to create the default subclass - of the object. - - - Nicko Cadell - Gert Driesen - - - - Interface abstracts creation of instances - - - - This interface is used by the to - create new objects. - - - The method is called - to create a named . - - - Implement this interface to create new subclasses of . - - - Nicko Cadell - Gert Driesen - - - - Create a new instance - - The name of the . - The instance for the specified name. - - - Create a new instance with the - specified name. - - - Called by the to create - new named instances. - - - If the is null then the root logger - must be returned. - - - - - - Default constructor - - - - Initializes a new instance of the class. - - - - - - Create a new instance - - The name of the . - The instance for the specified name. - - - Create a new instance with the - specified name. - - - Called by the to create - new named instances. - - - If the is null then the root logger - must be returned. - - - - - - Default internal subclass of - - - - This subclass has no additional behavior over the - class but does allow instances - to be created. - - - - - - Implementation of used by - - - - Internal class used to provide implementation of - interface. Applications should use to get - logger instances. - - - This is one of the central classes in the log4net implementation. One of the - distinctive features of log4net are hierarchical loggers and their - evaluation. The organizes the - instances into a rooted tree hierarchy. - - - The class is abstract. Only concrete subclasses of - can be created. The - is used to create instances of this type for the . - - - Nicko Cadell - Gert Driesen - Aspi Havewala - Douglas de la Torre - - - - This constructor created a new instance and - sets its name. - - The name of the . - - - This constructor is protected and designed to be used by - a subclass that is not abstract. - - - Loggers are constructed by - objects. See for the default - logger creator. - - - - - - Add to the list of appenders of this - Logger instance. - - An appender to add to this logger - - - Add to the list of appenders of this - Logger instance. - - - If is already in the list of - appenders, then it won't be added again. - - - - - - Look for the appender named as name - - The name of the appender to lookup - The appender with the name specified, or null. - - - Returns the named appender, or null if the appender is not found. - - - - - - Remove all previously added appenders from this Logger instance. - - - - Remove all previously added appenders from this Logger instance. - - - This is useful when re-reading configuration information. - - - - - - Remove the appender passed as parameter form the list of appenders. - - The appender to remove - The appender removed from the list - - - Remove the appender passed as parameter form the list of appenders. - The appender removed is not closed. - If you are discarding the appender you must call - on the appender removed. - - - - - - Remove the appender passed as parameter form the list of appenders. - - The name of the appender to remove - The appender removed from the list - - - Remove the named appender passed as parameter form the list of appenders. - The appender removed is not closed. - If you are discarding the appender you must call - on the appender removed. - - - - - - This generic form is intended to be used by wrappers. - - The declaring type of the method that is - the stack boundary into the logging system for this call. - The level of the message to be logged. - The message object to log. - The exception to log, including its stack trace. - - - Generate a logging event for the specified using - the and . - - - This method must not throw any exception to the caller. - - - - - - This is the most generic printing method that is intended to be used - by wrappers. - - The event being logged. - - - Logs the specified logging event through this logger. - - - This method must not throw any exception to the caller. - - - - - - Checks if this logger is enabled for a given passed as parameter. - - The level to check. - - true if this logger is enabled for level, otherwise false. - - - - Test if this logger is going to log events of the specified . - - - This method must not throw any exception to the caller. - - - - - - Deliver the to the attached appenders. - - The event to log. - - - Call the appenders in the hierarchy starting at - this. If no appenders could be found, emit a - warning. - - - This method calls all the appenders inherited from the - hierarchy circumventing any evaluation of whether to log or not - to log the particular log request. - - - - - - Closes all attached appenders implementing the interface. - - - - Used to ensure that the appenders are correctly shutdown. - - - - - - This is the most generic printing method. This generic form is intended to be used by wrappers - - The level of the message to be logged. - The message object to log. - The exception to log, including its stack trace. - - - Generate a logging event for the specified using - the . - - - - - - Creates a new logging event and logs the event without further checks. - - The declaring type of the method that is - the stack boundary into the logging system for this call. - The level of the message to be logged. - The message object to log. - The exception to log, including its stack trace. - - - Generates a logging event and delivers it to the attached - appenders. - - - - - - Creates a new logging event and logs the event without further checks. - - The event being logged. - - - Delivers the logging event to the attached appenders. - - - - - - The fully qualified type of the Logger class. - - - - - The name of this logger. - - - - - The assigned level of this logger. - - - - The level variable need not be - assigned a value in which case it is inherited - form the hierarchy. - - - - - - The parent of this logger. - - - - The parent of this logger. - All loggers have at least one ancestor which is the root logger. - - - - - - Loggers need to know what Hierarchy they are in. - - - - Loggers need to know what Hierarchy they are in. - The hierarchy that this logger is a member of is stored - here. - - - - - - Helper implementation of the interface - - - - - Flag indicating if child loggers inherit their parents appenders - - - - Additivity is set to true by default, that is children inherit - the appenders of their ancestors by default. If this variable is - set to false then the appenders found in the - ancestors of this logger are not used. However, the children - of this logger will inherit its appenders, unless the children - have their additivity flag set to false too. See - the user manual for more details. - - - - - - Lock to protect AppenderAttachedImpl variable m_appenderAttachedImpl - - - - - Gets or sets the parent logger in the hierarchy. - - - The parent logger in the hierarchy. - - - - Part of the Composite pattern that makes the hierarchy. - The hierarchy is parent linked rather than child linked. - - - - - - Gets or sets a value indicating if child loggers inherit their parent's appenders. - - - true if child loggers inherit their parent's appenders. - - - - Additivity is set to true by default, that is children inherit - the appenders of their ancestors by default. If this variable is - set to false then the appenders found in the - ancestors of this logger are not used. However, the children - of this logger will inherit its appenders, unless the children - have their additivity flag set to false too. See - the user manual for more details. - - - - - - Gets the effective level for this logger. - - The nearest level in the logger hierarchy. - - - Starting from this logger, searches the logger hierarchy for a - non-null level and returns it. Otherwise, returns the level of the - root logger. - - The Logger class is designed so that this method executes as - quickly as possible. - - - - - Gets or sets the where this - Logger instance is attached to. - - The hierarchy that this logger belongs to. - - - This logger must be attached to a single . - - - - - - Gets or sets the assigned , if any, for this Logger. - - - The of this logger. - - - - The assigned can be null. - - - - - - Get the appenders contained in this logger as an - . - - A collection of the appenders in this logger - - - Get the appenders contained in this logger as an - . If no appenders - can be found, then a is returned. - - - - - - Gets the logger name. - - - The name of the logger. - - - - The name of this logger - - - - - - Gets the where this - Logger instance is attached to. - - - The that this logger belongs to. - - - - Gets the where this - Logger instance is attached to. - - - - - - Construct a new Logger - - the name of the logger - - - Initializes a new instance of the class - with the specified name. - - - - - - Delegate used to handle logger creation event notifications. - - The in which the has been created. - The event args that hold the instance that has been created. - - - Delegate used to handle logger creation event notifications. - - - - - - Provides data for the event. - - - - A event is raised every time a - is created. - - - - - - The created - - - - - Constructor - - The that has been created. - - - Initializes a new instance of the event argument - class,with the specified . - - - - - - Gets the that has been created. - - - The that has been created. - - - - The that has been created. - - - - - - Hierarchical organization of loggers - - - - The casual user should not have to deal with this class - directly. - - - This class is specialized in retrieving loggers by name and - also maintaining the logger hierarchy. Implements the - interface. - - - The structure of the logger hierarchy is maintained by the - method. The hierarchy is such that children - link to their parent but parents do not have any references to their - children. Moreover, loggers can be instantiated in any order, in - particular descendant before ancestor. - - - In case a descendant is created before a particular ancestor, - then it creates a provision node for the ancestor and adds itself - to the provision node. Other descendants of the same ancestor add - themselves to the previously created provision node. - - - Nicko Cadell - Gert Driesen - - - - Base implementation of - - - - Default abstract implementation of the interface. - - - Skeleton implementation of the interface. - All types can extend this type. - - - Nicko Cadell - Gert Driesen - - - - Interface implemented by logger repositories. - - - - This interface is implemented by logger repositories. e.g. - . - - - This interface is used by the - to obtain interfaces. - - - Nicko Cadell - Gert Driesen - - - - Check if the named logger exists in the repository. If so return - its reference, otherwise returns null. - - The name of the logger to lookup - The Logger object with the name specified - - - If the names logger exists it is returned, otherwise - null is returned. - - - - - - Returns all the currently defined loggers as an Array. - - All the defined loggers - - - Returns all the currently defined loggers as an Array. - - - - - - Returns a named logger instance - - The name of the logger to retrieve - The logger object with the name specified - - - Returns a named logger instance. - - - If a logger of that name already exists, then it will be - returned. Otherwise, a new logger will be instantiated and - then linked with its existing ancestors as well as children. - - - - - Shutdown the repository - - - Shutting down a repository will safely close and remove - all appenders in all loggers including the root logger. - - - Some appenders need to be closed before the - application exists. Otherwise, pending logging events might be - lost. - - - The method is careful to close nested - appenders before closing regular appenders. This is allows - configurations where a regular appender is attached to a logger - and again to a nested appender. - - - - - - Reset the repositories configuration to a default state - - - - Reset all values contained in this instance to their - default state. - - - Existing loggers are not removed. They are just reset. - - - This method should be used sparingly and with care as it will - block all logging until it is completed. - - - - - - Log the through this repository. - - the event to log - - - This method should not normally be used to log. - The interface should be used - for routine logging. This interface can be obtained - using the method. - - - The logEvent is delivered to the appropriate logger and - that logger is then responsible for logging the event. - - - - - - Returns all the Appenders that are configured as an Array. - - All the Appenders - - - Returns all the Appenders that are configured as an Array. - - - - - - The name of the repository - - - The name of the repository - - - - The name of the repository. - - - - - - RendererMap accesses the object renderer map for this repository. - - - RendererMap accesses the object renderer map for this repository. - - - - RendererMap accesses the object renderer map for this repository. - - - The RendererMap holds a mapping between types and - objects. - - - - - - The plugin map for this repository. - - - The plugin map for this repository. - - - - The plugin map holds the instances - that have been attached to this repository. - - - - - - Get the level map for the Repository. - - - - Get the level map for the Repository. - - - The level map defines the mappings between - level names and objects in - this repository. - - - - - - The threshold for all events in this repository - - - The threshold for all events in this repository - - - - The threshold for all events in this repository. - - - - - - Flag indicates if this repository has been configured. - - - Flag indicates if this repository has been configured. - - - - Flag indicates if this repository has been configured. - - - - - - Event to notify that the repository has been shutdown. - - - Event to notify that the repository has been shutdown. - - - - Event raised when the repository has been shutdown. - - - - - - Event to notify that the repository has had its configuration reset. - - - Event to notify that the repository has had its configuration reset. - - - - Event raised when the repository's configuration has been - reset to default. - - - - - - Event to notify that the repository has had its configuration changed. - - - Event to notify that the repository has had its configuration changed. - - - - Event raised when the repository's configuration has been changed. - - - - - - Repository specific properties - - - Repository specific properties - - - - These properties can be specified on a repository specific basis. - - - - - - Default Constructor - - - - Initializes the repository with default (empty) properties. - - - - - - Construct the repository using specific properties - - the properties to set for this repository - - - Initializes the repository with specified properties. - - - - - - Test if logger exists - - The name of the logger to lookup - The Logger object with the name specified - - - Check if the named logger exists in the repository. If so return - its reference, otherwise returns null. - - - - - - Returns all the currently defined loggers in the repository - - All the defined loggers - - - Returns all the currently defined loggers in the repository as an Array. - - - - - - Return a new logger instance - - The name of the logger to retrieve - The logger object with the name specified - - - Return a new logger instance. - - - If a logger of that name already exists, then it will be - returned. Otherwise, a new logger will be instantiated and - then linked with its existing ancestors as well as children. - - - - - - Shutdown the repository - - - - Shutdown the repository. Can be overridden in a subclass. - This base class implementation notifies the - listeners and all attached plugins of the shutdown event. - - - - - - Reset the repositories configuration to a default state - - - - Reset all values contained in this instance to their - default state. - - - Existing loggers are not removed. They are just reset. - - - This method should be used sparingly and with care as it will - block all logging until it is completed. - - - - - - Log the logEvent through this repository. - - the event to log - - - This method should not normally be used to log. - The interface should be used - for routine logging. This interface can be obtained - using the method. - - - The logEvent is delivered to the appropriate logger and - that logger is then responsible for logging the event. - - - - - - Returns all the Appenders that are configured as an Array. - - All the Appenders - - - Returns all the Appenders that are configured as an Array. - - - - - - Adds an object renderer for a specific class. - - The type that will be rendered by the renderer supplied. - The object renderer used to render the object. - - - Adds an object renderer for a specific class. - - - - - - Notify the registered listeners that the repository is shutting down - - Empty EventArgs - - - Notify any listeners that this repository is shutting down. - - - - - - Notify the registered listeners that the repository has had its configuration reset - - Empty EventArgs - - - Notify any listeners that this repository's configuration has been reset. - - - - - - Notify the registered listeners that the repository has had its configuration changed - - Empty EventArgs - - - Notify any listeners that this repository's configuration has changed. - - - - - - Raise a configuration changed event on this repository - - EventArgs.Empty - - - Applications that programmatically change the configuration of the repository should - raise this event notification to notify listeners. - - - - - - The name of the repository - - - The string name of the repository - - - - The name of this repository. The name is - used to store and lookup the repositories - stored by the . - - - - - - The threshold for all events in this repository - - - The threshold for all events in this repository - - - - The threshold for all events in this repository - - - - - - RendererMap accesses the object renderer map for this repository. - - - RendererMap accesses the object renderer map for this repository. - - - - RendererMap accesses the object renderer map for this repository. - - - The RendererMap holds a mapping between types and - objects. - - - - - - The plugin map for this repository. - - - The plugin map for this repository. - - - - The plugin map holds the instances - that have been attached to this repository. - - - - - - Get the level map for the Repository. - - - - Get the level map for the Repository. - - - The level map defines the mappings between - level names and objects in - this repository. - - - - - - Flag indicates if this repository has been configured. - - - Flag indicates if this repository has been configured. - - - - Flag indicates if this repository has been configured. - - - - - - Event to notify that the repository has been shutdown. - - - Event to notify that the repository has been shutdown. - - - - Event raised when the repository has been shutdown. - - - - - - Event to notify that the repository has had its configuration reset. - - - Event to notify that the repository has had its configuration reset. - - - - Event raised when the repository's configuration has been - reset to default. - - - - - - Event to notify that the repository has had its configuration changed. - - - Event to notify that the repository has had its configuration changed. - - - - Event raised when the repository's configuration has been changed. - - - - - - Repository specific properties - - - Repository specific properties - - - These properties can be specified on a repository specific basis - - - - - Basic Configurator interface for repositories - - - - Interface used by basic configurator to configure a - with a default . - - - A should implement this interface to support - configuration by the . - - - Nicko Cadell - Gert Driesen - - - - Initialize the repository using the specified appender - - the appender to use to log all logging events - - - Configure the repository to route all logging events to the - specified appender. - - - - - - Configure repository using XML - - - - Interface used by Xml configurator to configure a . - - - A should implement this interface to support - configuration by the . - - - Nicko Cadell - Gert Driesen - - - - Initialize the repository using the specified config - - the element containing the root of the config - - - The schema for the XML configuration data is defined by - the implementation. - - - - - - Default constructor - - - - Initializes a new instance of the class. - - - - - - Construct with properties - - The properties to pass to this repository. - - - Initializes a new instance of the class. - - - - - - Construct with a logger factory - - The factory to use to create new logger instances. - - - Initializes a new instance of the class with - the specified . - - - - - - Construct with properties and a logger factory - - The properties to pass to this repository. - The factory to use to create new logger instances. - - - Initializes a new instance of the class with - the specified . - - - - - - Test if a logger exists - - The name of the logger to lookup - The Logger object with the name specified - - - Check if the named logger exists in the hierarchy. If so return - its reference, otherwise returns null. - - - - - - Returns all the currently defined loggers in the hierarchy as an Array - - All the defined loggers - - - Returns all the currently defined loggers in the hierarchy as an Array. - The root logger is not included in the returned - enumeration. - - - - - - Return a new logger instance named as the first parameter using - the default factory. - - - - Return a new logger instance named as the first parameter using - the default factory. - - - If a logger of that name already exists, then it will be - returned. Otherwise, a new logger will be instantiated and - then linked with its existing ancestors as well as children. - - - The name of the logger to retrieve - The logger object with the name specified - - - - Shutting down a hierarchy will safely close and remove - all appenders in all loggers including the root logger. - - - - Shutting down a hierarchy will safely close and remove - all appenders in all loggers including the root logger. - - - Some appenders need to be closed before the - application exists. Otherwise, pending logging events might be - lost. - - - The Shutdown method is careful to close nested - appenders before closing regular appenders. This is allows - configurations where a regular appender is attached to a logger - and again to a nested appender. - - - - - - Reset all values contained in this hierarchy instance to their default. - - - - Reset all values contained in this hierarchy instance to their - default. This removes all appenders from all loggers, sets - the level of all non-root loggers to null, - sets their additivity flag to true and sets the level - of the root logger to . Moreover, - message disabling is set its default "off" value. - - - Existing loggers are not removed. They are just reset. - - - This method should be used sparingly and with care as it will - block all logging until it is completed. - - - - - - Log the logEvent through this hierarchy. - - the event to log - - - This method should not normally be used to log. - The interface should be used - for routine logging. This interface can be obtained - using the method. - - - The logEvent is delivered to the appropriate logger and - that logger is then responsible for logging the event. - - - - - - Returns all the Appenders that are currently configured - - An array containing all the currently configured appenders - - - Returns all the instances that are currently configured. - All the loggers are searched for appenders. The appenders may also be containers - for appenders and these are also searched for additional loggers. - - - The list returned is unordered but does not contain duplicates. - - - - - - Collect the appenders from an . - The appender may also be a container. - - - - - - - Collect the appenders from an container - - - - - - - Initialize the log4net system using the specified appender - - the appender to use to log all logging events - - - - Initialize the log4net system using the specified appender - - the appender to use to log all logging events - - - This method provides the same functionality as the - method implemented - on this object, but it is protected and therefore can be called by subclasses. - - - - - - Initialize the log4net system using the specified config - - the element containing the root of the config - - - - Initialize the log4net system using the specified config - - the element containing the root of the config - - - This method provides the same functionality as the - method implemented - on this object, but it is protected and therefore can be called by subclasses. - - - - - - Test if this hierarchy is disabled for the specified . - - The level to check against. - - true if the repository is disabled for the level argument, false otherwise. - - - - If this hierarchy has not been configured then this method will - always return true. - - - This method will return true if this repository is - disabled for level object passed as parameter and - false otherwise. - - - See also the property. - - - - - - Clear all logger definitions from the internal hashtable - - - - This call will clear all logger definitions from the internal - hashtable. Invoking this method will irrevocably mess up the - logger hierarchy. - - - You should really know what you are doing before - invoking this method. - - - - - - Return a new logger instance named as the first parameter using - . - - The name of the logger to retrieve - The factory that will make the new logger instance - The logger object with the name specified - - - If a logger of that name already exists, then it will be - returned. Otherwise, a new logger will be instantiated by the - parameter and linked with its existing - ancestors as well as children. - - - - - - Sends a logger creation event to all registered listeners - - The newly created logger - - Raises the logger creation event. - - - - - Updates all the parents of the specified logger - - The logger to update the parents for - - - This method loops through all the potential parents of - . There 3 possible cases: - - - - No entry for the potential parent of exists - - We create a ProvisionNode for this potential - parent and insert in that provision node. - - - - The entry is of type Logger for the potential parent. - - The entry is 's nearest existing parent. We - update 's parent field with this entry. We also break from - he loop because updating our parent's parent is our parent's - responsibility. - - - - The entry is of type ProvisionNode for this potential parent. - - We add to the list of children for this - potential parent. - - - - - - - - Replace a with a in the hierarchy. - - - - - - We update the links for all the children that placed themselves - in the provision node 'pn'. The second argument 'log' is a - reference for the newly created Logger, parent of all the - children in 'pn'. - - - We loop on all the children 'c' in 'pn'. - - - If the child 'c' has been already linked to a child of - 'log' then there is no need to update 'c'. - - - Otherwise, we set log's parent field to c's parent and set - c's parent field to log. - - - - - - Define or redefine a Level using the values in the argument - - the level values - - - Define or redefine a Level using the values in the argument - - - Supports setting levels via the configuration file. - - - - - - Set a Property using the values in the argument - - the property value - - - Set a Property using the values in the argument. - - - Supports setting property values via the configuration file. - - - - - - Event used to notify that a logger has been created. - - - - Event raised when a logger is created. - - - - - - Has no appender warning been emitted - - - - Flag to indicate if we have already issued a warning - about not having an appender warning. - - - - - - Get the root of this hierarchy - - - - Get the root of this hierarchy. - - - - - - Gets or sets the default instance. - - The default - - - The logger factory is used to create logger instances. - - - - - - A class to hold the value, name and display name for a level - - - - A class to hold the value, name and display name for a level - - - - - - Override Object.ToString to return sensible debug info - - string info about this object - - - - Value of the level - - - - If the value is not set (defaults to -1) the value will be looked - up for the current level with the same name. - - - - - - Name of the level - - - The name of the level - - - - The name of the level. - - - - - - Display name for the level - - - The display name of the level - - - - The display name of the level. - - - - - - A class to hold the key and data for a property set in the config file - - - - A class to hold the key and data for a property set in the config file - - - - - - Override Object.ToString to return sensible debug info - - string info about this object - - - - Property Key - - - Property Key - - - - Property Key. - - - - - - Property Value - - - Property Value - - - - Property Value. - - - - - - Used internally to accelerate hash table searches. - - - - Internal class used to improve performance of - string keyed hashtables. - - - The hashcode of the string is cached for reuse. - The string is stored as an interned value. - When comparing two objects for equality - the reference equality of the interned strings is compared. - - - Nicko Cadell - Gert Driesen - - - - Construct key with string name - - - - Initializes a new instance of the class - with the specified name. - - - Stores the hashcode of the string and interns - the string key to optimize comparisons. - - - The Compact Framework 1.0 the - method does not work. On the Compact Framework - the string keys are not interned nor are they - compared by reference. - - - The name of the logger. - - - - Returns a hash code for the current instance. - - A hash code for the current instance. - - - Returns the cached hashcode. - - - - - - Determines whether two instances - are equal. - - The to compare with the current . - - true if the specified is equal to the current ; otherwise, false. - - - - Compares the references of the interned strings. - - - - - - Provision nodes are used where no logger instance has been specified - - - - instances are used in the - when there is no specified - for that node. - - - A provision node holds a list of child loggers on behalf of - a logger that does not exist. - - - Nicko Cadell - Gert Driesen - - - - Create a new provision node with child node - - A child logger to add to this node. - - - Initializes a new instance of the class - with the specified child logger. - - - - - - The sits at the root of the logger hierarchy tree. - - - - The is a regular except - that it provides several guarantees. - - - First, it cannot be assigned a null - level. Second, since the root logger cannot have a parent, the - property always returns the value of the - level field without walking the hierarchy. - - - Nicko Cadell - Gert Driesen - - - - Construct a - - The level to assign to the root logger. - - - Initializes a new instance of the class with - the specified logging level. - - - The root logger names itself as "root". However, the root - logger cannot be retrieved by name. - - - - - - Gets the assigned level value without walking the logger hierarchy. - - The assigned level value without walking the logger hierarchy. - - - Because the root logger cannot have a parent and its level - must not be null this property just returns the - value of . - - - - - - Gets or sets the assigned for the root logger. - - - The of the root logger. - - - - Setting the level of the root logger to a null reference - may have catastrophic results. We prevent this here. - - - - - - Initializes the log4net environment using an XML DOM. - - - - Configures a using an XML DOM. - - - Nicko Cadell - Gert Driesen - - - - Construct the configurator for a hierarchy - - The hierarchy to build. - - - Initializes a new instance of the class - with the specified . - - - - - - Configure the hierarchy by parsing a DOM tree of XML elements. - - The root element to parse. - - - Configure the hierarchy by parsing a DOM tree of XML elements. - - - - - - Parse appenders by IDREF. - - The appender ref element. - The instance of the appender that the ref refers to. - - - Parse an XML element that represents an appender and return - the appender. - - - - - - Parses an appender element. - - The appender element. - The appender instance or null when parsing failed. - - - Parse an XML element that represents an appender and return - the appender instance. - - - - - - Parses a logger element. - - The logger element. - - - Parse an XML element that represents a logger. - - - - - - Parses the root logger element. - - The root element. - - - Parse an XML element that represents the root logger. - - - - - - Parses the children of a logger element. - - The category element. - The logger instance. - Flag to indicate if the logger is the root logger. - - - Parse the child elements of a <logger> element. - - - - - - Parses an object renderer. - - The renderer element. - - - Parse an XML element that represents a renderer. - - - - - - Parses a level element. - - The level element. - The logger object to set the level on. - Flag to indicate if the logger is the root logger. - - - Parse an XML element that represents a level. - - - - - - Sets a parameter on an object. - - The parameter element. - The object to set the parameter on. - - The parameter name must correspond to a writable property - on the object. The value of the parameter is a string, - therefore this function will attempt to set a string - property first. If unable to set a string property it - will inspect the property and its argument type. It will - attempt to call a static method called Parse on the - type of the property. This method will take a single - string argument and return a value that can be used to - set the property. - - - - - Test if an element has no attributes or child elements - - the element to inspect - true if the element has any attributes or child elements, false otherwise - - - - Test if a is constructible with Activator.CreateInstance. - - the type to inspect - true if the type is creatable using a default constructor, false otherwise - - - - Look for a method on the that matches the supplied - - the type that has the method - the name of the method - the method info found - - - The method must be a public instance method on the . - The method must be named or "Add" followed by . - The method must take a single parameter. - - - - - - Converts a string value to a target type. - - The type of object to convert the string to. - The string value to use as the value of the object. - - - An object of type with value or - null when the conversion could not be performed. - - - - - - Creates an object as specified in XML. - - The XML element that contains the definition of the object. - The object type to use if not explicitly specified. - The type that the returned object must be or must inherit from. - The object or null - - - Parse an XML element and create an object instance based on the configuration - data. - - - The type of the instance may be specified in the XML. If not - specified then the is used - as the type. However the type is specified it must support the - type. - - - - - - key: appenderName, value: appender. - - - - - The Hierarchy being configured. - - - - - Delegate used to handle logger repository shutdown event notifications - - The that is shutting down. - Empty event args - - - Delegate used to handle logger repository shutdown event notifications. - - - - - - Delegate used to handle logger repository configuration reset event notifications - - The that has had its configuration reset. - Empty event args - - - Delegate used to handle logger repository configuration reset event notifications. - - - - - - Delegate used to handle event notifications for logger repository configuration changes. - - The that has had its configuration changed. - Empty event arguments. - - - Delegate used to handle event notifications for logger repository configuration changes. - - - - - - Write the name of the current AppDomain to the output - - - - Write the name of the current AppDomain to the output writer - - - Nicko Cadell - - - - Write the name of the current AppDomain to the output - - the writer to write to - null, state is not set - - - Writes name of the current AppDomain to the output . - - - - - - Write the current date to the output - - - - Date pattern converter, uses a to format - the current date and time to the writer as a string. - - - The value of the determines - the formatting of the date. The following values are allowed: - - - Option value - Output - - - ISO8601 - - Uses the formatter. - Formats using the "yyyy-MM-dd HH:mm:ss,fff" pattern. - - - - DATE - - Uses the formatter. - Formats using the "dd MMM yyyy HH:mm:ss,fff" for example, "06 Nov 1994 15:49:37,459". - - - - ABSOLUTE - - Uses the formatter. - Formats using the "HH:mm:ss,fff" for example, "15:49:37,459". - - - - other - - Any other pattern string uses the formatter. - This formatter passes the pattern string to the - method. - For details on valid patterns see - DateTimeFormatInfo Class. - - - - - - The date and time is in the local time zone and is rendered in that zone. - To output the time in Universal time see . - - - Nicko Cadell - - - - The used to render the date to a string - - - - The used to render the date to a string - - - - - - Initialize the converter options - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - - - - Write the current date to the output - - that will receive the formatted result. - null, state is not set - - - Pass the current date and time to the - for it to render it to the writer. - - - The date and time passed is in the local time zone. - - - - - - Write an environment variable to the output - - - - Write an environment variable to the output writer. - The value of the determines - the name of the variable to output. - - - Nicko Cadell - - - - Write an environment variable to the output - - the writer to write to - null, state is not set - - - Writes the environment variable to the output . - The name of the environment variable to output must be set - using the - property. - - - - - - Write the current thread identity to the output - - - - Write the current thread identity to the output writer - - - Nicko Cadell - - - - Write the current thread identity to the output - - the writer to write to - null, state is not set - - - Writes the current thread identity to the output . - - - - - - Pattern converter for literal string instances in the pattern - - - - Writes the literal string value specified in the - property to - the output. - - - Nicko Cadell - - - - Set the next converter in the chain - - The next pattern converter in the chain - The next pattern converter - - - Special case the building of the pattern converter chain - for instances. Two adjacent - literals in the pattern can be represented by a single combined - pattern converter. This implementation detects when a - is added to the chain - after this converter and combines its value with this converter's - literal value. - - - - - - Write the literal to the output - - the writer to write to - null, not set - - - Override the formatting behavior to ignore the FormattingInfo - because we have a literal instead. - - - Writes the value of - to the output . - - - - - - Convert this pattern into the rendered message - - that will receive the formatted result. - null, not set - - - This method is not used. - - - - - - Writes a newline to the output - - - - Writes the system dependent line terminator to the output. - This behavior can be overridden by setting the : - - - - Option Value - Output - - - DOS - DOS or Windows line terminator "\r\n" - - - UNIX - UNIX line terminator "\n" - - - - Nicko Cadell - - - - Initialize the converter - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - - - - Write the current process ID to the output - - - - Write the current process ID to the output writer - - - Nicko Cadell - - - - Write the current process ID to the output - - the writer to write to - null, state is not set - - - Write the current process ID to the output . - - - - - - Property pattern converter - - - - This pattern converter reads the thread and global properties. - The thread properties take priority over global properties. - See for details of the - thread properties. See for - details of the global properties. - - - If the is specified then that will be used to - lookup a single property. If no is specified - then all properties will be dumped as a list of key value pairs. - - - Nicko Cadell - - - - Write the property value to the output - - that will receive the formatted result. - null, state is not set - - - Writes out the value of a named property. The property name - should be set in the - property. - - - If the is set to null - then all the properties are written as key value pairs. - - - - - - A Pattern converter that generates a string of random characters - - - - The converter generates a string of random characters. By default - the string is length 4. This can be changed by setting the - to the string value of the length required. - - - The random characters in the string are limited to uppercase letters - and numbers only. - - - The random number generator used by this class is not cryptographically secure. - - - Nicko Cadell - - - - Shared random number generator - - - - - Length of random string to generate. Default length 4. - - - - - Initialize the converter options - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - - - - Write a randoim string to the output - - the writer to write to - null, state is not set - - - Write a randoim string to the output . - - - - - - Write the current threads username to the output - - - - Write the current threads username to the output writer - - - Nicko Cadell - - - - Write the current threads username to the output - - the writer to write to - null, state is not set - - - Write the current threads username to the output . - - - - - - Write the UTC date time to the output - - - - Date pattern converter, uses a to format - the current date and time in Universal time. - - - See the for details on the date pattern syntax. - - - - Nicko Cadell - - - - Write the current date and time to the output - - that will receive the formatted result. - null, state is not set - - - Pass the current date and time to the - for it to render it to the writer. - - - The date is in Universal time when it is rendered. - - - - - - - Type converter for Boolean. - - - - Supports conversion from string to bool type. - - - - - - Nicko Cadell - Gert Driesen - - - - Can the source type be converted to the type supported by this object - - the type to convert - true if the conversion is possible - - - Returns true if the is - the type. - - - - - - Convert the source object to the type supported by this object - - the object to convert - the converted object - - - Uses the method to convert the - argument to a . - - - - The object cannot be converted to the - target type. To check for this condition use the - method. - - - - - Exception base type for conversion errors. - - - - This type extends . It - does not add any new functionality but does differentiate the - type of exception being thrown. - - - Nicko Cadell - Gert Driesen - - - - Constructor - - - - Initializes a new instance of the class. - - - - - - Constructor - - A message to include with the exception. - - - Initializes a new instance of the class - with the specified message. - - - - - - Constructor - - A message to include with the exception. - A nested exception to include. - - - Initializes a new instance of the class - with the specified message and inner exception. - - - - - - Serialization constructor - - The that holds the serialized object data about the exception being thrown. - The that contains contextual information about the source or destination. - - - Initializes a new instance of the class - with serialized data. - - - - - - Creates a new instance of the class. - - The conversion destination type. - The value to convert. - An instance of the . - - - Creates a new instance of the class. - - - - - - Creates a new instance of the class. - - The conversion destination type. - The value to convert. - A nested exception to include. - An instance of the . - - - Creates a new instance of the class. - - - - - - Register of type converters for specific types. - - - - Maintains a registry of type converters used to convert between - types. - - - Use the and - methods to register new converters. - The and methods - lookup appropriate converters to use. - - - - - Nicko Cadell - Gert Driesen - - - - Private constructor - - - Initializes a new instance of the class. - - - - - Static constructor. - - - - This constructor defines the intrinsic type converters. - - - - - - Adds a converter for a specific type. - - The type being converted to. - The type converter to use to convert to the destination type. - - - Adds a converter instance for a specific type. - - - - - - Adds a converter for a specific type. - - The type being converted to. - The type of the type converter to use to convert to the destination type. - - - Adds a converter for a specific type. - - - - - - Gets the type converter to use to convert values to the destination type. - - The type being converted from. - The type being converted to. - - The type converter instance to use for type conversions or null - if no type converter is found. - - - - Gets the type converter to use to convert values to the destination type. - - - - - - Gets the type converter to use to convert values to the destination type. - - The type being converted to. - - The type converter instance to use for type conversions or null - if no type converter is found. - - - - Gets the type converter to use to convert values to the destination type. - - - - - - Lookups the type converter to use as specified by the attributes on the - destination type. - - The type being converted to. - - The type converter instance to use for type conversions or null - if no type converter is found. - - - - - Creates the instance of the type converter. - - The type of the type converter. - - The type converter instance to use for type conversions or null - if no type converter is found. - - - - The type specified for the type converter must implement - the or interfaces - and must have a public default (no argument) constructor. - - - - - - Mapping from to type converter. - - - - - Supports conversion from string to type. - - - - Supports conversion from string to type. - - - - - - Nicko Cadell - Gert Driesen - - - - Can the source type be converted to the type supported by this object - - the type to convert - true if the conversion is possible - - - Returns true if the is - the type. - - - - - - Overrides the ConvertFrom method of IConvertFrom. - - the object to convert to an encoding - the encoding - - - Uses the method to - convert the argument to an . - - - - The object cannot be converted to the - target type. To check for this condition use the - method. - - - - - Interface supported by type converters - - - - This interface supports conversion from a single type to arbitrary types. - See . - - - Nicko Cadell - - - - Returns whether this converter can convert the object to the specified type - - A Type that represents the type you want to convert to - true if the conversion is possible - - - Test if the type supported by this converter can be converted to the - . - - - - - - Converts the given value object to the specified type, using the arguments - - the object to convert - The Type to convert the value parameter to - the converted object - - - Converts the (which must be of the type supported - by this converter) to the specified.. - - - - - - Supports conversion from string to type. - - - - Supports conversion from string to type. - - - - - Nicko Cadell - - - - Can the source type be converted to the type supported by this object - - the type to convert - true if the conversion is possible - - - Returns true if the is - the type. - - - - - - Overrides the ConvertFrom method of IConvertFrom. - - the object to convert to an IPAddress - the IPAddress - - - Uses the method to convert the - argument to an . - If that fails then the string is resolved as a DNS hostname. - - - - The object cannot be converted to the - target type. To check for this condition use the - method. - - - - - Valid characters in an IPv4 or IPv6 address string. (Does not support subnets) - - - - - Supports conversion from string to type. - - - - Supports conversion from string to type. - - - The string is used as the - of the . - - - - - - Nicko Cadell - - - - Can the source type be converted to the type supported by this object - - the type to convert - true if the conversion is possible - - - Returns true if the is - the type. - - - - - - Overrides the ConvertFrom method of IConvertFrom. - - the object to convert to a PatternLayout - the PatternLayout - - - Creates and returns a new using - the as the - . - - - - The object cannot be converted to the - target type. To check for this condition use the - method. - - - - - Convert between string and - - - - Supports conversion from string to type, - and from a type to a string. - - - The string is used as the - of the . - - - - - - Nicko Cadell - - - - Can the target type be converted to the type supported by this object - - A that represents the type you want to convert to - true if the conversion is possible - - - Returns true if the is - assignable from a type. - - - - - - Converts the given value object to the specified type, using the arguments - - the object to convert - The Type to convert the value parameter to - the converted object - - - Uses the method to convert the - argument to a . - - - - The object cannot be converted to the - . To check for this condition use the - method. - - - - - Can the source type be converted to the type supported by this object - - the type to convert - true if the conversion is possible - - - Returns true if the is - the type. - - - - - - Overrides the ConvertFrom method of IConvertFrom. - - the object to convert to a PatternString - the PatternString - - - Creates and returns a new using - the as the - . - - - - The object cannot be converted to the - target type. To check for this condition use the - method. - - - - - Supports conversion from string to type. - - - - Supports conversion from string to type. - - - - - - Nicko Cadell - - - - Can the source type be converted to the type supported by this object - - the type to convert - true if the conversion is possible - - - Returns true if the is - the type. - - - - - - Overrides the ConvertFrom method of IConvertFrom. - - the object to convert to a Type - the Type - - - Uses the method to convert the - argument to a . - Additional effort is made to locate partially specified types - by searching the loaded assemblies. - - - - The object cannot be converted to the - target type. To check for this condition use the - method. - - - - - Attribute used to associate a type converter - - - - Class and Interface level attribute that specifies a type converter - to use with the associated type. - - - To associate a type converter with a target type apply a - TypeConverterAttribute to the target type. Specify the - type of the type converter on the attribute. - - - Nicko Cadell - Gert Driesen - - - - The string type name of the type converter - - - - - Default constructor - - - - Default constructor - - - - - - Create a new type converter attribute for the specified type name - - The string type name of the type converter - - - The type specified must implement the - or the interfaces. - - - - - - Create a new type converter attribute for the specified type - - The type of the type converter - - - The type specified must implement the - or the interfaces. - - - - - - The string type name of the type converter - - - The string type name of the type converter - - - - The type specified must implement the - or the interfaces. - - - - - - A straightforward implementation of the interface. - - - - This is the default implementation of the - interface. Implementors of the interface - should aggregate an instance of this type. - - - Nicko Cadell - Gert Driesen - - - - Constructor - - - - Initializes a new instance of the class. - - - - - - Append on on all attached appenders. - - The event being logged. - The number of appenders called. - - - Calls the method on all - attached appenders. - - - - - - Append on on all attached appenders. - - The array of events being logged. - The number of appenders called. - - - Calls the method on all - attached appenders. - - - - - - Calls the DoAppende method on the with - the objects supplied. - - The appender - The events - - - If the supports the - interface then the will be passed - through using that interface. Otherwise the - objects in the array will be passed one at a time. - - - - - - Attaches an appender. - - The appender to add. - - - If the appender is already in the list it won't be added again. - - - - - - Gets an attached appender with the specified name. - - The name of the appender to get. - - The appender with the name specified, or null if no appender with the - specified name is found. - - - - Lookup an attached appender by name. - - - - - - Removes all attached appenders. - - - - Removes and closes all attached appenders - - - - - - Removes the specified appender from the list of attached appenders. - - The appender to remove. - The appender removed from the list - - - The appender removed is not closed. - If you are discarding the appender you must call - on the appender removed. - - - - - - Removes the appender with the specified name from the list of appenders. - - The name of the appender to remove. - The appender removed from the list - - - The appender removed is not closed. - If you are discarding the appender you must call - on the appender removed. - - - - - - List of appenders - - - - - Array of appenders, used to cache the m_appenderList - - - - - Gets all attached appenders. - - - A collection of attached appenders, or null if there - are no attached appenders. - - - - The read only collection of all currently attached appenders. - - - - - - This class aggregates several PropertiesDictionary collections together. - - - - Provides a dictionary style lookup over an ordered list of - collections. - - - Nicko Cadell - - - - Constructor - - - - Initializes a new instance of the class. - - - - - - Add a Properties Dictionary to this composite collection - - the properties to add - - - Properties dictionaries added first take precedence over dictionaries added - later. - - - - - - Flatten this composite collection into a single properties dictionary - - the flattened dictionary - - - Reduces the collection of ordered dictionaries to a single dictionary - containing the resultant values for the keys. - - - - - - Gets the value of a property - - - The value for the property with the specified key - - - - Looks up the value for the specified. - The collections are searched - in the order in which they were added to this collection. The value - returned is the value held by the first collection that contains - the specified key. - - - If none of the collections contain the specified key then - null is returned. - - - - - - Base class for Context Properties implementations - - - - This class defines a basic property get set accessor - - - Nicko Cadell - - - - Gets or sets the value of a property - - - The value for the property with the specified key - - - - Gets or sets the value of a property - - - - - - Subclass of that maintains a count of - the number of bytes written. - - - - This writer counts the number of bytes written. - - - Nicko Cadell - Gert Driesen - - - - that does not leak exceptions - - - - does not throw exceptions when things go wrong. - Instead, it delegates error handling to its . - - - Nicko Cadell - Gert Driesen - - - - Adapter that extends and forwards all - messages to an instance of . - - - - Adapter that extends and forwards all - messages to an instance of . - - - Nicko Cadell - - - - The writer to forward messages to - - - - - Create an instance of that forwards all - messages to a . - - The to forward to - - - Create an instance of that forwards all - messages to a . - - - - - - Closes the writer and releases any system resources associated with the writer - - - - - - - - - Dispose this writer - - flag indicating if we are being disposed - - - Dispose this writer - - - - - - Flushes any buffered output - - - - Clears all buffers for the writer and causes any buffered data to be written - to the underlying device - - - - - - Writes a character to the wrapped TextWriter - - the value to write to the TextWriter - - - Writes a character to the wrapped TextWriter - - - - - - Writes a character buffer to the wrapped TextWriter - - the data buffer - the start index - the number of characters to write - - - Writes a character buffer to the wrapped TextWriter - - - - - - Writes a string to the wrapped TextWriter - - the value to write to the TextWriter - - - Writes a string to the wrapped TextWriter - - - - - - Gets or sets the underlying . - - - The underlying . - - - - Gets or sets the underlying . - - - - - - The Encoding in which the output is written - - - The - - - - The Encoding in which the output is written - - - - - - Gets an object that controls formatting - - - The format provider - - - - Gets an object that controls formatting - - - - - - Gets or sets the line terminator string used by the TextWriter - - - The line terminator to use - - - - Gets or sets the line terminator string used by the TextWriter - - - - - - Constructor - - the writer to actually write to - the error handler to report error to - - - Create a new QuietTextWriter using a writer and error handler - - - - - - Writes a character to the underlying writer - - the char to write - - - Writes a character to the underlying writer - - - - - - Writes a buffer to the underlying writer - - the buffer to write - the start index to write from - the number of characters to write - - - Writes a buffer to the underlying writer - - - - - - Writes a string to the output. - - The string data to write to the output. - - - Writes a string to the output. - - - - - - Closes the underlying output writer. - - - - Closes the underlying output writer. - - - - - - The error handler instance to pass all errors to - - - - - Flag to indicate if this writer is closed - - - - - Gets or sets the error handler that all errors are passed to. - - - The error handler that all errors are passed to. - - - - Gets or sets the error handler that all errors are passed to. - - - - - - Gets a value indicating whether this writer is closed. - - - true if this writer is closed, otherwise false. - - - - Gets a value indicating whether this writer is closed. - - - - - - Constructor - - The to actually write to. - The to report errors to. - - - Creates a new instance of the class - with the specified and . - - - - - - Writes a character to the underlying writer and counts the number of bytes written. - - the char to write - - - Overrides implementation of . Counts - the number of bytes written. - - - - - - Writes a buffer to the underlying writer and counts the number of bytes written. - - the buffer to write - the start index to write from - the number of characters to write - - - Overrides implementation of . Counts - the number of bytes written. - - - - - - Writes a string to the output and counts the number of bytes written. - - The string data to write to the output. - - - Overrides implementation of . Counts - the number of bytes written. - - - - - - Total number of bytes written. - - - - - Gets or sets the total number of bytes written. - - - The total number of bytes written. - - - - Gets or sets the total number of bytes written. - - - - - - A fixed size rolling buffer of logging events. - - - - An array backed fixed size leaky bucket. - - - Nicko Cadell - Gert Driesen - - - - Constructor - - The maximum number of logging events in the buffer. - - - Initializes a new instance of the class with - the specified maximum number of buffered logging events. - - - The argument is not a positive integer. - - - - Appends a to the buffer. - - The event to append to the buffer. - The event discarded from the buffer, if the buffer is full, otherwise null. - - - Append an event to the buffer. If the buffer still contains free space then - null is returned. If the buffer is full then an event will be dropped - to make space for the new event, the event dropped is returned. - - - - - - Get and remove the oldest event in the buffer. - - The oldest logging event in the buffer - - - Gets the oldest (first) logging event in the buffer and removes it - from the buffer. - - - - - - Pops all the logging events from the buffer into an array. - - An array of all the logging events in the buffer. - - - Get all the events in the buffer and clear the buffer. - - - - - - Clear the buffer - - - - Clear the buffer of all events. The events in the buffer are lost. - - - - - - Gets the th oldest event currently in the buffer. - - The th oldest event currently in the buffer. - - - If is outside the range 0 to the number of events - currently in the buffer, then null is returned. - - - - - - Gets the maximum size of the buffer. - - The maximum size of the buffer. - - - Gets the maximum size of the buffer - - - - - - Gets the number of logging events in the buffer. - - The number of logging events in the buffer. - - - This number is guaranteed to be in the range 0 to - (inclusive). - - - - - - An always empty . - - - - A singleton implementation of the - interface that always represents an empty collection. - - - Nicko Cadell - Gert Driesen - - - - Initializes a new instance of the class. - - - - Uses a private access modifier to enforce the singleton pattern. - - - - - - Copies the elements of the to an - , starting at a particular Array index. - - The one-dimensional - that is the destination of the elements copied from - . The Array must have zero-based - indexing. - The zero-based index in array at which - copying begins. - - - As the collection is empty no values are copied into the array. - - - - - - Returns an enumerator that can iterate through a collection. - - - An that can be used to - iterate through the collection. - - - - As the collection is empty a is returned. - - - - - - The singleton instance of the empty collection. - - - - - Gets the singleton instance of the empty collection. - - The singleton instance of the empty collection. - - - Gets the singleton instance of the empty collection. - - - - - - Gets a value indicating if access to the is synchronized (thread-safe). - - - true if access to the is synchronized (thread-safe); otherwise, false. - - - - For the this property is always true. - - - - - - Gets the number of elements contained in the . - - - The number of elements contained in the . - - - - As the collection is empty the is always 0. - - - - - - Gets an object that can be used to synchronize access to the . - - - An object that can be used to synchronize access to the . - - - - As the collection is empty and thread safe and synchronized this instance is also - the object. - - - - - - An always empty . - - - - A singleton implementation of the - interface that always represents an empty collection. - - - Nicko Cadell - Gert Driesen - - - - Initializes a new instance of the class. - - - - Uses a private access modifier to enforce the singleton pattern. - - - - - - Copies the elements of the to an - , starting at a particular Array index. - - The one-dimensional - that is the destination of the elements copied from - . The Array must have zero-based - indexing. - The zero-based index in array at which - copying begins. - - - As the collection is empty no values are copied into the array. - - - - - - Returns an enumerator that can iterate through a collection. - - - An that can be used to - iterate through the collection. - - - - As the collection is empty a is returned. - - - - - - Adds an element with the provided key and value to the - . - - The to use as the key of the element to add. - The to use as the value of the element to add. - - - As the collection is empty no new values can be added. A - is thrown if this method is called. - - - This dictionary is always empty and cannot be modified. - - - - Removes all elements from the . - - - - As the collection is empty no values can be removed. A - is thrown if this method is called. - - - This dictionary is always empty and cannot be modified. - - - - Determines whether the contains an element - with the specified key. - - The key to locate in the . - false - - - As the collection is empty the method always returns false. - - - - - - Returns an enumerator that can iterate through a collection. - - - An that can be used to - iterate through the collection. - - - - As the collection is empty a is returned. - - - - - - Removes the element with the specified key from the . - - The key of the element to remove. - - - As the collection is empty no values can be removed. A - is thrown if this method is called. - - - This dictionary is always empty and cannot be modified. - - - - The singleton instance of the empty dictionary. - - - - - Gets the singleton instance of the . - - The singleton instance of the . - - - Gets the singleton instance of the . - - - - - - Gets a value indicating if access to the is synchronized (thread-safe). - - - true if access to the is synchronized (thread-safe); otherwise, false. - - - - For the this property is always true. - - - - - - Gets the number of elements contained in the - - - The number of elements contained in the . - - - - As the collection is empty the is always 0. - - - - - - Gets an object that can be used to synchronize access to the . - - - An object that can be used to synchronize access to the . - - - - As the collection is empty and thread safe and synchronized this instance is also - the object. - - - - - - Gets a value indicating whether the has a fixed size. - - true - - - As the collection is empty always returns true. - - - - - - Gets a value indicating whether the is read-only. - - true - - - As the collection is empty always returns true. - - - - - - Gets an containing the keys of the . - - An containing the keys of the . - - - As the collection is empty a is returned. - - - - - - Gets an containing the values of the . - - An containing the values of the . - - - As the collection is empty a is returned. - - - - - - Gets or sets the element with the specified key. - - The key of the element to get or set. - null - - - As the collection is empty no values can be looked up or stored. - If the index getter is called then null is returned. - A is thrown if the setter is called. - - - This dictionary is always empty and cannot be modified. - - - - Contain the information obtained when parsing formatting modifiers - in conversion modifiers. - - - - Holds the formatting information extracted from the format string by - the . This is used by the - objects when rendering the output. - - - Nicko Cadell - Gert Driesen - - - - Defaut Constructor - - - - Initializes a new instance of the class. - - - - - - Constructor - - - - Initializes a new instance of the class - with the specified parameters. - - - - - - Gets or sets the minimum value. - - - The minimum value. - - - - Gets or sets the minimum value. - - - - - - Gets or sets the maximum value. - - - The maximum value. - - - - Gets or sets the maximum value. - - - - - - Gets or sets a flag indicating whether left align is enabled - or not. - - - A flag indicating whether left align is enabled or not. - - - - Gets or sets a flag indicating whether left align is enabled or not. - - - - - - Implementation of Properties collection for the - - - - This class implements a properties collection that is thread safe and supports both - storing properties and capturing a read only copy of the current propertied. - - - This class is optimized to the scenario where the properties are read frequently - and are modified infrequently. - - - Nicko Cadell - - - - The read only copy of the properties. - - - - This variable is declared volatile to prevent the compiler and JIT from - reordering reads and writes of this thread performed on different threads. - - - - - - Lock object used to synchronize updates within this instance - - - - - Constructor - - - - Initializes a new instance of the class. - - - - - - Remove a property from the global context - - the key for the entry to remove - - - Removing an entry from the global context properties is relatively expensive compared - with reading a value. - - - - - - Clear the global context properties - - - - - Get a readonly immutable copy of the properties - - the current global context properties - - - This implementation is fast because the GlobalContextProperties class - stores a readonly copy of the properties. - - - - - - Gets or sets the value of a property - - - The value for the property with the specified key - - - - Reading the value for a key is faster than setting the value. - When the value is written a new read only copy of - the properties is created. - - - - - - Manages a mapping from levels to - - - - Manages an ordered mapping from instances - to subclasses. - - - Nicko Cadell - - - - Default constructor - - - - Initialise a new instance of . - - - - - - Add a to this mapping - - the entry to add - - - If a has previously been added - for the same then that entry will be - overwritten. - - - - - - Lookup the mapping for the specified level - - the level to lookup - the for the level or null if no mapping found - - - Lookup the value for the specified level. Finds the nearest - mapping value for the level that is equal to or less than the - specified. - - - If no mapping could be found then null is returned. - - - - - - Initialize options - - - - Caches the sorted list of in an array - - - - - - Implementation of Properties collection for the - - - - Class implements a collection of properties that is specific to each thread. - The class is not synchronized as each thread has its own . - - - Nicko Cadell - - - - Constructor - - - - Initializes a new instance of the class. - - - - - - Remove a property - - the key for the entry to remove - - - Remove the value for the specified from the context. - - - - - - Clear all the context properties - - - - Clear all the context properties - - - - - - Get the PropertiesDictionary stored in the LocalDataStoreSlot for this thread. - - create the dictionary if it does not exist, otherwise return null if is does not exist - the properties for this thread - - - The collection returned is only to be used on the calling thread. If the - caller needs to share the collection between different threads then the - caller must clone the collection before doings so. - - - - - - Gets or sets the value of a property - - - The value for the property with the specified key - - - - Get or set the property value for the specified. - - - - - - Outputs log statements from within the log4net assembly. - - - - Log4net components cannot make log4net logging calls. However, it is - sometimes useful for the user to learn about what log4net is - doing. - - - All log4net internal debug calls go to the standard output stream - whereas internal error messages are sent to the standard error output - stream. - - - Nicko Cadell - Gert Driesen - - - - Initializes a new instance of the class. - - - - Uses a private access modifier to prevent instantiation of this class. - - - - - - Static constructor that initializes logging by reading - settings from the application configuration file. - - - - The log4net.Internal.Debug application setting - controls internal debugging. This setting should be set - to true to enable debugging. - - - The log4net.Internal.Quiet application setting - suppresses all internal logging including error messages. - This setting should be set to true to enable message - suppression. - - - - - - Writes log4net internal debug messages to the - standard output stream. - - The message to log. - - - All internal debug messages are prepended with - the string "log4net: ". - - - - - - Writes log4net internal debug messages to the - standard output stream. - - The message to log. - An exception to log. - - - All internal debug messages are prepended with - the string "log4net: ". - - - - - - Writes log4net internal warning messages to the - standard error stream. - - The message to log. - - - All internal warning messages are prepended with - the string "log4net:WARN ". - - - - - - Writes log4net internal warning messages to the - standard error stream. - - The message to log. - An exception to log. - - - All internal warning messages are prepended with - the string "log4net:WARN ". - - - - - - Writes log4net internal error messages to the - standard error stream. - - The message to log. - - - All internal error messages are prepended with - the string "log4net:ERROR ". - - - - - - Writes log4net internal error messages to the - standard error stream. - - The message to log. - An exception to log. - - - All internal debug messages are prepended with - the string "log4net:ERROR ". - - - - - - Writes output to the standard output stream. - - The message to log. - - - Writes to both Console.Out and System.Diagnostics.Trace. - Note that the System.Diagnostics.Trace is not supported - on the Compact Framework. - - - If the AppDomain is not configured with a config file then - the call to System.Diagnostics.Trace may fail. This is only - an issue if you are programmatically creating your own AppDomains. - - - - - - Writes output to the standard error stream. - - The message to log. - - - Writes to both Console.Error and System.Diagnostics.Trace. - Note that the System.Diagnostics.Trace is not supported - on the Compact Framework. - - - If the AppDomain is not configured with a config file then - the call to System.Diagnostics.Trace may fail. This is only - an issue if you are programmatically creating your own AppDomains. - - - - - - Default debug level - - - - - In quietMode not even errors generate any output. - - - - - Gets or sets a value indicating whether log4net internal logging - is enabled or disabled. - - - true if log4net internal logging is enabled, otherwise - false. - - - - When set to true, internal debug level logging will be - displayed. - - - This value can be set by setting the application setting - log4net.Internal.Debug in the application configuration - file. - - - The default value is false, i.e. debugging is - disabled. - - - - - The following example enables internal debugging using the - application configuration file : - - - - - - - - - - - - - Gets or sets a value indicating whether log4net should generate no output - from internal logging, not even for errors. - - - true if log4net should generate no output at all from internal - logging, otherwise false. - - - - When set to true will cause internal logging at all levels to be - suppressed. This means that no warning or error reports will be logged. - This option overrides the setting and - disables all debug also. - - This value can be set by setting the application setting - log4net.Internal.Quiet in the application configuration file. - - - The default value is false, i.e. internal logging is not - disabled. - - - - The following example disables internal logging using the - application configuration file : - - - - - - - - - - - - Test if LogLog.Debug is enabled for output. - - - true if Debug is enabled - - - - Test if LogLog.Debug is enabled for output. - - - - - - Test if LogLog.Warn is enabled for output. - - - true if Warn is enabled - - - - Test if LogLog.Warn is enabled for output. - - - - - - Test if LogLog.Error is enabled for output. - - - true if Error is enabled - - - - Test if LogLog.Error is enabled for output. - - - - - - Represents a native error code and message. - - - - Represents a Win32 platform native error. - - - Nicko Cadell - Gert Driesen - - - - Create an instance of the class with the specified - error number and message. - - The number of the native error. - The message of the native error. - - - Create an instance of the class with the specified - error number and message. - - - - - - Create a new instance of the class for the last Windows error. - - - An instance of the class for the last windows error. - - - - The message for the error number is lookup up using the - native Win32 FormatMessage function. - - - - - - Create a new instance of the class. - - the error number for the native error - - An instance of the class for the specified - error number. - - - - The message for the specified error number is lookup up using the - native Win32 FormatMessage function. - - - - - - Retrieves the message corresponding with a Win32 message identifier. - - Message identifier for the requested message. - - The message corresponding with the specified message identifier. - - - - The message will be searched for in system message-table resource(s) - using the native FormatMessage function. - - - - - - Return error information string - - error information string - - - Return error information string - - - - - - Formats a message string. - - Formatting options, and how to interpret the parameter. - Location of the message definition. - Message identifier for the requested message. - Language identifier for the requested message. - If includes FORMAT_MESSAGE_ALLOCATE_BUFFER, the function allocates a buffer using the LocalAlloc function, and places the pointer to the buffer at the address specified in . - If the FORMAT_MESSAGE_ALLOCATE_BUFFER flag is not set, this parameter specifies the maximum number of TCHARs that can be stored in the output buffer. If FORMAT_MESSAGE_ALLOCATE_BUFFER is set, this parameter specifies the minimum number of TCHARs to allocate for an output buffer. - Pointer to an array of values that are used as insert values in the formatted message. - - - The function requires a message definition as input. The message definition can come from a - buffer passed into the function. It can come from a message table resource in an - already-loaded module. Or the caller can ask the function to search the system's message - table resource(s) for the message definition. The function finds the message definition - in a message table resource based on a message identifier and a language identifier. - The function copies the formatted message text to an output buffer, processing any embedded - insert sequences if requested. - - - To prevent the usage of unsafe code, this stub does not support inserting values in the formatted message. - - - - - If the function succeeds, the return value is the number of TCHARs stored in the output - buffer, excluding the terminating null character. - - - If the function fails, the return value is zero. To get extended error information, - call . - - - - - - Gets the number of the native error. - - - The number of the native error. - - - - Gets the number of the native error. - - - - - - Gets the message of the native error. - - - The message of the native error. - - - - - Gets the message of the native error. - - - - - An always empty . - - - - A singleton implementation of the over a collection - that is empty and not modifiable. - - - Nicko Cadell - Gert Driesen - - - - Initializes a new instance of the class. - - - - Uses a private access modifier to enforce the singleton pattern. - - - - - - Test if the enumerator can advance, if so advance. - - false as the cannot advance. - - - As the enumerator is over an empty collection its - value cannot be moved over a valid position, therefore - will always return false. - - - - - - Resets the enumerator back to the start. - - - - As the enumerator is over an empty collection does nothing. - - - - - - The singleton instance of the . - - - - - Gets the singleton instance of the . - - The singleton instance of the . - - - Gets the singleton instance of the . - - - - - - Gets the current object from the enumerator. - - - Throws an because the - never has a current value. - - - - As the enumerator is over an empty collection its - value cannot be moved over a valid position, therefore - will throw an . - - - The collection is empty and - cannot be positioned over a valid location. - - - - Gets the current key from the enumerator. - - - Throws an exception because the - never has a current value. - - - - As the enumerator is over an empty collection its - value cannot be moved over a valid position, therefore - will throw an . - - - The collection is empty and - cannot be positioned over a valid location. - - - - Gets the current value from the enumerator. - - The current value from the enumerator. - - Throws an because the - never has a current value. - - - - As the enumerator is over an empty collection its - value cannot be moved over a valid position, therefore - will throw an . - - - The collection is empty and - cannot be positioned over a valid location. - - - - Gets the current entry from the enumerator. - - - Throws an because the - never has a current entry. - - - - As the enumerator is over an empty collection its - value cannot be moved over a valid position, therefore - will throw an . - - - The collection is empty and - cannot be positioned over a valid location. - - - - An always empty . - - - - A singleton implementation of the over a collection - that is empty and not modifiable. - - - Nicko Cadell - Gert Driesen - - - - Initializes a new instance of the class. - - - - Uses a private access modifier to enforce the singleton pattern. - - - - - - Test if the enumerator can advance, if so advance - - false as the cannot advance. - - - As the enumerator is over an empty collection its - value cannot be moved over a valid position, therefore - will always return false. - - - - - - Resets the enumerator back to the start. - - - - As the enumerator is over an empty collection does nothing. - - - - - - The singleton instance of the . - - - - - Get the singleton instance of the . - - The singleton instance of the . - - - Gets the singleton instance of the . - - - - - - Gets the current object from the enumerator. - - - Throws an because the - never has a current value. - - - - As the enumerator is over an empty collection its - value cannot be moved over a valid position, therefore - will throw an . - - - The collection is empty and - cannot be positioned over a valid location. - - - - A SecurityContext used when a SecurityContext is not required - - - - The is a no-op implementation of the - base class. It is used where a - is required but one has not been provided. - - - Nicko Cadell - - - - Singleton instance of - - - - Singleton instance of - - - - - - Private constructor - - - - Private constructor for singleton pattern. - - - - - - Impersonate this SecurityContext - - State supplied by the caller - null - - - No impersonation is done and null is always returned. - - - - - - Implements log4net's default error handling policy which consists - of emitting a message for the first error in an appender and - ignoring all subsequent errors. - - - - The error message is printed on the standard error output stream. - - - This policy aims at protecting an otherwise working application - from being flooded with error messages when logging fails. - - - Nicko Cadell - Gert Driesen - - - - Default Constructor - - - - Initializes a new instance of the class. - - - - - - Constructor - - The prefix to use for each message. - - - Initializes a new instance of the class - with the specified prefix. - - - - - - Log an Error - - The error message. - The exception. - The internal error code. - - - Prints the message and the stack trace of the exception on the standard - error output stream. - - - - - - Log an Error - - The error message. - The exception. - - - Prints the message and the stack trace of the exception on the standard - error output stream. - - - - - - Log an error - - The error message. - - - Print a the error message passed as parameter on the standard - error output stream. - - - - - - Flag to indicate if it is the first error - - - - - String to prefix each message with - - - - - Is error logging enabled - - - - Is error logging enabled. Logging is only enabled for the - first error delivered to the . - - - - - - A convenience class to convert property values to specific types. - - - - Utility functions for converting types and parsing values. - - - Nicko Cadell - Gert Driesen - - - - Initializes a new instance of the class. - - - - Uses a private access modifier to prevent instantiation of this class. - - - - - - Converts a string to a value. - - String to convert. - The default value. - The value of . - - - If is "true", then true is returned. - If is "false", then false is returned. - Otherwise, is returned. - - - - - - Parses a file size into a number. - - String to parse. - The default value. - The value of . - - - Parses a file size of the form: number[KB|MB|GB] into a - long value. It is scaled with the appropriate multiplier. - - - is returned when - cannot be converted to a value. - - - - - - Converts a string to an object. - - The target type to convert to. - The string to convert to an object. - - The object converted from a string or null when the - conversion failed. - - - - Converts a string to an object. Uses the converter registry to try - to convert the string value into the specified target type. - - - - - - Checks if there is an appropriate type conversion from the source type to the target type. - - The type to convert from. - The type to convert to. - true if there is a conversion from the source type to the target type. - - Checks if there is an appropriate type conversion from the source type to the target type. - - - - - - - Converts an object to the target type. - - The object to convert to the target type. - The type to convert to. - The converted object. - - - Converts an object to the target type. - - - - - - Instantiates an object given a class name. - - The fully qualified class name of the object to instantiate. - The class to which the new object should belong. - The object to return in case of non-fulfillment. - - An instance of the or - if the object could not be instantiated. - - - - Checks that the is a subclass of - . If that test fails or the object could - not be instantiated, then is returned. - - - - - - Performs variable substitution in string from the - values of keys found in . - - The string on which variable substitution is performed. - The dictionary to use to lookup variables. - The result of the substitutions. - - - The variable substitution delimiters are ${ and }. - - - For example, if props contains key=value, then the call - - - - string s = OptionConverter.SubstituteVariables("Value of key is ${key}."); - - - - will set the variable s to "Value of key is value.". - - - If no value could be found for the specified key, then substitution - defaults to an empty string. - - - For example, if system properties contains no value for the key - "nonExistentKey", then the call - - - - string s = OptionConverter.SubstituteVariables("Value of nonExistentKey is [${nonExistentKey}]"); - - - - will set s to "Value of nonExistentKey is []". - - - An Exception is thrown if contains a start - delimiter "${" which is not balanced by a stop delimiter "}". - - - - - - Converts the string representation of the name or numeric value of one or - more enumerated constants to an equivalent enumerated object. - - The type to convert to. - The enum string value. - If true, ignore case; otherwise, regard case. - An object of type whose value is represented by . - - - - Most of the work of the class - is delegated to the PatternParser class. - - - - The PatternParser processes a pattern string and - returns a chain of objects. - - - Nicko Cadell - Gert Driesen - - - - Constructor - - The pattern to parse. - - - Initializes a new instance of the class - with the specified pattern string. - - - - - - Parses the pattern into a chain of pattern converters. - - The head of a chain of pattern converters. - - - Parses the pattern into a chain of pattern converters. - - - - - - Build the unified cache of converters from the static and instance maps - - the list of all the converter names - - - Build the unified cache of converters from the static and instance maps - - - - - - Internal method to parse the specified pattern to find specified matches - - the pattern to parse - the converter names to match in the pattern - - - The matches param must be sorted such that longer strings come before shorter ones. - - - - - - Process a parsed literal - - the literal text - - - - Process a parsed converter pattern - - the name of the converter - the optional option for the converter - the formatting info for the converter - - - - Resets the internal state of the parser and adds the specified pattern converter - to the chain. - - The pattern converter to add. - - - - The first pattern converter in the chain - - - - - the last pattern converter in the chain - - - - - The pattern - - - - - Internal map of converter identifiers to converter types - - - - This map overrides the static s_globalRulesRegistry map. - - - - - - Get the converter registry used by this parser - - - The converter registry used by this parser - - - - Get the converter registry used by this parser - - - - - - Sort strings by length - - - - that orders strings by string length. - The longest strings are placed first - - - - - - This class implements a patterned string. - - - - This string has embedded patterns that are resolved and expanded - when the string is formatted. - - - This class functions similarly to the - in that it accepts a pattern and renders it to a string. Unlike the - however the PatternString - does not render the properties of a specific but - of the process in general. - - - The recognized conversion pattern names are: - - - - Conversion Pattern Name - Effect - - - appdomain - - - Used to output the friendly name of the current AppDomain. - - - - - date - - - Used to output the date of the logging event in the local time zone. - To output the date in universal time use the %utcdate pattern. - The date conversion - specifier may be followed by a date format specifier enclosed - between braces. For example, %date{HH:mm:ss,fff} or - %date{dd MMM yyyy HH:mm:ss,fff}. If no date format specifier is - given then ISO8601 format is - assumed (). - - - The date format specifier admits the same syntax as the - time pattern string of the . - - - For better results it is recommended to use the log4net date - formatters. These can be specified using one of the strings - "ABSOLUTE", "DATE" and "ISO8601" for specifying - , - and respectively - . For example, - %date{ISO8601} or %date{ABSOLUTE}. - - - These dedicated date formatters perform significantly - better than . - - - - - env - - - Used to output the a specific environment variable. The key to - lookup must be specified within braces and directly following the - pattern specifier, e.g. %env{COMPUTERNAME} would include the value - of the COMPUTERNAME environment variable. - - - The env pattern is not supported on the .NET Compact Framework. - - - - - identity - - - Used to output the user name for the currently active user - (Principal.Identity.Name). - - - - - newline - - - Outputs the platform dependent line separator character or - characters. - - - This conversion pattern name offers the same performance as using - non-portable line separator strings such as "\n", or "\r\n". - Thus, it is the preferred way of specifying a line separator. - - - - - processid - - - Used to output the system process ID for the current process. - - - - - property - - - Used to output a specific context property. The key to - lookup must be specified within braces and directly following the - pattern specifier, e.g. %property{user} would include the value - from the property that is keyed by the string 'user'. Each property value - that is to be included in the log must be specified separately. - Properties are stored in logging contexts. By default - the log4net:HostName property is set to the name of machine on - which the event was originally logged. - - - If no key is specified, e.g. %property then all the keys and their - values are printed in a comma separated list. - - - The properties of an event are combined from a number of different - contexts. These are listed below in the order in which they are searched. - - - - the thread properties - - The that are set on the current - thread. These properties are shared by all events logged on this thread. - - - - the global properties - - The that are set globally. These - properties are shared by all the threads in the AppDomain. - - - - - - - random - - - Used to output a random string of characters. The string is made up of - uppercase letters and numbers. By default the string is 4 characters long. - The length of the string can be specified within braces directly following the - pattern specifier, e.g. %random{8} would output an 8 character string. - - - - - username - - - Used to output the WindowsIdentity for the currently - active user. - - - - - utcdate - - - Used to output the date of the logging event in universal time. - The date conversion - specifier may be followed by a date format specifier enclosed - between braces. For example, %utcdate{HH:mm:ss,fff} or - %utcdate{dd MMM yyyy HH:mm:ss,fff}. If no date format specifier is - given then ISO8601 format is - assumed (). - - - The date format specifier admits the same syntax as the - time pattern string of the . - - - For better results it is recommended to use the log4net date - formatters. These can be specified using one of the strings - "ABSOLUTE", "DATE" and "ISO8601" for specifying - , - and respectively - . For example, - %utcdate{ISO8601} or %utcdate{ABSOLUTE}. - - - These dedicated date formatters perform significantly - better than . - - - - - % - - - The sequence %% outputs a single percent sign. - - - - - - Additional pattern converters may be registered with a specific - instance using or - . - - - See the for details on the - format modifiers supported by the patterns. - - - Nicko Cadell - - - - Internal map of converter identifiers to converter types. - - - - - the pattern - - - - - the head of the pattern converter chain - - - - - patterns defined on this PatternString only - - - - - Initialize the global registry - - - - - Default constructor - - - - Initialize a new instance of - - - - - - Constructs a PatternString - - The pattern to use with this PatternString - - - Initialize a new instance of with the pattern specified. - - - - - - Initialize object options - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - - - - Create the used to parse the pattern - - the pattern to parse - The - - - Returns PatternParser used to parse the conversion string. Subclasses - may override this to return a subclass of PatternParser which recognize - custom conversion pattern name. - - - - - - Produces a formatted string as specified by the conversion pattern. - - The TextWriter to write the formatted event to - - - Format the pattern to the . - - - - - - Format the pattern as a string - - the pattern formatted as a string - - - Format the pattern to a string. - - - - - - Add a converter to this PatternString - - the converter info - - - This version of the method is used by the configurator. - Programmatic users should use the alternative method. - - - - - - Add a converter to this PatternString - - the name of the conversion pattern for this converter - the type of the converter - - - Add a converter to this PatternString - - - - - - Gets or sets the pattern formatting string - - - The pattern formatting string - - - - The ConversionPattern option. This is the string which - controls formatting and consists of a mix of literal content and - conversion specifiers. - - - - - - Wrapper class used to map converter names to converter types - - - - Wrapper class used to map converter names to converter types - - - - - - default constructor - - - - - Gets or sets the name of the conversion pattern - - - The name of the conversion pattern - - - - Gets or sets the name of the conversion pattern - - - - - - Gets or sets the type of the converter - - - The type of the converter - - - - Gets or sets the type of the converter - - - - - - String keyed object map. - - - - While this collection is serializable only member - objects that are serializable will - be serialized along with this collection. - - - Nicko Cadell - Gert Driesen - - - - String keyed object map that is read only. - - - - This collection is readonly and cannot be modified. - - - While this collection is serializable only member - objects that are serializable will - be serialized along with this collection. - - - Nicko Cadell - Gert Driesen - - - - The Hashtable used to store the properties data - - - - - Constructor - - - - Initializes a new instance of the class. - - - - - - Copy Constructor - - properties to copy - - - Initializes a new instance of the class. - - - - - - Deserialization constructor - - The that holds the serialized object data. - The that contains contextual information about the source or destination. - - - Initializes a new instance of the class - with serialized data. - - - - - - Gets the key names. - - An array of all the keys. - - - Gets the key names. - - - - - - Test if the dictionary contains a specified key - - the key to look for - true if the dictionary contains the specified key - - - Test if the dictionary contains a specified key - - - - - - Serializes this object into the provided. - - The to populate with data. - The destination for this serialization. - - - Serializes this object into the provided. - - - - - - See - - - - - See - - - - - - See - - - - - - - Remove all properties from the properties collection - - - - - See - - - - - - - See - - - - - - - See - - - - - Gets or sets the value of the property with the specified key. - - - The value of the property with the specified key. - - The key of the property to get or set. - - - The property value will only be serialized if it is serializable. - If it cannot be serialized it will be silently ignored if - a serialization operation is performed. - - - - - - The hashtable used to store the properties - - - The internal collection used to store the properties - - - - The hashtable used to store the properties - - - - - - See - - - - - See - - - - - See - - - - - See - - - - - See - - - - - See - - - - - The number of properties in this collection - - - - - See - - - - - Constructor - - - - Initializes a new instance of the class. - - - - - - Constructor - - properties to copy - - - Initializes a new instance of the class. - - - - - - Initializes a new instance of the class - with serialized data. - - The that holds the serialized object data. - The that contains contextual information about the source or destination. - - - Because this class is sealed the serialization constructor is private. - - - - - - Remove the entry with the specified key from this dictionary - - the key for the entry to remove - - - Remove the entry with the specified key from this dictionary - - - - - - See - - an enumerator - - - Returns a over the contest of this collection. - - - - - - See - - the key to remove - - - Remove the entry with the specified key from this dictionary - - - - - - See - - the key to lookup in the collection - true if the collection contains the specified key - - - Test if this collection contains a specified key. - - - - - - Remove all properties from the properties collection - - - - Remove all properties from the properties collection - - - - - - See - - the key - the value to store for the key - - - Store a value for the specified . - - - Thrown if the is not a string - - - - See - - - - - - - See - - - - - Gets or sets the value of the property with the specified key. - - - The value of the property with the specified key. - - The key of the property to get or set. - - - The property value will only be serialized if it is serializable. - If it cannot be serialized it will be silently ignored if - a serialization operation is performed. - - - - - - See - - - false - - - - This collection is modifiable. This property always - returns false. - - - - - - See - - - The value for the key specified. - - - - Get or set a value for the specified . - - - Thrown if the is not a string - - - - See - - - - - See - - - - - See - - - - - See - - - - - See - - - - - A that ignores the message - - - - This writer is used in special cases where it is necessary - to protect a writer from being closed by a client. - - - Nicko Cadell - - - - Constructor - - the writer to actually write to - - - Create a new ProtectCloseTextWriter using a writer - - - - - - Attach this instance to a different underlying - - the writer to attach to - - - Attach this instance to a different underlying - - - - - - Does not close the underlying output writer. - - - - Does not close the underlying output writer. - This method does nothing. - - - - - - Defines a lock that supports single writers and multiple readers - - - - ReaderWriterLock is used to synchronize access to a resource. - At any given time, it allows either concurrent read access for - multiple threads, or write access for a single thread. In a - situation where a resource is changed infrequently, a - ReaderWriterLock provides better throughput than a simple - one-at-a-time lock, such as . - - - If a platform does not support a System.Threading.ReaderWriterLock - implementation then all readers and writers are serialized. Therefore - the caller must not rely on multiple simultaneous readers. - - - Nicko Cadell - - - - Constructor - - - - Initializes a new instance of the class. - - - - - - Acquires a reader lock - - - - blocks if a different thread has the writer - lock, or if at least one thread is waiting for the writer lock. - - - - - - Decrements the lock count - - - - decrements the lock count. When the count - reaches zero, the lock is released. - - - - - - Acquires the writer lock - - - - This method blocks if another thread has a reader lock or writer lock. - - - - - - Decrements the lock count on the writer lock - - - - ReleaseWriterLock decrements the writer lock count. - When the count reaches zero, the writer lock is released. - - - - - - A that can be and reused - - - - A that can be and reused. - This uses a single buffer for string operations. - - - Nicko Cadell - - - - Create an instance of - - the format provider to use - - - Create an instance of - - - - - - Override Dispose to prevent closing of writer - - flag - - - Override Dispose to prevent closing of writer - - - - - - Reset this string writer so that it can be reused. - - the maximum buffer capacity before it is trimmed - the default size to make the buffer - - - Reset this string writer so that it can be reused. - The internal buffers are cleared and reset. - - - - - - Utility class for system specific information. - - - - Utility class of static methods for system specific information. - - - Nicko Cadell - Gert Driesen - Alexey Solofnenko - - - - Private constructor to prevent instances. - - - - Only static methods are exposed from this type. - - - - - - Initialize default values for private static fields. - - - - Only static methods are exposed from this type. - - - - - - Gets the assembly location path for the specified assembly. - - The assembly to get the location for. - The location of the assembly. - - - This method does not guarantee to return the correct path - to the assembly. If only tries to give an indication as to - where the assembly was loaded from. - - - - - - Gets the fully qualified name of the , including - the name of the assembly from which the was - loaded. - - The to get the fully qualified name for. - The fully qualified name for the . - - - This is equivalent to the Type.AssemblyQualifiedName property, - but this method works on the .NET Compact Framework 1.0 as well as - the full .NET runtime. - - - - - - Gets the short name of the . - - The to get the name for. - The short name of the . - - - The short name of the assembly is the - without the version, culture, or public key. i.e. it is just the - assembly's file name without the extension. - - - Use this rather than Assembly.GetName().Name because that - is not available on the Compact Framework. - - - Because of a FileIOPermission security demand we cannot do - the obvious Assembly.GetName().Name. We are allowed to get - the of the assembly so we - start from there and strip out just the assembly name. - - - - - - Gets the file name portion of the , including the extension. - - The to get the file name for. - The file name of the assembly. - - - Gets the file name portion of the , including the extension. - - - - - - Loads the type specified in the type string. - - A sibling type to use to load the type. - The name of the type to load. - Flag set to true to throw an exception if the type cannot be loaded. - true to ignore the case of the type name; otherwise, false - The type loaded or null if it could not be loaded. - - - If the type name is fully qualified, i.e. if contains an assembly name in - the type name, the type will be loaded from the system using - . - - - If the type name is not fully qualified, it will be loaded from the assembly - containing the specified relative type. If the type is not found in the assembly - then all the loaded assemblies will be searched for the type. - - - - - - Loads the type specified in the type string. - - The name of the type to load. - Flag set to true to throw an exception if the type cannot be loaded. - true to ignore the case of the type name; otherwise, false - The type loaded or null if it could not be loaded. - - - If the type name is fully qualified, i.e. if contains an assembly name in - the type name, the type will be loaded from the system using - . - - - If the type name is not fully qualified it will be loaded from the - assembly that is directly calling this method. If the type is not found - in the assembly then all the loaded assemblies will be searched for the type. - - - - - - Loads the type specified in the type string. - - An assembly to load the type from. - The name of the type to load. - Flag set to true to throw an exception if the type cannot be loaded. - true to ignore the case of the type name; otherwise, false - The type loaded or null if it could not be loaded. - - - If the type name is fully qualified, i.e. if contains an assembly name in - the type name, the type will be loaded from the system using - . - - - If the type name is not fully qualified it will be loaded from the specified - assembly. If the type is not found in the assembly then all the loaded assemblies - will be searched for the type. - - - - - - Generate a new guid - - A new Guid - - - Generate a new guid - - - - - - Create an - - The name of the parameter that caused the exception - The value of the argument that causes this exception - The message that describes the error - the ArgumentOutOfRangeException object - - - Create a new instance of the class - with a specified error message, the parameter name, and the value - of the argument. - - - The Compact Framework does not support the 3 parameter constructor for the - type. This method provides an - implementation that works for all platforms. - - - - - - Parse a string into an value - - the string to parse - out param where the parsed value is placed - true if the string was able to be parsed into an integer - - - Attempts to parse the string into an integer. If the string cannot - be parsed then this method returns false. The method does not throw an exception. - - - - - - Parse a string into an value - - the string to parse - out param where the parsed value is placed - true if the string was able to be parsed into an integer - - - Attempts to parse the string into an integer. If the string cannot - be parsed then this method returns false. The method does not throw an exception. - - - - - - Lookup an application setting - - the application settings key to lookup - the value for the key, or null - - - Configuration APIs are not supported under the Compact Framework - - - - - - Convert a path into a fully qualified local file path. - - The path to convert. - The fully qualified path. - - - Converts the path specified to a fully - qualified path. If the path is relative it is - taken as relative from the application base - directory. - - - The path specified must be a local file path, a URI is not supported. - - - - - - Creates a new case-insensitive instance of the class with the default initial capacity. - - A new case-insensitive instance of the class with the default initial capacity - - - The new Hashtable instance uses the default load factor, the CaseInsensitiveHashCodeProvider, and the CaseInsensitiveComparer. - - - - - - Gets an empty array of types. - - - - The Type.EmptyTypes field is not available on - the .NET Compact Framework 1.0. - - - - - - Cache the host name for the current machine - - - - - Cache the application friendly name - - - - - Text to output when a null is encountered. - - - - - Text to output when an unsupported feature is requested. - - - - - Start time for the current process. - - - - - Gets the system dependent line terminator. - - - The system dependent line terminator. - - - - Gets the system dependent line terminator. - - - - - - Gets the base directory for this . - - The base directory path for the current . - - - Gets the base directory for this . - - - The value returned may be either a local file path or a URI. - - - - - - Gets the path to the configuration file for the current . - - The path to the configuration file for the current . - - - The .NET Compact Framework 1.0 does not have a concept of a configuration - file. For this runtime, we use the entry assembly location as the root for - the configuration file name. - - - The value returned may be either a local file path or a URI. - - - - - - Gets the path to the file that first executed in the current . - - The path to the entry assembly. - - - Gets the path to the file that first executed in the current . - - - - - - Gets the ID of the current thread. - - The ID of the current thread. - - - On the .NET framework, the AppDomain.GetCurrentThreadId method - is used to obtain the thread ID for the current thread. This is the - operating system ID for the thread. - - - On the .NET Compact Framework 1.0 it is not possible to get the - operating system thread ID for the current thread. The native method - GetCurrentThreadId is implemented inline in a header file - and cannot be called. - - - On the .NET Framework 2.0 the Thread.ManagedThreadId is used as this - gives a stable id unrelated to the operating system thread ID which may - change if the runtime is using fibers. - - - - - - Get the host name or machine name for the current machine - - - The hostname or machine name - - - - Get the host name or machine name for the current machine - - - The host name () or - the machine name (Environment.MachineName) for - the current machine, or if neither of these are available - then NOT AVAILABLE is returned. - - - - - - Get this application's friendly name - - - The friendly name of this application as a string - - - - If available the name of the application is retrieved from - the AppDomain using AppDomain.CurrentDomain.FriendlyName. - - - Otherwise the file name of the entry assembly is used. - - - - - - Get the start time for the current process. - - - - This is the time at which the log4net library was loaded into the - AppDomain. Due to reports of a hang in the call to System.Diagnostics.Process.StartTime - this is not the start time for the current process. - - - The log4net library should be loaded by an application early during its - startup, therefore this start time should be a good approximation for - the actual start time. - - - Note that AppDomains may be loaded and unloaded within the - same process without the process terminating, however this start time - will be set per AppDomain. - - - - - - Text to output when a null is encountered. - - - - Use this value to indicate a null has been encountered while - outputting a string representation of an item. - - - The default value is (null). This value can be overridden by specifying - a value for the log4net.NullText appSetting in the application's - .config file. - - - - - - Text to output when an unsupported feature is requested. - - - - Use this value when an unsupported feature is requested. - - - The default value is NOT AVAILABLE. This value can be overridden by specifying - a value for the log4net.NotAvailableText appSetting in the application's - .config file. - - - - - - Utility class that represents a format string. - - - - Utility class that represents a format string. - - - Nicko Cadell - - - - Initialise the - - An that supplies culture-specific formatting information. - A containing zero or more format items. - An array containing zero or more objects to format. - - - - Format the string and arguments - - the formatted string - - - - Replaces the format item in a specified with the text equivalent - of the value of a corresponding instance in a specified array. - A specified parameter supplies culture-specific formatting information. - - An that supplies culture-specific formatting information. - A containing zero or more format items. - An array containing zero or more objects to format. - - A copy of format in which the format items have been replaced by the - equivalent of the corresponding instances of in args. - - - - This method does not throw exceptions. If an exception thrown while formatting the result the - exception and arguments are returned in the result string. - - - - - - Process an error during StringFormat - - - - - Dump the contents of an array into a string builder - - - - - Dump an object to a string - - - - - Implementation of Properties collection for the - - - - Class implements a collection of properties that is specific to each thread. - The class is not synchronized as each thread has its own . - - - Nicko Cadell - - - - The thread local data slot to use to store a PropertiesDictionary. - - - - - Internal constructor - - - - Initializes a new instance of the class. - - - - - - Remove a property - - the key for the entry to remove - - - Remove a property - - - - - - Clear all properties - - - - Clear all properties - - - - - - Get the PropertiesDictionary for this thread. - - create the dictionary if it does not exist, otherwise return null if is does not exist - the properties for this thread - - - The collection returned is only to be used on the calling thread. If the - caller needs to share the collection between different threads then the - caller must clone the collection before doing so. - - - - - - Gets or sets the value of a property - - - The value for the property with the specified key - - - - Gets or sets the value of a property - - - - - - Implementation of Stack for the - - - - Implementation of Stack for the - - - Nicko Cadell - - - - The stack store. - - - - - Internal constructor - - - - Initializes a new instance of the class. - - - - - - Clears all the contextual information held in this stack. - - - - Clears all the contextual information held in this stack. - Only call this if you think that this tread is being reused after - a previous call execution which may not have completed correctly. - You do not need to use this method if you always guarantee to call - the method of the - returned from even in exceptional circumstances, - for example by using the using(log4net.ThreadContext.Stacks["NDC"].Push("Stack_Message")) - syntax. - - - - - - Removes the top context from this stack. - - The message in the context that was removed from the top of this stack. - - - Remove the top context from this stack, and return - it to the caller. If this stack is empty then an - empty string (not ) is returned. - - - - - - Pushes a new context message into this stack. - - The new context message. - - An that can be used to clean up the context stack. - - - - Pushes a new context onto this stack. An - is returned that can be used to clean up this stack. This - can be easily combined with the using keyword to scope the - context. - - - Simple example of using the Push method with the using keyword. - - using(log4net.ThreadContext.Stacks["NDC"].Push("Stack_Message")) - { - log.Warn("This should have an ThreadContext Stack message"); - } - - - - - - Gets the current context information for this stack. - - The current context information. - - - - Gets the current context information for this stack. - - Gets the current context information - - - Gets the current context information for this stack. - - - - - - Get a portable version of this object - - the portable instance of this object - - - Get a cross thread portable version of this object - - - - - - The number of messages in the stack - - - The current number of messages in the stack - - - - The current number of messages in the stack. That is - the number of times has been called - minus the number of times has been called. - - - - - - Gets and sets the internal stack used by this - - The internal storage stack - - - This property is provided only to support backward compatability - of the . Tytpically the internal stack should not - be modified. - - - - - - Inner class used to represent a single context frame in the stack. - - - - Inner class used to represent a single context frame in the stack. - - - - - - Constructor - - The message for this context. - The parent context in the chain. - - - Initializes a new instance of the class - with the specified message and parent context. - - - - - - Get the message. - - The message. - - - Get the message. - - - - - - Gets the full text of the context down to the root level. - - - The full text of the context down to the root level. - - - - Gets the full text of the context down to the root level. - - - - - - Struct returned from the method. - - - - This struct implements the and is designed to be used - with the pattern to remove the stack frame at the end of the scope. - - - - - - The ThreadContextStack internal stack - - - - - The depth to trim the stack to when this instance is disposed - - - - - Constructor - - The internal stack used by the ThreadContextStack. - The depth to return the stack to when this object is disposed. - - - Initializes a new instance of the class with - the specified stack and return depth. - - - - - - Returns the stack to the correct depth. - - - - Returns the stack to the correct depth. - - - - - - Implementation of Stacks collection for the - - - - Implementation of Stacks collection for the - - - Nicko Cadell - - - - Internal constructor - - - - Initializes a new instance of the class. - - - - - - Gets the named thread context stack - - - The named stack - - - - Gets the named thread context stack - - - - - - Utility class for transforming strings. - - - - Utility class for transforming strings. - - - Nicko Cadell - Gert Driesen - - - - Initializes a new instance of the class. - - - - Uses a private access modifier to prevent instantiation of this class. - - - - - - Write a string to an - - the writer to write to - the string to write - The string to replace non XML compliant chars with - - - The test is escaped either using XML escape entities - or using CDATA sections. - - - - - - Replace invalid XML characters in text string - - the XML text input string - the string to use in place of invalid characters - A string that does not contain invalid XML characters. - - - Certain Unicode code points are not allowed in the XML InfoSet, for - details see: http://www.w3.org/TR/REC-xml/#charsets. - - - This method replaces any illegal characters in the input string - with the mask string specified. - - - - - - Count the number of times that the substring occurs in the text - - the text to search - the substring to find - the number of times the substring occurs in the text - - - The substring is assumed to be non repeating within itself. - - - - - - Impersonate a Windows Account - - - - This impersonates a Windows account. - - - How the impersonation is done depends on the value of . - This allows the context to either impersonate a set of user credentials specified - using username, domain name and password or to revert to the process credentials. - - - - - - Default constructor - - - - Default constructor - - - - - - Initialize the SecurityContext based on the options set. - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - The security context will try to Logon the specified user account and - capture a primary token for impersonation. - - - The required , - or properties were not specified. - - - - Impersonate the Windows account specified by the and properties. - - caller provided state - - An instance that will revoke the impersonation of this SecurityContext - - - - Depending on the property either - impersonate a user using credentials supplied or revert - to the process credentials. - - - - - - Create a given the userName, domainName and password. - - the user name - the domain name - the password - the for the account specified - - - Uses the Windows API call LogonUser to get a principal token for the account. This - token is used to initialize the WindowsIdentity. - - - - - - Gets or sets the impersonation mode for this security context - - - The impersonation mode for this security context - - - - Impersonate either a user with user credentials or - revert this thread to the credentials of the process. - The value is one of the - enum. - - - The default value is - - - When the mode is set to - the user's credentials are established using the - , and - values. - - - When the mode is set to - no other properties need to be set. If the calling thread is - impersonating then it will be reverted back to the process credentials. - - - - - - Gets or sets the Windows username for this security context - - - The Windows username for this security context - - - - This property must be set if - is set to (the default setting). - - - - - - Gets or sets the Windows domain name for this security context - - - The Windows domain name for this security context - - - - The default value for is the local machine name - taken from the property. - - - This property must be set if - is set to (the default setting). - - - - - - Sets the password for the Windows account specified by the and properties. - - - The password for the Windows account specified by the and properties. - - - - This property must be set if - is set to (the default setting). - - - - - - The impersonation modes for the - - - - See the property for - details. - - - - - - Impersonate a user using the credentials supplied - - - - - Revert this the thread to the credentials of the process - - - - - Adds to - - - - Helper class to expose the - through the interface. - - - - - - Constructor - - the impersonation context being wrapped - - - Constructor - - - - - - Revert the impersonation - - - - Revert the impersonation - - - - - - The log4net Global Context. - - - - The GlobalContext provides a location for global debugging - information to be stored. - - - The global context has a properties map and these properties can - be included in the output of log messages. The - supports selecting and outputing these properties. - - - By default the log4net:HostName property is set to the name of - the current machine. - - - - - GlobalContext.Properties["hostname"] = Environment.MachineName; - - - - Nicko Cadell - - - - Private Constructor. - - - Uses a private access modifier to prevent instantiation of this class. - - - - - The global context properties instance - - - - - The global properties map. - - - The global properties map. - - - - The global properties map. - - - - - - The log4net Logical Thread Context. - - - - The LogicalThreadContext provides a location for specific debugging - information to be stored. - The LogicalThreadContext properties override any or - properties with the same name. - - - The Logical Thread Context has a properties map and a stack. - The properties and stack can - be included in the output of log messages. The - supports selecting and outputting these properties. - - - The Logical Thread Context provides a diagnostic context for the current call context. - This is an instrument for distinguishing interleaved log - output from different sources. Log output is typically interleaved - when a server handles multiple clients near-simultaneously. - - - The Logical Thread Context is managed on a per basis. - - - Example of using the thread context properties to store a username. - - LogicalThreadContext.Properties["user"] = userName; - log.Info("This log message has a LogicalThreadContext Property called 'user'"); - - - Example of how to push a message into the context stack - - using(LogicalThreadContext.Stacks["LDC"].Push("my context message")) - { - log.Info("This log message has a LogicalThreadContext Stack message that includes 'my context message'"); - - } // at the end of the using block the message is automatically popped - - - - Nicko Cadell - - - - Private Constructor. - - - - Uses a private access modifier to prevent instantiation of this class. - - - - - - The thread context properties instance - - - - - The thread context stacks instance - - - - - The thread properties map - - - The thread properties map - - - - The LogicalThreadContext properties override any - or properties with the same name. - - - - - - The thread stacks - - - stack map - - - - The logical thread stacks. - - - - - - This class is used by client applications to request logger instances. - - - - This class has static methods that are used by a client to request - a logger instance. The method is - used to retrieve a logger. - - - See the interface for more details. - - - Simple example of logging messages - - ILog log = LogManager.GetLogger("application-log"); - - log.Info("Application Start"); - log.Debug("This is a debug message"); - - if (log.IsDebugEnabled) - { - log.Debug("This is another debug message"); - } - - - - - Nicko Cadell - Gert Driesen - - - - Initializes a new instance of the class. - - - Uses a private access modifier to prevent instantiation of this class. - - - - Returns the named logger if it exists. - - Returns the named logger if it exists. - - - - If the named logger exists (in the default repository) then it - returns a reference to the logger, otherwise it returns null. - - - The fully qualified logger name to look for. - The logger found, or null if no logger could be found. - - - - Returns the named logger if it exists. - - - - If the named logger exists (in the specified repository) then it - returns a reference to the logger, otherwise it returns - null. - - - The repository to lookup in. - The fully qualified logger name to look for. - - The logger found, or null if the logger doesn't exist in the specified - repository. - - - - - Returns the named logger if it exists. - - - - If the named logger exists (in the repository for the specified assembly) then it - returns a reference to the logger, otherwise it returns - null. - - - The assembly to use to lookup the repository. - The fully qualified logger name to look for. - - The logger, or null if the logger doesn't exist in the specified - assembly's repository. - - - - Get the currently defined loggers. - - Returns all the currently defined loggers in the default repository. - - - The root logger is not included in the returned array. - - All the defined loggers. - - - - Returns all the currently defined loggers in the specified repository. - - The repository to lookup in. - - The root logger is not included in the returned array. - - All the defined loggers. - - - - Returns all the currently defined loggers in the specified assembly's repository. - - The assembly to use to lookup the repository. - - The root logger is not included in the returned array. - - All the defined loggers. - - - Get or create a logger. - - Retrieves or creates a named logger. - - - - Retrieves a logger named as the - parameter. If the named logger already exists, then the - existing instance will be returned. Otherwise, a new instance is - created. - - By default, loggers do not have a set level but inherit - it from the hierarchy. This is one of the central features of - log4net. - - - The name of the logger to retrieve. - The logger with the name specified. - - - - Retrieves or creates a named logger. - - - - Retrieve a logger named as the - parameter. If the named logger already exists, then the - existing instance will be returned. Otherwise, a new instance is - created. - - - By default, loggers do not have a set level but inherit - it from the hierarchy. This is one of the central features of - log4net. - - - The repository to lookup in. - The name of the logger to retrieve. - The logger with the name specified. - - - - Retrieves or creates a named logger. - - - - Retrieve a logger named as the - parameter. If the named logger already exists, then the - existing instance will be returned. Otherwise, a new instance is - created. - - - By default, loggers do not have a set level but inherit - it from the hierarchy. This is one of the central features of - log4net. - - - The assembly to use to lookup the repository. - The name of the logger to retrieve. - The logger with the name specified. - - - - Shorthand for . - - - Get the logger for the fully qualified name of the type specified. - - The full name of will be used as the name of the logger to retrieve. - The logger with the name specified. - - - - Shorthand for . - - - Gets the logger for the fully qualified name of the type specified. - - The repository to lookup in. - The full name of will be used as the name of the logger to retrieve. - The logger with the name specified. - - - - Shorthand for . - - - Gets the logger for the fully qualified name of the type specified. - - The assembly to use to lookup the repository. - The full name of will be used as the name of the logger to retrieve. - The logger with the name specified. - - - - Shuts down the log4net system. - - - - Calling this method will safely close and remove all - appenders in all the loggers including root contained in all the - default repositories. - - - Some appenders need to be closed before the application exists. - Otherwise, pending logging events might be lost. - - The shutdown method is careful to close nested - appenders before closing regular appenders. This is allows - configurations where a regular appender is attached to a logger - and again to a nested appender. - - - - - Shutdown a logger repository. - - Shuts down the default repository. - - - - Calling this method will safely close and remove all - appenders in all the loggers including root contained in the - default repository. - - Some appenders need to be closed before the application exists. - Otherwise, pending logging events might be lost. - - The shutdown method is careful to close nested - appenders before closing regular appenders. This is allows - configurations where a regular appender is attached to a logger - and again to a nested appender. - - - - - - Shuts down the repository for the repository specified. - - - - Calling this method will safely close and remove all - appenders in all the loggers including root contained in the - specified. - - - Some appenders need to be closed before the application exists. - Otherwise, pending logging events might be lost. - - The shutdown method is careful to close nested - appenders before closing regular appenders. This is allows - configurations where a regular appender is attached to a logger - and again to a nested appender. - - - The repository to shutdown. - - - - Shuts down the repository specified. - - - - Calling this method will safely close and remove all - appenders in all the loggers including root contained in the - repository. The repository is looked up using - the specified. - - - Some appenders need to be closed before the application exists. - Otherwise, pending logging events might be lost. - - - The shutdown method is careful to close nested - appenders before closing regular appenders. This is allows - configurations where a regular appender is attached to a logger - and again to a nested appender. - - - The assembly to use to lookup the repository. - - - Reset the configuration of a repository - - Resets all values contained in this repository instance to their defaults. - - - - Resets all values contained in the repository instance to their - defaults. This removes all appenders from all loggers, sets - the level of all non-root loggers to null, - sets their additivity flag to true and sets the level - of the root logger to . Moreover, - message disabling is set to its default "off" value. - - - - - - Resets all values contained in this repository instance to their defaults. - - - - Reset all values contained in the repository instance to their - defaults. This removes all appenders from all loggers, sets - the level of all non-root loggers to null, - sets their additivity flag to true and sets the level - of the root logger to . Moreover, - message disabling is set to its default "off" value. - - - The repository to reset. - - - - Resets all values contained in this repository instance to their defaults. - - - - Reset all values contained in the repository instance to their - defaults. This removes all appenders from all loggers, sets - the level of all non-root loggers to null, - sets their additivity flag to true and sets the level - of the root logger to . Moreover, - message disabling is set to its default "off" value. - - - The assembly to use to lookup the repository to reset. - - - Get the logger repository. - - Returns the default instance. - - - - Gets the for the repository specified - by the callers assembly (). - - - The instance for the default repository. - - - - Returns the default instance. - - The default instance. - - - Gets the for the repository specified - by the argument. - - - The repository to lookup in. - - - - Returns the default instance. - - The default instance. - - - Gets the for the repository specified - by the argument. - - - The assembly to use to lookup the repository. - - - Get a logger repository. - - Returns the default instance. - - - - Gets the for the repository specified - by the callers assembly (). - - - The instance for the default repository. - - - - Returns the default instance. - - The default instance. - - - Gets the for the repository specified - by the argument. - - - The repository to lookup in. - - - - Returns the default instance. - - The default instance. - - - Gets the for the repository specified - by the argument. - - - The assembly to use to lookup the repository. - - - Create a domain - - Creates a repository with the specified repository type. - - - - CreateDomain is obsolete. Use CreateRepository instead of CreateDomain. - - - The created will be associated with the repository - specified such that a call to will return - the same repository instance. - - - A that implements - and has a no arg constructor. An instance of this type will be created to act - as the for the repository specified. - The created for the repository. - - - Create a logger repository. - - Creates a repository with the specified repository type. - - A that implements - and has a no arg constructor. An instance of this type will be created to act - as the for the repository specified. - The created for the repository. - - - The created will be associated with the repository - specified such that a call to will return - the same repository instance. - - - - - - Creates a repository with the specified name. - - - - CreateDomain is obsolete. Use CreateRepository instead of CreateDomain. - - - Creates the default type of which is a - object. - - - The name must be unique. Repositories cannot be redefined. - An will be thrown if the repository already exists. - - - The name of the repository, this must be unique amongst repositories. - The created for the repository. - The specified repository already exists. - - - - Creates a repository with the specified name. - - - - Creates the default type of which is a - object. - - - The name must be unique. Repositories cannot be redefined. - An will be thrown if the repository already exists. - - - The name of the repository, this must be unique amongst repositories. - The created for the repository. - The specified repository already exists. - - - - Creates a repository with the specified name and repository type. - - - - CreateDomain is obsolete. Use CreateRepository instead of CreateDomain. - - - The name must be unique. Repositories cannot be redefined. - An will be thrown if the repository already exists. - - - The name of the repository, this must be unique to the repository. - A that implements - and has a no arg constructor. An instance of this type will be created to act - as the for the repository specified. - The created for the repository. - The specified repository already exists. - - - - Creates a repository with the specified name and repository type. - - - - The name must be unique. Repositories cannot be redefined. - An will be thrown if the repository already exists. - - - The name of the repository, this must be unique to the repository. - A that implements - and has a no arg constructor. An instance of this type will be created to act - as the for the repository specified. - The created for the repository. - The specified repository already exists. - - - - Creates a repository for the specified assembly and repository type. - - - - CreateDomain is obsolete. Use CreateRepository instead of CreateDomain. - - - The created will be associated with the repository - specified such that a call to with the - same assembly specified will return the same repository instance. - - - The assembly to use to get the name of the repository. - A that implements - and has a no arg constructor. An instance of this type will be created to act - as the for the repository specified. - The created for the repository. - - - - Creates a repository for the specified assembly and repository type. - - - - The created will be associated with the repository - specified such that a call to with the - same assembly specified will return the same repository instance. - - - The assembly to use to get the name of the repository. - A that implements - and has a no arg constructor. An instance of this type will be created to act - as the for the repository specified. - The created for the repository. - - - - Gets the list of currently defined repositories. - - - - Get an array of all the objects that have been created. - - - An array of all the known objects. - - - - Looks up the wrapper object for the logger specified. - - The logger to get the wrapper for. - The wrapper for the logger specified. - - - - Looks up the wrapper objects for the loggers specified. - - The loggers to get the wrappers for. - The wrapper objects for the loggers specified. - - - - Create the objects used by - this manager. - - The logger to wrap. - The wrapper for the logger specified. - - - - The wrapper map to use to hold the objects. - - - - - Implementation of Mapped Diagnostic Contexts. - - - - - The MDC is deprecated and has been replaced by the . - The current MDC implementation forwards to the ThreadContext.Properties. - - - - The MDC class is similar to the class except that it is - based on a map instead of a stack. It provides mapped - diagnostic contexts. A Mapped Diagnostic Context, or - MDC in short, is an instrument for distinguishing interleaved log - output from different sources. Log output is typically interleaved - when a server handles multiple clients near-simultaneously. - - - The MDC is managed on a per thread basis. - - - - Nicko Cadell - Gert Driesen - - - - Initializes a new instance of the class. - - - Uses a private access modifier to prevent instantiation of this class. - - - - - Gets the context value identified by the parameter. - - The key to lookup in the MDC. - The string value held for the key, or a null reference if no corresponding value is found. - - - - The MDC is deprecated and has been replaced by the . - The current MDC implementation forwards to the ThreadContext.Properties. - - - - If the parameter does not look up to a - previously defined context then null will be returned. - - - - - - Add an entry to the MDC - - The key to store the value under. - The value to store. - - - - The MDC is deprecated and has been replaced by the . - The current MDC implementation forwards to the ThreadContext.Properties. - - - - Puts a context value (the parameter) as identified - with the parameter into the current thread's - context map. - - - If a value is already defined for the - specified then the value will be replaced. If the - is specified as null then the key value mapping will be removed. - - - - - - Removes the key value mapping for the key specified. - - The key to remove. - - - - The MDC is deprecated and has been replaced by the . - The current MDC implementation forwards to the ThreadContext.Properties. - - - - Remove the specified entry from this thread's MDC - - - - - - Clear all entries in the MDC - - - - - The MDC is deprecated and has been replaced by the . - The current MDC implementation forwards to the ThreadContext.Properties. - - - - Remove all the entries from this thread's MDC - - - - - - Implementation of Nested Diagnostic Contexts. - - - - - The NDC is deprecated and has been replaced by the . - The current NDC implementation forwards to the ThreadContext.Stacks["NDC"]. - - - - A Nested Diagnostic Context, or NDC in short, is an instrument - to distinguish interleaved log output from different sources. Log - output is typically interleaved when a server handles multiple - clients near-simultaneously. - - - Interleaved log output can still be meaningful if each log entry - from different contexts had a distinctive stamp. This is where NDCs - come into play. - - - Note that NDCs are managed on a per thread basis. The NDC class - is made up of static methods that operate on the context of the - calling thread. - - - How to push a message into the context - - using(NDC.Push("my context message")) - { - ... all log calls will have 'my context message' included ... - - } // at the end of the using block the message is automatically removed - - - - Nicko Cadell - Gert Driesen - - - - Initializes a new instance of the class. - - - Uses a private access modifier to prevent instantiation of this class. - - - - - Clears all the contextual information held on the current thread. - - - - - The NDC is deprecated and has been replaced by the . - The current NDC implementation forwards to the ThreadContext.Stacks["NDC"]. - - - - Clears the stack of NDC data held on the current thread. - - - - - - Creates a clone of the stack of context information. - - A clone of the context info for this thread. - - - - The NDC is deprecated and has been replaced by the . - The current NDC implementation forwards to the ThreadContext.Stacks["NDC"]. - - - - The results of this method can be passed to the - method to allow child threads to inherit the context of their - parent thread. - - - - - - Inherits the contextual information from another thread. - - The context stack to inherit. - - - - The NDC is deprecated and has been replaced by the . - The current NDC implementation forwards to the ThreadContext.Stacks["NDC"]. - - - - This thread will use the context information from the stack - supplied. This can be used to initialize child threads with - the same contextual information as their parent threads. These - contexts will NOT be shared. Any further contexts that - are pushed onto the stack will not be visible to the other. - Call to obtain a stack to pass to - this method. - - - - - - Removes the top context from the stack. - - - The message in the context that was removed from the top - of the stack. - - - - - The NDC is deprecated and has been replaced by the . - The current NDC implementation forwards to the ThreadContext.Stacks["NDC"]. - - - - Remove the top context from the stack, and return - it to the caller. If the stack is empty then an - empty string (not null) is returned. - - - - - - Pushes a new context message. - - The new context message. - - An that can be used to clean up - the context stack. - - - - - The NDC is deprecated and has been replaced by the . - The current NDC implementation forwards to the ThreadContext.Stacks["NDC"]. - - - - Pushes a new context onto the context stack. An - is returned that can be used to clean up the context stack. This - can be easily combined with the using keyword to scope the - context. - - - Simple example of using the Push method with the using keyword. - - using(log4net.NDC.Push("NDC_Message")) - { - log.Warn("This should have an NDC message"); - } - - - - - - Removes the context information for this thread. It is - not required to call this method. - - - - - The NDC is deprecated and has been replaced by the . - The current NDC implementation forwards to the ThreadContext.Stacks["NDC"]. - - - - This method is not implemented. - - - - - - Forces the stack depth to be at most . - - The maximum depth of the stack - - - - The NDC is deprecated and has been replaced by the . - The current NDC implementation forwards to the ThreadContext.Stacks["NDC"]. - - - - Forces the stack depth to be at most . - This may truncate the head of the stack. This only affects the - stack in the current thread. Also it does not prevent it from - growing, it only sets the maximum depth at the time of the - call. This can be used to return to a known context depth. - - - - - - Gets the current context depth. - - The current context depth. - - - - The NDC is deprecated and has been replaced by the . - The current NDC implementation forwards to the ThreadContext.Stacks["NDC"]. - - - - The number of context values pushed onto the context stack. - - - Used to record the current depth of the context. This can then - be restored using the method. - - - - - - - The log4net Thread Context. - - - - The ThreadContext provides a location for thread specific debugging - information to be stored. - The ThreadContext properties override any - properties with the same name. - - - The thread context has a properties map and a stack. - The properties and stack can - be included in the output of log messages. The - supports selecting and outputting these properties. - - - The Thread Context provides a diagnostic context for the current thread. - This is an instrument for distinguishing interleaved log - output from different sources. Log output is typically interleaved - when a server handles multiple clients near-simultaneously. - - - The Thread Context is managed on a per thread basis. - - - Example of using the thread context properties to store a username. - - ThreadContext.Properties["user"] = userName; - log.Info("This log message has a ThreadContext Property called 'user'"); - - - Example of how to push a message into the context stack - - using(ThreadContext.Stacks["NDC"].Push("my context message")) - { - log.Info("This log message has a ThreadContext Stack message that includes 'my context message'"); - - } // at the end of the using block the message is automatically popped - - - - Nicko Cadell - - - - Private Constructor. - - - - Uses a private access modifier to prevent instantiation of this class. - - - - - - The thread context properties instance - - - - - The thread context stacks instance - - - - - The thread properties map - - - The thread properties map - - - - The ThreadContext properties override any - properties with the same name. - - - - - - The thread stacks - - - stack map - - - - The thread local stacks. - - - - - diff --git a/lib/NHibernate21/mono/2.0/Antlr3.Runtime.dll b/lib/NHibernate21/mono/2.0/Antlr3.Runtime.dll deleted file mode 100644 index 637fc3e3..00000000 Binary files a/lib/NHibernate21/mono/2.0/Antlr3.Runtime.dll and /dev/null differ diff --git a/lib/NHibernate21/mono/2.0/Iesi.Collections.dll b/lib/NHibernate21/mono/2.0/Iesi.Collections.dll deleted file mode 100644 index 32f2332f..00000000 Binary files a/lib/NHibernate21/mono/2.0/Iesi.Collections.dll and /dev/null differ diff --git a/lib/NHibernate21/mono/2.0/Iesi.Collections.license.txt b/lib/NHibernate21/mono/2.0/Iesi.Collections.license.txt deleted file mode 100644 index 66c4a8dc..00000000 --- a/lib/NHibernate21/mono/2.0/Iesi.Collections.license.txt +++ /dev/null @@ -1,9 +0,0 @@ -Copyright © 2002-2004 by Aidant Systems, Inc., and by Jason Smith. - -Copied from http://www.codeproject.com/csharp/sets.asp#xx703510xx that was posted by JasonSmith 12:13 2 Jan '04 - -Feel free to use this code any way you want to. As a favor to me, you can leave the copyright in there. You never know when someone might recognize your name! - -If you do use the code in a commercial product, I would appreciate hearing about it. This message serves as legal notice that I won't be suing you for royalties! The code is in the public domain. - -On the other hand, I don't provide support. The code is actually simple enough that it shouldn't need it. diff --git a/lib/NHibernate21/mono/2.0/Iesi.Collections.xml b/lib/NHibernate21/mono/2.0/Iesi.Collections.xml deleted file mode 100644 index 22ebfdec..00000000 --- a/lib/NHibernate21/mono/2.0/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/NHibernate21/mono/2.0/NHibernate.DomainModel.dll b/lib/NHibernate21/mono/2.0/NHibernate.DomainModel.dll deleted file mode 100644 index aed3dd7c..00000000 Binary files a/lib/NHibernate21/mono/2.0/NHibernate.DomainModel.dll and /dev/null differ diff --git a/lib/NHibernate21/mono/2.0/NHibernate.Test.dll b/lib/NHibernate21/mono/2.0/NHibernate.Test.dll deleted file mode 100644 index bdf5b28a..00000000 Binary files a/lib/NHibernate21/mono/2.0/NHibernate.Test.dll and /dev/null differ diff --git a/lib/NHibernate21/mono/2.0/NHibernate.dll b/lib/NHibernate21/mono/2.0/NHibernate.dll deleted file mode 100644 index f8b0bc26..00000000 Binary files a/lib/NHibernate21/mono/2.0/NHibernate.dll and /dev/null differ diff --git a/lib/NHibernate21/mono/2.0/NHibernate.license.txt b/lib/NHibernate21/mono/2.0/NHibernate.license.txt deleted file mode 100644 index 8a88d148..00000000 --- a/lib/NHibernate21/mono/2.0/NHibernate.license.txt +++ /dev/null @@ -1,460 +0,0 @@ - GNU LESSER GENERAL PUBLIC LICENSE - Version 2.1, February 1999 - - Copyright (C) 1991, 1999 Free Software Foundation, Inc. - 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - -[This is the first released version of the Lesser GPL. It also counts - as the successor of the GNU Library Public License, version 2, hence - the version number 2.1.] - - Preamble - - The licenses for most software are designed to take away your -freedom to share and change it. By contrast, the GNU General Public -Licenses are intended to guarantee your freedom to share and change -free software--to make sure the software is free for all its users. - - This license, the Lesser General Public License, applies to some -specially designated software packages--typically libraries--of the -Free Software Foundation and other authors who decide to use it. You -can use it too, but we suggest you first think carefully about whether -this license or the ordinary General Public License is the better -strategy to use in any particular case, based on the explanations below. - - When we speak of free software, we are referring to freedom of use, -not price. Our General Public Licenses are designed to make sure that -you have the freedom to distribute copies of free software (and charge -for this service if you wish); that you receive source code or can get -it if you want it; that you can change the software and use pieces of -it in new free programs; and that you are informed that you can do -these things. - - To protect your rights, we need to make restrictions that forbid -distributors to deny you these rights or to ask you to surrender these -rights. These restrictions translate to certain responsibilities for -you if you distribute copies of the library or if you modify it. - - For example, if you distribute copies of the library, whether gratis -or for a fee, you must give the recipients all the rights that we gave -you. You must make sure that they, too, receive or can get the source -code. If you link other code with the library, you must provide -complete object files to the recipients, so that they can relink them -with the library after making changes to the library and recompiling -it. And you must show them these terms so they know their rights. - - We protect your rights with a two-step method: (1) we copyright the -library, and (2) we offer you this license, which gives you legal -permission to copy, distribute and/or modify the library. - - To protect each distributor, we want to make it very clear that -there is no warranty for the free library. Also, if the library is -modified by someone else and passed on, the recipients should know -that what they have is not the original version, so that the original -author's reputation will not be affected by problems that might be -introduced by others. - - Finally, software patents pose a constant threat to the existence of -any free program. We wish to make sure that a company cannot -effectively restrict the users of a free program by obtaining a -restrictive license from a patent holder. Therefore, we insist that -any patent license obtained for a version of the library must be -consistent with the full freedom of use specified in this license. - - Most GNU software, including some libraries, is covered by the -ordinary GNU General Public License. This license, the GNU Lesser -General Public License, applies to certain designated libraries, and -is quite different from the ordinary General Public License. We use -this license for certain libraries in order to permit linking those -libraries into non-free programs. - - When a program is linked with a library, whether statically or using -a shared library, the combination of the two is legally speaking a -combined work, a derivative of the original library. The ordinary -General Public License therefore permits such linking only if the -entire combination fits its criteria of freedom. The Lesser General -Public License permits more lax criteria for linking other code with -the library. - - We call this license the "Lesser" General Public License because it -does Less to protect the user's freedom than the ordinary General -Public License. It also provides other free software developers Less -of an advantage over competing non-free programs. These disadvantages -are the reason we use the ordinary General Public License for many -libraries. However, the Lesser license provides advantages in certain -special circumstances. - - For example, on rare occasions, there may be a special need to -encourage the widest possible use of a certain library, so that it becomes -a de-facto standard. To achieve this, non-free programs must be -allowed to use the library. A more frequent case is that a free -library does the same job as widely used non-free libraries. In this -case, there is little to gain by limiting the free library to free -software only, so we use the Lesser General Public License. - - In other cases, permission to use a particular library in non-free -programs enables a greater number of people to use a large body of -free software. For example, permission to use the GNU C Library in -non-free programs enables many more people to use the whole GNU -operating system, as well as its variant, the GNU/Linux operating -system. - - Although the Lesser General Public License is Less protective of the -users' freedom, it does ensure that the user of a program that is -linked with the Library has the freedom and the wherewithal to run -that program using a modified version of the Library. - - The precise terms and conditions for copying, distribution and -modification follow. Pay close attention to the difference between a -"work based on the library" and a "work that uses the library". The -former contains code derived from the library, whereas the latter must -be combined with the library in order to run. - - GNU LESSER GENERAL PUBLIC LICENSE - TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - - 0. This License Agreement applies to any software library or other -program which contains a notice placed by the copyright holder or -other authorized party saying it may be distributed under the terms of -this Lesser General Public License (also called "this License"). -Each licensee is addressed as "you". - - A "library" means a collection of software functions and/or data -prepared so as to be conveniently linked with application programs -(which use some of those functions and data) to form executables. - - The "Library", below, refers to any such software library or work -which has been distributed under these terms. A "work based on the -Library" means either the Library or any derivative work under -copyright law: that is to say, a work containing the Library or a -portion of it, either verbatim or with modifications and/or translated -straightforwardly into another language. (Hereinafter, translation is -included without limitation in the term "modification".) - - "Source code" for a work means the preferred form of the work for -making modifications to it. For a library, complete source code means -all the source code for all modules it contains, plus any associated -interface definition files, plus the scripts used to control compilation -and installation of the library. - - Activities other than copying, distribution and modification are not -covered by this License; they are outside its scope. The act of -running a program using the Library is not restricted, and output from -such a program is covered only if its contents constitute a work based -on the Library (independent of the use of the Library in a tool for -writing it). Whether that is true depends on what the Library does -and what the program that uses the Library does. - - 1. You may copy and distribute verbatim copies of the Library's -complete source code as you receive it, in any medium, provided that -you conspicuously and appropriately publish on each copy an -appropriate copyright notice and disclaimer of warranty; keep intact -all the notices that refer to this License and to the absence of any -warranty; and distribute a copy of this License along with the -Library. - - You may charge a fee for the physical act of transferring a copy, -and you may at your option offer warranty protection in exchange for a -fee. - - 2. You may modify your copy or copies of the Library or any portion -of it, thus forming a work based on the Library, and copy and -distribute such modifications or work under the terms of Section 1 -above, provided that you also meet all of these conditions: - - a) The modified work must itself be a software library. - - b) You must cause the files modified to carry prominent notices - stating that you changed the files and the date of any change. - - c) You must cause the whole of the work to be licensed at no - charge to all third parties under the terms of this License. - - d) If a facility in the modified Library refers to a function or a - table of data to be supplied by an application program that uses - the facility, other than as an argument passed when the facility - is invoked, then you must make a good faith effort to ensure that, - in the event an application does not supply such function or - table, the facility still operates, and performs whatever part of - its purpose remains meaningful. - - (For example, a function in a library to compute square roots has - a purpose that is entirely well-defined independent of the - application. Therefore, Subsection 2d requires that any - application-supplied function or table used by this function must - be optional: if the application does not supply it, the square - root function must still compute square roots.) - -These requirements apply to the modified work as a whole. If -identifiable sections of that work are not derived from the Library, -and can be reasonably considered independent and separate works in -themselves, then this License, and its terms, do not apply to those -sections when you distribute them as separate works. But when you -distribute the same sections as part of a whole which is a work based -on the Library, the distribution of the whole must be on the terms of -this License, whose permissions for other licensees extend to the -entire whole, and thus to each and every part regardless of who wrote -it. - -Thus, it is not the intent of this section to claim rights or contest -your rights to work written entirely by you; rather, the intent is to -exercise the right to control the distribution of derivative or -collective works based on the Library. - -In addition, mere aggregation of another work not based on the Library -with the Library (or with a work based on the Library) on a volume of -a storage or distribution medium does not bring the other work under -the scope of this License. - - 3. You may opt to apply the terms of the ordinary GNU General Public -License instead of this License to a given copy of the Library. To do -this, you must alter all the notices that refer to this License, so -that they refer to the ordinary GNU General Public License, version 2, -instead of to this License. (If a newer version than version 2 of the -ordinary GNU General Public License has appeared, then you can specify -that version instead if you wish.) Do not make any other change in -these notices. - - Once this change is made in a given copy, it is irreversible for -that copy, so the ordinary GNU General Public License applies to all -subsequent copies and derivative works made from that copy. - - This option is useful when you wish to copy part of the code of -the Library into a program that is not a library. - - 4. You may copy and distribute the Library (or a portion or -derivative of it, under Section 2) in object code or executable form -under the terms of Sections 1 and 2 above provided that you accompany -it with the complete corresponding machine-readable source code, which -must be distributed under the terms of Sections 1 and 2 above on a -medium customarily used for software interchange. - - If distribution of object code is made by offering access to copy -from a designated place, then offering equivalent access to copy the -source code from the same place satisfies the requirement to -distribute the source code, even though third parties are not -compelled to copy the source along with the object code. - - 5. A program that contains no derivative of any portion of the -Library, but is designed to work with the Library by being compiled or -linked with it, is called a "work that uses the Library". Such a -work, in isolation, is not a derivative work of the Library, and -therefore falls outside the scope of this License. - - However, linking a "work that uses the Library" with the Library -creates an executable that is a derivative of the Library (because it -contains portions of the Library), rather than a "work that uses the -library". The executable is therefore covered by this License. -Section 6 states terms for distribution of such executables. - - When a "work that uses the Library" uses material from a header file -that is part of the Library, the object code for the work may be a -derivative work of the Library even though the source code is not. -Whether this is true is especially significant if the work can be -linked without the Library, or if the work is itself a library. The -threshold for this to be true is not precisely defined by law. - - If such an object file uses only numerical parameters, data -structure layouts and accessors, and small macros and small inline -functions (ten lines or less in length), then the use of the object -file is unrestricted, regardless of whether it is legally a derivative -work. (Executables containing this object code plus portions of the -Library will still fall under Section 6.) - - Otherwise, if the work is a derivative of the Library, you may -distribute the object code for the work under the terms of Section 6. -Any executables containing that work also fall under Section 6, -whether or not they are linked directly with the Library itself. - - 6. As an exception to the Sections above, you may also combine or -link a "work that uses the Library" with the Library to produce a -work containing portions of the Library, and distribute that work -under terms of your choice, provided that the terms permit -modification of the work for the customer's own use and reverse -engineering for debugging such modifications. - - You must give prominent notice with each copy of the work that the -Library is used in it and that the Library and its use are covered by -this License. You must supply a copy of this License. If the work -during execution displays copyright notices, you must include the -copyright notice for the Library among them, as well as a reference -directing the user to the copy of this License. Also, you must do one -of these things: - - a) Accompany the work with the complete corresponding - machine-readable source code for the Library including whatever - changes were used in the work (which must be distributed under - Sections 1 and 2 above); and, if the work is an executable linked - with the Library, with the complete machine-readable "work that - uses the Library", as object code and/or source code, so that the - user can modify the Library and then relink to produce a modified - executable containing the modified Library. (It is understood - that the user who changes the contents of definitions files in the - Library will not necessarily be able to recompile the application - to use the modified definitions.) - - b) Use a suitable shared library mechanism for linking with the - Library. A suitable mechanism is one that (1) uses at run time a - copy of the library already present on the user's computer system, - rather than copying library functions into the executable, and (2) - will operate properly with a modified version of the library, if - the user installs one, as long as the modified version is - interface-compatible with the version that the work was made with. - - c) Accompany the work with a written offer, valid for at - least three years, to give the same user the materials - specified in Subsection 6a, above, for a charge no more - than the cost of performing this distribution. - - d) If distribution of the work is made by offering access to copy - from a designated place, offer equivalent access to copy the above - specified materials from the same place. - - e) Verify that the user has already received a copy of these - materials or that you have already sent this user a copy. - - For an executable, the required form of the "work that uses the -Library" must include any data and utility programs needed for -reproducing the executable from it. However, as a special exception, -the materials to be distributed need not include anything that is -normally distributed (in either source or binary form) with the major -components (compiler, kernel, and so on) of the operating system on -which the executable runs, unless that component itself accompanies -the executable. - - It may happen that this requirement contradicts the license -restrictions of other proprietary libraries that do not normally -accompany the operating system. Such a contradiction means you cannot -use both them and the Library together in an executable that you -distribute. - - 7. You may place library facilities that are a work based on the -Library side-by-side in a single library together with other library -facilities not covered by this License, and distribute such a combined -library, provided that the separate distribution of the work based on -the Library and of the other library facilities is otherwise -permitted, and provided that you do these two things: - - a) Accompany the combined library with a copy of the same work - based on the Library, uncombined with any other library - facilities. This must be distributed under the terms of the - Sections above. - - b) Give prominent notice with the combined library of the fact - that part of it is a work based on the Library, and explaining - where to find the accompanying uncombined form of the same work. - - 8. You may not copy, modify, sublicense, link with, or distribute -the Library except as expressly provided under this License. Any -attempt otherwise to copy, modify, sublicense, link with, or -distribute the Library is void, and will automatically terminate your -rights under this License. However, parties who have received copies, -or rights, from you under this License will not have their licenses -terminated so long as such parties remain in full compliance. - - 9. You are not required to accept this License, since you have not -signed it. However, nothing else grants you permission to modify or -distribute the Library or its derivative works. These actions are -prohibited by law if you do not accept this License. Therefore, by -modifying or distributing the Library (or any work based on the -Library), you indicate your acceptance of this License to do so, and -all its terms and conditions for copying, distributing or modifying -the Library or works based on it. - - 10. Each time you redistribute the Library (or any work based on the -Library), the recipient automatically receives a license from the -original licensor to copy, distribute, link with or modify the Library -subject to these terms and conditions. You may not impose any further -restrictions on the recipients' exercise of the rights granted herein. -You are not responsible for enforcing compliance by third parties with -this License. - - 11. If, as a consequence of a court judgment or allegation of patent -infringement or for any other reason (not limited to patent issues), -conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot -distribute so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you -may not distribute the Library at all. For example, if a patent -license would not permit royalty-free redistribution of the Library by -all those who receive copies directly or indirectly through you, then -the only way you could satisfy both it and this License would be to -refrain entirely from distribution of the Library. - -If any portion of this section is held invalid or unenforceable under any -particular circumstance, the balance of the section is intended to apply, -and the section as a whole is intended to apply in other circumstances. - -It is not the purpose of this section to induce you to infringe any -patents or other property right claims or to contest validity of any -such claims; this section has the sole purpose of protecting the -integrity of the free software distribution system which is -implemented by public license practices. Many people have made -generous contributions to the wide range of software distributed -through that system in reliance on consistent application of that -system; it is up to the author/donor to decide if he or she is willing -to distribute software through any other system and a licensee cannot -impose that choice. - -This section is intended to make thoroughly clear what is believed to -be a consequence of the rest of this License. - - 12. If the distribution and/or use of the Library is restricted in -certain countries either by patents or by copyrighted interfaces, the -original copyright holder who places the Library under this License may add -an explicit geographical distribution limitation excluding those countries, -so that distribution is permitted only in or among countries not thus -excluded. In such case, this License incorporates the limitation as if -written in the body of this License. - - 13. The Free Software Foundation may publish revised and/or new -versions of the Lesser General Public License from time to time. -Such new versions will be similar in spirit to the present version, -but may differ in detail to address new problems or concerns. - -Each version is given a distinguishing version number. If the Library -specifies a version number of this License which applies to it and -"any later version", you have the option of following the terms and -conditions either of that version or of any later version published by -the Free Software Foundation. If the Library does not specify a -license version number, you may choose any version ever published by -the Free Software Foundation. - - 14. If you wish to incorporate parts of the Library into other free -programs whose distribution conditions are incompatible with these, -write to the author to ask for permission. For software which is -copyrighted by the Free Software Foundation, write to the Free -Software Foundation; we sometimes make exceptions for this. Our -decision will be guided by the two goals of preserving the free status -of all derivatives of our free software and of promoting the sharing -and reuse of software generally. - - NO WARRANTY - - 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO -WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. -EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR -OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY -KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE -LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME -THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. - - 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN -WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY -AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU -FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR -CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE -LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING -RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A -FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF -SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGES. - - END OF TERMS AND CONDITIONS - diff --git a/lib/NHibernate21/mono/2.0/NHibernate.xml b/lib/NHibernate21/mono/2.0/NHibernate.xml deleted file mode 100644 index a9e6f2e5..00000000 --- a/lib/NHibernate21/mono/2.0/NHibernate.xml +++ /dev/null @@ -1,40555 +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 - - - - Do we need to retain this instance until after the transaction completes? - - - False if this class defines a no-op has after transaction completion. - - - - Called after the transaction completes - - - - What spaces (tables) are affected by 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 - - - - Do we need to retain this instance until after the transaction completes? - - - False if this class defines a no-op has after transaction completion. - - - - Called after the transaction completes - - - - 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. - - - - 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. - - - - - 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. - - - - - 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 - - - - - Marker interface, denoting a client-visible "soft lock" on a cached item. - - - - - 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 . - for invalid values. - - - See for allowed values. - - - - - 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. - - - - - Convert a string to . - - The string that represent . - - The converted to . - - If the values is invalid. - - See for allowed values. - - - - - Values for class-cache and collection-cache strategy. - - - - Xml value: read-only - - - Xml value: read-write - - - Xml value: nonstrict-read-write - - - Xml value: transactional - - - - 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. - - - - - Initializes a new instance of the class. - - The session factory name. Null or empty string are allowed. - - - - 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. - - - - - 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 . - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - A base class for HBM schema classes that provides helper methods. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 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 - - - - - 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 - - - - - The XML Namespace for the nhibernate-mapping - - - 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. - - - - 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 ebedded 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. - - - - - 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 - - - - - - - - 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. - - - - - 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 . - Works only with Web Applications. - - - - - 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 each . Works only with web applications. - - - - - 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 - - - - - 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 - - - - - 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? - - - - - 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. - - - - - 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 - - - - - 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 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 - - - - When adding values to the query string it is imperative that they are reported via this function back to the query builder. - Do not report the same item multiple times as it will be assumed to be a separate parameter. - - - - - 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. - - - - - Constructor for Order. - - - - - - - Constructor for Order. - - - - - - - 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 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 - - - - - 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 - - - - - 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 - - - - - Delegate the values to a real type - - - The real return type of Cast is know only after the Cast is parsed. - This class was created in NH to remove the responsibility of the parser about know the - real return type. - - - - - 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. - - - - 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. - - - - - 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 - - - - - - - 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 - - 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. - - - - - 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 is not zero - A new SqlString 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 of. - 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 with the LIMIT clause applied. - - The LIMIT SQL will look like - - - SELECT - TOP last (columns) - FROM - (SELECT (columns), ROW_NUMBER() OVER(ORDER BY {original order by, with un-aliased column names) as __hibernate_sort_row - {original from}) as query - WHERE query.__hibernate_sort_row > offset - ORDER BY query.__hibernate_sort_row - - - - Note that we need to add 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 - - - - 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. - - - - - 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 - - - - - - - - - - - - - - - - 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. - - - - - - - - - - - - - - - - - - - - - - - - - - - - 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 - - - - - - - - - - - - - - Offset of the first row to process in the result set is non-zero - - - - 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. - - - - This is a subclass of SybaseDialect for sybase 11 databases (specifically tested against 11.9.2). 11.9.2 does not support ANSI JOINs - therefore we have to provide a special join fragment for left/right joins (*= and =* respectively). - - - - - An SQL dialect compatible with Sybase. - - -

- 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 SybaseDialect defaults the following configuration properties: - - - Property - Default Value - - - use_outer_join - - - - connection.driver_class - - - - prepare_sql - - - -
-
- - - - - - Sybase does not support quoted aliases, this function thus returns - aliasName as is. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - This class is basically a port of the hibernate 3.2 Sybase 11 join fragment. It uses concepts from that join fragment and the Oracle join fragment in NHibernate - - - - - Represents a SQL JOIN - - - - - An SQL dialect compatible with Sybase. - - -

- 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 SybaseDialect defaults the following configuration properties: - - - Property - Default Value - - - use_outer_join - - - - connection.driver_class - - - - prepare_sql - - - -
-
- - - - - - Sybase does not support quoted aliases, this function thus returns - aliasName as is. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - An SQL dialect for Sybase Adaptive Server Anywhere 9.0/10.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 SybaseAnywhereDialect defaults the following configuration properties: - - - Property - Default Value - - - use_outer_join - - - - 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 - - - - - 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. - - - - 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 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. - - - - - 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. - - - - - The SybaseClientDriver Driver provides a database driver for Sybase. - - - It has been reported to work with the . - - - - - Initializes a new instance of the class. - - - Thrown when the Sybase.Data.AseClient assembly can not be loaded. - - - - - Sybase.Data.AseClient uses named parameters in the sql. - - - Sybase uses @ in the sql. - - - - - - - Sybase.Data.AseClient use the @ to locate parameters in sql. - - @ is used to locate parameters in sql. - - - - The SybaseClientDriver Driver provides a database driver for Sybase. - - - It has been reported to work with the . - - - - - Initializes a new instance of the class. - - - Thrown when the Sybase.Data.AseClient assembly can not be loaded. - - - - - Sybase.Data.AseClient uses named parameters in the sql. - - - Sybase uses @ in the sql. - - - - - - - Sybase.Data.AseClient use the @ to locate parameters in sql. - - @ is used to locate parameters in sql. - - - - 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. - - - - 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. - - - - - 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 - - - - - - - - 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 - - - - Execute a query - - A query expressed in Hibernate's query language - A distinct list of instances - See for implications of cache usage. - - - - Execute a query, binding a value to a "?" parameter in the query string. - - The query string - A value to be bound to a "?" placeholder - The Hibernate type of the value - A distinct list of instances - See for implications of cache usage. - - - - Execute a query, binding an array of values to a "?" parameters in the query string. - - The query string - An array of values to be bound to the "?" placeholders - An array of Hibernate types of the values - A distinct list of instances - See for implications of cache usage. - - - - Execute a query and return the results in an interator. - - - - If the query has multiple return values, values will be returned in an array of - type object[]. - - - Entities returned as results are initialized on demand. The first SQL query returns - identifiers only. So Enumerator() is usually a less efficient way to retrieve - object than List(). - - - The query string - An enumerator - - - - Execute a query and return the results in an interator, - binding a value to a "?" parameter in the query string. - - - - If the query has multiple return values, values will be returned in an array of - type object[]. - - - Entities returned as results are initialized on demand. The first SQL query returns - identifiers only. So Enumerator() is usually a less efficient way to retrieve - object than List(). - - - The query string - A value to be written to a "?" placeholder in the query string - The hibernate type of the value - An enumerator - - - - Execute a query and return the results in an interator, - binding the values to "?"s parameters in the query string. - - - - If the query has multiple return values, values will be returned in an array of - type object[]. - - - Entities returned as results are initialized on demand. The first SQL query returns - identifiers only. So Enumerator() is usually a less efficient way to retrieve - object than List(). - - - The query string - A list of values to be written to "?" placeholders in the query - A list of hibernate types of the values - An enumerator - - - - Apply a filter to a persistent collection. - - - A filter is a Hibernate query that may refer to this, the collection element. - Filters allow efficient access to very large lazy collections. (Executing the filter - does not initialize the collection.) - - A persistent collection to filter - A filter query string - The resulting collection - - - - Apply a filter to a persistent collection, binding the given parameter to a "?" placeholder - - - A filter is a Hibernate query that may refer to this, the collection element. - Filters allow efficient access to very large lazy collections. (Executing the filter - does not initialize the collection.) - - A persistent collection to filter - A filter query string - A value to be written to a "?" placeholder in the query - The hibernate type of value - A collection - - - - Apply a filter to a persistent collection, binding the given parameters to "?" placeholders. - - - A filter is a Hibernate query that may refer to this, the collection element. - Filters allow efficient access to very large lazy collections. (Executing the filter - does not initialize the collection.) - - A persistent collection to filter - A filter query string - The values to be written to "?" placeholders in the query - The hibernate types of the values - A collection - - - - 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 - - - - 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 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 IQuery for the given SQL string. - - a query expressed in SQL - a table alias that appears inside {} in the SQL string - the returned persistent class - An from the SQL string - - - - Create a new instance of for the given SQL string. - - a query expressed in SQL - an array of table aliases that appear inside {} in the SQL string - the returned persistent classes - An from the SQL string - - - - 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. - - - - of - - - - 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. - - - - - Construct a instance - capable of translating an HQL query string. - - - 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 string to be translated - Currently enabled filters - The session factory - An appropriate translator. - - - - Construct a instance capable of - translating an HQL filter string. - - - 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 string 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 - - - - - 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 particulare 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 Hibernate 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 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. - - 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 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 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. The Hibernate 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 - Hibernate 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 Hibernate 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) - - - - 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" - - - - 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. - - - - Error handling in this case will only kick in if we cannot set values on the TLS - this is usally the case if we are called from the finalizer, since this is something - that we do only for logging, we ignore the error. - - - - - 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 - - - - - - Executes the batch - - - This seems to be returning the total number of affected rows in all queries - - - - - Return the batch command to be executed - - - - - The number of commands batched in this instance - - - - - 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 - - - - - 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. - - - - - - - - - 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 - - - - - 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. - - - - Combines sevaral queries into a single database 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. - - - - - Add the specified HQL query to the multi query. The result will be contained in a - - - - - Add the specified HQL query to the multi query, and associate it with the given key. The result will be contained in a - - - - - - - - Add the specified HQL Query to the multi query, and associate it with the given key. The result will be contained in a - - - - - - - - Add the specified HQL query to the multi query. The result will be contained in a - - - - - Add a named query to the multi query. The result will be contained in a - - - - - Add a named query to the multi query, and associate it with the given key. The result will be contained in a - - - - - - - - Add the specified HQL query to the multi query, and associate it with the given key - - - - - - - - Add the specified HQL query to the multi query - - - - - Add the specified HQL Query to the multi query, and associate it with the given key - - - - - - - - Add the specified HQL query to the multi query - - - - - Add a named query to the multi query - - - - - Add a named query to the multi query, and associate it with the given key - - - - - - - - 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 - - - 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 timeout for the underlying ADO query - - - - - - Bind a value to a named query parameter - - The name of the parameter - The possibly null parameter value - The NHibernate . - - - - 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 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 a named parameter - using an NHibernate . - - The name of the parameter - A non-null instance of a array. - - - - 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 name of the parameter - 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 . - - A non-null instance of a . - The name of the parameter - - - - 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 name of the parameter - A non-null instance of a . - - - - 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 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 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 name of the parameter - 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 name of the parameter - 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 name of the parameter - An 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 name of the parameter - A non-null 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. - - - - - Returns the result of one of the Criteria based on the key - - The key - - - - - 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) - - - - Retrieve a list of persistent objects using a Hibernate query - - - - - - - - - - - - - - - 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. - - - Is the entity considered dirty? - True if the entity is dirty; otherwise false. - - - Is the entity to which we are bound completely initialized? - - - 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 - - - - 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 - - - - - - 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 - - - - - 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. - - - - - - - - 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 used only by dialects that rearrange the query, unfortunately, - the MS SQL 2005 dialect have to re shuffle the query (and ruin positional parameter - support) because the SQL 2005 and 2008 SQL dialects have a completely broken - support for paging, which is just a tad less important than SELECT. - See NH-1528 - - - - - 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 - - - - 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. - - - - 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 - - - - - Implementors define a strategy for transforming criteria query - results into the actual application-visible query result list. - - - - - - - - - - - - - - - - - - - - - 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. - - - - - 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. - - - - - 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 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Summary description for CompositeCustomType. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 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 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 - - - - - - - - - - - - - - Maps a Property to a - - - - - - - - Maps the Year, Month, and Day of a Property to a - column - - - - - - - - - - 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. - - - - 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 - - - - Determine if any of the given field values are dirty, - returning an array containing indexes of - the dirty fields or null if no fields are dirty. - - - - - Determine if any of the given field values are modified, - returning an array containing indexes of - the dirty fields or null if no fields are modified. - - - - - - - - - - - - - - Apply the {@link Type#disassemble} 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. - - - - - 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. - - - - - - - - - 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. - - - - 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. - - - - - 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 . - - - - - Try to find a method in a serie of given types. - - The serie of types where find. - 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 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 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/NHibernate21/mono/2.0/log4net.dll b/lib/NHibernate21/mono/2.0/log4net.dll deleted file mode 100644 index ffc57e11..00000000 Binary files a/lib/NHibernate21/mono/2.0/log4net.dll and /dev/null differ diff --git a/lib/NHibernate21/mono/2.0/log4net.license.txt b/lib/NHibernate21/mono/2.0/log4net.license.txt deleted file mode 100644 index 29f81d81..00000000 --- a/lib/NHibernate21/mono/2.0/log4net.license.txt +++ /dev/null @@ -1,201 +0,0 @@ - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. diff --git a/lib/NHibernate21/mono/2.0/log4net.xml b/lib/NHibernate21/mono/2.0/log4net.xml deleted file mode 100644 index fab7af26..00000000 --- a/lib/NHibernate21/mono/2.0/log4net.xml +++ /dev/null @@ -1,28655 +0,0 @@ - - - - log4net - - - - - Appender that logs to a database. - - - - appends logging events to a table within a - database. The appender can be configured to specify the connection - string by setting the property. - The connection type (provider) can be specified by setting the - property. For more information on database connection strings for - your specific database see http://www.connectionstrings.com/. - - - Records are written into the database either using a prepared - statement or a stored procedure. The property - is set to (System.Data.CommandType.Text) to specify a prepared statement - or to (System.Data.CommandType.StoredProcedure) to specify a stored - procedure. - - - The prepared statement text or the name of the stored procedure - must be set in the property. - - - The prepared statement or stored procedure can take a number - of parameters. Parameters are added using the - method. This adds a single to the - ordered list of parameters. The - type may be subclassed if required to provide database specific - functionality. The specifies - the parameter name, database type, size, and how the value should - be generated using a . - - - - An example of a SQL Server table that could be logged to: - - CREATE TABLE [dbo].[Log] ( - [ID] [int] IDENTITY (1, 1) NOT NULL , - [Date] [datetime] NOT NULL , - [Thread] [varchar] (255) NOT NULL , - [Level] [varchar] (20) NOT NULL , - [Logger] [varchar] (255) NOT NULL , - [Message] [varchar] (4000) NOT NULL - ) ON [PRIMARY] - - - - An example configuration to log to the above table: - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Julian Biddle - Nicko Cadell - Gert Driesen - Lance Nehring - - - - Abstract base class implementation of that - buffers events in a fixed size buffer. - - - - This base class should be used by appenders that need to buffer a - number of events before logging them. For example the - buffers events and then submits the entire contents of the buffer to - the underlying database in one go. - - - Subclasses should override the - method to deliver the buffered events. - - The BufferingAppenderSkeleton maintains a fixed size cyclic - buffer of events. The size of the buffer is set using - the property. - - A is used to inspect - each event as it arrives in the appender. If the - triggers, then the current buffer is sent immediately - (see ). Otherwise the event - is stored in the buffer. For example, an evaluator can be used to - deliver the events immediately when an ERROR event arrives. - - - The buffering appender can be configured in a mode. - By default the appender is NOT lossy. When the buffer is full all - the buffered events are sent with . - If the property is set to true then the - buffer will not be sent when it is full, and new events arriving - in the appender will overwrite the oldest event in the buffer. - In lossy mode the buffer will only be sent when the - triggers. This can be useful behavior when you need to know about - ERROR events but not about events with a lower level, configure an - evaluator that will trigger when an ERROR event arrives, the whole - buffer will be sent which gives a history of events leading up to - the ERROR event. - - - Nicko Cadell - Gert Driesen - - - - Abstract base class implementation of . - - - - This class provides the code for common functionality, such - as support for threshold filtering and support for general filters. - - - Appenders can also implement the interface. Therefore - they would require that the method - be called after the appenders properties have been configured. - - - Nicko Cadell - Gert Driesen - - - - Implement this interface for your own strategies for printing log statements. - - - - Implementors should consider extending the - class which provides a default implementation of this interface. - - - Appenders can also implement the interface. Therefore - they would require that the method - be called after the appenders properties have been configured. - - - Nicko Cadell - Gert Driesen - - - - Closes the appender and releases resources. - - - - Releases any resources allocated within the appender such as file handles, - network connections, etc. - - - It is a programming error to append to a closed appender. - - - - - - Log the logging event in Appender specific way. - - The event to log - - - This method is called to log a message into this appender. - - - - - - Gets or sets the name of this appender. - - The name of the appender. - - The name uniquely identifies the appender. - - - - - Interface for appenders that support bulk logging. - - - - This interface extends the interface to - support bulk logging of objects. Appenders - should only implement this interface if they can bulk log efficiently. - - - Nicko Cadell - - - - Log the array of logging events in Appender specific way. - - The events to log - - - This method is called to log an array of events into this appender. - - - - - - Interface used to delay activate a configured object. - - - - This allows an object to defer activation of its options until all - options have been set. This is required for components which have - related options that remain ambiguous until all are set. - - - If a component implements this interface then the method - must be called by the container after its all the configured properties have been set - and before the component can be used. - - - Nicko Cadell - - - - Activate the options that were previously set with calls to properties. - - - - This allows an object to defer activation of its options until all - options have been set. This is required for components which have - related options that remain ambiguous until all are set. - - - If a component implements this interface then this method must be called - after its properties have been set before the component can be used. - - - - - - Initial buffer size - - - - - Maximum buffer size before it is recycled - - - - - Default constructor - - - Empty default constructor - - - - - Finalizes this appender by calling the implementation's - method. - - - - If this appender has not been closed then the Finalize method - will call . - - - - - - Initialize the appender based on the options set - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - - - - Closes the appender and release resources. - - - - Release any resources allocated within the appender such as file handles, - network connections, etc. - - - It is a programming error to append to a closed appender. - - - This method cannot be overridden by subclasses. This method - delegates the closing of the appender to the - method which must be overridden in the subclass. - - - - - - Performs threshold checks and invokes filters before - delegating actual logging to the subclasses specific - method. - - The event to log. - - - This method cannot be overridden by derived classes. A - derived class should override the method - which is called by this method. - - - The implementation of this method is as follows: - - - - - - Checks that the severity of the - is greater than or equal to the of this - appender. - - - - Checks that the chain accepts the - . - - - - - Calls and checks that - it returns true. - - - - - If all of the above steps succeed then the - will be passed to the abstract method. - - - - - - Performs threshold checks and invokes filters before - delegating actual logging to the subclasses specific - method. - - The array of events to log. - - - This method cannot be overridden by derived classes. A - derived class should override the method - which is called by this method. - - - The implementation of this method is as follows: - - - - - - Checks that the severity of the - is greater than or equal to the of this - appender. - - - - Checks that the chain accepts the - . - - - - - Calls and checks that - it returns true. - - - - - If all of the above steps succeed then the - will be passed to the method. - - - - - - Test if the logging event should we output by this appender - - the event to test - true if the event should be output, false if the event should be ignored - - - This method checks the logging event against the threshold level set - on this appender and also against the filters specified on this - appender. - - - The implementation of this method is as follows: - - - - - - Checks that the severity of the - is greater than or equal to the of this - appender. - - - - Checks that the chain accepts the - . - - - - - - - - - Adds a filter to the end of the filter chain. - - the filter to add to this appender - - - The Filters are organized in a linked list. - - - Setting this property causes the new filter to be pushed onto the - back of the filter chain. - - - - - - Clears the filter list for this appender. - - - - Clears the filter list for this appender. - - - - - - Checks if the message level is below this appender's threshold. - - to test against. - - - If there is no threshold set, then the return value is always true. - - - - true if the meets the - requirements of this appender. - - - - - Is called when the appender is closed. Derived classes should override - this method if resources need to be released. - - - - Releases any resources allocated within the appender such as file handles, - network connections, etc. - - - It is a programming error to append to a closed appender. - - - - - - Subclasses of should implement this method - to perform actual logging. - - The event to append. - - - A subclass must implement this method to perform - logging of the . - - This method will be called by - if all the conditions listed for that method are met. - - - To restrict the logging of events in the appender - override the method. - - - - - - Append a bulk array of logging events. - - the array of logging events - - - This base class implementation calls the - method for each element in the bulk array. - - - A sub class that can better process a bulk array of events should - override this method in addition to . - - - - - - Called before as a precondition. - - - - This method is called by - before the call to the abstract method. - - - This method can be overridden in a subclass to extend the checks - made before the event is passed to the method. - - - A subclass should ensure that they delegate this call to - this base class if it is overridden. - - - true if the call to should proceed. - - - - Renders the to a string. - - The event to render. - The event rendered as a string. - - - Helper method to render a to - a string. This appender must have a - set to render the to - a string. - - If there is exception data in the logging event and - the layout does not process the exception, this method - will append the exception text to the rendered string. - - - Where possible use the alternative version of this method - . - That method streams the rendering onto an existing Writer - which can give better performance if the caller already has - a open and ready for writing. - - - - - - Renders the to a string. - - The event to render. - The TextWriter to write the formatted event to - - - Helper method to render a to - a string. This appender must have a - set to render the to - a string. - - If there is exception data in the logging event and - the layout does not process the exception, this method - will append the exception text to the rendered string. - - - Use this method in preference to - where possible. If, however, the caller needs to render the event - to a string then does - provide an efficient mechanism for doing so. - - - - - - The layout of this appender. - - - See for more information. - - - - - The name of this appender. - - - See for more information. - - - - - The level threshold of this appender. - - - - There is no level threshold filtering by default. - - - See for more information. - - - - - - It is assumed and enforced that errorHandler is never null. - - - - It is assumed and enforced that errorHandler is never null. - - - See for more information. - - - - - - The first filter in the filter chain. - - - - Set to null initially. - - - See for more information. - - - - - - The last filter in the filter chain. - - - See for more information. - - - - - Flag indicating if this appender is closed. - - - See for more information. - - - - - The guard prevents an appender from repeatedly calling its own DoAppend method - - - - - StringWriter used to render events - - - - - Gets or sets the threshold of this appender. - - - The threshold of the appender. - - - - All log events with lower level than the threshold level are ignored - by the appender. - - - In configuration files this option is specified by setting the - value of the option to a level - string, such as "DEBUG", "INFO" and so on. - - - - - - Gets or sets the for this appender. - - The of the appender - - - The provides a default - implementation for the property. - - - - - - The filter chain. - - The head of the filter chain filter chain. - - - Returns the head Filter. The Filters are organized in a linked list - and so all Filters on this Appender are available through the result. - - - - - - Gets or sets the for this appender. - - The layout of the appender. - - - See for more information. - - - - - - - Gets or sets the name of this appender. - - The name of the appender. - - - The name uniquely identifies the appender. - - - - - - Tests if this appender requires a to be set. - - - - In the rather exceptional case, where the appender - implementation admits a layout but can also work without it, - then the appender should return true. - - - This default implementation always returns true. - - - - true if the appender requires a layout object, otherwise false. - - - - - The default buffer size. - - - The default size of the cyclic buffer used to store events. - This is set to 512 by default. - - - - - Initializes a new instance of the class. - - - - Protected default constructor to allow subclassing. - - - - - - Initializes a new instance of the class. - - the events passed through this appender must be - fixed by the time that they arrive in the derived class' SendBuffer method. - - - Protected constructor to allow subclassing. - - - The should be set if the subclass - expects the events delivered to be fixed even if the - is set to zero, i.e. when no buffering occurs. - - - - - - Flush the currently buffered events - - - - Flushes any events that have been buffered. - - - If the appender is buffering in mode then the contents - of the buffer will NOT be flushed to the appender. - - - - - - Flush the currently buffered events - - set to true to flush the buffer of lossy events - - - Flushes events that have been buffered. If is - false then events will only be flushed if this buffer is non-lossy mode. - - - If the appender is buffering in mode then the contents - of the buffer will only be flushed if is true. - In this case the contents of the buffer will be tested against the - and if triggering will be output. All other buffered - events will be discarded. - - - If is true then the buffer will always - be emptied by calling this method. - - - - - - Initialize the appender based on the options set - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - - - - Close this appender instance. - - - - Close this appender instance. If this appender is marked - as not then the remaining events in - the buffer must be sent when the appender is closed. - - - - - - This method is called by the method. - - the event to log - - - Stores the in the cyclic buffer. - - - The buffer will be sent (i.e. passed to the - method) if one of the following conditions is met: - - - - The cyclic buffer is full and this appender is - marked as not lossy (see ) - - - An is set and - it is triggered for the - specified. - - - - Before the event is stored in the buffer it is fixed - (see ) to ensure that - any data referenced by the event will be valid when the buffer - is processed. - - - - - - Sends the contents of the buffer. - - The first logging event. - The buffer containing the events that need to be send. - - - The subclass must override . - - - - - - Sends the events. - - The events that need to be send. - - - The subclass must override this method to process the buffered events. - - - - - - The size of the cyclic buffer used to hold the logging events. - - - Set to by default. - - - - - The cyclic buffer used to store the logging events. - - - - - The triggering event evaluator that causes the buffer to be sent immediately. - - - The object that is used to determine if an event causes the entire - buffer to be sent immediately. This field can be null, which - indicates that event triggering is not to be done. The evaluator - can be set using the property. If this appender - has the ( property) set to - true then an must be set. - - - - - Indicates if the appender should overwrite events in the cyclic buffer - when it becomes full, or if the buffer should be flushed when the - buffer is full. - - - If this field is set to true then an must - be set. - - - - - The triggering event evaluator filters discarded events. - - - The object that is used to determine if an event that is discarded should - really be discarded or if it should be sent to the appenders. - This field can be null, which indicates that all discarded events will - be discarded. - - - - - Value indicating which fields in the event should be fixed - - - By default all fields are fixed - - - - - The events delivered to the subclass must be fixed. - - - - - Gets or sets a value that indicates whether the appender is lossy. - - - true if the appender is lossy, otherwise false. The default is false. - - - - This appender uses a buffer to store logging events before - delivering them. A triggering event causes the whole buffer - to be send to the remote sink. If the buffer overruns before - a triggering event then logging events could be lost. Set - to false to prevent logging events - from being lost. - - If is set to true then an - must be specified. - - - - - Gets or sets the size of the cyclic buffer used to hold the - logging events. - - - The size of the cyclic buffer used to hold the logging events. - - - - The option takes a positive integer - representing the maximum number of logging events to collect in - a cyclic buffer. When the is reached, - oldest events are deleted as new events are added to the - buffer. By default the size of the cyclic buffer is 512 events. - - - If the is set to a value less than - or equal to 1 then no buffering will occur. The logging event - will be delivered synchronously (depending on the - and properties). Otherwise the event will - be buffered. - - - - - - Gets or sets the that causes the - buffer to be sent immediately. - - - The that causes the buffer to be - sent immediately. - - - - The evaluator will be called for each event that is appended to this - appender. If the evaluator triggers then the current buffer will - immediately be sent (see ). - - If is set to true then an - must be specified. - - - - - Gets or sets the value of the to use. - - - The value of the to use. - - - - The evaluator will be called for each event that is discarded from this - appender. If the evaluator triggers then the current buffer will immediately - be sent (see ). - - - - - - Gets or sets a value indicating if only part of the logging event data - should be fixed. - - - true if the appender should only fix part of the logging event - data, otherwise false. The default is false. - - - - Setting this property to true will cause only part of the - event data to be fixed and serialized. This will improve performance. - - - See for more information. - - - - - - Gets or sets a the fields that will be fixed in the event - - - The event fields that will be fixed before the event is buffered - - - - The logging event needs to have certain thread specific values - captured before it can be buffered. See - for details. - - - - - - - Initializes a new instance of the class. - - - Public default constructor to initialize a new instance of this class. - - - - - Initialize the appender based on the options set - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - - - - Override the parent method to close the database - - - - Closes the database command and database connection. - - - - - - Inserts the events into the database. - - The events to insert into the database. - - - Insert all the events specified in the - array into the database. - - - - - - Adds a parameter to the command. - - The parameter to add to the command. - - - Adds a parameter to the ordered list of command parameters. - - - - - - Writes the events to the database using the transaction specified. - - The transaction that the events will be executed under. - The array of events to insert into the database. - - - The transaction argument can be null if the appender has been - configured not to use transactions. See - property for more information. - - - - - - Formats the log message into database statement text. - - The event being logged. - - This method can be overridden by subclasses to provide - more control over the format of the database statement. - - - Text that can be passed to a . - - - - - Connects to the database. - - - - - Retrieves the class type of the ADO.NET provider. - - - - Gets the Type of the ADO.NET provider to use to connect to the - database. This method resolves the type specified in the - property. - - - Subclasses can override this method to return a different type - if necessary. - - - The of the ADO.NET provider - - - - Prepares the database command and initialize the parameters. - - - - - Flag to indicate if we are using a command object - - - - Set to true when the appender is to use a prepared - statement or stored procedure to insert into the database. - - - - - - The list of objects. - - - - The list of objects. - - - - - - The security context to use for privileged calls - - - - - The that will be used - to insert logging events into a database. - - - - - The database command. - - - - - Database connection string. - - - - - String type name of the type name. - - - - - The text of the command. - - - - - The command type. - - - - - Indicates whether to use transactions when writing to the database. - - - - - Indicates whether to use transactions when writing to the database. - - - - - Gets or sets the database connection string that is used to connect to - the database. - - - The database connection string used to connect to the database. - - - - The connections string is specific to the connection type. - See for more information. - - - Connection string for MS Access via ODBC: - "DSN=MS Access Database;UID=admin;PWD=;SystemDB=C:\data\System.mdw;SafeTransactions = 0;FIL=MS Access;DriverID = 25;DBQ=C:\data\train33.mdb" - - Another connection string for MS Access via ODBC: - "Driver={Microsoft Access Driver (*.mdb)};DBQ=C:\Work\cvs_root\log4net-1.2\access.mdb;UID=;PWD=;" - - Connection string for MS Access via OLE DB: - "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Work\cvs_root\log4net-1.2\access.mdb;User Id=;Password=;" - - - - - Gets or sets the type name of the connection - that should be created. - - - The type name of the connection. - - - - The type name of the ADO.NET provider to use. - - - The default is to use the OLE DB provider. - - - Use the OLE DB Provider. This is the default value. - System.Data.OleDb.OleDbConnection, System.Data, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - Use the MS SQL Server Provider. - System.Data.SqlClient.SqlConnection, System.Data, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - Use the ODBC Provider. - Microsoft.Data.Odbc.OdbcConnection,Microsoft.Data.Odbc,version=1.0.3300.0,publicKeyToken=b77a5c561934e089,culture=neutral - This is an optional package that you can download from - http://msdn.microsoft.com/downloads - search for ODBC .NET Data Provider. - - Use the Oracle Provider. - System.Data.OracleClient.OracleConnection, System.Data.OracleClient, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - This is an optional package that you can download from - http://msdn.microsoft.com/downloads - search for .NET Managed Provider for Oracle. - - - - - Gets or sets the command text that is used to insert logging events - into the database. - - - The command text used to insert logging events into the database. - - - - Either the text of the prepared statement or the - name of the stored procedure to execute to write into - the database. - - - The property determines if - this text is a prepared statement or a stored procedure. - - - - - - Gets or sets the command type to execute. - - - The command type to execute. - - - - This value may be either (System.Data.CommandType.Text) to specify - that the is a prepared statement to execute, - or (System.Data.CommandType.StoredProcedure) to specify that the - property is the name of a stored procedure - to execute. - - - The default value is (System.Data.CommandType.Text). - - - - - - Should transactions be used to insert logging events in the database. - - - true if transactions should be used to insert logging events in - the database, otherwise false. The default value is true. - - - - Gets or sets a value that indicates whether transactions should be used - to insert logging events in the database. - - - When set a single transaction will be used to insert the buffered events - into the database. Otherwise each event will be inserted without using - an explicit transaction. - - - - - - Gets or sets the used to call the NetSend method. - - - The used to call the NetSend method. - - - - Unless a specified here for this appender - the is queried for the - security context to use. The default behavior is to use the security context - of the current thread. - - - - - - Should this appender try to reconnect to the database on error. - - - true if the appender should try to reconnect to the database after an - error has occurred, otherwise false. The default value is false, - i.e. not to try to reconnect. - - - - The default behaviour is for the appender not to try to reconnect to the - database if an error occurs. Subsequent logging events are discarded. - - - To force the appender to attempt to reconnect to the database set this - property to true. - - - When the appender attempts to connect to the database there may be a - delay of up to the connection timeout specified in the connection string. - This delay will block the calling application's thread. - Until the connection can be reestablished this potential delay may occur multiple times. - - - - - - Gets or sets the underlying . - - - The underlying . - - - creates a to insert - logging events into a database. Classes deriving from - can use this property to get or set this . Use the - underlying returned from if - you require access beyond that which provides. - - - - - Parameter type used by the . - - - - This class provides the basic database parameter properties - as defined by the interface. - - This type can be subclassed to provide database specific - functionality. The two methods that are called externally are - and . - - - - - - Initializes a new instance of the class. - - - Default constructor for the AdoNetAppenderParameter class. - - - - - Prepare the specified database command object. - - The command to prepare. - - - Prepares the database command object by adding - this parameter to its collection of parameters. - - - - - - Renders the logging event and set the parameter value in the command. - - The command containing the parameter. - The event to be rendered. - - - Renders the logging event using this parameters layout - object. Sets the value of the parameter on the command object. - - - - - - The name of this parameter. - - - - - The database type for this parameter. - - - - - Flag to infer type rather than use the DbType - - - - - The precision for this parameter. - - - - - The scale for this parameter. - - - - - The size for this parameter. - - - - - The to use to render the - logging event into an object for this parameter. - - - - - Gets or sets the name of this parameter. - - - The name of this parameter. - - - - The name of this parameter. The parameter name - must match up to a named parameter to the SQL stored procedure - or prepared statement. - - - - - - Gets or sets the database type for this parameter. - - - The database type for this parameter. - - - - The database type for this parameter. This property should - be set to the database type from the - enumeration. See . - - - This property is optional. If not specified the ADO.NET provider - will attempt to infer the type from the value. - - - - - - - Gets or sets the precision for this parameter. - - - The precision for this parameter. - - - - The maximum number of digits used to represent the Value. - - - This property is optional. If not specified the ADO.NET provider - will attempt to infer the precision from the value. - - - - - - - Gets or sets the scale for this parameter. - - - The scale for this parameter. - - - - The number of decimal places to which Value is resolved. - - - This property is optional. If not specified the ADO.NET provider - will attempt to infer the scale from the value. - - - - - - - Gets or sets the size for this parameter. - - - The size for this parameter. - - - - The maximum size, in bytes, of the data within the column. - - - This property is optional. If not specified the ADO.NET provider - will attempt to infer the size from the value. - - - - - - - Gets or sets the to use to - render the logging event into an object for this - parameter. - - - The used to render the - logging event into an object for this parameter. - - - - The that renders the value for this - parameter. - - - The can be used to adapt - any into a - for use in the property. - - - - - - Appends logging events to the terminal using ANSI color escape sequences. - - - - AnsiColorTerminalAppender appends log events to the standard output stream - or the error output stream using a layout specified by the - user. It also allows the color of a specific level of message to be set. - - - This appender expects the terminal to understand the VT100 control set - in order to interpret the color codes. If the terminal or console does not - understand the control codes the behavior is not defined. - - - By default, all output is written to the console's standard output stream. - The property can be set to direct the output to the - error stream. - - - NOTE: This appender writes each message to the System.Console.Out or - System.Console.Error that is set at the time the event is appended. - Therefore it is possible to programmatically redirect the output of this appender - (for example NUnit does this to capture program output). While this is the desired - behavior of this appender it may have security implications in your application. - - - When configuring the ANSI colored terminal appender, a mapping should be - specified to map a logging level to a color. For example: - - - - - - - - - - - - - - - The Level is the standard log4net logging level and ForeColor and BackColor can be any - of the following values: - - Blue - Green - Red - White - Yellow - Purple - Cyan - - These color values cannot be combined together to make new colors. - - - The attributes can be any combination of the following: - - Brightforeground is brighter - Dimforeground is dimmer - Underscoremessage is underlined - Blinkforeground is blinking (does not work on all terminals) - Reverseforeground and background are reversed - Hiddenoutput is hidden - Strikethroughmessage has a line through it - - While any of these attributes may be combined together not all combinations - work well together, for example setting both Bright and Dim attributes makes - no sense. - - - Patrick Wagstrom - Nicko Cadell - - - - The to use when writing to the Console - standard output stream. - - - - The to use when writing to the Console - standard output stream. - - - - - - The to use when writing to the Console - standard error output stream. - - - - The to use when writing to the Console - standard error output stream. - - - - - - Ansi code to reset terminal - - - - - Initializes a new instance of the class. - - - The instance of the class is set up to write - to the standard output stream. - - - - - Add a mapping of level to color - - The mapping to add - - - Add a mapping to this appender. - Each mapping defines the foreground and background colours - for a level. - - - - - - This method is called by the method. - - The event to log. - - - Writes the event to the console. - - - The format of the output will depend on the appender's layout. - - - - - - Initialize the options for this appender - - - - Initialize the level to color mappings set on this appender. - - - - - - Flag to write output to the error stream rather than the standard output stream - - - - - Mapping from level object to color value - - - - - Target is the value of the console output stream. - - - Target is the value of the console output stream. - This is either "Console.Out" or "Console.Error". - - - - Target is the value of the console output stream. - This is either "Console.Out" or "Console.Error". - - - - - - This appender requires a to be set. - - true - - - This appender requires a to be set. - - - - - - The enum of possible display attributes - - - - The following flags can be combined together to - form the ANSI color attributes. - - - - - - - text is bright - - - - - text is dim - - - - - text is underlined - - - - - text is blinking - - - Not all terminals support this attribute - - - - - text and background colors are reversed - - - - - text is hidden - - - - - text is displayed with a strikethrough - - - - - The enum of possible foreground or background color values for - use with the color mapping method - - - - The output can be in one for the following ANSI colors. - - - - - - - color is black - - - - - color is red - - - - - color is green - - - - - color is yellow - - - - - color is blue - - - - - color is magenta - - - - - color is cyan - - - - - color is white - - - - - A class to act as a mapping between the level that a logging call is made at and - the color it should be displayed as. - - - - Defines the mapping between a level and the color it should be displayed in. - - - - - - An entry in the - - - - This is an abstract base class for types that are stored in the - object. - - - Nicko Cadell - - - - Default protected constructor - - - - Default protected constructor - - - - - - Initialize any options defined on this entry - - - - Should be overridden by any classes that need to initialise based on their options - - - - - - The level that is the key for this mapping - - - The that is the key for this mapping - - - - Get or set the that is the key for this - mapping subclass. - - - - - - Initialize the options for the object - - - - Combine the and together - and append the attributes. - - - - - - The mapped foreground color for the specified level - - - - Required property. - The mapped foreground color for the specified level - - - - - - The mapped background color for the specified level - - - - Required property. - The mapped background color for the specified level - - - - - - The color attributes for the specified level - - - - Required property. - The color attributes for the specified level - - - - - - The combined , and - suitable for setting the ansi terminal color. - - - - - A strongly-typed collection of objects. - - Nicko Cadell - - - - Creates a read-only wrapper for a AppenderCollection instance. - - list to create a readonly wrapper arround - - An AppenderCollection wrapper that is read-only. - - - - - An empty readonly static AppenderCollection - - - - - Initializes a new instance of the AppenderCollection class - that is empty and has the default initial capacity. - - - - - Initializes a new instance of the AppenderCollection class - that has the specified initial capacity. - - - The number of elements that the new AppenderCollection is initially capable of storing. - - - - - Initializes a new instance of the AppenderCollection class - that contains elements copied from the specified AppenderCollection. - - The AppenderCollection whose elements are copied to the new collection. - - - - Initializes a new instance of the AppenderCollection class - that contains elements copied from the specified array. - - The array whose elements are copied to the new list. - - - - Initializes a new instance of the AppenderCollection class - that contains elements copied from the specified collection. - - The collection whose elements are copied to the new list. - - - - Allow subclasses to avoid our default constructors - - - - - - - Copies the entire AppenderCollection to a one-dimensional - array. - - The one-dimensional array to copy to. - - - - Copies the entire AppenderCollection to a one-dimensional - array, starting at the specified index of the target array. - - The one-dimensional array to copy to. - The zero-based index in at which copying begins. - - - - Adds a to the end of the AppenderCollection. - - The to be added to the end of the AppenderCollection. - The index at which the value has been added. - - - - Removes all elements from the AppenderCollection. - - - - - Creates a shallow copy of the . - - A new with a shallow copy of the collection data. - - - - Determines whether a given is in the AppenderCollection. - - The to check for. - true if is found in the AppenderCollection; otherwise, false. - - - - Returns the zero-based index of the first occurrence of a - in the AppenderCollection. - - The to locate in the AppenderCollection. - - The zero-based index of the first occurrence of - in the entire AppenderCollection, if found; otherwise, -1. - - - - - Inserts an element into the AppenderCollection at the specified index. - - The zero-based index at which should be inserted. - The to insert. - - is less than zero - -or- - is equal to or greater than . - - - - - Removes the first occurrence of a specific from the AppenderCollection. - - The to remove from the AppenderCollection. - - The specified was not found in the AppenderCollection. - - - - - Removes the element at the specified index of the AppenderCollection. - - The zero-based index of the element to remove. - - is less than zero - -or- - is equal to or greater than . - - - - - Returns an enumerator that can iterate through the AppenderCollection. - - An for the entire AppenderCollection. - - - - Adds the elements of another AppenderCollection to the current AppenderCollection. - - The AppenderCollection whose elements should be added to the end of the current AppenderCollection. - The new of the AppenderCollection. - - - - Adds the elements of a array to the current AppenderCollection. - - The array whose elements should be added to the end of the AppenderCollection. - The new of the AppenderCollection. - - - - Adds the elements of a collection to the current AppenderCollection. - - The collection whose elements should be added to the end of the AppenderCollection. - The new of the AppenderCollection. - - - - Sets the capacity to the actual number of elements. - - - - - Return the collection elements as an array - - the array - - - - is less than zero - -or- - is equal to or greater than . - - - - - is less than zero - -or- - is equal to or greater than . - - - - - Gets the number of elements actually contained in the AppenderCollection. - - - - - Gets a value indicating whether access to the collection is synchronized (thread-safe). - - true if access to the ICollection is synchronized (thread-safe); otherwise, false. - - - - Gets an object that can be used to synchronize access to the collection. - - - - - Gets or sets the at the specified index. - - The zero-based index of the element to get or set. - - is less than zero - -or- - is equal to or greater than . - - - - - Gets a value indicating whether the collection has a fixed size. - - true if the collection has a fixed size; otherwise, false. The default is false - - - - Gets a value indicating whether the IList is read-only. - - true if the collection is read-only; otherwise, false. The default is false - - - - Gets or sets the number of elements the AppenderCollection can contain. - - - - - Supports type-safe iteration over a . - - - - - - Advances the enumerator to the next element in the collection. - - - true if the enumerator was successfully advanced to the next element; - false if the enumerator has passed the end of the collection. - - - The collection was modified after the enumerator was created. - - - - - Sets the enumerator to its initial position, before the first element in the collection. - - - - - Gets the current element in the collection. - - - - - Type visible only to our subclasses - Used to access protected constructor - - - - - - A value - - - - - Supports simple iteration over a . - - - - - - Initializes a new instance of the Enumerator class. - - - - - - Advances the enumerator to the next element in the collection. - - - true if the enumerator was successfully advanced to the next element; - false if the enumerator has passed the end of the collection. - - - The collection was modified after the enumerator was created. - - - - - Sets the enumerator to its initial position, before the first element in the collection. - - - - - Gets the current element in the collection. - - - - - - - - - Appends log events to the ASP.NET system. - - - - - Diagnostic information and tracing messages that you specify are appended to the output - of the page that is sent to the requesting browser. Optionally, you can view this information - from a separate trace viewer (Trace.axd) that displays trace information for every page in a - given application. - - - Trace statements are processed and displayed only when tracing is enabled. You can control - whether tracing is displayed to a page, to the trace viewer, or both. - - - The logging event is passed to the or - method depending on the level of the logging event. - - - Nicko Cadell - Gert Driesen - - - - Initializes a new instance of the class. - - - - Default constructor. - - - - - - Write the logging event to the ASP.NET trace - - the event to log - - - Write the logging event to the ASP.NET trace - HttpContext.Current.Trace - (). - - - - - - This appender requires a to be set. - - true - - - This appender requires a to be set. - - - - - - Buffers events and then forwards them to attached appenders. - - - - The events are buffered in this appender until conditions are - met to allow the appender to deliver the events to the attached - appenders. See for the - conditions that cause the buffer to be sent. - - The forwarding appender can be used to specify different - thresholds and filters for the same appender at different locations - within the hierarchy. - - - Nicko Cadell - Gert Driesen - - - - Interface for attaching appenders to objects. - - - - Interface for attaching, removing and retrieving appenders. - - - Nicko Cadell - Gert Driesen - - - - Attaches an appender. - - The appender to add. - - - Add the specified appender. The implementation may - choose to allow or deny duplicate appenders. - - - - - - Gets an attached appender with the specified name. - - The name of the appender to get. - - The appender with the name specified, or null if no appender with the - specified name is found. - - - - Returns an attached appender with the specified. - If no appender with the specified name is found null will be - returned. - - - - - - Removes all attached appenders. - - - - Removes and closes all attached appenders - - - - - - Removes the specified appender from the list of attached appenders. - - The appender to remove. - The appender removed from the list - - - The appender removed is not closed. - If you are discarding the appender you must call - on the appender removed. - - - - - - Removes the appender with the specified name from the list of appenders. - - The name of the appender to remove. - The appender removed from the list - - - The appender removed is not closed. - If you are discarding the appender you must call - on the appender removed. - - - - - - Gets all attached appenders. - - - A collection of attached appenders. - - - - Gets a collection of attached appenders. - If there are no attached appenders the - implementation should return an empty - collection rather than null. - - - - - - Initializes a new instance of the class. - - - - Default constructor. - - - - - - Closes the appender and releases resources. - - - - Releases any resources allocated within the appender such as file handles, - network connections, etc. - - - It is a programming error to append to a closed appender. - - - - - - Send the events. - - The events that need to be send. - - - Forwards the events to the attached appenders. - - - - - - Adds an to the list of appenders of this - instance. - - The to add to this appender. - - - If the specified is already in the list of - appenders, then it won't be added again. - - - - - - Looks for the appender with the specified name. - - The name of the appender to lookup. - - The appender with the specified name, or null. - - - - Get the named appender attached to this buffering appender. - - - - - - Removes all previously added appenders from this appender. - - - - This is useful when re-reading configuration information. - - - - - - Removes the specified appender from the list of appenders. - - The appender to remove. - The appender removed from the list - - The appender removed is not closed. - If you are discarding the appender you must call - on the appender removed. - - - - - Removes the appender with the specified name from the list of appenders. - - The name of the appender to remove. - The appender removed from the list - - The appender removed is not closed. - If you are discarding the appender you must call - on the appender removed. - - - - - Implementation of the interface - - - - - Gets the appenders contained in this appender as an - . - - - If no appenders can be found, then an - is returned. - - - A collection of the appenders in this appender. - - - - - Appends logging events to the console. - - - - ColoredConsoleAppender appends log events to the standard output stream - or the error output stream using a layout specified by the - user. It also allows the color of a specific type of message to be set. - - - By default, all output is written to the console's standard output stream. - The property can be set to direct the output to the - error stream. - - - NOTE: This appender writes directly to the application's attached console - not to the System.Console.Out or System.Console.Error TextWriter. - The System.Console.Out and System.Console.Error streams can be - programmatically redirected (for example NUnit does this to capture program output). - This appender will ignore these redirections because it needs to use Win32 - API calls to colorize the output. To respect these redirections the - must be used. - - - When configuring the colored console appender, mapping should be - specified to map a logging level to a color. For example: - - - - - - - - - - - - - - The Level is the standard log4net logging level and ForeColor and BackColor can be any - combination of the following values: - - Blue - Green - Red - White - Yellow - Purple - Cyan - HighIntensity - - - - Rick Hobbs - Nicko Cadell - - - - The to use when writing to the Console - standard output stream. - - - - The to use when writing to the Console - standard output stream. - - - - - - The to use when writing to the Console - standard error output stream. - - - - The to use when writing to the Console - standard error output stream. - - - - - - Initializes a new instance of the class. - - - The instance of the class is set up to write - to the standard output stream. - - - - - Initializes a new instance of the class - with the specified layout. - - the layout to use for this appender - - The instance of the class is set up to write - to the standard output stream. - - - - - Initializes a new instance of the class - with the specified layout. - - the layout to use for this appender - flag set to true to write to the console error stream - - When is set to true, output is written to - the standard error output stream. Otherwise, output is written to the standard - output stream. - - - - - Add a mapping of level to color - done by the config file - - The mapping to add - - - Add a mapping to this appender. - Each mapping defines the foreground and background colors - for a level. - - - - - - This method is called by the method. - - The event to log. - - - Writes the event to the console. - - - The format of the output will depend on the appender's layout. - - - - - - Initialize the options for this appender - - - - Initialize the level to color mappings set on this appender. - - - - - - Flag to write output to the error stream rather than the standard output stream - - - - - Mapping from level object to color value - - - - - The console output stream writer to write to - - - - This writer is not thread safe. - - - - - - Target is the value of the console output stream. - This is either "Console.Out" or "Console.Error". - - - Target is the value of the console output stream. - This is either "Console.Out" or "Console.Error". - - - - Target is the value of the console output stream. - This is either "Console.Out" or "Console.Error". - - - - - - This appender requires a to be set. - - true - - - This appender requires a to be set. - - - - - - The enum of possible color values for use with the color mapping method - - - - The following flags can be combined together to - form the colors. - - - - - - - color is blue - - - - - color is green - - - - - color is red - - - - - color is white - - - - - color is yellow - - - - - color is purple - - - - - color is cyan - - - - - color is intensified - - - - - A class to act as a mapping between the level that a logging call is made at and - the color it should be displayed as. - - - - Defines the mapping between a level and the color it should be displayed in. - - - - - - Initialize the options for the object - - - - Combine the and together. - - - - - - The mapped foreground color for the specified level - - - - Required property. - The mapped foreground color for the specified level. - - - - - - The mapped background color for the specified level - - - - Required property. - The mapped background color for the specified level. - - - - - - The combined and suitable for - setting the console color. - - - - - Appends logging events to the console. - - - - ConsoleAppender appends log events to the standard output stream - or the error output stream using a layout specified by the - user. - - - By default, all output is written to the console's standard output stream. - The property can be set to direct the output to the - error stream. - - - NOTE: This appender writes each message to the System.Console.Out or - System.Console.Error that is set at the time the event is appended. - Therefore it is possible to programmatically redirect the output of this appender - (for example NUnit does this to capture program output). While this is the desired - behavior of this appender it may have security implications in your application. - - - Nicko Cadell - Gert Driesen - - - - The to use when writing to the Console - standard output stream. - - - - The to use when writing to the Console - standard output stream. - - - - - - The to use when writing to the Console - standard error output stream. - - - - The to use when writing to the Console - standard error output stream. - - - - - - Initializes a new instance of the class. - - - The instance of the class is set up to write - to the standard output stream. - - - - - Initializes a new instance of the class - with the specified layout. - - the layout to use for this appender - - The instance of the class is set up to write - to the standard output stream. - - - - - Initializes a new instance of the class - with the specified layout. - - the layout to use for this appender - flag set to true to write to the console error stream - - When is set to true, output is written to - the standard error output stream. Otherwise, output is written to the standard - output stream. - - - - - This method is called by the method. - - The event to log. - - - Writes the event to the console. - - - The format of the output will depend on the appender's layout. - - - - - - Target is the value of the console output stream. - This is either "Console.Out" or "Console.Error". - - - Target is the value of the console output stream. - This is either "Console.Out" or "Console.Error". - - - - Target is the value of the console output stream. - This is either "Console.Out" or "Console.Error". - - - - - - This appender requires a to be set. - - true - - - This appender requires a to be set. - - - - - - Appends log events to the system. - - - - The application configuration file can be used to control what listeners - are actually used. See the MSDN documentation for the - class for details on configuring the - debug system. - - - Events are written using the - method. The event's logger name is passed as the value for the category name to the Write method. - - - Nicko Cadell - - - - Initializes a new instance of the . - - - - Default constructor. - - - - - - Initializes a new instance of the - with a specified layout. - - The layout to use with this appender. - - - Obsolete constructor. - - - - - - Writes the logging event to the system. - - The event to log. - - - Writes the logging event to the system. - If is true then the - is called. - - - - - - Immediate flush means that the underlying writer or output stream - will be flushed at the end of each append operation. - - - - Immediate flush is slower but ensures that each append request is - actually written. If is set to - false, then there is a good chance that the last few - logs events are not actually written to persistent media if and - when the application crashes. - - - The default value is true. - - - - - Gets or sets a value that indicates whether the appender will - flush at the end of each write. - - - The default behavior is to flush at the end of each - write. If the option is set tofalse, then the underlying - stream can defer writing to physical medium to a later time. - - - Avoiding the flush operation at the end of each append results - in a performance gain of 10 to 20 percent. However, there is safety - trade-off involved in skipping flushing. Indeed, when flushing is - skipped, then it is likely that the last few log events will not - be recorded on disk when the application exits. This is a high - price to pay even for a 20% performance gain. - - - - - - This appender requires a to be set. - - true - - - This appender requires a to be set. - - - - - - Writes events to the system event log. - - - - The EventID of the event log entry can be - set using the EventLogEventID property () - on the . - - - There is a limit of 32K characters for an event log message - - - When configuring the EventLogAppender a mapping can be - specified to map a logging level to an event log entry type. For example: - - - <mapping> - <level value="ERROR" /> - <eventLogEntryType value="Error" /> - </mapping> - <mapping> - <level value="DEBUG" /> - <eventLogEntryType value="Information" /> - </mapping> - - - The Level is the standard log4net logging level and eventLogEntryType can be any value - from the enum, i.e.: - - Erroran error event - Warninga warning event - Informationan informational event - - - - Aspi Havewala - Douglas de la Torre - Nicko Cadell - Gert Driesen - Thomas Voss - - - - Initializes a new instance of the class. - - - - Default constructor. - - - - - - Initializes a new instance of the class - with the specified . - - The to use with this appender. - - - Obsolete constructor. - - - - - - Add a mapping of level to - done by the config file - - The mapping to add - - - Add a mapping to this appender. - Each mapping defines the event log entry type for a level. - - - - - - Initialize the appender based on the options set - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - - - - Create an event log source - - - Uses different API calls under NET_2_0 - - - - - This method is called by the - method. - - the event to log - - Writes the event to the system event log using the - . - - If the event has an EventID property (see ) - set then this integer will be used as the event log event id. - - - There is a limit of 32K characters for an event log message - - - - - - Get the equivalent for a - - the Level to convert to an EventLogEntryType - The equivalent for a - - Because there are fewer applicable - values to use in logging levels than there are in the - this is a one way mapping. There is - a loss of information during the conversion. - - - - - The log name is the section in the event logs where the messages - are stored. - - - - - Name of the application to use when logging. This appears in the - application column of the event log named by . - - - - - The name of the machine which holds the event log. This is - currently only allowed to be '.' i.e. the current machine. - - - - - Mapping from level object to EventLogEntryType - - - - - The security context to use for privileged calls - - - - - The name of the log where messages will be stored. - - - The string name of the log where messages will be stored. - - - This is the name of the log as it appears in the Event Viewer - tree. The default value is to log into the Application - log, this is where most applications write their events. However - if you need a separate log for your application (or applications) - then you should set the appropriately. - This should not be used to distinguish your event log messages - from those of other applications, the - property should be used to distinguish events. This property should be - used to group together events into a single log. - - - - - - Property used to set the Application name. This appears in the - event logs when logging. - - - The string used to distinguish events from different sources. - - - Sets the event log source property. - - - - - This property is used to return the name of the computer to use - when accessing the event logs. Currently, this is the current - computer, denoted by a dot "." - - - The string name of the machine holding the event log that - will be logged into. - - - This property cannot be changed. It is currently set to '.' - i.e. the local machine. This may be changed in future. - - - - - Gets or sets the used to write to the EventLog. - - - The used to write to the EventLog. - - - - The system security context used to write to the EventLog. - - - Unless a specified here for this appender - the is queried for the - security context to use. The default behavior is to use the security context - of the current thread. - - - - - - This appender requires a to be set. - - true - - - This appender requires a to be set. - - - - - - A class to act as a mapping between the level that a logging call is made at and - the color it should be displayed as. - - - - Defines the mapping between a level and its event log entry type. - - - - - - The for this entry - - - - Required property. - The for this entry - - - - - - Appends logging events to a file. - - - - Logging events are sent to the file specified by - the property. - - - The file can be opened in either append or overwrite mode - by specifying the property. - If the file path is relative it is taken as relative from - the application base directory. The file encoding can be - specified by setting the property. - - - The layout's and - values will be written each time the file is opened and closed - respectively. If the property is - then the file may contain multiple copies of the header and footer. - - - This appender will first try to open the file for writing when - is called. This will typically be during configuration. - If the file cannot be opened for writing the appender will attempt - to open the file again each time a message is logged to the appender. - If the file cannot be opened for writing when a message is logged then - the message will be discarded by this appender. - - - The supports pluggable file locking models via - the property. - The default behavior, implemented by - is to obtain an exclusive write lock on the file until this appender is closed. - The alternative model, , only holds a - write lock while the appender is writing a logging event. - - - Nicko Cadell - Gert Driesen - Rodrigo B. de Oliveira - Douglas de la Torre - Niall Daley - - - - Sends logging events to a . - - - - An Appender that writes to a . - - - This appender may be used stand alone if initialized with an appropriate - writer, however it is typically used as a base class for an appender that - can open a to write to. - - - Nicko Cadell - Gert Driesen - Douglas de la Torre - - - - Initializes a new instance of the class. - - - - Default constructor. - - - - - - Initializes a new instance of the class and - sets the output destination to a new initialized - with the specified . - - The layout to use with this appender. - The to output to. - - - Obsolete constructor. - - - - - - Initializes a new instance of the class and sets - the output destination to the specified . - - The layout to use with this appender - The to output to - - The must have been previously opened. - - - - Obsolete constructor. - - - - - - This method determines if there is a sense in attempting to append. - - - - This method checked if an output target has been set and if a - layout has been set. - - - false if any of the preconditions fail. - - - - This method is called by the - method. - - The event to log. - - - Writes a log statement to the output stream if the output stream exists - and is writable. - - - The format of the output will depend on the appender's layout. - - - - - - This method is called by the - method. - - The array of events to log. - - - This method writes all the bulk logged events to the output writer - before flushing the stream. - - - - - - Close this appender instance. The underlying stream or writer is also closed. - - - Closed appenders cannot be reused. - - - - - Writes the footer and closes the underlying . - - - - Writes the footer and closes the underlying . - - - - - - Closes the underlying . - - - - Closes the underlying . - - - - - - Clears internal references to the underlying - and other variables. - - - - Subclasses can override this method for an alternate closing behavior. - - - - - - Writes a footer as produced by the embedded layout's property. - - - - Writes a footer as produced by the embedded layout's property. - - - - - - Writes a header produced by the embedded layout's property. - - - - Writes a header produced by the embedded layout's property. - - - - - - Called to allow a subclass to lazily initialize the writer - - - - This method is called when an event is logged and the or - have not been set. This allows a subclass to - attempt to initialize the writer multiple times. - - - - - - This is the where logging events - will be written to. - - - - - Immediate flush means that the underlying - or output stream will be flushed at the end of each append operation. - - - - Immediate flush is slower but ensures that each append request is - actually written. If is set to - false, then there is a good chance that the last few - logging events are not actually persisted if and when the application - crashes. - - - The default value is true. - - - - - - Gets or set whether the appender will flush at the end - of each append operation. - - - - The default behavior is to flush at the end of each - append operation. - - - If this option is set to false, then the underlying - stream can defer persisting the logging event to a later - time. - - - - Avoiding the flush operation at the end of each append results in - a performance gain of 10 to 20 percent. However, there is safety - trade-off involved in skipping flushing. Indeed, when flushing is - skipped, then it is likely that the last few log events will not - be recorded on disk when the application exits. This is a high - price to pay even for a 20% performance gain. - - - - - Sets the where the log output will go. - - - - The specified must be open and writable. - - - The will be closed when the appender - instance is closed. - - - Note: Logging to an unopened will fail. - - - - - - Gets or set the and the underlying - , if any, for this appender. - - - The for this appender. - - - - - This appender requires a to be set. - - true - - - This appender requires a to be set. - - - - - - Gets or sets the where logging events - will be written to. - - - The where logging events are written. - - - - This is the where logging events - will be written to. - - - - - - Default constructor - - - - Default constructor - - - - - - Construct a new appender using the layout, file and append mode. - - the layout to use with this appender - the full path to the file to write to - flag to indicate if the file should be appended to - - - Obsolete constructor. - - - - - - Construct a new appender using the layout and file specified. - The file will be appended to. - - the layout to use with this appender - the full path to the file to write to - - - Obsolete constructor. - - - - - - Activate the options on the file appender. - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - This will cause the file to be opened. - - - - - - Closes any previously opened file and calls the parent's . - - - - Resets the filename and the file stream. - - - - - - Called to initialize the file writer - - - - Will be called for each logged message until the file is - successfully opened. - - - - - - This method is called by the - method. - - The event to log. - - - Writes a log statement to the output stream if the output stream exists - and is writable. - - - The format of the output will depend on the appender's layout. - - - - - - This method is called by the - method. - - The array of events to log. - - - Acquires the output file locks once before writing all the events to - the stream. - - - - - - Writes a footer as produced by the embedded layout's property. - - - - Writes a footer as produced by the embedded layout's property. - - - - - - Writes a header produced by the embedded layout's property. - - - - Writes a header produced by the embedded layout's property. - - - - - - Closes the underlying . - - - - Closes the underlying . - - - - - - Closes the previously opened file. - - - - Writes the to the file and then - closes the file. - - - - - - Sets and opens the file where the log output will go. The specified file must be writable. - - The path to the log file. Must be a fully qualified path. - If true will append to fileName. Otherwise will truncate fileName - - - Calls but guarantees not to throw an exception. - Errors are passed to the . - - - - - - Sets and opens the file where the log output will go. The specified file must be writable. - - The path to the log file. Must be a fully qualified path. - If true will append to fileName. Otherwise will truncate fileName - - - If there was already an opened file, then the previous file - is closed first. - - - This method will ensure that the directory structure - for the specified exists. - - - - - - Sets the quiet writer used for file output - - the file stream that has been opened for writing - - - This implementation of creates a - over the and passes it to the - method. - - - This method can be overridden by sub classes that want to wrap the - in some way, for example to encrypt the output - data using a System.Security.Cryptography.CryptoStream. - - - - - - Sets the quiet writer being used. - - the writer over the file stream that has been opened for writing - - - This method can be overridden by sub classes that want to - wrap the in some way. - - - - - - Convert a path into a fully qualified path. - - The path to convert. - The fully qualified path. - - - Converts the path specified to a fully - qualified path. If the path is relative it is - taken as relative from the application base - directory. - - - - - - Flag to indicate if we should append to the file - or overwrite the file. The default is to append. - - - - - The name of the log file. - - - - - The encoding to use for the file stream. - - - - - The security context to use for privileged calls - - - - - The stream to log to. Has added locking semantics - - - - - The locking model to use - - - - - Gets or sets the path to the file that logging will be written to. - - - The path to the file that logging will be written to. - - - - If the path is relative it is taken as relative from - the application base directory. - - - - - - Gets or sets a flag that indicates whether the file should be - appended to or overwritten. - - - Indicates whether the file should be appended to or overwritten. - - - - If the value is set to false then the file will be overwritten, if - it is set to true then the file will be appended to. - - The default value is true. - - - - - Gets or sets used to write to the file. - - - The used to write to the file. - - - - The default encoding set is - which is the encoding for the system's current ANSI code page. - - - - - - Gets or sets the used to write to the file. - - - The used to write to the file. - - - - Unless a specified here for this appender - the is queried for the - security context to use. The default behavior is to use the security context - of the current thread. - - - - - - Gets or sets the used to handle locking of the file. - - - The used to lock the file. - - - - Gets or sets the used to handle locking of the file. - - - There are two built in locking models, and . - The former locks the file from the start of logging to the end and the - later lock only for the minimal amount of time when logging each message. - - - The default locking model is the . - - - - - - Write only that uses the - to manage access to an underlying resource. - - - - - True asynchronous writes are not supported, the implementation forces a synchronous write. - - - - - Exception base type for log4net. - - - - This type extends . It - does not add any new functionality but does differentiate the - type of exception being thrown. - - - Nicko Cadell - Gert Driesen - - - - Constructor - - - - Initializes a new instance of the class. - - - - - - Constructor - - A message to include with the exception. - - - Initializes a new instance of the class with - the specified message. - - - - - - Constructor - - A message to include with the exception. - A nested exception to include. - - - Initializes a new instance of the class - with the specified message and inner exception. - - - - - - Serialization constructor - - The that holds the serialized object data about the exception being thrown. - The that contains contextual information about the source or destination. - - - Initializes a new instance of the class - with serialized data. - - - - - - Locking model base class - - - - Base class for the locking models available to the derived loggers. - - - - - - Open the output file - - The filename to use - Whether to append to the file, or overwrite - The encoding to use - - - Open the file specified and prepare for logging. - No writes will be made until is called. - Must be called before any calls to , - and . - - - - - - Close the file - - - - Close the file. No further writes will be made. - - - - - - Acquire the lock on the file - - A stream that is ready to be written to. - - - Acquire the lock on the file in preparation for writing to it. - Return a stream pointing to the file. - must be called to release the lock on the output file. - - - - - - Release the lock on the file - - - - Release the lock on the file. No further writes will be made to the - stream until is called again. - - - - - - Gets or sets the for this LockingModel - - - The for this LockingModel - - - - The file appender this locking model is attached to and working on - behalf of. - - - The file appender is used to locate the security context and the error handler to use. - - - The value of this property will be set before is - called. - - - - - - Hold an exclusive lock on the output file - - - - Open the file once for writing and hold it open until is called. - Maintains an exclusive lock on the file during this time. - - - - - - Open the file specified and prepare for logging. - - The filename to use - Whether to append to the file, or overwrite - The encoding to use - - - Open the file specified and prepare for logging. - No writes will be made until is called. - Must be called before any calls to , - and . - - - - - - Close the file - - - - Close the file. No further writes will be made. - - - - - - Acquire the lock on the file - - A stream that is ready to be written to. - - - Does nothing. The lock is already taken - - - - - - Release the lock on the file - - - - Does nothing. The lock will be released when the file is closed. - - - - - - Acquires the file lock for each write - - - - Opens the file once for each / cycle, - thus holding the lock for the minimal amount of time. This method of locking - is considerably slower than but allows - other processes to move/delete the log file whilst logging continues. - - - - - - Prepares to open the file when the first message is logged. - - The filename to use - Whether to append to the file, or overwrite - The encoding to use - - - Open the file specified and prepare for logging. - No writes will be made until is called. - Must be called before any calls to , - and . - - - - - - Close the file - - - - Close the file. No further writes will be made. - - - - - - Acquire the lock on the file - - A stream that is ready to be written to. - - - Acquire the lock on the file in preparation for writing to it. - Return a stream pointing to the file. - must be called to release the lock on the output file. - - - - - - Release the lock on the file - - - - Release the lock on the file. No further writes will be made to the - stream until is called again. - - - - - - This appender forwards logging events to attached appenders. - - - - The forwarding appender can be used to specify different thresholds - and filters for the same appender at different locations within the hierarchy. - - - Nicko Cadell - Gert Driesen - - - - Initializes a new instance of the class. - - - - Default constructor. - - - - - - Closes the appender and releases resources. - - - - Releases any resources allocated within the appender such as file handles, - network connections, etc. - - - It is a programming error to append to a closed appender. - - - - - - Forward the logging event to the attached appenders - - The event to log. - - - Delivers the logging event to all the attached appenders. - - - - - - Forward the logging events to the attached appenders - - The array of events to log. - - - Delivers the logging events to all the attached appenders. - - - - - - Adds an to the list of appenders of this - instance. - - The to add to this appender. - - - If the specified is already in the list of - appenders, then it won't be added again. - - - - - - Looks for the appender with the specified name. - - The name of the appender to lookup. - - The appender with the specified name, or null. - - - - Get the named appender attached to this appender. - - - - - - Removes all previously added appenders from this appender. - - - - This is useful when re-reading configuration information. - - - - - - Removes the specified appender from the list of appenders. - - The appender to remove. - The appender removed from the list - - The appender removed is not closed. - If you are discarding the appender you must call - on the appender removed. - - - - - Removes the appender with the specified name from the list of appenders. - - The name of the appender to remove. - The appender removed from the list - - The appender removed is not closed. - If you are discarding the appender you must call - on the appender removed. - - - - - Implementation of the interface - - - - - Gets the appenders contained in this appender as an - . - - - If no appenders can be found, then an - is returned. - - - A collection of the appenders in this appender. - - - - - Logs events to a local syslog service. - - - - This appender uses the POSIX libc library functions openlog, syslog, and closelog. - If these functions are not available on the local system then this appender will not work! - - - The functions openlog, syslog, and closelog are specified in SUSv2 and - POSIX 1003.1-2001 standards. These are used to log messages to the local syslog service. - - - This appender talks to a local syslog service. If you need to log to a remote syslog - daemon and you cannot configure your local syslog service to do this you may be - able to use the to log via UDP. - - - Syslog messages must have a facility and and a severity. The severity - is derived from the Level of the logging event. - The facility must be chosen from the set of defined syslog - values. The facilities list is predefined - and cannot be extended. - - - An identifier is specified with each log message. This can be specified - by setting the property. The identity (also know - as the tag) must not contain white space. The default value for the - identity is the application name (from ). - - - Rob Lyon - Nicko Cadell - - - - Initializes a new instance of the class. - - - This instance of the class is set up to write - to a local syslog service. - - - - - Add a mapping of level to severity - - The mapping to add - - - Adds a to this appender. - - - - - - Initialize the appender based on the options set. - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - - - - This method is called by the method. - - The event to log. - - - Writes the event to a remote syslog daemon. - - - The format of the output will depend on the appender's layout. - - - - - - Close the syslog when the appender is closed - - - - Close the syslog when the appender is closed - - - - - - Translates a log4net level to a syslog severity. - - A log4net level. - A syslog severity. - - - Translates a log4net level to a syslog severity. - - - - - - Generate a syslog priority. - - The syslog facility. - The syslog severity. - A syslog priority. - - - - The facility. The default facility is . - - - - - The message identity - - - - - Marshaled handle to the identity string. We have to hold on to the - string as the openlog and syslog APIs just hold the - pointer to the ident and dereference it for each log message. - - - - - Mapping from level object to syslog severity - - - - - Open connection to system logger. - - - - - Generate a log message. - - - - The libc syslog method takes a format string and a variable argument list similar - to the classic printf function. As this type of vararg list is not supported - by C# we need to specify the arguments explicitly. Here we have specified the - format string with a single message argument. The caller must set the format - string to "%s". - - - - - - Close descriptor used to write to system logger. - - - - - Message identity - - - - An identifier is specified with each log message. This can be specified - by setting the property. The identity (also know - as the tag) must not contain white space. The default value for the - identity is the application name (from ). - - - - - - Syslog facility - - - Set to one of the values. The list of - facilities is predefined and cannot be extended. The default value - is . - - - - - This appender requires a to be set. - - true - - - This appender requires a to be set. - - - - - - syslog severities - - - - The log4net Level maps to a syslog severity using the - method and the - class. The severity is set on . - - - - - - system is unusable - - - - - action must be taken immediately - - - - - critical conditions - - - - - error conditions - - - - - warning conditions - - - - - normal but significant condition - - - - - informational - - - - - debug-level messages - - - - - syslog facilities - - - - The syslog facility defines which subsystem the logging comes from. - This is set on the property. - - - - - - kernel messages - - - - - random user-level messages - - - - - mail system - - - - - system daemons - - - - - security/authorization messages - - - - - messages generated internally by syslogd - - - - - line printer subsystem - - - - - network news subsystem - - - - - UUCP subsystem - - - - - clock (cron/at) daemon - - - - - security/authorization messages (private) - - - - - ftp daemon - - - - - NTP subsystem - - - - - log audit - - - - - log alert - - - - - clock daemon - - - - - reserved for local use - - - - - reserved for local use - - - - - reserved for local use - - - - - reserved for local use - - - - - reserved for local use - - - - - reserved for local use - - - - - reserved for local use - - - - - reserved for local use - - - - - A class to act as a mapping between the level that a logging call is made at and - the syslog severity that is should be logged at. - - - - A class to act as a mapping between the level that a logging call is made at and - the syslog severity that is should be logged at. - - - - - - The mapped syslog severity for the specified level - - - - Required property. - The mapped syslog severity for the specified level - - - - - - Stores logging events in an array. - - - - The memory appender stores all the logging events - that are appended in an in-memory array. - - - Use the method to get - the current list of events that have been appended. - - - Use the method to clear the - current list of events. - - - Julian Biddle - Nicko Cadell - Gert Driesen - - - - Initializes a new instance of the class. - - - - Default constructor. - - - - - - Gets the events that have been logged. - - The events that have been logged - - - Gets the events that have been logged. - - - - - - This method is called by the method. - - the event to log - - Stores the in the events list. - - - - - Clear the list of events - - - Clear the list of events - - - - - The list of events that have been appended. - - - - - Value indicating which fields in the event should be fixed - - - By default all fields are fixed - - - - - Gets or sets a value indicating whether only part of the logging event - data should be fixed. - - - true if the appender should only fix part of the logging event - data, otherwise false. The default is false. - - - - Setting this property to true will cause only part of the event - data to be fixed and stored in the appender, hereby improving performance. - - - See for more information. - - - - - - Gets or sets the fields that will be fixed in the event - - - - The logging event needs to have certain thread specific values - captured before it can be buffered. See - for details. - - - - - - Logs entries by sending network messages using the - native function. - - - - You can send messages only to names that are active - on the network. If you send the message to a user name, - that user must be logged on and running the Messenger - service to receive the message. - - - The receiver will get a top most window displaying the - messages one at a time, therefore this appender should - not be used to deliver a high volume of messages. - - - The following table lists some possible uses for this appender : - - - - - Action - Property Value(s) - - - Send a message to a user account on the local machine - - - = <name of the local machine> - - - = <user name> - - - - - Send a message to a user account on a remote machine - - - = <name of the remote machine> - - - = <user name> - - - - - Send a message to a domain user account - - - = <name of a domain controller | uninitialized> - - - = <user name> - - - - - Send a message to all the names in a workgroup or domain - - - = <workgroup name | domain name>* - - - - - Send a message from the local machine to a remote machine - - - = <name of the local machine | uninitialized> - - - = <name of the remote machine> - - - - - - - Note : security restrictions apply for sending - network messages, see - for more information. - - - - - An example configuration section to log information - using this appender from the local machine, named - LOCAL_PC, to machine OPERATOR_PC : - - - - - - - - - - Nicko Cadell - Gert Driesen - - - - The DNS or NetBIOS name of the server on which the function is to execute. - - - - - The sender of the network message. - - - - - The message alias to which the message should be sent. - - - - - The security context to use for privileged calls - - - - - Initializes the appender. - - - The default constructor initializes all fields to their default values. - - - - - Initialize the appender based on the options set. - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - The appender will be ignored if no was specified. - - - The required property was not specified. - - - - This method is called by the method. - - The event to log. - - - Sends the event using a network message. - - - - - - Sends a buffer of information to a registered message alias. - - The DNS or NetBIOS name of the server on which the function is to execute. - The message alias to which the message buffer should be sent - The originator of the message. - The message text. - The length, in bytes, of the message text. - - - The following restrictions apply for sending network messages: - - - - - Platform - Requirements - - - Windows NT - - - No special group membership is required to send a network message. - - - Admin, Accounts, Print, or Server Operator group membership is required to - successfully send a network message on a remote server. - - - - - Windows 2000 or later - - - If you send a message on a domain controller that is running Active Directory, - access is allowed or denied based on the access control list (ACL) for the securable - object. The default ACL permits only Domain Admins and Account Operators to send a network message. - - - On a member server or workstation, only Administrators and Server Operators can send a network message. - - - - - - - For more information see Security Requirements for the Network Management Functions. - - - - - If the function succeeds, the return value is zero. - - - - - - Gets or sets the sender of the message. - - - The sender of the message. - - - If this property is not specified, the message is sent from the local computer. - - - - - Gets or sets the message alias to which the message should be sent. - - - The recipient of the message. - - - This property should always be specified in order to send a message. - - - - - Gets or sets the DNS or NetBIOS name of the remote server on which the function is to execute. - - - DNS or NetBIOS name of the remote server on which the function is to execute. - - - - For Windows NT 4.0 and earlier, the string should begin with \\. - - - If this property is not specified, the local computer is used. - - - - - - Gets or sets the used to call the NetSend method. - - - The used to call the NetSend method. - - - - Unless a specified here for this appender - the is queried for the - security context to use. The default behavior is to use the security context - of the current thread. - - - - - - This appender requires a to be set. - - true - - - This appender requires a to be set. - - - - - - Appends log events to the OutputDebugString system. - - - - OutputDebugStringAppender appends log events to the - OutputDebugString system. - - - The string is passed to the native OutputDebugString - function. - - - Nicko Cadell - Gert Driesen - - - - Initializes a new instance of the class. - - - - Default constructor. - - - - - - Write the logging event to the output debug string API - - the event to log - - - Write the logging event to the output debug string API - - - - - - Stub for OutputDebugString native method - - the string to output - - - Stub for OutputDebugString native method - - - - - - This appender requires a to be set. - - true - - - This appender requires a to be set. - - - - - - Logs events to a remote syslog daemon. - - - - The BSD syslog protocol is used to remotely log to - a syslog daemon. The syslogd listens for for messages - on UDP port 514. - - - The syslog UDP protocol is not authenticated. Most syslog daemons - do not accept remote log messages because of the security implications. - You may be able to use the LocalSyslogAppender to talk to a local - syslog service. - - - There is an RFC 3164 that claims to document the BSD Syslog Protocol. - This RFC can be seen here: http://www.faqs.org/rfcs/rfc3164.html. - This appender generates what the RFC calls an "Original Device Message", - i.e. does not include the TIMESTAMP or HOSTNAME fields. By observation - this format of message will be accepted by all current syslog daemon - implementations. The daemon will attach the current time and the source - hostname or IP address to any messages received. - - - Syslog messages must have a facility and and a severity. The severity - is derived from the Level of the logging event. - The facility must be chosen from the set of defined syslog - values. The facilities list is predefined - and cannot be extended. - - - An identifier is specified with each log message. This can be specified - by setting the property. The identity (also know - as the tag) must not contain white space. The default value for the - identity is the application name (from ). - - - Rob Lyon - Nicko Cadell - - - - Sends logging events as connectionless UDP datagrams to a remote host or a - multicast group using an . - - - - UDP guarantees neither that messages arrive, nor that they arrive in the correct order. - - - To view the logging results, a custom application can be developed that listens for logging - events. - - - When decoding events send via this appender remember to use the same encoding - to decode the events as was used to send the events. See the - property to specify the encoding to use. - - - - This example shows how to log receive logging events that are sent - on IP address 244.0.0.1 and port 8080 to the console. The event is - encoded in the packet as a unicode string and it is decoded as such. - - IPEndPoint remoteEndPoint = new IPEndPoint(IPAddress.Any, 0); - UdpClient udpClient; - byte[] buffer; - string loggingEvent; - - try - { - udpClient = new UdpClient(8080); - - while(true) - { - buffer = udpClient.Receive(ref remoteEndPoint); - loggingEvent = System.Text.Encoding.Unicode.GetString(buffer); - Console.WriteLine(loggingEvent); - } - } - catch(Exception e) - { - Console.WriteLine(e.ToString()); - } - - - Dim remoteEndPoint as IPEndPoint - Dim udpClient as UdpClient - Dim buffer as Byte() - Dim loggingEvent as String - - Try - remoteEndPoint = new IPEndPoint(IPAddress.Any, 0) - udpClient = new UdpClient(8080) - - While True - buffer = udpClient.Receive(ByRef remoteEndPoint) - loggingEvent = System.Text.Encoding.Unicode.GetString(buffer) - Console.WriteLine(loggingEvent) - Wend - Catch e As Exception - Console.WriteLine(e.ToString()) - End Try - - - An example configuration section to log information using this appender to the - IP 224.0.0.1 on port 8080: - - - - - - - - - - Gert Driesen - Nicko Cadell - - - - Initializes a new instance of the class. - - - The default constructor initializes all fields to their default values. - - - - - Initialize the appender based on the options set. - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - The appender will be ignored if no was specified or - an invalid remote or local TCP port number was specified. - - - The required property was not specified. - The TCP port number assigned to or is less than or greater than . - - - - This method is called by the method. - - The event to log. - - - Sends the event using an UDP datagram. - - - Exceptions are passed to the . - - - - - - Closes the UDP connection and releases all resources associated with - this instance. - - - - Disables the underlying and releases all managed - and unmanaged resources associated with the . - - - - - - Initializes the underlying connection. - - - - The underlying is initialized and binds to the - port number from which you intend to communicate. - - - Exceptions are passed to the . - - - - - - The IP address of the remote host or multicast group to which - the logging event will be sent. - - - - - The TCP port number of the remote host or multicast group to - which the logging event will be sent. - - - - - The cached remote endpoint to which the logging events will be sent. - - - - - The TCP port number from which the will communicate. - - - - - The instance that will be used for sending the - logging events. - - - - - The encoding to use for the packet. - - - - - Gets or sets the IP address of the remote host or multicast group to which - the underlying should sent the logging event. - - - The IP address of the remote host or multicast group to which the logging event - will be sent. - - - - Multicast addresses are identified by IP class D addresses (in the range 224.0.0.0 to - 239.255.255.255). Multicast packets can pass across different networks through routers, so - it is possible to use multicasts in an Internet scenario as long as your network provider - supports multicasting. - - - Hosts that want to receive particular multicast messages must register their interest by joining - the multicast group. Multicast messages are not sent to networks where no host has joined - the multicast group. Class D IP addresses are used for multicast groups, to differentiate - them from normal host addresses, allowing nodes to easily detect if a message is of interest. - - - Static multicast addresses that are needed globally are assigned by IANA. A few examples are listed in the table below: - - - - - IP Address - Description - - - 224.0.0.1 - - - Sends a message to all system on the subnet. - - - - - 224.0.0.2 - - - Sends a message to all routers on the subnet. - - - - - 224.0.0.12 - - - The DHCP server answers messages on the IP address 224.0.0.12, but only on a subnet. - - - - - - - A complete list of actually reserved multicast addresses and their owners in the ranges - defined by RFC 3171 can be found at the IANA web site. - - - The address range 239.0.0.0 to 239.255.255.255 is reserved for administrative scope-relative - addresses. These addresses can be reused with other local groups. Routers are typically - configured with filters to prevent multicast traffic in this range from flowing outside - of the local network. - - - - - - Gets or sets the TCP port number of the remote host or multicast group to which - the underlying should sent the logging event. - - - An integer value in the range to - indicating the TCP port number of the remote host or multicast group to which the logging event - will be sent. - - - The underlying will send messages to this TCP port number - on the remote host or multicast group. - - The value specified is less than or greater than . - - - - Gets or sets the TCP port number from which the underlying will communicate. - - - An integer value in the range to - indicating the TCP port number from which the underlying will communicate. - - - - The underlying will bind to this port for sending messages. - - - Setting the value to 0 (the default) will cause the udp client not to bind to - a local port. - - - The value specified is less than or greater than . - - - - Gets or sets used to write the packets. - - - The used to write the packets. - - - - The used to write the packets. - - - - - - Gets or sets the underlying . - - - The underlying . - - - creates a to send logging events - over a network. Classes deriving from can use this - property to get or set this . Use the underlying - returned from if you require access beyond that which - provides. - - - - - Gets or sets the cached remote endpoint to which the logging events should be sent. - - - The cached remote endpoint to which the logging events will be sent. - - - The method will initialize the remote endpoint - with the values of the and - properties. - - - - - This appender requires a to be set. - - true - - - This appender requires a to be set. - - - - - - Syslog port 514 - - - - - Initializes a new instance of the class. - - - This instance of the class is set up to write - to a remote syslog daemon. - - - - - Add a mapping of level to severity - - The mapping to add - - - Add a mapping to this appender. - - - - - - This method is called by the method. - - The event to log. - - - Writes the event to a remote syslog daemon. - - - The format of the output will depend on the appender's layout. - - - - - - Initialize the options for this appender - - - - Initialize the level to syslog severity mappings set on this appender. - - - - - - Translates a log4net level to a syslog severity. - - A log4net level. - A syslog severity. - - - Translates a log4net level to a syslog severity. - - - - - - Generate a syslog priority. - - The syslog facility. - The syslog severity. - A syslog priority. - - - Generate a syslog priority. - - - - - - The facility. The default facility is . - - - - - The message identity - - - - - Mapping from level object to syslog severity - - - - - Message identity - - - - An identifier is specified with each log message. This can be specified - by setting the property. The identity (also know - as the tag) must not contain white space. The default value for the - identity is the application name (from ). - - - - - - Syslog facility - - - Set to one of the values. The list of - facilities is predefined and cannot be extended. The default value - is . - - - - - syslog severities - - - - The syslog severities. - - - - - - system is unusable - - - - - action must be taken immediately - - - - - critical conditions - - - - - error conditions - - - - - warning conditions - - - - - normal but significant condition - - - - - informational - - - - - debug-level messages - - - - - syslog facilities - - - - The syslog facilities - - - - - - kernel messages - - - - - random user-level messages - - - - - mail system - - - - - system daemons - - - - - security/authorization messages - - - - - messages generated internally by syslogd - - - - - line printer subsystem - - - - - network news subsystem - - - - - UUCP subsystem - - - - - clock (cron/at) daemon - - - - - security/authorization messages (private) - - - - - ftp daemon - - - - - NTP subsystem - - - - - log audit - - - - - log alert - - - - - clock daemon - - - - - reserved for local use - - - - - reserved for local use - - - - - reserved for local use - - - - - reserved for local use - - - - - reserved for local use - - - - - reserved for local use - - - - - reserved for local use - - - - - reserved for local use - - - - - A class to act as a mapping between the level that a logging call is made at and - the syslog severity that is should be logged at. - - - - A class to act as a mapping between the level that a logging call is made at and - the syslog severity that is should be logged at. - - - - - - The mapped syslog severity for the specified level - - - - Required property. - The mapped syslog severity for the specified level - - - - - - Delivers logging events to a remote logging sink. - - - - This Appender is designed to deliver events to a remote sink. - That is any object that implements the - interface. It delivers the events using .NET remoting. The - object to deliver events to is specified by setting the - appenders property. - - The RemotingAppender buffers events before sending them. This allows it to - make more efficient use of the remoting infrastructure. - - Once the buffer is full the events are still not sent immediately. - They are scheduled to be sent using a pool thread. The effect is that - the send occurs asynchronously. This is very important for a - number of non obvious reasons. The remoting infrastructure will - flow thread local variables (stored in the ), - if they are marked as , across the - remoting boundary. If the server is not contactable then - the remoting infrastructure will clear the - objects from the . To prevent a logging failure from - having side effects on the calling application the remoting call must be made - from a separate thread to the one used by the application. A - thread is used for this. If no thread is available then - the events will block in the thread pool manager until a thread is available. - - Because the events are sent asynchronously using pool threads it is possible to close - this appender before all the queued events have been sent. - When closing the appender attempts to wait until all the queued events have been sent, but - this will timeout after 30 seconds regardless. - - If this appender is being closed because the - event has fired it may not be possible to send all the queued events. During process - exit the runtime limits the time that a - event handler is allowed to run for. If the runtime terminates the threads before - the queued events have been sent then they will be lost. To ensure that all events - are sent the appender must be closed before the application exits. See - for details on how to shutdown - log4net programmatically. - - - Nicko Cadell - Gert Driesen - Daniel Cazzulino - - - - Initializes a new instance of the class. - - - - Default constructor. - - - - - - Initialize the appender based on the options set - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - - - - Send the contents of the buffer to the remote sink. - - - The events are not sent immediately. They are scheduled to be sent - using a pool thread. The effect is that the send occurs asynchronously. - This is very important for a number of non obvious reasons. The remoting - infrastructure will flow thread local variables (stored in the ), - if they are marked as , across the - remoting boundary. If the server is not contactable then - the remoting infrastructure will clear the - objects from the . To prevent a logging failure from - having side effects on the calling application the remoting call must be made - from a separate thread to the one used by the application. A - thread is used for this. If no thread is available then - the events will block in the thread pool manager until a thread is available. - - The events to send. - - - - Override base class close. - - - - This method waits while there are queued work items. The events are - sent asynchronously using work items. These items - will be sent once a thread pool thread is available to send them, therefore - it is possible to close the appender before all the queued events have been - sent. - - This method attempts to wait until all the queued events have been sent, but this - method will timeout after 30 seconds regardless. - - If the appender is being closed because the - event has fired it may not be possible to send all the queued events. During process - exit the runtime limits the time that a - event handler is allowed to run for. - - - - - A work item is being queued into the thread pool - - - - - A work item from the thread pool has completed - - - - - Send the contents of the buffer to the remote sink. - - - This method is designed to be used with the . - This method expects to be passed an array of - objects in the state param. - - the logging events to send - - - - The URL of the remote sink. - - - - - The local proxy (.NET remoting) for the remote logging sink. - - - - - The number of queued callbacks currently waiting or executing - - - - - Event used to signal when there are no queued work items - - - This event is set when there are no queued work items. In this - state it is safe to close the appender. - - - - - Gets or sets the URL of the well-known object that will accept - the logging events. - - - The well-known URL of the remote sink. - - - - The URL of the remoting sink that will accept logging events. - The sink must implement the - interface. - - - - - - Interface used to deliver objects to a remote sink. - - - This interface must be implemented by a remoting sink - if the is to be used - to deliver logging events to the sink. - - - - - Delivers logging events to the remote sink - - Array of events to log. - - - Delivers logging events to the remote sink - - - - - - Appender that rolls log files based on size or date or both. - - - - RollingFileAppender can roll log files based on size or date or both - depending on the setting of the property. - When set to the log file will be rolled - once its size exceeds the . - When set to the log file will be rolled - once the date boundary specified in the property - is crossed. - When set to the log file will be - rolled once the date boundary specified in the property - is crossed, but within a date boundary the file will also be rolled - once its size exceeds the . - When set to the log file will be rolled when - the appender is configured. This effectively means that the log file can be - rolled once per program execution. - - - A of few additional optional features have been added: - - Attach date pattern for current log file - Backup number increments for newer files - Infinite number of backups by file size - - - - - - For large or infinite numbers of backup files a - greater than zero is highly recommended, otherwise all the backup files need - to be renamed each time a new backup is created. - - - When Date/Time based rolling is used setting - to will reduce the number of file renamings to few or none. - - - - - - Changing or without clearing - the log file directory of backup files will cause unexpected and unwanted side effects. - - - - - If Date/Time based rolling is enabled this appender will attempt to roll existing files - in the directory without a Date/Time tag based on the last write date of the base log file. - The appender only rolls the log file when a message is logged. If Date/Time based rolling - is enabled then the appender will not roll the log file at the Date/Time boundary but - at the point when the next message is logged after the boundary has been crossed. - - - - The extends the and - has the same behavior when opening the log file. - The appender will first try to open the file for writing when - is called. This will typically be during configuration. - If the file cannot be opened for writing the appender will attempt - to open the file again each time a message is logged to the appender. - If the file cannot be opened for writing when a message is logged then - the message will be discarded by this appender. - - - When rolling a backup file necessitates deleting an older backup file the - file to be deleted is moved to a temporary name before being deleted. - - - - - A maximum number of backup files when rolling on date/time boundaries is not supported. - - - - Nicko Cadell - Gert Driesen - Aspi Havewala - Douglas de la Torre - Edward Smit - - - - Initializes a new instance of the class. - - - - Default constructor. - - - - - - Sets the quiet writer being used. - - - This method can be overridden by sub classes. - - the writer to set - - - - Write out a logging event. - - the event to write to file. - - - Handles append time behavior for RollingFileAppender. This checks - if a roll over either by date (checked first) or time (checked second) - is need and then appends to the file last. - - - - - - Write out an array of logging events. - - the events to write to file. - - - Handles append time behavior for RollingFileAppender. This checks - if a roll over either by date (checked first) or time (checked second) - is need and then appends to the file last. - - - - - - Performs any required rolling before outputting the next event - - - - Handles append time behavior for RollingFileAppender. This checks - if a roll over either by date (checked first) or time (checked second) - is need and then appends to the file last. - - - - - - Creates and opens the file for logging. If - is false then the fully qualified name is determined and used. - - the name of the file to open - true to append to existing file - - This method will ensure that the directory structure - for the specified exists. - - - - - Get the current output file name - - the base file name - the output file name - - The output file name is based on the base fileName specified. - If is set then the output - file name is the same as the base file passed in. Otherwise - the output file depends on the date pattern, on the count - direction or both. - - - - - Determines curSizeRollBackups (only within the current roll point) - - - - - Generates a wildcard pattern that can be used to find all files - that are similar to the base file name. - - - - - - - Builds a list of filenames for all files matching the base filename plus a file - pattern. - - - - - - - Initiates a roll over if needed for crossing a date boundary since the last run. - - - - - Initializes based on existing conditions at time of . - - - - Initializes based on existing conditions at time of . - The following is done - - determine curSizeRollBackups (only within the current roll point) - initiates a roll over if needed for crossing a date boundary since the last run. - - - - - - - Does the work of bumping the 'current' file counter higher - to the highest count when an incremental file name is seen. - The highest count is either the first file (when count direction - is greater than 0) or the last file (when count direction less than 0). - In either case, we want to know the highest count that is present. - - - - - - - Takes a list of files and a base file name, and looks for - 'incremented' versions of the base file. Bumps the max - count up to the highest count seen. - - - - - - - Calculates the RollPoint for the datePattern supplied. - - the date pattern to calculate the check period for - The RollPoint that is most accurate for the date pattern supplied - - Essentially the date pattern is examined to determine what the - most suitable roll point is. The roll point chosen is the roll point - with the smallest period that can be detected using the date pattern - supplied. i.e. if the date pattern only outputs the year, month, day - and hour then the smallest roll point that can be detected would be - and hourly roll point as minutes could not be detected. - - - - - Initialize the appender based on the options set - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - Sets initial conditions including date/time roll over information, first check, - scheduledFilename, and calls to initialize - the current number of backups. - - - - - - Rollover the file(s) to date/time tagged file(s). - - set to true if the file to be rolled is currently open - - - Rollover the file(s) to date/time tagged file(s). - Resets curSizeRollBackups. - If fileIsOpen is set then the new file is opened (through SafeOpenFile). - - - - - - Renames file to file . - - Name of existing file to roll. - New name for file. - - - Renames file to file . It - also checks for existence of target file and deletes if it does. - - - - - - Test if a file exists at a specified path - - the path to the file - true if the file exists - - - Test if a file exists at a specified path - - - - - - Deletes the specified file if it exists. - - The file to delete. - - - Delete a file if is exists. - The file is first moved to a new filename then deleted. - This allows the file to be removed even when it cannot - be deleted, but it still can be moved. - - - - - - Implements file roll base on file size. - - - - If the maximum number of size based backups is reached - (curSizeRollBackups == maxSizeRollBackups) then the oldest - file is deleted -- its index determined by the sign of countDirection. - If countDirection < 0, then files - {File.1, ..., File.curSizeRollBackups -1} - are renamed to {File.2, ..., - File.curSizeRollBackups}. Moreover, File is - renamed File.1 and closed. - - - A new file is created to receive further log output. - - - If maxSizeRollBackups is equal to zero, then the - File is truncated with no backup files created. - - - If maxSizeRollBackups < 0, then File is - renamed if needed and no files are deleted. - - - - - - Implements file roll. - - the base name to rename - - - If the maximum number of size based backups is reached - (curSizeRollBackups == maxSizeRollBackups) then the oldest - file is deleted -- its index determined by the sign of countDirection. - If countDirection < 0, then files - {File.1, ..., File.curSizeRollBackups -1} - are renamed to {File.2, ..., - File.curSizeRollBackups}. - - - If maxSizeRollBackups is equal to zero, then the - File is truncated with no backup files created. - - - If maxSizeRollBackups < 0, then File is - renamed if needed and no files are deleted. - - - This is called by to rename the files. - - - - - - Get the start time of the next window for the current rollpoint - - the current date - the type of roll point we are working with - the start time for the next roll point an interval after the currentDateTime date - - - Returns the date of the next roll point after the currentDateTime date passed to the method. - - - The basic strategy is to subtract the time parts that are less significant - than the rollpoint from the current time. This should roll the time back to - the start of the time window for the current rollpoint. Then we add 1 window - worth of time and get the start time of the next window for the rollpoint. - - - - - - This object supplies the current date/time. Allows test code to plug in - a method to control this class when testing date/time based rolling. - - - - - The date pattern. By default, the pattern is set to ".yyyy-MM-dd" - meaning daily rollover. - - - - - The actual formatted filename that is currently being written to - or will be the file transferred to on roll over - (based on staticLogFileName). - - - - - The timestamp when we shall next recompute the filename. - - - - - Holds date of last roll over - - - - - The type of rolling done - - - - - The default maximum file size is 10MB - - - - - There is zero backup files by default - - - - - How many sized based backups have been made so far - - - - - The rolling file count direction. - - - - - The rolling mode used in this appender. - - - - - Cache flag set if we are rolling by date. - - - - - Cache flag set if we are rolling by size. - - - - - Value indicating whether to always log to the same file. - - - - - FileName provided in configuration. Used for rolling properly - - - - - The 1st of January 1970 in UTC - - - - - Gets or sets the date pattern to be used for generating file names - when rolling over on date. - - - The date pattern to be used for generating file names when rolling - over on date. - - - - Takes a string in the same format as expected by - . - - - This property determines the rollover schedule when rolling over - on date. - - - - - - Gets or sets the maximum number of backup files that are kept before - the oldest is erased. - - - The maximum number of backup files that are kept before the oldest is - erased. - - - - If set to zero, then there will be no backup files and the log file - will be truncated when it reaches . - - - If a negative number is supplied then no deletions will be made. Note - that this could result in very slow performance as a large number of - files are rolled over unless is used. - - - The maximum applies to each time based group of files and - not the total. - - - - - - Gets or sets the maximum size that the output file is allowed to reach - before being rolled over to backup files. - - - The maximum size in bytes that the output file is allowed to reach before being - rolled over to backup files. - - - - This property is equivalent to except - that it is required for differentiating the setter taking a - argument from the setter taking a - argument. - - - The default maximum file size is 10MB (10*1024*1024). - - - - - - Gets or sets the maximum size that the output file is allowed to reach - before being rolled over to backup files. - - - The maximum size that the output file is allowed to reach before being - rolled over to backup files. - - - - This property allows you to specify the maximum size with the - suffixes "KB", "MB" or "GB" so that the size is interpreted being - expressed respectively in kilobytes, megabytes or gigabytes. - - - For example, the value "10KB" will be interpreted as 10240 bytes. - - - The default maximum file size is 10MB. - - - If you have the option to set the maximum file size programmatically - consider using the property instead as this - allows you to set the size in bytes as a . - - - - - - Gets or sets the rolling file count direction. - - - The rolling file count direction. - - - - Indicates if the current file is the lowest numbered file or the - highest numbered file. - - - By default newer files have lower numbers ( < 0), - i.e. log.1 is most recent, log.5 is the 5th backup, etc... - - - >= 0 does the opposite i.e. - log.1 is the first backup made, log.5 is the 5th backup made, etc. - For infinite backups use >= 0 to reduce - rollover costs. - - The default file count direction is -1. - - - - - Gets or sets the rolling style. - - The rolling style. - - - The default rolling style is . - - - When set to this appender's - property is set to false, otherwise - the appender would append to a single file rather than rolling - the file each time it is opened. - - - - - - Gets or sets a value indicating whether to always log to - the same file. - - - true if always should be logged to the same file, otherwise false. - - - - By default file.log is always the current file. Optionally - file.log.yyyy-mm-dd for current formatted datePattern can by the currently - logging file (or file.log.curSizeRollBackup or even - file.log.yyyy-mm-dd.curSizeRollBackup). - - - This will make time based rollovers with a large number of backups - much faster as the appender it won't have to rename all the backups! - - - - - - Style of rolling to use - - - - Style of rolling to use - - - - - - Roll files once per program execution - - - - Roll files once per program execution. - Well really once each time this appender is - configured. - - - Setting this option also sets AppendToFile to - false on the RollingFileAppender, otherwise - this appender would just be a normal file appender. - - - - - - Roll files based only on the size of the file - - - - - Roll files based only on the date - - - - - Roll files based on both the size and date of the file - - - - - The code assumes that the following 'time' constants are in a increasing sequence. - - - - The code assumes that the following 'time' constants are in a increasing sequence. - - - - - - Roll the log not based on the date - - - - - Roll the log for each minute - - - - - Roll the log for each hour - - - - - Roll the log twice a day (midday and midnight) - - - - - Roll the log each day (midnight) - - - - - Roll the log each week - - - - - Roll the log each month - - - - - This interface is used to supply Date/Time information to the . - - - This interface is used to supply Date/Time information to the . - Used primarily to allow test classes to plug themselves in so they can - supply test date/times. - - - - - Gets the current time. - - The current time. - - - Gets the current time. - - - - - - Default implementation of that returns the current time. - - - - - Gets the current time. - - The current time. - - - Gets the current time. - - - - - - Send an e-mail when a specific logging event occurs, typically on errors - or fatal errors. - - - - The number of logging events delivered in this e-mail depend on - the value of option. The - keeps only the last - logging events in its - cyclic buffer. This keeps memory requirements at a reasonable level while - still delivering useful application context. - - - Authentication and setting the server Port are only available on the MS .NET 1.1 runtime. - For these features to be enabled you need to ensure that you are using a version of - the log4net assembly that is built against the MS .NET 1.1 framework and that you are - running the your application on the MS .NET 1.1 runtime. On all other platforms only sending - unauthenticated messages to a server listening on port 25 (the default) is supported. - - - Authentication is supported by setting the property to - either or . - If using authentication then the - and properties must also be set. - - - To set the SMTP server port use the property. The default port is 25. - - - Nicko Cadell - Gert Driesen - - - - Default constructor - - - - Default constructor - - - - - - Sends the contents of the cyclic buffer as an e-mail message. - - The logging events to send. - - - - Send the email message - - the body text to include in the mail - - - - Gets or sets a semicolon-delimited list of recipient e-mail addresses. - - - A semicolon-delimited list of e-mail addresses. - - - - A semicolon-delimited list of recipient e-mail addresses. - - - - - - Gets or sets the e-mail address of the sender. - - - The e-mail address of the sender. - - - - The e-mail address of the sender. - - - - - - Gets or sets the subject line of the e-mail message. - - - The subject line of the e-mail message. - - - - The subject line of the e-mail message. - - - - - - Gets or sets the name of the SMTP relay mail server to use to send - the e-mail messages. - - - The name of the e-mail relay server. If SmtpServer is not set, the - name of the local SMTP server is used. - - - - The name of the e-mail relay server. If SmtpServer is not set, the - name of the local SMTP server is used. - - - - - - Obsolete - - - Use the BufferingAppenderSkeleton Fix methods instead - - - - Obsolete property. - - - - - - The mode to use to authentication with the SMTP server - - - Authentication is only available on the MS .NET 1.1 runtime. - - Valid Authentication mode values are: , - , and . - The default value is . When using - you must specify the - and to use to authenticate. - When using the Windows credentials for the current - thread, if impersonating, or the process will be used to authenticate. - - - - - - The username to use to authenticate with the SMTP server - - - Authentication is only available on the MS .NET 1.1 runtime. - - A and must be specified when - is set to , - otherwise the username will be ignored. - - - - - - The password to use to authenticate with the SMTP server - - - Authentication is only available on the MS .NET 1.1 runtime. - - A and must be specified when - is set to , - otherwise the password will be ignored. - - - - - - The port on which the SMTP server is listening - - - Server Port is only available on the MS .NET 1.1 runtime. - - The port on which the SMTP server is listening. The default - port is 25. The Port can only be changed when running on - the MS .NET 1.1 runtime. - - - - - - Gets or sets the priority of the e-mail message - - - One of the values. - - - - Sets the priority of the e-mails generated by this - appender. The default priority is . - - - If you are using this appender to report errors then - you may want to set the priority to . - - - - - - This appender requires a to be set. - - true - - - This appender requires a to be set. - - - - - - Values for the property. - - - - SMTP authentication modes. - - - - - - No authentication - - - - - Basic authentication. - - - Requires a username and password to be supplied - - - - - Integrated authentication - - - Uses the Windows credentials from the current thread or process to authenticate. - - - - - Send an email when a specific logging event occurs, typically on errors - or fatal errors. Rather than sending via smtp it writes a file into the - directory specified by . This allows services such - as the IIS SMTP agent to manage sending the messages. - - - - The configuration for this appender is identical to that of the SMTPAppender, - except that instead of specifying the SMTPAppender.SMTPHost you specify - . - - - The number of logging events delivered in this e-mail depend on - the value of option. The - keeps only the last - logging events in its - cyclic buffer. This keeps memory requirements at a reasonable level while - still delivering useful application context. - - - Niall Daley - Nicko Cadell - - - - Default constructor - - - - Default constructor - - - - - - Sends the contents of the cyclic buffer as an e-mail message. - - The logging events to send. - - - Sends the contents of the cyclic buffer as an e-mail message. - - - - - - Activate the options on this appender. - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - - - - Convert a path into a fully qualified path. - - The path to convert. - The fully qualified path. - - - Converts the path specified to a fully - qualified path. If the path is relative it is - taken as relative from the application base - directory. - - - - - - The security context to use for privileged calls - - - - - Gets or sets a semicolon-delimited list of recipient e-mail addresses. - - - A semicolon-delimited list of e-mail addresses. - - - - A semicolon-delimited list of e-mail addresses. - - - - - - Gets or sets the e-mail address of the sender. - - - The e-mail address of the sender. - - - - The e-mail address of the sender. - - - - - - Gets or sets the subject line of the e-mail message. - - - The subject line of the e-mail message. - - - - The subject line of the e-mail message. - - - - - - Gets or sets the path to write the messages to. - - - - Gets or sets the path to write the messages to. This should be the same - as that used by the agent sending the messages. - - - - - - Gets or sets the used to write to the pickup directory. - - - The used to write to the pickup directory. - - - - Unless a specified here for this appender - the is queried for the - security context to use. The default behavior is to use the security context - of the current thread. - - - - - - This appender requires a to be set. - - true - - - This appender requires a to be set. - - - - - - Appender that allows clients to connect via Telnet to receive log messages - - - - The TelnetAppender accepts socket connections and streams logging messages - back to the client. - The output is provided in a telnet-friendly way so that a log can be monitored - over a TCP/IP socket. - This allows simple remote monitoring of application logging. - - - The default is 23 (the telnet port). - - - Keith Long - Nicko Cadell - - - - Default constructor - - - - Default constructor - - - - - - Overrides the parent method to close the socket handler - - - - Closes all the outstanding connections. - - - - - - Initialize the appender based on the options set. - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - Create the socket handler and wait for connections - - - - - - Writes the logging event to each connected client. - - The event to log. - - - Writes the logging event to each connected client. - - - - - - Gets or sets the TCP port number on which this will listen for connections. - - - An integer value in the range to - indicating the TCP port number on which this will listen for connections. - - - - The default value is 23 (the telnet port). - - - The value specified is less than - or greater than . - - - - This appender requires a to be set. - - true - - - This appender requires a to be set. - - - - - - Helper class to manage connected clients - - - - The SocketHandler class is used to accept connections from - clients. It is threaded so that clients can connect/disconnect - asynchronously. - - - - - - Opens a new server port on - - the local port to listen on for connections - - - Creates a socket handler on the specified local server port. - - - - - - Sends a string message to each of the connected clients - - the text to send - - - Sends a string message to each of the connected clients - - - - - - Add a client to the internal clients list - - client to add - - - - Remove a client from the internal clients list - - client to remove - - - - Callback used to accept a connection on the server socket - - The result of the asynchronous operation - - - On connection adds to the list of connections - if there are two many open connections you will be disconnected - - - - - - Close all network connections - - - - Make sure we close all network connections - - - - - - Test if this handler has active connections - - - true if this handler has active connections - - - - This property will be true while this handler has - active connections, that is at least one connection that - the handler will attempt to send a message to. - - - - - - Class that represents a client connected to this handler - - - - Class that represents a client connected to this handler - - - - - - Create this for the specified - - the client's socket - - - Opens a stream writer on the socket. - - - - - - Write a string to the client - - string to send - - - Write a string to the client - - - - - - Cleanup the clients connection - - - - Close the socket connection. - - - - - - Appends log events to the system. - - - - The application configuration file can be used to control what listeners - are actually used. See the MSDN documentation for the - class for details on configuring the - trace system. - - - Events are written using the System.Diagnostics.Trace.Write(string,string) - method. The event's logger name is passed as the value for the category name to the Write method. - - - Compact Framework
- The Compact Framework does not support the - class for any operation except Assert. When using the Compact Framework this - appender will write to the system rather than - the Trace system. This appender will therefore behave like the . -
-
- Douglas de la Torre - Nicko Cadell - Gert Driesen -
- - - Initializes a new instance of the . - - - - Default constructor. - - - - - - Initializes a new instance of the - with a specified layout. - - The layout to use with this appender. - - - Obsolete constructor. - - - - - - Writes the logging event to the system. - - The event to log. - - - Writes the logging event to the system. - - - - - - Immediate flush means that the underlying writer or output stream - will be flushed at the end of each append operation. - - - - Immediate flush is slower but ensures that each append request is - actually written. If is set to - false, then there is a good chance that the last few - logs events are not actually written to persistent media if and - when the application crashes. - - - The default value is true. - - - - - Gets or sets a value that indicates whether the appender will - flush at the end of each write. - - - The default behavior is to flush at the end of each - write. If the option is set tofalse, then the underlying - stream can defer writing to physical medium to a later time. - - - Avoiding the flush operation at the end of each append results - in a performance gain of 10 to 20 percent. However, there is safety - trade-off involved in skipping flushing. Indeed, when flushing is - skipped, then it is likely that the last few log events will not - be recorded on disk when the application exits. This is a high - price to pay even for a 20% performance gain. - - - - - - This appender requires a to be set. - - true - - - This appender requires a to be set. - - - - - - Assembly level attribute that specifies a domain to alias to this assembly's repository. - - - - AliasDomainAttribute is obsolete. Use AliasRepositoryAttribute instead of AliasDomainAttribute. - - - An assembly's logger repository is defined by its , - however this can be overridden by an assembly loaded before the target assembly. - - - An assembly can alias another assembly's domain to its repository by - specifying this attribute with the name of the target domain. - - - This attribute can only be specified on the assembly and may be used - as many times as necessary to alias all the required domains. - - - Nicko Cadell - Gert Driesen - - - - Assembly level attribute that specifies a repository to alias to this assembly's repository. - - - - An assembly's logger repository is defined by its , - however this can be overridden by an assembly loaded before the target assembly. - - - An assembly can alias another assembly's repository to its repository by - specifying this attribute with the name of the target repository. - - - This attribute can only be specified on the assembly and may be used - as many times as necessary to alias all the required repositories. - - - Nicko Cadell - Gert Driesen - - - - Initializes a new instance of the class with - the specified repository to alias to this assembly's repository. - - The repository to alias to this assemby's repository. - - - Initializes a new instance of the class with - the specified repository to alias to this assembly's repository. - - - - - - Gets or sets the repository to alias to this assemby's repository. - - - The repository to alias to this assemby's repository. - - - - The name of the repository to alias to this assemby's repository. - - - - - - Initializes a new instance of the class with - the specified domain to alias to this assembly's repository. - - The domain to alias to this assemby's repository. - - - Obsolete. Use instead of . - - - - - - Use this class to quickly configure a . - - - - Allows very simple programmatic configuration of log4net. - - - Only one appender can be configured using this configurator. - The appender is set at the root of the hierarchy and all logging - events will be delivered to that appender. - - - Appenders can also implement the interface. Therefore - they would require that the method - be called after the appenders properties have been configured. - - - Nicko Cadell - Gert Driesen - - - - Initializes a new instance of the class. - - - - Uses a private access modifier to prevent instantiation of this class. - - - - - - Initializes the log4net system with a default configuration. - - - - Initializes the log4net logging system using a - that will write to Console.Out. The log messages are - formatted using the layout object - with the - layout style. - - - - - - Initializes the log4net system using the specified appender. - - The appender to use to log all logging events. - - - Initializes the log4net system using the specified appender. - - - - - - Initializes the with a default configuration. - - The repository to configure. - - - Initializes the specified repository using a - that will write to Console.Out. The log messages are - formatted using the layout object - with the - layout style. - - - - - - Initializes the using the specified appender. - - The repository to configure. - The appender to use to log all logging events. - - - Initializes the using the specified appender. - - - - - - Base class for all log4net configuration attributes. - - - This is an abstract class that must be extended by - specific configurators. This attribute allows the - configurator to be parameterized by an assembly level - attribute. - - Nicko Cadell - Gert Driesen - - - - Constructor used by subclasses. - - the ordering priority for this configurator - - - The is used to order the configurator - attributes before they are invoked. Higher priority configurators are executed - before lower priority ones. - - - - - - Configures the for the specified assembly. - - The assembly that this attribute was defined on. - The repository to configure. - - - Abstract method implemented by a subclass. When this method is called - the subclass should configure the . - - - - - - Compare this instance to another ConfiguratorAttribute - - the object to compare to - see - - - Compares the priorities of the two instances. - Sorts by priority in descending order. Objects with the same priority are - randomly ordered. - - - - - - Assembly level attribute that specifies the logging domain for the assembly. - - - - DomainAttribute is obsolete. Use RepositoryAttribute instead of DomainAttribute. - - - Assemblies are mapped to logging domains. Each domain has its own - logging repository. This attribute specified on the assembly controls - the configuration of the domain. The property specifies the name - of the domain that this assembly is a part of. The - specifies the type of the repository objects to create for the domain. If - this attribute is not specified and a is not specified - then the assembly will be part of the default shared logging domain. - - - This attribute can only be specified on the assembly and may only be used - once per assembly. - - - Nicko Cadell - Gert Driesen - - - - Assembly level attribute that specifies the logging repository for the assembly. - - - - Assemblies are mapped to logging repository. This attribute specified - on the assembly controls - the configuration of the repository. The property specifies the name - of the repository that this assembly is a part of. The - specifies the type of the object - to create for the assembly. If this attribute is not specified or a - is not specified then the assembly will be part of the default shared logging repository. - - - This attribute can only be specified on the assembly and may only be used - once per assembly. - - - Nicko Cadell - Gert Driesen - - - - Initializes a new instance of the class. - - - - Default constructor. - - - - - - Initialize a new instance of the class - with the name of the repository. - - The name of the repository. - - - Initialize the attribute with the name for the assembly's repository. - - - - - - Gets or sets the name of the logging repository. - - - The string name to use as the name of the repository associated with this - assembly. - - - - This value does not have to be unique. Several assemblies can share the - same repository. They will share the logging configuration of the repository. - - - - - - Gets or sets the type of repository to create for this assembly. - - - The type of repository to create for this assembly. - - - - The type of the repository to create for the assembly. - The type must implement the - interface. - - - This will be the type of repository created when - the repository is created. If multiple assemblies reference the - same repository then the repository is only created once using the - of the first assembly to call into the - repository. - - - - - - Initializes a new instance of the class. - - - - Obsolete. Use RepositoryAttribute instead of DomainAttribute. - - - - - - Initialize a new instance of the class - with the name of the domain. - - The name of the domain. - - - Obsolete. Use RepositoryAttribute instead of DomainAttribute. - - - - - - Use this class to initialize the log4net environment using an Xml tree. - - - - DOMConfigurator is obsolete. Use XmlConfigurator instead of DOMConfigurator. - - - Configures a using an Xml tree. - - - Nicko Cadell - Gert Driesen - - - - Private constructor - - - - - Automatically configures the log4net system based on the - application's configuration settings. - - - - DOMConfigurator is obsolete. Use XmlConfigurator instead of DOMConfigurator. - - Each application has a configuration file. This has the - same name as the application with '.config' appended. - This file is XML and calling this function prompts the - configurator to look in that file for a section called - log4net that contains the configuration data. - - - - - Automatically configures the using settings - stored in the application's configuration file. - - - - DOMConfigurator is obsolete. Use XmlConfigurator instead of DOMConfigurator. - - Each application has a configuration file. This has the - same name as the application with '.config' appended. - This file is XML and calling this function prompts the - configurator to look in that file for a section called - log4net that contains the configuration data. - - The repository to configure. - - - - Configures log4net using a log4net element - - - - DOMConfigurator is obsolete. Use XmlConfigurator instead of DOMConfigurator. - - Loads the log4net configuration from the XML element - supplied as . - - The element to parse. - - - - Configures the using the specified XML - element. - - - - DOMConfigurator is obsolete. Use XmlConfigurator instead of DOMConfigurator. - - Loads the log4net configuration from the XML element - supplied as . - - The repository to configure. - The element to parse. - - - - Configures log4net using the specified configuration file. - - The XML file to load the configuration from. - - - DOMConfigurator is obsolete. Use XmlConfigurator instead of DOMConfigurator. - - - The configuration file must be valid XML. It must contain - at least one element called log4net that holds - the log4net configuration data. - - - The log4net configuration file can possible be specified in the application's - configuration file (either MyAppName.exe.config for a - normal application on Web.config for an ASP.NET application). - - - The following example configures log4net using a configuration file, of which the - location is stored in the application's configuration file : - - - using log4net.Config; - using System.IO; - using System.Configuration; - - ... - - DOMConfigurator.Configure(new FileInfo(ConfigurationSettings.AppSettings["log4net-config-file"])); - - - In the .config file, the path to the log4net can be specified like this : - - - - - - - - - - - - - Configures log4net using the specified configuration file. - - A stream to load the XML configuration from. - - - DOMConfigurator is obsolete. Use XmlConfigurator instead of DOMConfigurator. - - - The configuration data must be valid XML. It must contain - at least one element called log4net that holds - the log4net configuration data. - - - Note that this method will NOT close the stream parameter. - - - - - - Configures the using the specified configuration - file. - - The repository to configure. - The XML file to load the configuration from. - - - DOMConfigurator is obsolete. Use XmlConfigurator instead of DOMConfigurator. - - - The configuration file must be valid XML. It must contain - at least one element called log4net that holds - the configuration data. - - - The log4net configuration file can possible be specified in the application's - configuration file (either MyAppName.exe.config for a - normal application on Web.config for an ASP.NET application). - - - The following example configures log4net using a configuration file, of which the - location is stored in the application's configuration file : - - - using log4net.Config; - using System.IO; - using System.Configuration; - - ... - - DOMConfigurator.Configure(new FileInfo(ConfigurationSettings.AppSettings["log4net-config-file"])); - - - In the .config file, the path to the log4net can be specified like this : - - - - - - - - - - - - - Configures the using the specified configuration - file. - - The repository to configure. - The stream to load the XML configuration from. - - - DOMConfigurator is obsolete. Use XmlConfigurator instead of DOMConfigurator. - - - The configuration data must be valid XML. It must contain - at least one element called log4net that holds - the configuration data. - - - Note that this method will NOT close the stream parameter. - - - - - - Configures log4net using the file specified, monitors the file for changes - and reloads the configuration if a change is detected. - - The XML file to load the configuration from. - - - DOMConfigurator is obsolete. Use XmlConfigurator instead of DOMConfigurator. - - - The configuration file must be valid XML. It must contain - at least one element called log4net that holds - the configuration data. - - - The configuration file will be monitored using a - and depends on the behavior of that class. - - - For more information on how to configure log4net using - a separate configuration file, see . - - - - - - - Configures the using the file specified, - monitors the file for changes and reloads the configuration if a change - is detected. - - The repository to configure. - The XML file to load the configuration from. - - - DOMConfigurator is obsolete. Use XmlConfigurator instead of DOMConfigurator. - - - The configuration file must be valid XML. It must contain - at least one element called log4net that holds - the configuration data. - - - The configuration file will be monitored using a - and depends on the behavior of that class. - - - For more information on how to configure log4net using - a separate configuration file, see . - - - - - - - Assembly level attribute to configure the . - - - - AliasDomainAttribute is obsolete. Use AliasRepositoryAttribute instead of AliasDomainAttribute. - - - This attribute may only be used at the assembly scope and can only - be used once per assembly. - - - Use this attribute to configure the - without calling one of the - methods. - - - Nicko Cadell - Gert Driesen - - - - Assembly level attribute to configure the . - - - - This attribute may only be used at the assembly scope and can only - be used once per assembly. - - - Use this attribute to configure the - without calling one of the - methods. - - - If neither of the or - properties are set the configuration is loaded from the application's .config file. - If set the property takes priority over the - property. The property - specifies a path to a file to load the config from. The path is relative to the - application's base directory; . - The property is used as a postfix to the assembly file name. - The config file must be located in the application's base directory; . - For example in a console application setting the to - config has the same effect as not specifying the or - properties. - - - The property can be set to cause the - to watch the configuration file for changes. - - - - Log4net will only look for assembly level configuration attributes once. - When using the log4net assembly level attributes to control the configuration - of log4net you must ensure that the first call to any of the - methods is made from the assembly with the configuration - attributes. - - - If you cannot guarantee the order in which log4net calls will be made from - different assemblies you must use programmatic configuration instead, i.e. - call the method directly. - - - - Nicko Cadell - Gert Driesen - - - - Default constructor - - - - Default constructor - - - - - - Configures the for the specified assembly. - - The assembly that this attribute was defined on. - The repository to configure. - - - Configure the repository using the . - The specified must extend the - class otherwise the will not be able to - configure it. - - - The does not extend . - - - - Attempt to load configuration from the local file system - - The assembly that this attribute was defined on. - The repository to configure. - - - - Configure the specified repository using a - - The repository to configure. - the FileInfo pointing to the config file - - - - Attempt to load configuration from a URI - - The assembly that this attribute was defined on. - The repository to configure. - - - - Gets or sets the filename of the configuration file. - - - The filename of the configuration file. - - - - If specified, this is the name of the configuration file to use with - the . This file path is relative to the - application base directory (). - - - The takes priority over the . - - - - - - Gets or sets the extension of the configuration file. - - - The extension of the configuration file. - - - - If specified this is the extension for the configuration file. - The path to the config file is built by using the application - base directory (), - the assembly file name and the config file extension. - - - If the is set to MyExt then - possible config file names would be: MyConsoleApp.exe.MyExt or - MyClassLibrary.dll.MyExt. - - - The takes priority over the . - - - - - - Gets or sets a value indicating whether to watch the configuration file. - - - true if the configuration should be watched, false otherwise. - - - - If this flag is specified and set to true then the framework - will watch the configuration file and will reload the config each time - the file is modified. - - - The config file can only be watched if it is loaded from local disk. - In a No-Touch (Smart Client) deployment where the application is downloaded - from a web server the config file may not reside on the local disk - and therefore it may not be able to watch it. - - - Watching configuration is not supported on the SSCLI. - - - - - - Class to register for the log4net section of the configuration file - - - The log4net section of the configuration file needs to have a section - handler registered. This is the section handler used. It simply returns - the XML element that is the root of the section. - - - Example of registering the log4net section handler : - - - -
- - - log4net configuration XML goes here - - - - - Nicko Cadell - Gert Driesen - - - - Initializes a new instance of the class. - - - - Default constructor. - - - - - - Parses the configuration section. - - The configuration settings in a corresponding parent configuration section. - The configuration context when called from the ASP.NET configuration system. Otherwise, this parameter is reserved and is a null reference. - The for the log4net section. - The for the log4net section. - - - Returns the containing the configuration data, - - - - - - Assembly level attribute that specifies a plugin to attach to - the repository. - - - - Specifies the type of a plugin to create and attach to the - assembly's repository. The plugin type must implement the - interface. - - - Nicko Cadell - Gert Driesen - - - - Interface used to create plugins. - - - - Interface used to create a plugin. - - - Nicko Cadell - Gert Driesen - - - - Creates the plugin object. - - the new plugin instance - - - Create and return a new plugin instance. - - - - - - Initializes a new instance of the class - with the specified type. - - The type name of plugin to create. - - - Create the attribute with the plugin type specified. - - - Where possible use the constructor that takes a . - - - - - - Initializes a new instance of the class - with the specified type. - - The type of plugin to create. - - - Create the attribute with the plugin type specified. - - - - - - Creates the plugin object defined by this attribute. - - - - Creates the instance of the object as - specified by this attribute. - - - The plugin object. - - - - Returns a representation of the properties of this object. - - - - Overrides base class method to - return a representation of the properties of this object. - - - A representation of the properties of this object - - - - Gets or sets the type for the plugin. - - - The type for the plugin. - - - - The type for the plugin. - - - - - - Gets or sets the type name for the plugin. - - - The type name for the plugin. - - - - The type name for the plugin. - - - Where possible use the property instead. - - - - - - Assembly level attribute to configure the . - - - - This attribute may only be used at the assembly scope and can only - be used once per assembly. - - - Use this attribute to configure the - without calling one of the - methods. - - - Nicko Cadell - - - - Construct provider attribute with type specified - - the type of the provider to use - - - The provider specified must subclass the - class. - - - - - - Configures the SecurityContextProvider - - The assembly that this attribute was defined on. - The repository to configure. - - - Creates a provider instance from the specified. - Sets this as the default security context provider . - - - - - - Gets or sets the type of the provider to use. - - - the type of the provider to use. - - - - The provider specified must subclass the - class. - - - - - - Use this class to initialize the log4net environment using an Xml tree. - - - - Configures a using an Xml tree. - - - Nicko Cadell - Gert Driesen - - - - Private constructor - - - - - Automatically configures the log4net system based on the - application's configuration settings. - - - - Each application has a configuration file. This has the - same name as the application with '.config' appended. - This file is XML and calling this function prompts the - configurator to look in that file for a section called - log4net that contains the configuration data. - - - To use this method to configure log4net you must specify - the section - handler for the log4net configuration section. See the - for an example. - - - - - - - Automatically configures the using settings - stored in the application's configuration file. - - - - Each application has a configuration file. This has the - same name as the application with '.config' appended. - This file is XML and calling this function prompts the - configurator to look in that file for a section called - log4net that contains the configuration data. - - - To use this method to configure log4net you must specify - the section - handler for the log4net configuration section. See the - for an example. - - - The repository to configure. - - - - Configures log4net using a log4net element - - - - Loads the log4net configuration from the XML element - supplied as . - - - The element to parse. - - - - Configures the using the specified XML - element. - - - Loads the log4net configuration from the XML element - supplied as . - - The repository to configure. - The element to parse. - - - - Configures log4net using the specified configuration file. - - The XML file to load the configuration from. - - - The configuration file must be valid XML. It must contain - at least one element called log4net that holds - the log4net configuration data. - - - The log4net configuration file can possible be specified in the application's - configuration file (either MyAppName.exe.config for a - normal application on Web.config for an ASP.NET application). - - - The first element matching <configuration> will be read as the - configuration. If this file is also a .NET .config file then you must specify - a configuration section for the log4net element otherwise .NET will - complain. Set the type for the section handler to , for example: - - -
- - - - - The following example configures log4net using a configuration file, of which the - location is stored in the application's configuration file : - - - using log4net.Config; - using System.IO; - using System.Configuration; - - ... - - XmlConfigurator.Configure(new FileInfo(ConfigurationSettings.AppSettings["log4net-config-file"])); - - - In the .config file, the path to the log4net can be specified like this : - - - - - - - - - - - - - Configures log4net using the specified configuration URI. - - A URI to load the XML configuration from. - - - The configuration data must be valid XML. It must contain - at least one element called log4net that holds - the log4net configuration data. - - - The must support the URI scheme specified. - - - - - - Configures log4net using the specified configuration data stream. - - A stream to load the XML configuration from. - - - The configuration data must be valid XML. It must contain - at least one element called log4net that holds - the log4net configuration data. - - - Note that this method will NOT close the stream parameter. - - - - - - Configures the using the specified configuration - file. - - The repository to configure. - The XML file to load the configuration from. - - - The configuration file must be valid XML. It must contain - at least one element called log4net that holds - the configuration data. - - - The log4net configuration file can possible be specified in the application's - configuration file (either MyAppName.exe.config for a - normal application on Web.config for an ASP.NET application). - - - The first element matching <configuration> will be read as the - configuration. If this file is also a .NET .config file then you must specify - a configuration section for the log4net element otherwise .NET will - complain. Set the type for the section handler to , for example: - - -
- - - - - The following example configures log4net using a configuration file, of which the - location is stored in the application's configuration file : - - - using log4net.Config; - using System.IO; - using System.Configuration; - - ... - - XmlConfigurator.Configure(new FileInfo(ConfigurationSettings.AppSettings["log4net-config-file"])); - - - In the .config file, the path to the log4net can be specified like this : - - - - - - - - - - - - - Configures the using the specified configuration - URI. - - The repository to configure. - A URI to load the XML configuration from. - - - The configuration data must be valid XML. It must contain - at least one element called log4net that holds - the configuration data. - - - The must support the URI scheme specified. - - - - - - Configures the using the specified configuration - file. - - The repository to configure. - The stream to load the XML configuration from. - - - The configuration data must be valid XML. It must contain - at least one element called log4net that holds - the configuration data. - - - Note that this method will NOT close the stream parameter. - - - - - - Configures log4net using the file specified, monitors the file for changes - and reloads the configuration if a change is detected. - - The XML file to load the configuration from. - - - The configuration file must be valid XML. It must contain - at least one element called log4net that holds - the configuration data. - - - The configuration file will be monitored using a - and depends on the behavior of that class. - - - For more information on how to configure log4net using - a separate configuration file, see . - - - - - - - Configures the using the file specified, - monitors the file for changes and reloads the configuration if a change - is detected. - - The repository to configure. - The XML file to load the configuration from. - - - The configuration file must be valid XML. It must contain - at least one element called log4net that holds - the configuration data. - - - The configuration file will be monitored using a - and depends on the behavior of that class. - - - For more information on how to configure log4net using - a separate configuration file, see . - - - - - - - Configures the specified repository using a log4net element. - - The hierarchy to configure. - The element to parse. - - - Loads the log4net configuration from the XML element - supplied as . - - - This method is ultimately called by one of the Configure methods - to load the configuration from an . - - - - - - Class used to watch config files. - - - - Uses the to monitor - changes to a specified file. Because multiple change notifications - may be raised when the file is modified, a timer is used to - compress the notifications into a single event. The timer - waits for time before delivering - the event notification. If any further - change notifications arrive while the timer is waiting it - is reset and waits again for to - elapse. - - - - - - The default amount of time to wait after receiving notification - before reloading the config file. - - - - - Watch a specified config file used to configure a repository - - The repository to configure. - The configuration file to watch. - - - Watch a specified config file used to configure a repository - - - - - - Holds the FileInfo used to configure the XmlConfigurator - - - - - Holds the repository being configured. - - - - - The timer used to compress the notification events. - - - - - Initializes a new instance of the class. - - The repository to configure. - The configuration file to watch. - - - Initializes a new instance of the class. - - - - - - Event handler used by . - - The firing the event. - The argument indicates the file that caused the event to be fired. - - - This handler reloads the configuration from the file when the event is fired. - - - - - - Event handler used by . - - The firing the event. - The argument indicates the file that caused the event to be fired. - - - This handler reloads the configuration from the file when the event is fired. - - - - - - Called by the timer when the configuration has been updated. - - null - - - - The implementation of the interface suitable - for use with the compact framework - - - - This implementation is a simple - mapping between repository name and - object. - - - The .NET Compact Framework 1.0 does not support retrieving assembly - level attributes therefore unlike the DefaultRepositorySelector - this selector does not examine the calling assembly for attributes. - - - Nicko Cadell - - - - Interface used by the to select the . - - - - The uses a - to specify the policy for selecting the correct - to return to the caller. - - - Nicko Cadell - Gert Driesen - - - - Gets the for the specified assembly. - - The assembly to use to lookup to the - The for the assembly. - - - Gets the for the specified assembly. - - - How the association between and - is made is not defined. The implementation may choose any method for - this association. The results of this method must be repeatable, i.e. - when called again with the same arguments the result must be the - save value. - - - - - - Gets the named . - - The name to use to lookup to the . - The named - - Lookup a named . This is the repository created by - calling . - - - - - Creates a new repository for the assembly specified. - - The assembly to use to create the domain to associate with the . - The type of repository to create, must implement . - The repository created. - - - The created will be associated with the domain - specified such that a call to with the - same assembly specified will return the same repository instance. - - - How the association between and - is made is not defined. The implementation may choose any method for - this association. - - - - - - Creates a new repository with the name specified. - - The name to associate with the . - The type of repository to create, must implement . - The repository created. - - - The created will be associated with the name - specified such that a call to with the - same name will return the same repository instance. - - - - - - Test if a named repository exists - - the named repository to check - true if the repository exists - - - Test if a named repository exists. Use - to create a new repository and to retrieve - a repository. - - - - - - Gets an array of all currently defined repositories. - - - An array of the instances created by - this . - - - Gets an array of all of the repositories created by this selector. - - - - - - Event to notify that a logger repository has been created. - - - Event to notify that a logger repository has been created. - - - - Event raised when a new repository is created. - The event source will be this selector. The event args will - be a which - holds the newly created . - - - - - - Create a new repository selector - - the type of the repositories to create, must implement - - - Create an new compact repository selector. - The default type for repositories must be specified, - an appropriate value would be . - - - throw if is null - throw if does not implement - - - - Get the for the specified assembly - - not used - The default - - - The argument is not used. This selector does not create a - separate repository for each assembly. - - - As a named repository is not specified the default repository is - returned. The default repository is named log4net-default-repository. - - - - - - Get the named - - the name of the repository to lookup - The named - - - Get the named . The default - repository is log4net-default-repository. Other repositories - must be created using the . - If the named repository does not exist an exception is thrown. - - - throw if is null - throw if the does not exist - - - - Create a new repository for the assembly specified - - not used - the type of repository to create, must implement - the repository created - - - The argument is not used. This selector does not create a - separate repository for each assembly. - - - If the is null then the - default repository type specified to the constructor is used. - - - As a named repository is not specified the default repository is - returned. The default repository is named log4net-default-repository. - - - - - - Create a new repository for the repository specified - - the repository to associate with the - the type of repository to create, must implement . - If this param is null then the default repository type is used. - the repository created - - - The created will be associated with the repository - specified such that a call to with the - same repository specified will return the same repository instance. - - - If the named repository already exists an exception will be thrown. - - - If is null then the default - repository type specified to the constructor is used. - - - throw if is null - throw if the already exists - - - - Test if a named repository exists - - the named repository to check - true if the repository exists - - - Test if a named repository exists. Use - to create a new repository and to retrieve - a repository. - - - - - - Gets a list of objects - - an array of all known objects - - - Gets an array of all of the repositories created by this selector. - - - - - - Notify the registered listeners that the repository has been created - - The repository that has been created - - - Raises the LoggerRepositoryCreatedEvent - event. - - - - - - Event to notify that a logger repository has been created. - - - Event to notify that a logger repository has been created. - - - - Event raised when a new repository is created. - The event source will be this selector. The event args will - be a which - holds the newly created . - - - - - - The default implementation of the interface. - - - - Uses attributes defined on the calling assembly to determine how to - configure the hierarchy for the repository. - - - Nicko Cadell - Gert Driesen - - - - Creates a new repository selector. - - The type of the repositories to create, must implement - - - Create an new repository selector. - The default type for repositories must be specified, - an appropriate value would be . - - - is . - does not implement . - - - - Gets the for the specified assembly. - - The assembly use to lookup the . - - - The type of the created and the repository - to create can be overridden by specifying the - attribute on the . - - - The default values are to use the - implementation of the interface and to use the - as the name of the repository. - - - The created will be automatically configured using - any attributes defined on - the . - - - The for the assembly - is . - - - - Gets the for the specified repository. - - The repository to use to lookup the . - The for the specified repository. - - - Returns the named repository. If is null - a is thrown. If the repository - does not exist a is thrown. - - - Use to create a repository. - - - is . - does not exist. - - - - Create a new repository for the assembly specified - - the assembly to use to create the repository to associate with the . - The type of repository to create, must implement . - The repository created. - - - The created will be associated with the repository - specified such that a call to with the - same assembly specified will return the same repository instance. - - - The type of the created and - the repository to create can be overridden by specifying the - attribute on the - . The default values are to use the - implementation of the - interface and to use the - as the name of the repository. - - - The created will be automatically - configured using any - attributes defined on the . - - - If a repository for the already exists - that repository will be returned. An error will not be raised and that - repository may be of a different type to that specified in . - Also the attribute on the - assembly may be used to override the repository type specified in - . - - - is . - - - - Creates a new repository for the assembly specified. - - the assembly to use to create the repository to associate with the . - The type of repository to create, must implement . - The name to assign to the created repository - Set to true to read and apply the assembly attributes - The repository created. - - - The created will be associated with the repository - specified such that a call to with the - same assembly specified will return the same repository instance. - - - The type of the created and - the repository to create can be overridden by specifying the - attribute on the - . The default values are to use the - implementation of the - interface and to use the - as the name of the repository. - - - The created will be automatically - configured using any - attributes defined on the . - - - If a repository for the already exists - that repository will be returned. An error will not be raised and that - repository may be of a different type to that specified in . - Also the attribute on the - assembly may be used to override the repository type specified in - . - - - is . - - - - Creates a new repository for the specified repository. - - The repository to associate with the . - The type of repository to create, must implement . - If this param is then the default repository type is used. - The new repository. - - - The created will be associated with the repository - specified such that a call to with the - same repository specified will return the same repository instance. - - - is . - already exists. - - - - Test if a named repository exists - - the named repository to check - true if the repository exists - - - Test if a named repository exists. Use - to create a new repository and to retrieve - a repository. - - - - - - Gets a list of objects - - an array of all known objects - - - Gets an array of all of the repositories created by this selector. - - - - - - Aliases a repository to an existing repository. - - The repository to alias. - The repository that the repository is aliased to. - - - The repository specified will be aliased to the repository when created. - The repository must not already exist. - - - When the repository is created it must utilize the same repository type as - the repository it is aliased to, otherwise the aliasing will fail. - - - - is . - -or- - is . - - - - - Notifies the registered listeners that the repository has been created. - - The repository that has been created. - - - Raises the event. - - - - - - Gets the repository name and repository type for the specified assembly. - - The assembly that has a . - in/out param to hold the repository name to use for the assembly, caller should set this to the default value before calling. - in/out param to hold the type of the repository to create for the assembly, caller should set this to the default value before calling. - is . - - - - Configures the repository using information from the assembly. - - The assembly containing - attributes which define the configuration for the repository. - The repository to configure. - - is . - -or- - is . - - - - - Loads the attribute defined plugins on the assembly. - - The assembly that contains the attributes. - The repository to add the plugins to. - - is . - -or- - is . - - - - - Loads the attribute defined aliases on the assembly. - - The assembly that contains the attributes. - The repository to alias to. - - is . - -or- - is . - - - - - Event to notify that a logger repository has been created. - - - Event to notify that a logger repository has been created. - - - - Event raised when a new repository is created. - The event source will be this selector. The event args will - be a which - holds the newly created . - - - - - - Defined error codes that can be passed to the method. - - - - Values passed to the method. - - - Nicko Cadell - - - - A general error - - - - - Error while writing output - - - - - Failed to flush file - - - - - Failed to close file - - - - - Unable to open output file - - - - - No layout specified - - - - - Failed to parse address - - - - - Appenders may delegate their error handling to an . - - - - Error handling is a particularly tedious to get right because by - definition errors are hard to predict and to reproduce. - - - Nicko Cadell - Gert Driesen - - - - Handles the error and information about the error condition is passed as - a parameter. - - The message associated with the error. - The that was thrown when the error occurred. - The error code associated with the error. - - - Handles the error and information about the error condition is passed as - a parameter. - - - - - - Prints the error message passed as a parameter. - - The message associated with the error. - The that was thrown when the error occurred. - - - See . - - - - - - Prints the error message passed as a parameter. - - The message associated with the error. - - - See . - - - - - - Interface for objects that require fixing. - - - - Interface that indicates that the object requires fixing before it - can be taken outside the context of the appender's - method. - - - When objects that implement this interface are stored - in the context properties maps - and - are fixed - (see ) the - method will be called. - - - Nicko Cadell - - - - Get a portable version of this object - - the portable instance of this object - - - Get a portable instance object that represents the current - state of this object. The portable object can be stored - and logged from any thread with identical results. - - - - - - Interface that all loggers implement - - - - This interface supports logging events and testing if a level - is enabled for logging. - - - These methods will not throw exceptions. Note to implementor, ensure - that the implementation of these methods cannot allow an exception - to be thrown to the caller. - - - Nicko Cadell - Gert Driesen - - - - This generic form is intended to be used by wrappers. - - The declaring type of the method that is - the stack boundary into the logging system for this call. - The level of the message to be logged. - The message object to log. - the exception to log, including its stack trace. Pass null to not log an exception. - - - Generates a logging event for the specified using - the and . - - - - - - This is the most generic printing method that is intended to be used - by wrappers. - - The event being logged. - - - Logs the specified logging event through this logger. - - - - - - Checks if this logger is enabled for a given passed as parameter. - - The level to check. - - true if this logger is enabled for level, otherwise false. - - - - Test if this logger is going to log events of the specified . - - - - - - Gets the name of the logger. - - - The name of the logger. - - - - The name of this logger - - - - - - Gets the where this - Logger instance is attached to. - - - The that this logger belongs to. - - - - Gets the where this - Logger instance is attached to. - - - - - - Base interface for all wrappers - - - - Base interface for all wrappers. - - - All wrappers must implement this interface. - - - Nicko Cadell - - - - Get the implementation behind this wrapper object. - - - The object that in implementing this object. - - - - The object that in implementing this - object. The Logger object may not - be the same object as this object because of logger decorators. - This gets the actual underlying objects that is used to process - the log events. - - - - - - Delegate used to handle logger repository creation event notifications - - The which created the repository. - The event args - that holds the instance that has been created. - - - Delegate used to handle logger repository creation event notifications. - - - - - - Provides data for the event. - - - - A - event is raised every time a is created. - - - - - - The created - - - - - Construct instance using specified - - the that has been created - - - Construct instance using specified - - - - - - The that has been created - - - The that has been created - - - - The that has been created - - - - - - Test if an triggers an action - - - - Implementations of this interface allow certain appenders to decide - when to perform an appender specific action. - - - The action or behavior triggered is defined by the implementation. - - - Nicko Cadell - - - - Test if this event triggers the action - - The event to check - true if this event triggers the action, otherwise false - - - Return true if this event triggers the action - - - - - - Defines the default set of levels recognized by the system. - - - - Each has an associated . - - - Levels have a numeric that defines the relative - ordering between levels. Two Levels with the same - are deemed to be equivalent. - - - The levels that are recognized by log4net are set for each - and each repository can have different levels defined. The levels are stored - in the on the repository. Levels are - looked up by name from the . - - - When logging at level INFO the actual level used is not but - the value of LoggerRepository.LevelMap["INFO"]. The default value for this is - , but this can be changed by reconfiguring the level map. - - - Each level has a in addition to its . The - is the string that is written into the output log. By default - the display name is the same as the level name, but this can be used to alias levels - or to localize the log output. - - - Some of the predefined levels recognized by the system are: - - - - . - - - . - - - . - - - . - - - . - - - . - - - . - - - - Nicko Cadell - Gert Driesen - - - - Constructor - - Integer value for this level, higher values represent more severe levels. - The string name of this level. - The display name for this level. This may be localized or otherwise different from the name - - - Initializes a new instance of the class with - the specified level name and value. - - - - - - Constructor - - Integer value for this level, higher values represent more severe levels. - The string name of this level. - - - Initializes a new instance of the class with - the specified level name and value. - - - - - - Returns the representation of the current - . - - - A representation of the current . - - - - Returns the level . - - - - - - Compares levels. - - The object to compare against. - true if the objects are equal. - - - Compares the levels of instances, and - defers to base class if the target object is not a - instance. - - - - - - Returns a hash code - - A hash code for the current . - - - Returns a hash code suitable for use in hashing algorithms and data - structures like a hash table. - - - Returns the hash code of the level . - - - - - - Compares this instance to a specified object and returns an - indication of their relative values. - - A instance or to compare with this instance. - - A 32-bit signed integer that indicates the relative order of the - values compared. The return value has these meanings: - - - Value - Meaning - - - Less than zero - This instance is less than . - - - Zero - This instance is equal to . - - - Greater than zero - - This instance is greater than . - -or- - is . - - - - - - - must be an instance of - or ; otherwise, an exception is thrown. - - - is not a . - - - - Returns a value indicating whether a specified - is greater than another specified . - - A - A - - true if is greater than - ; otherwise, false. - - - - Compares two levels. - - - - - - Returns a value indicating whether a specified - is less than another specified . - - A - A - - true if is less than - ; otherwise, false. - - - - Compares two levels. - - - - - - Returns a value indicating whether a specified - is greater than or equal to another specified . - - A - A - - true if is greater than or equal to - ; otherwise, false. - - - - Compares two levels. - - - - - - Returns a value indicating whether a specified - is less than or equal to another specified . - - A - A - - true if is less than or equal to - ; otherwise, false. - - - - Compares two levels. - - - - - - Returns a value indicating whether two specified - objects have the same value. - - A or . - A or . - - true if the value of is the same as the - value of ; otherwise, false. - - - - Compares two levels. - - - - - - Returns a value indicating whether two specified - objects have different values. - - A or . - A or . - - true if the value of is different from - the value of ; otherwise, false. - - - - Compares two levels. - - - - - - Compares two specified instances. - - The first to compare. - The second to compare. - - A 32-bit signed integer that indicates the relative order of the - two values compared. The return value has these meanings: - - - Value - Meaning - - - Less than zero - is less than . - - - Zero - is equal to . - - - Greater than zero - is greater than . - - - - - - Compares two levels. - - - - - - The level designates a higher level than all the rest. - - - - - The level designates very severe error events. - System unusable, emergencies. - - - - - The level designates very severe error events - that will presumably lead the application to abort. - - - - - The level designates very severe error events. - Take immediate action, alerts. - - - - - The level designates very severe error events. - Critical condition, critical. - - - - - The level designates very severe error events. - - - - - The level designates error events that might - still allow the application to continue running. - - - - - The level designates potentially harmful - situations. - - - - - The level designates informational messages - that highlight the progress of the application at the highest level. - - - - - The level designates informational messages that - highlight the progress of the application at coarse-grained level. - - - - - The level designates fine-grained informational - events that are most useful to debug an application. - - - - - The level designates fine-grained informational - events that are most useful to debug an application. - - - - - The level designates fine-grained informational - events that are most useful to debug an application. - - - - - The level designates fine-grained informational - events that are most useful to debug an application. - - - - - The level designates fine-grained informational - events that are most useful to debug an application. - - - - - The level designates fine-grained informational - events that are most useful to debug an application. - - - - - The level designates the lowest level possible. - - - - - Gets the name of this level. - - - The name of this level. - - - - Gets the name of this level. - - - - - - Gets the value of this level. - - - The value of this level. - - - - Gets the value of this level. - - - - - - Gets the display name of this level. - - - The display name of this level. - - - - Gets the display name of this level. - - - - - - A strongly-typed collection of objects. - - Nicko Cadell - - - - Creates a read-only wrapper for a LevelCollection instance. - - list to create a readonly wrapper arround - - A LevelCollection wrapper that is read-only. - - - - - Initializes a new instance of the LevelCollection class - that is empty and has the default initial capacity. - - - - - Initializes a new instance of the LevelCollection class - that has the specified initial capacity. - - - The number of elements that the new LevelCollection is initially capable of storing. - - - - - Initializes a new instance of the LevelCollection class - that contains elements copied from the specified LevelCollection. - - The LevelCollection whose elements are copied to the new collection. - - - - Initializes a new instance of the LevelCollection class - that contains elements copied from the specified array. - - The array whose elements are copied to the new list. - - - - Initializes a new instance of the LevelCollection class - that contains elements copied from the specified collection. - - The collection whose elements are copied to the new list. - - - - Allow subclasses to avoid our default constructors - - - - - - Copies the entire LevelCollection to a one-dimensional - array. - - The one-dimensional array to copy to. - - - - Copies the entire LevelCollection to a one-dimensional - array, starting at the specified index of the target array. - - The one-dimensional array to copy to. - The zero-based index in at which copying begins. - - - - Adds a to the end of the LevelCollection. - - The to be added to the end of the LevelCollection. - The index at which the value has been added. - - - - Removes all elements from the LevelCollection. - - - - - Creates a shallow copy of the . - - A new with a shallow copy of the collection data. - - - - Determines whether a given is in the LevelCollection. - - The to check for. - true if is found in the LevelCollection; otherwise, false. - - - - Returns the zero-based index of the first occurrence of a - in the LevelCollection. - - The to locate in the LevelCollection. - - The zero-based index of the first occurrence of - in the entire LevelCollection, if found; otherwise, -1. - - - - - Inserts an element into the LevelCollection at the specified index. - - The zero-based index at which should be inserted. - The to insert. - - is less than zero - -or- - is equal to or greater than . - - - - - Removes the first occurrence of a specific from the LevelCollection. - - The to remove from the LevelCollection. - - The specified was not found in the LevelCollection. - - - - - Removes the element at the specified index of the LevelCollection. - - The zero-based index of the element to remove. - - is less than zero - -or- - is equal to or greater than . - - - - - Returns an enumerator that can iterate through the LevelCollection. - - An for the entire LevelCollection. - - - - Adds the elements of another LevelCollection to the current LevelCollection. - - The LevelCollection whose elements should be added to the end of the current LevelCollection. - The new of the LevelCollection. - - - - Adds the elements of a array to the current LevelCollection. - - The array whose elements should be added to the end of the LevelCollection. - The new of the LevelCollection. - - - - Adds the elements of a collection to the current LevelCollection. - - The collection whose elements should be added to the end of the LevelCollection. - The new of the LevelCollection. - - - - Sets the capacity to the actual number of elements. - - - - - is less than zero - -or- - is equal to or greater than . - - - - - is less than zero - -or- - is equal to or greater than . - - - - - Gets the number of elements actually contained in the LevelCollection. - - - - - Gets a value indicating whether access to the collection is synchronized (thread-safe). - - true if access to the ICollection is synchronized (thread-safe); otherwise, false. - - - - Gets an object that can be used to synchronize access to the collection. - - - - - Gets or sets the at the specified index. - - The zero-based index of the element to get or set. - - is less than zero - -or- - is equal to or greater than . - - - - - Gets a value indicating whether the collection has a fixed size. - - true if the collection has a fixed size; otherwise, false. The default is false - - - - Gets a value indicating whether the IList is read-only. - - true if the collection is read-only; otherwise, false. The default is false - - - - Gets or sets the number of elements the LevelCollection can contain. - - - - - Supports type-safe iteration over a . - - - - - Advances the enumerator to the next element in the collection. - - - true if the enumerator was successfully advanced to the next element; - false if the enumerator has passed the end of the collection. - - - The collection was modified after the enumerator was created. - - - - - Sets the enumerator to its initial position, before the first element in the collection. - - - - - Gets the current element in the collection. - - - - - Type visible only to our subclasses - Used to access protected constructor - - - - - A value - - - - - Supports simple iteration over a . - - - - - Initializes a new instance of the Enumerator class. - - - - - - Advances the enumerator to the next element in the collection. - - - true if the enumerator was successfully advanced to the next element; - false if the enumerator has passed the end of the collection. - - - The collection was modified after the enumerator was created. - - - - - Sets the enumerator to its initial position, before the first element in the collection. - - - - - Gets the current element in the collection. - - - - - An evaluator that triggers at a threshold level - - - - This evaluator will trigger if the level of the event - passed to - is equal to or greater than the - level. - - - Nicko Cadell - - - - The threshold for triggering - - - - - Create a new evaluator using the threshold. - - - - Create a new evaluator using the threshold. - - - This evaluator will trigger if the level of the event - passed to - is equal to or greater than the - level. - - - - - - Create a new evaluator using the specified threshold. - - the threshold to trigger at - - - Create a new evaluator using the specified threshold. - - - This evaluator will trigger if the level of the event - passed to - is equal to or greater than the - level. - - - - - - Is this the triggering event? - - The event to check - This method returns true, if the event level - is equal or higher than the . - Otherwise it returns false - - - This evaluator will trigger if the level of the event - passed to - is equal to or greater than the - level. - - - - - - the threshold to trigger at - - - The that will cause this evaluator to trigger - - - - This evaluator will trigger if the level of the event - passed to - is equal to or greater than the - level. - - - - - - Mapping between string name and Level object - - - - Mapping between string name and object. - This mapping is held separately for each . - The level name is case insensitive. - - - Nicko Cadell - - - - Mapping from level name to Level object. The - level name is case insensitive - - - - - Construct the level map - - - - Construct the level map. - - - - - - Clear the internal maps of all levels - - - - Clear the internal maps of all levels - - - - - - Create a new Level and add it to the map - - the string to display for the Level - the level value to give to the Level - - - Create a new Level and add it to the map - - - - - - - Create a new Level and add it to the map - - the string to display for the Level - the level value to give to the Level - the display name to give to the Level - - - Create a new Level and add it to the map - - - - - - Add a Level to the map - - the Level to add - - - Add a Level to the map - - - - - - Lookup a named level from the map - - the name of the level to lookup is taken from this level. - If the level is not set on the map then this level is added - the level in the map with the name specified - - - Lookup a named level from the map. The name of the level to lookup is taken - from the property of the - argument. - - - If no level with the specified name is found then the - argument is added to the level map - and returned. - - - - - - Lookup a by name - - The name of the Level to lookup - a Level from the map with the name specified - - - Returns the from the - map with the name specified. If the no level is - found then null is returned. - - - - - - Return all possible levels as a list of Level objects. - - all possible levels as a list of Level objects - - - Return all possible levels as a list of Level objects. - - - - - - The internal representation of caller location information. - - - - This class uses the System.Diagnostics.StackTrace class to generate - a call stack. The caller's information is then extracted from this stack. - - - The System.Diagnostics.StackTrace class is not supported on the - .NET Compact Framework 1.0 therefore caller location information is not - available on that framework. - - - The System.Diagnostics.StackTrace class has this to say about Release builds: - - - "StackTrace information will be most informative with Debug build configurations. - By default, Debug builds include debug symbols, while Release builds do not. The - debug symbols contain most of the file, method name, line number, and column - information used in constructing StackFrame and StackTrace objects. StackTrace - might not report as many method calls as expected, due to code transformations - that occur during optimization." - - - This means that in a Release build the caller information may be incomplete or may - not exist at all! Therefore caller location information cannot be relied upon in a Release build. - - - Nicko Cadell - Gert Driesen - - - - When location information is not available the constant - NA is returned. Current value of this string - constant is ?. - - - - - Constructor - - The declaring type of the method that is - the stack boundary into the logging system for this call. - - - Initializes a new instance of the - class based on the current thread. - - - - - - Constructor - - The fully qualified class name. - The method name. - The file name. - The line number of the method within the file. - - - Initializes a new instance of the - class with the specified data. - - - - - - Gets the fully qualified class name of the caller making the logging - request. - - - The fully qualified class name of the caller making the logging - request. - - - - Gets the fully qualified class name of the caller making the logging - request. - - - - - - Gets the file name of the caller. - - - The file name of the caller. - - - - Gets the file name of the caller. - - - - - - Gets the line number of the caller. - - - The line number of the caller. - - - - Gets the line number of the caller. - - - - - - Gets the method name of the caller. - - - The method name of the caller. - - - - Gets the method name of the caller. - - - - - - Gets all available caller information - - - All available caller information, in the format - fully.qualified.classname.of.caller.methodName(Filename:line) - - - - Gets all available caller information, in the format - fully.qualified.classname.of.caller.methodName(Filename:line) - - - - - - Static manager that controls the creation of repositories - - - - Static manager that controls the creation of repositories - - - This class is used by the wrapper managers (e.g. ) - to provide access to the objects. - - - This manager also holds the that is used to - lookup and create repositories. The selector can be set either programmatically using - the property, or by setting the log4net.RepositorySelector - AppSetting in the applications config file to the fully qualified type name of the - selector to use. - - - Nicko Cadell - Gert Driesen - - - - Private constructor to prevent instances. Only static methods should be used. - - - - Private constructor to prevent instances. Only static methods should be used. - - - - - - Hook the shutdown event - - - - On the full .NET runtime, the static constructor hooks up the - AppDomain.ProcessExit and AppDomain.DomainUnload> events. - These are used to shutdown the log4net system as the application exits. - - - - - - Register for ProcessExit and DomainUnload events on the AppDomain - - - - This needs to be in a separate method because the events make - a LinkDemand for the ControlAppDomain SecurityPermission. Because - this is a LinkDemand it is demanded at JIT time. Therefore we cannot - catch the exception in the method itself, we have to catch it in the - caller. - - - - - - Return the default instance. - - the repository to lookup in - Return the default instance - - - Gets the for the repository specified - by the argument. - - - - - - Returns the default instance. - - The assembly to use to lookup the repository. - The default instance. - - - - Return the default instance. - - the repository to lookup in - Return the default instance - - - Gets the for the repository specified - by the argument. - - - - - - Returns the default instance. - - The assembly to use to lookup the repository. - The default instance. - - - Returns the default instance. - - - - - - Returns the named logger if it exists. - - The repository to lookup in. - The fully qualified logger name to look for. - - The logger found, or null if the named logger does not exist in the - specified repository. - - - - If the named logger exists (in the specified repository) then it - returns a reference to the logger, otherwise it returns - null. - - - - - - Returns the named logger if it exists. - - The assembly to use to lookup the repository. - The fully qualified logger name to look for. - - The logger found, or null if the named logger does not exist in the - specified assembly's repository. - - - - If the named logger exists (in the specified assembly's repository) then it - returns a reference to the logger, otherwise it returns - null. - - - - - - Returns all the currently defined loggers in the specified repository. - - The repository to lookup in. - All the defined loggers. - - - The root logger is not included in the returned array. - - - - - - Returns all the currently defined loggers in the specified assembly's repository. - - The assembly to use to lookup the repository. - All the defined loggers. - - - The root logger is not included in the returned array. - - - - - - Retrieves or creates a named logger. - - The repository to lookup in. - The name of the logger to retrieve. - The logger with the name specified. - - - Retrieves a logger named as the - parameter. If the named logger already exists, then the - existing instance will be returned. Otherwise, a new instance is - created. - - - By default, loggers do not have a set level but inherit - it from the hierarchy. This is one of the central features of - log4net. - - - - - - Retrieves or creates a named logger. - - The assembly to use to lookup the repository. - The name of the logger to retrieve. - The logger with the name specified. - - - Retrieves a logger named as the - parameter. If the named logger already exists, then the - existing instance will be returned. Otherwise, a new instance is - created. - - - By default, loggers do not have a set level but inherit - it from the hierarchy. This is one of the central features of - log4net. - - - - - - Shorthand for . - - The repository to lookup in. - The of which the fullname will be used as the name of the logger to retrieve. - The logger with the name specified. - - - Gets the logger for the fully qualified name of the type specified. - - - - - - Shorthand for . - - the assembly to use to lookup the repository - The of which the fullname will be used as the name of the logger to retrieve. - The logger with the name specified. - - - Gets the logger for the fully qualified name of the type specified. - - - - - - Shuts down the log4net system. - - - - Calling this method will safely close and remove all - appenders in all the loggers including root contained in all the - default repositories. - - - Some appenders need to be closed before the application exists. - Otherwise, pending logging events might be lost. - - - The shutdown method is careful to close nested - appenders before closing regular appenders. This is allows - configurations where a regular appender is attached to a logger - and again to a nested appender. - - - - - - Shuts down the repository for the repository specified. - - The repository to shutdown. - - - Calling this method will safely close and remove all - appenders in all the loggers including root contained in the - repository for the specified. - - - Some appenders need to be closed before the application exists. - Otherwise, pending logging events might be lost. - - - The shutdown method is careful to close nested - appenders before closing regular appenders. This is allows - configurations where a regular appender is attached to a logger - and again to a nested appender. - - - - - - Shuts down the repository for the repository specified. - - The assembly to use to lookup the repository. - - - Calling this method will safely close and remove all - appenders in all the loggers including root contained in the - repository for the repository. The repository is looked up using - the specified. - - - Some appenders need to be closed before the application exists. - Otherwise, pending logging events might be lost. - - - The shutdown method is careful to close nested - appenders before closing regular appenders. This is allows - configurations where a regular appender is attached to a logger - and again to a nested appender. - - - - - - Resets all values contained in this repository instance to their defaults. - - The repository to reset. - - - Resets all values contained in the repository instance to their - defaults. This removes all appenders from all loggers, sets - the level of all non-root loggers to null, - sets their additivity flag to true and sets the level - of the root logger to . Moreover, - message disabling is set its default "off" value. - - - - - - Resets all values contained in this repository instance to their defaults. - - The assembly to use to lookup the repository to reset. - - - Resets all values contained in the repository instance to their - defaults. This removes all appenders from all loggers, sets - the level of all non-root loggers to null, - sets their additivity flag to true and sets the level - of the root logger to . Moreover, - message disabling is set its default "off" value. - - - - - - Creates a repository with the specified name. - - The name of the repository, this must be unique amongst repositories. - The created for the repository. - - - CreateDomain is obsolete. Use CreateRepository instead of CreateDomain. - - - Creates the default type of which is a - object. - - - The name must be unique. Repositories cannot be redefined. - An will be thrown if the repository already exists. - - - The specified repository already exists. - - - - Creates a repository with the specified name. - - The name of the repository, this must be unique amongst repositories. - The created for the repository. - - - Creates the default type of which is a - object. - - - The name must be unique. Repositories cannot be redefined. - An will be thrown if the repository already exists. - - - The specified repository already exists. - - - - Creates a repository with the specified name and repository type. - - The name of the repository, this must be unique to the repository. - A that implements - and has a no arg constructor. An instance of this type will be created to act - as the for the repository specified. - The created for the repository. - - - CreateDomain is obsolete. Use CreateRepository instead of CreateDomain. - - - The name must be unique. Repositories cannot be redefined. - An Exception will be thrown if the repository already exists. - - - The specified repository already exists. - - - - Creates a repository with the specified name and repository type. - - The name of the repository, this must be unique to the repository. - A that implements - and has a no arg constructor. An instance of this type will be created to act - as the for the repository specified. - The created for the repository. - - - The name must be unique. Repositories cannot be redefined. - An Exception will be thrown if the repository already exists. - - - The specified repository already exists. - - - - Creates a repository for the specified assembly and repository type. - - The assembly to use to get the name of the repository. - A that implements - and has a no arg constructor. An instance of this type will be created to act - as the for the repository specified. - The created for the repository. - - - CreateDomain is obsolete. Use CreateRepository instead of CreateDomain. - - - The created will be associated with the repository - specified such that a call to with the - same assembly specified will return the same repository instance. - - - - - - Creates a repository for the specified assembly and repository type. - - The assembly to use to get the name of the repository. - A that implements - and has a no arg constructor. An instance of this type will be created to act - as the for the repository specified. - The created for the repository. - - - The created will be associated with the repository - specified such that a call to with the - same assembly specified will return the same repository instance. - - - - - - Gets an array of all currently defined repositories. - - An array of all the known objects. - - - Gets an array of all currently defined repositories. - - - - - - Internal method to get pertinent version info. - - A string of version info. - - - - Called when the event fires - - the that is exiting - null - - - Called when the event fires. - - - When the event is triggered the log4net system is . - - - - - - Called when the event fires - - the that is exiting - null - - - Called when the event fires. - - - When the event is triggered the log4net system is . - - - - - - Initialize the default repository selector - - - - - Gets or sets the repository selector used by the . - - - The repository selector used by the . - - - - The repository selector () is used by - the to create and select repositories - (). - - - The caller to supplies either a string name - or an assembly (if not supplied the assembly is inferred using - ). - - - This context is used by the selector to lookup a specific repository. - - - For the full .NET Framework, the default repository is DefaultRepositorySelector; - for the .NET Compact Framework CompactRepositorySelector is the default - repository. - - - - - - Implementation of the interface. - - - - This class should be used as the base for all wrapper implementations. - - - Nicko Cadell - Gert Driesen - - - - Constructs a new wrapper for the specified logger. - - The logger to wrap. - - - Constructs a new wrapper for the specified logger. - - - - - - The logger that this object is wrapping - - - - - Gets the implementation behind this wrapper object. - - - The object that this object is implementing. - - - - The Logger object may not be the same object as this object - because of logger decorators. - - - This gets the actual underlying objects that is used to process - the log events. - - - - - - Portable data structure used by - - - - Portable data structure used by - - - Nicko Cadell - - - - The logger name. - - - - The logger name. - - - - - - Level of logging event. - - - - Level of logging event. Level cannot be Serializable - because it is a flyweight. Due to its special serialization it - cannot be declared final either. - - - - - - The application supplied message. - - - - The application supplied message of logging event. - - - - - - The name of thread - - - - The name of thread in which this logging event was generated - - - - - - The time the event was logged - - - - The TimeStamp is stored in the local time zone for this computer. - - - - - - Location information for the caller. - - - - Location information for the caller. - - - - - - String representation of the user - - - - String representation of the user's windows name, - like DOMAIN\username - - - - - - String representation of the identity. - - - - String representation of the current thread's principal identity. - - - - - - The string representation of the exception - - - - The string representation of the exception - - - - - - String representation of the AppDomain. - - - - String representation of the AppDomain. - - - - - - Additional event specific properties - - - - A logger or an appender may attach additional - properties to specific events. These properties - have a string key and an object value. - - - - - - Flags passed to the property - - - - Flags passed to the property - - - Nicko Cadell - - - - Fix the MDC - - - - - Fix the NDC - - - - - Fix the rendered message - - - - - Fix the thread name - - - - - Fix the callers location information - - - CAUTION: Very slow to generate - - - - - Fix the callers windows user name - - - CAUTION: Slow to generate - - - - - Fix the domain friendly name - - - - - Fix the callers principal name - - - CAUTION: May be slow to generate - - - - - Fix the exception text - - - - - Fix the event properties - - - - - No fields fixed - - - - - All fields fixed - - - - - Partial fields fixed - - - - This set of partial fields gives good performance. The following fields are fixed: - - - - - - - - - - - - - The internal representation of logging events. - - - - When an affirmative decision is made to log then a - instance is created. This instance - is passed around to the different log4net components. - - - This class is of concern to those wishing to extend log4net. - - - Some of the values in instances of - are considered volatile, that is the values are correct at the - time the event is delivered to appenders, but will not be consistent - at any time afterwards. If an event is to be stored and then processed - at a later time these volatile values must be fixed by calling - . There is a performance penalty - for incurred by calling but it - is essential to maintaining data consistency. - - - Nicko Cadell - Gert Driesen - Douglas de la Torre - Daniel Cazzulino - - - - The key into the Properties map for the host name value. - - - - - The key into the Properties map for the thread identity value. - - - - - The key into the Properties map for the user name value. - - - - - Initializes a new instance of the class - from the supplied parameters. - - The declaring type of the method that is - the stack boundary into the logging system for this call. - The repository this event is logged in. - The name of the logger of this event. - The level of this event. - The message of this event. - The exception for this event. - - - Except , and , - all fields of LoggingEvent are filled when actually needed. Call - to cache all data locally - to prevent inconsistencies. - - This method is called by the log4net framework - to create a logging event. - - - - - - Initializes a new instance of the class - using specific data. - - The declaring type of the method that is - the stack boundary into the logging system for this call. - The repository this event is logged in. - Data used to initialize the logging event. - The fields in the struct that have already been fixed. - - - This constructor is provided to allow a - to be created independently of the log4net framework. This can - be useful if you require a custom serialization scheme. - - - Use the method to obtain an - instance of the class. - - - The parameter should be used to specify which fields in the - struct have been preset. Fields not specified in the - will be captured from the environment if requested or fixed. - - - - - - Initializes a new instance of the class - using specific data. - - The declaring type of the method that is - the stack boundary into the logging system for this call. - The repository this event is logged in. - Data used to initialize the logging event. - - - This constructor is provided to allow a - to be created independently of the log4net framework. This can - be useful if you require a custom serialization scheme. - - - Use the method to obtain an - instance of the class. - - - This constructor sets this objects flags to , - this assumes that all the data relating to this event is passed in via the - parameter and no other data should be captured from the environment. - - - - - - Initializes a new instance of the class - using specific data. - - Data used to initialize the logging event. - - - This constructor is provided to allow a - to be created independently of the log4net framework. This can - be useful if you require a custom serialization scheme. - - - Use the method to obtain an - instance of the class. - - - This constructor sets this objects flags to , - this assumes that all the data relating to this event is passed in via the - parameter and no other data should be captured from the environment. - - - - - - Serialization constructor - - The that holds the serialized object data. - The that contains contextual information about the source or destination. - - - Initializes a new instance of the class - with serialized data. - - - - - - Ensure that the repository is set. - - the value for the repository - - - - Write the rendered message to a TextWriter - - the writer to write the message to - - - Unlike the property this method - does store the message data in the internal cache. Therefore - if called only once this method should be faster than the - property, however if the message is - to be accessed multiple times then the property will be more efficient. - - - - - - Serializes this object into the provided. - - The to populate with data. - The destination for this serialization. - - - The data in this event must be fixed before it can be serialized. - - - The method must be called during the - method call if this event - is to be used outside that method. - - - - - - Gets the portable data for this . - - The for this event. - - - A new can be constructed using a - instance. - - - Does a fix of the data - in the logging event before returning the event data. - - - - - - Gets the portable data for this . - - The set of data to ensure is fixed in the LoggingEventData - The for this event. - - - A new can be constructed using a - instance. - - - - - - Returns this event's exception's rendered using the - . - - - This event's exception's rendered using the . - - - - Obsolete. Use instead. - - - - - - Returns this event's exception's rendered using the - . - - - This event's exception's rendered using the . - - - - Returns this event's exception's rendered using the - . - - - - - - Fix instance fields that hold volatile data. - - - - Some of the values in instances of - are considered volatile, that is the values are correct at the - time the event is delivered to appenders, but will not be consistent - at any time afterwards. If an event is to be stored and then processed - at a later time these volatile values must be fixed by calling - . There is a performance penalty - incurred by calling but it - is essential to maintaining data consistency. - - - Calling is equivalent to - calling passing the parameter - false. - - - See for more - information. - - - - - - Fixes instance fields that hold volatile data. - - Set to true to not fix data that takes a long time to fix. - - - Some of the values in instances of - are considered volatile, that is the values are correct at the - time the event is delivered to appenders, but will not be consistent - at any time afterwards. If an event is to be stored and then processed - at a later time these volatile values must be fixed by calling - . There is a performance penalty - for incurred by calling but it - is essential to maintaining data consistency. - - - The param controls the data that - is fixed. Some of the data that can be fixed takes a long time to - generate, therefore if you do not require those settings to be fixed - they can be ignored by setting the param - to true. This setting will ignore the - and settings. - - - Set to false to ensure that all - settings are fixed. - - - - - - Fix the fields specified by the parameter - - the fields to fix - - - Only fields specified in the will be fixed. - Fields will not be fixed if they have previously been fixed. - It is not possible to 'unfix' a field. - - - - - - Lookup a composite property in this event - - the key for the property to lookup - the value for the property - - - This event has composite properties that combine together properties from - several different contexts in the following order: - - - this events properties - - This event has that can be set. These - properties are specific to this event only. - - - - the thread properties - - The that are set on the current - thread. These properties are shared by all events logged on this thread. - - - - the global properties - - The that are set globally. These - properties are shared by all the threads in the AppDomain. - - - - - - - - - Get all the composite properties in this event - - the containing all the properties - - - See for details of the composite properties - stored by the event. - - - This method returns a single containing all the - properties defined for this event. - - - - - - The internal logging event data. - - - - - The internal logging event data. - - - - - The internal logging event data. - - - - - The fully qualified Type of the calling - logger class in the stack frame (i.e. the declaring type of the method). - - - - - The application supplied message of logging event. - - - - - The exception that was thrown. - - - This is not serialized. The string representation - is serialized instead. - - - - - The repository that generated the logging event - - - This is not serialized. - - - - - The fix state for this event - - - These flags indicate which fields have been fixed. - Not serialized. - - - - - Indicated that the internal cache is updateable (ie not fixed) - - - This is a seperate flag to m_fixFlags as it allows incrementel fixing and simpler - changes in the caching strategy. - - - - - Gets the time when the current process started. - - - This is the time when this process started. - - - - The TimeStamp is stored in the local time zone for this computer. - - - Tries to get the start time for the current process. - Failing that it returns the time of the first call to - this property. - - - Note that AppDomains may be loaded and unloaded within the - same process without the process terminating and therefore - without the process start time being reset. - - - - - - Gets the of the logging event. - - - The of the logging event. - - - - Gets the of the logging event. - - - - - - Gets the time of the logging event. - - - The time of the logging event. - - - - The TimeStamp is stored in the local time zone for this computer. - - - - - - Gets the name of the logger that logged the event. - - - The name of the logger that logged the event. - - - - Gets the name of the logger that logged the event. - - - - - - Gets the location information for this logging event. - - - The location information for this logging event. - - - - The collected information is cached for future use. - - - See the class for more information on - supported frameworks and the different behavior in Debug and - Release builds. - - - - - - Gets the message object used to initialize this event. - - - The message object used to initialize this event. - - - - Gets the message object used to initialize this event. - Note that this event may not have a valid message object. - If the event is serialized the message object will not - be transferred. To get the text of the message the - property must be used - not this property. - - - If there is no defined message object for this event then - null will be returned. - - - - - - Gets the exception object used to initialize this event. - - - The exception object used to initialize this event. - - - - Gets the exception object used to initialize this event. - Note that this event may not have a valid exception object. - If the event is serialized the exception object will not - be transferred. To get the text of the exception the - method must be used - not this property. - - - If there is no defined exception object for this event then - null will be returned. - - - - - - The that this event was created in. - - - - The that this event was created in. - - - - - - Gets the message, rendered through the . - - - The message rendered through the . - - - - The collected information is cached for future use. - - - - - - Gets the name of the current thread. - - - The name of the current thread, or the thread ID when - the name is not available. - - - - The collected information is cached for future use. - - - - - - Gets the name of the current user. - - - The name of the current user, or NOT AVAILABLE when the - underlying runtime has no support for retrieving the name of the - current user. - - - - Calls WindowsIdentity.GetCurrent().Name to get the name of - the current windows user. - - - To improve performance, we could cache the string representation of - the name, and reuse that as long as the identity stayed constant. - Once the identity changed, we would need to re-assign and re-render - the string. - - - However, the WindowsIdentity.GetCurrent() call seems to - return different objects every time, so the current implementation - doesn't do this type of caching. - - - Timing for these operations: - - - - Method - Results - - - WindowsIdentity.GetCurrent() - 10000 loops, 00:00:00.2031250 seconds - - - WindowsIdentity.GetCurrent().Name - 10000 loops, 00:00:08.0468750 seconds - - - - This means we could speed things up almost 40 times by caching the - value of the WindowsIdentity.GetCurrent().Name property, since - this takes (8.04-0.20) = 7.84375 seconds. - - - - - - Gets the identity of the current thread principal. - - - The string name of the identity of the current thread principal. - - - - Calls System.Threading.Thread.CurrentPrincipal.Identity.Name to get - the name of the current thread principal. - - - - - - Gets the AppDomain friendly name. - - - The AppDomain friendly name. - - - - Gets the AppDomain friendly name. - - - - - - Additional event specific properties. - - - Additional event specific properties. - - - - A logger or an appender may attach additional - properties to specific events. These properties - have a string key and an object value. - - - This property is for events that have been added directly to - this event. The aggregate properties (which include these - event properties) can be retrieved using - and . - - - Once the properties have been fixed this property - returns the combined cached properties. This ensures that updates to - this property are always reflected in the underlying storage. When - returning the combined properties there may be more keys in the - Dictionary than expected. - - - - - - The fixed fields in this event - - - The set of fields that are fixed in this event - - - - Fields will not be fixed if they have previously been fixed. - It is not possible to 'unfix' a field. - - - - - - Implementation of wrapper interface. - - - - This implementation of the interface - forwards to the held by the base class. - - - This logger has methods to allow the caller to log at the following - levels: - - - - DEBUG - - The and methods log messages - at the DEBUG level. That is the level with that name defined in the - repositories . The default value - for this level is . The - property tests if this level is enabled for logging. - - - - INFO - - The and methods log messages - at the INFO level. That is the level with that name defined in the - repositories . The default value - for this level is . The - property tests if this level is enabled for logging. - - - - WARN - - The and methods log messages - at the WARN level. That is the level with that name defined in the - repositories . The default value - for this level is . The - property tests if this level is enabled for logging. - - - - ERROR - - The and methods log messages - at the ERROR level. That is the level with that name defined in the - repositories . The default value - for this level is . The - property tests if this level is enabled for logging. - - - - FATAL - - The and methods log messages - at the FATAL level. That is the level with that name defined in the - repositories . The default value - for this level is . The - property tests if this level is enabled for logging. - - - - - The values for these levels and their semantic meanings can be changed by - configuring the for the repository. - - - Nicko Cadell - Gert Driesen - - - - The ILog interface is use by application to log messages into - the log4net framework. - - - - Use the to obtain logger instances - that implement this interface. The - static method is used to get logger instances. - - - This class contains methods for logging at different levels and also - has properties for determining if those logging levels are - enabled in the current configuration. - - - This interface can be implemented in different ways. This documentation - specifies reasonable behavior that a caller can expect from the actual - implementation, however different implementations reserve the right to - do things differently. - - - Simple example of logging messages - - ILog log = LogManager.GetLogger("application-log"); - - log.Info("Application Start"); - log.Debug("This is a debug message"); - - if (log.IsDebugEnabled) - { - log.Debug("This is another debug message"); - } - - - - - Nicko Cadell - Gert Driesen - - - Log a message object with the level. - - Log a message object with the level. - - The message object to log. - - - This method first checks if this logger is DEBUG - enabled by comparing the level of this logger with the - level. If this logger is - DEBUG enabled, then it converts the message object - (passed as parameter) to a string by invoking the appropriate - . It then - proceeds to call all the registered appenders in this logger - and also higher in the hierarchy depending on the value of - the additivity flag. - - WARNING Note that passing an - to this method will print the name of the - but no stack trace. To print a stack trace use the - form instead. - - - - - - - - Log a message object with the level including - the stack trace of the passed - as a parameter. - - The message object to log. - The exception to log, including its stack trace. - - - See the form for more detailed information. - - - - - - - Log a formatted string with the level. - - Logs a formatted message string with the level. - - A String containing zero or more format items - An Object array containing zero or more objects to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - - Logs a formatted message string with the level. - - A String containing zero or more format items - An Object to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - - Logs a formatted message string with the level. - - A String containing zero or more format items - An Object to format - An Object to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - - Logs a formatted message string with the level. - - A String containing zero or more format items - An Object to format - An Object to format - An Object to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - - Logs a formatted message string with the level. - - An that supplies culture-specific formatting information - A String containing zero or more format items - An Object array containing zero or more objects to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - Log a message object with the level. - - Logs a message object with the level. - - - - This method first checks if this logger is INFO - enabled by comparing the level of this logger with the - level. If this logger is - INFO enabled, then it converts the message object - (passed as parameter) to a string by invoking the appropriate - . It then - proceeds to call all the registered appenders in this logger - and also higher in the hierarchy depending on the value of the - additivity flag. - - WARNING Note that passing an - to this method will print the name of the - but no stack trace. To print a stack trace use the - form instead. - - - The message object to log. - - - - - - Logs a message object with the INFO level including - the stack trace of the passed - as a parameter. - - The message object to log. - The exception to log, including its stack trace. - - - See the form for more detailed information. - - - - - - - Log a formatted message string with the level. - - Logs a formatted message string with the level. - - A String containing zero or more format items - An Object array containing zero or more objects to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - - Logs a formatted message string with the level. - - A String containing zero or more format items - An Object to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - - Logs a formatted message string with the level. - - A String containing zero or more format items - An Object to format - An Object to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - - Logs a formatted message string with the level. - - A String containing zero or more format items - An Object to format - An Object to format - An Object to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - - Logs a formatted message string with the level. - - An that supplies culture-specific formatting information - A String containing zero or more format items - An Object array containing zero or more objects to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - Log a message object with the level. - - Log a message object with the level. - - - - This method first checks if this logger is WARN - enabled by comparing the level of this logger with the - level. If this logger is - WARN enabled, then it converts the message object - (passed as parameter) to a string by invoking the appropriate - . It then - proceeds to call all the registered appenders in this logger - and also higher in the hierarchy depending on the value of the - additivity flag. - - WARNING Note that passing an - to this method will print the name of the - but no stack trace. To print a stack trace use the - form instead. - - - The message object to log. - - - - - - Log a message object with the level including - the stack trace of the passed - as a parameter. - - The message object to log. - The exception to log, including its stack trace. - - - See the form for more detailed information. - - - - - - - Log a formatted message string with the level. - - Logs a formatted message string with the level. - - A String containing zero or more format items - An Object array containing zero or more objects to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - - Logs a formatted message string with the level. - - A String containing zero or more format items - An Object to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - - Logs a formatted message string with the level. - - A String containing zero or more format items - An Object to format - An Object to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - - Logs a formatted message string with the level. - - A String containing zero or more format items - An Object to format - An Object to format - An Object to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - - Logs a formatted message string with the level. - - An that supplies culture-specific formatting information - A String containing zero or more format items - An Object array containing zero or more objects to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - Log a message object with the level. - - Logs a message object with the level. - - The message object to log. - - - This method first checks if this logger is ERROR - enabled by comparing the level of this logger with the - level. If this logger is - ERROR enabled, then it converts the message object - (passed as parameter) to a string by invoking the appropriate - . It then - proceeds to call all the registered appenders in this logger - and also higher in the hierarchy depending on the value of the - additivity flag. - - WARNING Note that passing an - to this method will print the name of the - but no stack trace. To print a stack trace use the - form instead. - - - - - - - - Log a message object with the level including - the stack trace of the passed - as a parameter. - - The message object to log. - The exception to log, including its stack trace. - - - See the form for more detailed information. - - - - - - - Log a formatted message string with the level. - - Logs a formatted message string with the level. - - A String containing zero or more format items - An Object array containing zero or more objects to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - - Logs a formatted message string with the level. - - A String containing zero or more format items - An Object to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - - Logs a formatted message string with the level. - - A String containing zero or more format items - An Object to format - An Object to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - - Logs a formatted message string with the level. - - A String containing zero or more format items - An Object to format - An Object to format - An Object to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - - Logs a formatted message string with the level. - - An that supplies culture-specific formatting information - A String containing zero or more format items - An Object array containing zero or more objects to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - Log a message object with the level. - - Log a message object with the level. - - - - This method first checks if this logger is FATAL - enabled by comparing the level of this logger with the - level. If this logger is - FATAL enabled, then it converts the message object - (passed as parameter) to a string by invoking the appropriate - . It then - proceeds to call all the registered appenders in this logger - and also higher in the hierarchy depending on the value of the - additivity flag. - - WARNING Note that passing an - to this method will print the name of the - but no stack trace. To print a stack trace use the - form instead. - - - The message object to log. - - - - - - Log a message object with the level including - the stack trace of the passed - as a parameter. - - The message object to log. - The exception to log, including its stack trace. - - - See the form for more detailed information. - - - - - - - Log a formatted message string with the level. - - Logs a formatted message string with the level. - - A String containing zero or more format items - An Object array containing zero or more objects to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - - Logs a formatted message string with the level. - - A String containing zero or more format items - An Object to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - - Logs a formatted message string with the level. - - A String containing zero or more format items - An Object to format - An Object to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - - Logs a formatted message string with the level. - - A String containing zero or more format items - An Object to format - An Object to format - An Object to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - - Logs a formatted message string with the level. - - An that supplies culture-specific formatting information - A String containing zero or more format items - An Object array containing zero or more objects to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - - Checks if this logger is enabled for the level. - - - true if this logger is enabled for events, false otherwise. - - - - This function is intended to lessen the computational cost of - disabled log debug statements. - - For some ILog interface log, when you write: - - log.Debug("This is entry number: " + i ); - - - You incur the cost constructing the message, string construction and concatenation in - this case, regardless of whether the message is logged or not. - - - If you are worried about speed (who isn't), then you should write: - - - if (log.IsDebugEnabled) - { - log.Debug("This is entry number: " + i ); - } - - - This way you will not incur the cost of parameter - construction if debugging is disabled for log. On - the other hand, if the log is debug enabled, you - will incur the cost of evaluating whether the logger is debug - enabled twice. Once in and once in - the . This is an insignificant overhead - since evaluating a logger takes about 1% of the time it - takes to actually log. This is the preferred style of logging. - - Alternatively if your logger is available statically then the is debug - enabled state can be stored in a static variable like this: - - - private static readonly bool isDebugEnabled = log.IsDebugEnabled; - - - Then when you come to log you can write: - - - if (isDebugEnabled) - { - log.Debug("This is entry number: " + i ); - } - - - This way the debug enabled state is only queried once - when the class is loaded. Using a private static readonly - variable is the most efficient because it is a run time constant - and can be heavily optimized by the JIT compiler. - - - Of course if you use a static readonly variable to - hold the enabled state of the logger then you cannot - change the enabled state at runtime to vary the logging - that is produced. You have to decide if you need absolute - speed or runtime flexibility. - - - - - - - - Checks if this logger is enabled for the level. - - - true if this logger is enabled for events, false otherwise. - - - For more information see . - - - - - - - - Checks if this logger is enabled for the level. - - - true if this logger is enabled for events, false otherwise. - - - For more information see . - - - - - - - - Checks if this logger is enabled for the level. - - - true if this logger is enabled for events, false otherwise. - - - For more information see . - - - - - - - - Checks if this logger is enabled for the level. - - - true if this logger is enabled for events, false otherwise. - - - For more information see . - - - - - - - - Construct a new wrapper for the specified logger. - - The logger to wrap. - - - Construct a new wrapper for the specified logger. - - - - - - Virtual method called when the configuration of the repository changes - - the repository holding the levels - - - Virtual method called when the configuration of the repository changes - - - - - - Logs a message object with the DEBUG level. - - The message object to log. - - - This method first checks if this logger is DEBUG - enabled by comparing the level of this logger with the - DEBUG level. If this logger is - DEBUG enabled, then it converts the message object - (passed as parameter) to a string by invoking the appropriate - . It then - proceeds to call all the registered appenders in this logger - and also higher in the hierarchy depending on the value of the - additivity flag. - - - WARNING Note that passing an - to this method will print the name of the - but no stack trace. To print a stack trace use the - form instead. - - - - - - Logs a message object with the DEBUG level - - The message object to log. - The exception to log, including its stack trace. - - - Logs a message object with the DEBUG level including - the stack trace of the passed - as a parameter. - - - See the form for more detailed information. - - - - - - - Logs a formatted message string with the DEBUG level. - - A String containing zero or more format items - An Object array containing zero or more objects to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - The string is formatted using the - format provider. To specify a localized provider use the - method. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Logs a formatted message string with the DEBUG level. - - A String containing zero or more format items - An Object to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - The string is formatted using the - format provider. To specify a localized provider use the - method. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Logs a formatted message string with the DEBUG level. - - A String containing zero or more format items - An Object to format - An Object to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - The string is formatted using the - format provider. To specify a localized provider use the - method. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Logs a formatted message string with the DEBUG level. - - A String containing zero or more format items - An Object to format - An Object to format - An Object to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - The string is formatted using the - format provider. To specify a localized provider use the - method. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Logs a formatted message string with the DEBUG level. - - An that supplies culture-specific formatting information - A String containing zero or more format items - An Object array containing zero or more objects to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Logs a message object with the INFO level. - - The message object to log. - - - This method first checks if this logger is INFO - enabled by comparing the level of this logger with the - INFO level. If this logger is - INFO enabled, then it converts the message object - (passed as parameter) to a string by invoking the appropriate - . It then - proceeds to call all the registered appenders in this logger - and also higher in the hierarchy depending on the value of - the additivity flag. - - - WARNING Note that passing an - to this method will print the name of the - but no stack trace. To print a stack trace use the - form instead. - - - - - - Logs a message object with the INFO level. - - The message object to log. - The exception to log, including its stack trace. - - - Logs a message object with the INFO level including - the stack trace of the - passed as a parameter. - - - See the form for more detailed information. - - - - - - - Logs a formatted message string with the INFO level. - - A String containing zero or more format items - An Object array containing zero or more objects to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - The string is formatted using the - format provider. To specify a localized provider use the - method. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Logs a formatted message string with the INFO level. - - A String containing zero or more format items - An Object to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - The string is formatted using the - format provider. To specify a localized provider use the - method. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Logs a formatted message string with the INFO level. - - A String containing zero or more format items - An Object to format - An Object to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - The string is formatted using the - format provider. To specify a localized provider use the - method. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Logs a formatted message string with the INFO level. - - A String containing zero or more format items - An Object to format - An Object to format - An Object to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - The string is formatted using the - format provider. To specify a localized provider use the - method. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Logs a formatted message string with the INFO level. - - An that supplies culture-specific formatting information - A String containing zero or more format items - An Object array containing zero or more objects to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Logs a message object with the WARN level. - - the message object to log - - - This method first checks if this logger is WARN - enabled by comparing the level of this logger with the - WARN level. If this logger is - WARN enabled, then it converts the message object - (passed as parameter) to a string by invoking the appropriate - . It then - proceeds to call all the registered appenders in this logger and - also higher in the hierarchy depending on the value of the - additivity flag. - - - WARNING Note that passing an to this - method will print the name of the but no - stack trace. To print a stack trace use the - form instead. - - - - - - Logs a message object with the WARN level - - The message object to log. - The exception to log, including its stack trace. - - - Logs a message object with the WARN level including - the stack trace of the - passed as a parameter. - - - See the form for more detailed information. - - - - - - - Logs a formatted message string with the WARN level. - - A String containing zero or more format items - An Object array containing zero or more objects to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - The string is formatted using the - format provider. To specify a localized provider use the - method. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Logs a formatted message string with the WARN level. - - A String containing zero or more format items - An Object to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - The string is formatted using the - format provider. To specify a localized provider use the - method. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Logs a formatted message string with the WARN level. - - A String containing zero or more format items - An Object to format - An Object to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - The string is formatted using the - format provider. To specify a localized provider use the - method. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Logs a formatted message string with the WARN level. - - A String containing zero or more format items - An Object to format - An Object to format - An Object to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - The string is formatted using the - format provider. To specify a localized provider use the - method. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Logs a formatted message string with the WARN level. - - An that supplies culture-specific formatting information - A String containing zero or more format items - An Object array containing zero or more objects to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Logs a message object with the ERROR level. - - The message object to log. - - - This method first checks if this logger is ERROR - enabled by comparing the level of this logger with the - ERROR level. If this logger is - ERROR enabled, then it converts the message object - (passed as parameter) to a string by invoking the appropriate - . It then - proceeds to call all the registered appenders in this logger and - also higher in the hierarchy depending on the value of the - additivity flag. - - - WARNING Note that passing an to this - method will print the name of the but no - stack trace. To print a stack trace use the - form instead. - - - - - - Logs a message object with the ERROR level - - The message object to log. - The exception to log, including its stack trace. - - - Logs a message object with the ERROR level including - the stack trace of the - passed as a parameter. - - - See the form for more detailed information. - - - - - - - Logs a formatted message string with the ERROR level. - - A String containing zero or more format items - An Object array containing zero or more objects to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - The string is formatted using the - format provider. To specify a localized provider use the - method. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Logs a formatted message string with the ERROR level. - - A String containing zero or more format items - An Object to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - The string is formatted using the - format provider. To specify a localized provider use the - method. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Logs a formatted message string with the ERROR level. - - A String containing zero or more format items - An Object to format - An Object to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - The string is formatted using the - format provider. To specify a localized provider use the - method. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Logs a formatted message string with the ERROR level. - - A String containing zero or more format items - An Object to format - An Object to format - An Object to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - The string is formatted using the - format provider. To specify a localized provider use the - method. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Logs a formatted message string with the ERROR level. - - An that supplies culture-specific formatting information - A String containing zero or more format items - An Object array containing zero or more objects to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Logs a message object with the FATAL level. - - The message object to log. - - - This method first checks if this logger is FATAL - enabled by comparing the level of this logger with the - FATAL level. If this logger is - FATAL enabled, then it converts the message object - (passed as parameter) to a string by invoking the appropriate - . It then - proceeds to call all the registered appenders in this logger and - also higher in the hierarchy depending on the value of the - additivity flag. - - - WARNING Note that passing an to this - method will print the name of the but no - stack trace. To print a stack trace use the - form instead. - - - - - - Logs a message object with the FATAL level - - The message object to log. - The exception to log, including its stack trace. - - - Logs a message object with the FATAL level including - the stack trace of the - passed as a parameter. - - - See the form for more detailed information. - - - - - - - Logs a formatted message string with the FATAL level. - - A String containing zero or more format items - An Object array containing zero or more objects to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - The string is formatted using the - format provider. To specify a localized provider use the - method. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Logs a formatted message string with the FATAL level. - - A String containing zero or more format items - An Object to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - The string is formatted using the - format provider. To specify a localized provider use the - method. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Logs a formatted message string with the FATAL level. - - A String containing zero or more format items - An Object to format - An Object to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - The string is formatted using the - format provider. To specify a localized provider use the - method. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Logs a formatted message string with the FATAL level. - - A String containing zero or more format items - An Object to format - An Object to format - An Object to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - The string is formatted using the - format provider. To specify a localized provider use the - method. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Logs a formatted message string with the FATAL level. - - An that supplies culture-specific formatting information - A String containing zero or more format items - An Object array containing zero or more objects to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Event handler for the event - - the repository - Empty - - - - The fully qualified name of this declaring type not the type of any subclass. - - - - - Checks if this logger is enabled for the DEBUG - level. - - - true if this logger is enabled for DEBUG events, - false otherwise. - - - - This function is intended to lessen the computational cost of - disabled log debug statements. - - - For some log Logger object, when you write: - - - log.Debug("This is entry number: " + i ); - - - You incur the cost constructing the message, concatenation in - this case, regardless of whether the message is logged or not. - - - If you are worried about speed, then you should write: - - - if (log.IsDebugEnabled()) - { - log.Debug("This is entry number: " + i ); - } - - - This way you will not incur the cost of parameter - construction if debugging is disabled for log. On - the other hand, if the log is debug enabled, you - will incur the cost of evaluating whether the logger is debug - enabled twice. Once in IsDebugEnabled and once in - the Debug. This is an insignificant overhead - since evaluating a logger takes about 1% of the time it - takes to actually log. - - - - - - Checks if this logger is enabled for the INFO level. - - - true if this logger is enabled for INFO events, - false otherwise. - - - - See for more information and examples - of using this method. - - - - - - - Checks if this logger is enabled for the WARN level. - - - true if this logger is enabled for WARN events, - false otherwise. - - - - See for more information and examples - of using this method. - - - - - - - Checks if this logger is enabled for the ERROR level. - - - true if this logger is enabled for ERROR events, - false otherwise. - - - - See for more information and examples of using this method. - - - - - - - Checks if this logger is enabled for the FATAL level. - - - true if this logger is enabled for FATAL events, - false otherwise. - - - - See for more information and examples of using this method. - - - - - - - A SecurityContext used by log4net when interacting with protected resources - - - - A SecurityContext used by log4net when interacting with protected resources - for example with operating system services. This can be used to impersonate - a principal that has been granted privileges on the system resources. - - - Nicko Cadell - - - - Impersonate this SecurityContext - - State supplied by the caller - An instance that will - revoke the impersonation of this SecurityContext, or null - - - Impersonate this security context. Further calls on the current - thread should now be made in the security context provided - by this object. When the result - method is called the security - context of the thread should be reverted to the state it was in - before was called. - - - - - - The providers default instances. - - - - A configured component that interacts with potentially protected system - resources uses a to provide the elevated - privileges required. If the object has - been not been explicitly provided to the component then the component - will request one from this . - - - By default the is - an instance of which returns only - objects. This is a reasonable default - where the privileges required are not know by the system. - - - This default behavior can be overridden by subclassing the - and overriding the method to return - the desired objects. The default provider - can be replaced by programmatically setting the value of the - property. - - - An alternative is to use the log4net.Config.SecurityContextProviderAttribute - This attribute can be applied to an assembly in the same way as the - log4net.Config.XmlConfiguratorAttribute". The attribute takes - the type to use as the as an argument. - - - Nicko Cadell - - - - The default provider - - - - - Protected default constructor to allow subclassing - - - - Protected default constructor to allow subclassing - - - - - - Create a SecurityContext for a consumer - - The consumer requesting the SecurityContext - An impersonation context - - - The default implementation is to return a . - - - Subclasses should override this method to provide their own - behavior. - - - - - - Gets or sets the default SecurityContextProvider - - - The default SecurityContextProvider - - - - The default provider is used by configured components that - require a and have not had one - given to them. - - - By default this is an instance of - that returns objects. - - - The default provider can be set programmatically by setting - the value of this property to a sub class of - that has the desired behavior. - - - - - - Delegate used to handle creation of new wrappers. - - The logger to wrap in a wrapper. - - - Delegate used to handle creation of new wrappers. This delegate - is called from the - method to construct the wrapper for the specified logger. - - - The delegate to use is supplied to the - constructor. - - - - - - Maps between logger objects and wrapper objects. - - - - This class maintains a mapping between objects and - objects. Use the method to - lookup the for the specified . - - - New wrapper instances are created by the - method. The default behavior is for this method to delegate construction - of the wrapper to the delegate supplied - to the constructor. This allows specialization of the behavior without - requiring subclassing of this type. - - - Nicko Cadell - Gert Driesen - - - - Initializes a new instance of the - - The handler to use to create the wrapper objects. - - - Initializes a new instance of the class with - the specified handler to create the wrapper objects. - - - - - - Gets the wrapper object for the specified logger. - - The wrapper object for the specified logger - - - If the logger is null then the corresponding wrapper is null. - - - Looks up the wrapper it it has previously been requested and - returns it. If the wrapper has never been requested before then - the virtual method is - called. - - - - - - Creates the wrapper object for the specified logger. - - The logger to wrap in a wrapper. - The wrapper object for the logger. - - - This implementation uses the - passed to the constructor to create the wrapper. This method - can be overridden in a subclass. - - - - - - Called when a monitored repository shutdown event is received. - - The that is shutting down - - - This method is called when a that this - is holding loggers for has signaled its shutdown - event . The default - behavior of this method is to release the references to the loggers - and their wrappers generated for this repository. - - - - - - Event handler for repository shutdown event. - - The sender of the event. - The event args. - - - - Map of logger repositories to hashtables of ILogger to ILoggerWrapper mappings - - - - - The handler to use to create the extension wrapper objects. - - - - - Internal reference to the delegate used to register for repository shutdown events. - - - - - Gets the map of logger repositories. - - - Map of logger repositories. - - - - Gets the hashtable that is keyed on . The - values are hashtables keyed on with the - value being the corresponding . - - - - - - Formats a as "HH:mm:ss,fff". - - - - Formats a in the format "HH:mm:ss,fff" for example, "15:49:37,459". - - - Nicko Cadell - Gert Driesen - - - - Render a as a string. - - - - Interface to abstract the rendering of a - instance into a string. - - - The method is used to render the - date to a text writer. - - - Nicko Cadell - Gert Driesen - - - - Formats the specified date as a string. - - The date to format. - The writer to write to. - - - Format the as a string and write it - to the provided. - - - - - - String constant used to specify AbsoluteTimeDateFormat in layouts. Current value is ABSOLUTE. - - - - - String constant used to specify DateTimeDateFormat in layouts. Current value is DATE. - - - - - String constant used to specify ISO8601DateFormat in layouts. Current value is ISO8601. - - - - - Renders the date into a string. Format is "HH:mm:ss". - - The date to render into a string. - The string builder to write to. - - - Subclasses should override this method to render the date - into a string using a precision up to the second. This method - will be called at most once per second and the result will be - reused if it is needed again during the same second. - - - - - - Renders the date into a string. Format is "HH:mm:ss,fff". - - The date to render into a string. - The writer to write to. - - - Uses the method to generate the - time string up to the seconds and then appends the current - milliseconds. The results from are - cached and is called at most once - per second. - - - Sub classes should override - rather than . - - - - - - Last stored time with precision up to the second. - - - - - Last stored time with precision up to the second, formatted - as a string. - - - - - Last stored time with precision up to the second, formatted - as a string. - - - - - Formats a as "dd MMM yyyy HH:mm:ss,fff" - - - - Formats a in the format - "dd MMM yyyy HH:mm:ss,fff" for example, - "06 Nov 1994 15:49:37,459". - - - Nicko Cadell - Gert Driesen - Angelika Schnagl - - - - Default constructor. - - - - Initializes a new instance of the class. - - - - - - Formats the date without the milliseconds part - - The date to format. - The string builder to write to. - - - Formats a DateTime in the format "dd MMM yyyy HH:mm:ss" - for example, "06 Nov 1994 15:49:37". - - - The base class will append the ",fff" milliseconds section. - This method will only be called at most once per second. - - - - - - The format info for the invariant culture. - - - - - Formats the as "yyyy-MM-dd HH:mm:ss,fff". - - - - Formats the specified as a string: "yyyy-MM-dd HH:mm:ss,fff". - - - Nicko Cadell - Gert Driesen - - - - Default constructor - - - - Initializes a new instance of the class. - - - - - - Formats the date without the milliseconds part - - The date to format. - The string builder to write to. - - - Formats the date specified as a string: "yyyy-MM-dd HH:mm:ss". - - - The base class will append the ",fff" milliseconds section. - This method will only be called at most once per second. - - - - - - Formats the using the method. - - - - Formats the using the method. - - - Nicko Cadell - Gert Driesen - - - - Constructor - - The format string. - - - Initializes a new instance of the class - with the specified format string. - - - The format string must be compatible with the options - that can be supplied to . - - - - - - Formats the date using . - - The date to convert to a string. - The writer to write to. - - - Uses the date format string supplied to the constructor to call - the method to format the date. - - - - - - The format string used to format the . - - - - The format string must be compatible with the options - that can be supplied to . - - - - - - This filter drops all . - - - - You can add this filter to the end of a filter chain to - switch from the default "accept all unless instructed otherwise" - filtering behavior to a "deny all unless instructed otherwise" - behavior. - - - Nicko Cadell - Gert Driesen - - - - Subclass this type to implement customized logging event filtering - - - - Users should extend this class to implement customized logging - event filtering. Note that and - , the parent class of all standard - appenders, have built-in filtering rules. It is suggested that you - first use and understand the built-in rules before rushing to write - your own custom filters. - - - This abstract class assumes and also imposes that filters be - organized in a linear chain. The - method of each filter is called sequentially, in the order of their - addition to the chain. - - - The method must return one - of the integer constants , - or . - - - If the value is returned, then the log event is dropped - immediately without consulting with the remaining filters. - - - If the value is returned, then the next filter - in the chain is consulted. If there are no more filters in the - chain, then the log event is logged. Thus, in the presence of no - filters, the default behavior is to log all logging events. - - - If the value is returned, then the log - event is logged without consulting the remaining filters. - - - The philosophy of log4net filters is largely inspired from the - Linux ipchains. - - - Nicko Cadell - Gert Driesen - - - - Implement this interface to provide customized logging event filtering - - - - Users should implement this interface to implement customized logging - event filtering. Note that and - , the parent class of all standard - appenders, have built-in filtering rules. It is suggested that you - first use and understand the built-in rules before rushing to write - your own custom filters. - - - This abstract class assumes and also imposes that filters be - organized in a linear chain. The - method of each filter is called sequentially, in the order of their - addition to the chain. - - - The method must return one - of the integer constants , - or . - - - If the value is returned, then the log event is dropped - immediately without consulting with the remaining filters. - - - If the value is returned, then the next filter - in the chain is consulted. If there are no more filters in the - chain, then the log event is logged. Thus, in the presence of no - filters, the default behavior is to log all logging events. - - - If the value is returned, then the log - event is logged without consulting the remaining filters. - - - The philosophy of log4net filters is largely inspired from the - Linux ipchains. - - - Nicko Cadell - Gert Driesen - - - - Decide if the logging event should be logged through an appender. - - The LoggingEvent to decide upon - The decision of the filter - - - If the decision is , then the event will be - dropped. If the decision is , then the next - filter, if any, will be invoked. If the decision is then - the event will be logged without consulting with other filters in - the chain. - - - - - - Property to get and set the next filter - - - The next filter in the chain - - - - Filters are typically composed into chains. This property allows the next filter in - the chain to be accessed. - - - - - - Points to the next filter in the filter chain. - - - - See for more information. - - - - - - Initialize the filter with the options set - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - Typically filter's options become active immediately on set, - however this method must still be called. - - - - - - Decide if the should be logged through an appender. - - The to decide upon - The decision of the filter - - - If the decision is , then the event will be - dropped. If the decision is , then the next - filter, if any, will be invoked. If the decision is then - the event will be logged without consulting with other filters in - the chain. - - - This method is marked abstract and must be implemented - in a subclass. - - - - - - Property to get and set the next filter - - - The next filter in the chain - - - - Filters are typically composed into chains. This property allows the next filter in - the chain to be accessed. - - - - - - Default constructor - - - - - Always returns the integer constant - - the LoggingEvent to filter - Always returns - - - Ignores the event being logged and just returns - . This can be used to change the default filter - chain behavior from to . This filter - should only be used as the last filter in the chain - as any further filters will be ignored! - - - - - - The return result from - - - - The return result from - - - - - - The log event must be dropped immediately without - consulting with the remaining filters, if any, in the chain. - - - - - This filter is neutral with respect to the log event. - The remaining filters, if any, should be consulted for a final decision. - - - - - The log event must be logged immediately without - consulting with the remaining filters, if any, in the chain. - - - - - This is a very simple filter based on matching. - - - - The filter admits two options and - . If there is an exact match between the value - of the option and the of the - , then the method returns in - case the option value is set - to true, if it is false then - is returned. If the does not match then - the result will be . - - - Nicko Cadell - Gert Driesen - - - - flag to indicate if the filter should on a match - - - - - the to match against - - - - - Default constructor - - - - - Tests if the of the logging event matches that of the filter - - the event to filter - see remarks - - - If the of the event matches the level of the - filter then the result of the function depends on the - value of . If it is true then - the function will return , it it is false then it - will return . If the does not match then - the result will be . - - - - - - when matching - - - - The property is a flag that determines - the behavior when a matching is found. If the - flag is set to true then the filter will the - logging event, otherwise it will the event. - - - The default is true i.e. to the event. - - - - - - The that the filter will match - - - - The level that this filter will attempt to match against the - level. If a match is found then - the result depends on the value of . - - - - - - This is a simple filter based on matching. - - - - The filter admits three options and - that determine the range of priorities that are matched, and - . If there is a match between the range - of priorities and the of the , then the - method returns in case the - option value is set to true, if it is false - then is returned. If there is no match, is returned. - - - Nicko Cadell - Gert Driesen - - - - Flag to indicate the behavior when matching a - - - - - the minimum value to match - - - - - the maximum value to match - - - - - Default constructor - - - - - Check if the event should be logged. - - the logging event to check - see remarks - - - If the of the logging event is outside the range - matched by this filter then - is returned. If the is matched then the value of - is checked. If it is true then - is returned, otherwise - is returned. - - - - - - when matching and - - - - The property is a flag that determines - the behavior when a matching is found. If the - flag is set to true then the filter will the - logging event, otherwise it will the event. - - - The default is true i.e. to the event. - - - - - - Set the minimum matched - - - - The minimum level that this filter will attempt to match against the - level. If a match is found then - the result depends on the value of . - - - - - - Sets the maximum matched - - - - The maximum level that this filter will attempt to match against the - level. If a match is found then - the result depends on the value of . - - - - - - Simple filter to match a string in the event's logger name. - - - - The works very similar to the . It admits two - options and . If the - of the starts - with the value of the option, then the - method returns in - case the option value is set to true, - if it is false then is returned. - - - Daniel Cazzulino - - - - Flag to indicate the behavior when we have a match - - - - - The logger name string to substring match against the event - - - - - Default constructor - - - - - Check if this filter should allow the event to be logged - - the event being logged - see remarks - - - The rendered message is matched against the . - If the equals the beginning of - the incoming () - then a match will have occurred. If no match occurs - this function will return - allowing other filters to check the event. If a match occurs then - the value of is checked. If it is - true then is returned otherwise - is returned. - - - - - - when matching - - - - The property is a flag that determines - the behavior when a matching is found. If the - flag is set to true then the filter will the - logging event, otherwise it will the event. - - - The default is true i.e. to the event. - - - - - - The that the filter will match - - - - This filter will attempt to match this value against logger name in - the following way. The match will be done against the beginning of the - logger name (using ). The match is - case sensitive. If a match is found then - the result depends on the value of . - - - - - - Simple filter to match a keyed string in the - - - - Simple filter to match a keyed string in the - - - As the MDC has been replaced with layered properties the - should be used instead. - - - Nicko Cadell - Gert Driesen - - - - Simple filter to match a string an event property - - - - Simple filter to match a string in the value for a - specific event property - - - Nicko Cadell - - - - Simple filter to match a string in the rendered message - - - - Simple filter to match a string in the rendered message - - - Nicko Cadell - Gert Driesen - - - - Flag to indicate the behavior when we have a match - - - - - The string to substring match against the message - - - - - A string regex to match - - - - - A regex object to match (generated from m_stringRegexToMatch) - - - - - Default constructor - - - - - Initialize and precompile the Regex if required - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - - - - Check if this filter should allow the event to be logged - - the event being logged - see remarks - - - The rendered message is matched against the . - If the occurs as a substring within - the message then a match will have occurred. If no match occurs - this function will return - allowing other filters to check the event. If a match occurs then - the value of is checked. If it is - true then is returned otherwise - is returned. - - - - - - when matching or - - - - The property is a flag that determines - the behavior when a matching is found. If the - flag is set to true then the filter will the - logging event, otherwise it will the event. - - - The default is true i.e. to the event. - - - - - - Sets the static string to match - - - - The string that will be substring matched against - the rendered message. If the message contains this - string then the filter will match. If a match is found then - the result depends on the value of . - - - One of or - must be specified. - - - - - - Sets the regular expression to match - - - - The regular expression pattern that will be matched against - the rendered message. If the message matches this - pattern then the filter will match. If a match is found then - the result depends on the value of . - - - One of or - must be specified. - - - - - - The key to use to lookup the string from the event properties - - - - - Default constructor - - - - - Check if this filter should allow the event to be logged - - the event being logged - see remarks - - - The event property for the is matched against - the . - If the occurs as a substring within - the property value then a match will have occurred. If no match occurs - this function will return - allowing other filters to check the event. If a match occurs then - the value of is checked. If it is - true then is returned otherwise - is returned. - - - - - - The key to lookup in the event properties and then match against. - - - - The key name to use to lookup in the properties map of the - . The match will be performed against - the value of this property if it exists. - - - - - - Simple filter to match a string in the - - - - Simple filter to match a string in the - - - As the MDC has been replaced with named stacks stored in the - properties collections the should - be used instead. - - - Nicko Cadell - Gert Driesen - - - - Default constructor - - - - Sets the to "NDC". - - - - - - Write the event appdomain name to the output - - - - Writes the to the output writer. - - - Daniel Cazzulino - Nicko Cadell - - - - Abstract class that provides the formatting functionality that - derived classes need. - - - Conversion specifiers in a conversion patterns are parsed to - individual PatternConverters. Each of which is responsible for - converting a logging event in a converter specific manner. - - Nicko Cadell - - - - Abstract class that provides the formatting functionality that - derived classes need. - - - - Conversion specifiers in a conversion patterns are parsed to - individual PatternConverters. Each of which is responsible for - converting a logging event in a converter specific manner. - - - Nicko Cadell - Gert Driesen - - - - Initial buffer size - - - - - Maximum buffer size before it is recycled - - - - - Protected constructor - - - - Initializes a new instance of the class. - - - - - - Evaluate this pattern converter and write the output to a writer. - - that will receive the formatted result. - The state object on which the pattern converter should be executed. - - - Derived pattern converters must override this method in order to - convert conversion specifiers in the appropriate way. - - - - - - Set the next pattern converter in the chains - - the pattern converter that should follow this converter in the chain - the next converter - - - The PatternConverter can merge with its neighbor during this method (or a sub class). - Therefore the return value may or may not be the value of the argument passed in. - - - - - - Write the pattern converter to the writer with appropriate formatting - - that will receive the formatted result. - The state object on which the pattern converter should be executed. - - - This method calls to allow the subclass to perform - appropriate conversion of the pattern converter. If formatting options have - been specified via the then this method will - apply those formattings before writing the output. - - - - - - Fast space padding method. - - to which the spaces will be appended. - The number of spaces to be padded. - - - Fast space padding method. - - - - - - The option string to the converter - - - - - Write an dictionary to a - - the writer to write to - a to use for object conversion - the value to write to the writer - - - Writes the to a writer in the form: - - - {key1=value1, key2=value2, key3=value3} - - - If the specified - is not null then it is used to render the key and value to text, otherwise - the object's ToString method is called. - - - - - - Write an object to a - - the writer to write to - a to use for object conversion - the value to write to the writer - - - Writes the Object to a writer. If the specified - is not null then it is used to render the object to text, otherwise - the object's ToString method is called. - - - - - - Get the next pattern converter in the chain - - - the next pattern converter in the chain - - - - Get the next pattern converter in the chain - - - - - - Gets or sets the formatting info for this converter - - - The formatting info for this converter - - - - Gets or sets the formatting info for this converter - - - - - - Gets or sets the option value for this converter - - - The option for this converter - - - - Gets or sets the option value for this converter - - - - - - Initializes a new instance of the class. - - - - - Derived pattern converters must override this method in order to - convert conversion specifiers in the correct way. - - that will receive the formatted result. - The on which the pattern converter should be executed. - - - - Derived pattern converters must override this method in order to - convert conversion specifiers in the correct way. - - that will receive the formatted result. - The state object on which the pattern converter should be executed. - - - - Flag indicating if this converter handles exceptions - - - false if this converter handles exceptions - - - - - Flag indicating if this converter handles the logging event exception - - false if this converter handles the logging event exception - - - If this converter handles the exception object contained within - , then this property should be set to - false. Otherwise, if the layout ignores the exception - object, then the property should be set to true. - - - Set this value to override a this default setting. The default - value is true, this converter does not handle the exception. - - - - - - Write the event appdomain name to the output - - that will receive the formatted result. - the event being logged - - - Writes the to the output . - - - - - - Date pattern converter, uses a to format - the date of a . - - - - Render the to the writer as a string. - - - The value of the determines - the formatting of the date. The following values are allowed: - - - Option value - Output - - - ISO8601 - - Uses the formatter. - Formats using the "yyyy-MM-dd HH:mm:ss,fff" pattern. - - - - DATE - - Uses the formatter. - Formats using the "dd MMM yyyy HH:mm:ss,fff" for example, "06 Nov 1994 15:49:37,459". - - - - ABSOLUTE - - Uses the formatter. - Formats using the "HH:mm:ss,yyyy" for example, "15:49:37,459". - - - - other - - Any other pattern string uses the formatter. - This formatter passes the pattern string to the - method. - For details on valid patterns see - DateTimeFormatInfo Class. - - - - - - The is in the local time zone and is rendered in that zone. - To output the time in Universal time see . - - - Nicko Cadell - - - - The used to render the date to a string - - - - The used to render the date to a string - - - - - - Initialize the converter pattern based on the property. - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - - - - Convert the pattern into the rendered message - - that will receive the formatted result. - the event being logged - - - Pass the to the - for it to render it to the writer. - - - The passed is in the local time zone. - - - - - - Write the exception text to the output - - - - If an exception object is stored in the logging event - it will be rendered into the pattern output with a - trailing newline. - - - If there is no exception then nothing will be output - and no trailing newline will be appended. - It is typical to put a newline before the exception - and to have the exception as the last data in the pattern. - - - Nicko Cadell - - - - Default constructor - - - - - Write the exception text to the output - - that will receive the formatted result. - the event being logged - - - If an exception object is stored in the logging event - it will be rendered into the pattern output with a - trailing newline. - - - If there is no exception then nothing will be output - and no trailing newline will be appended. - It is typical to put a newline before the exception - and to have the exception as the last data in the pattern. - - - - - - Writes the caller location file name to the output - - - - Writes the value of the for - the event to the output writer. - - - Nicko Cadell - - - - Write the caller location file name to the output - - that will receive the formatted result. - the event being logged - - - Writes the value of the for - the to the output . - - - - - - Write the caller location info to the output - - - - Writes the to the output writer. - - - Nicko Cadell - - - - Write the caller location info to the output - - that will receive the formatted result. - the event being logged - - - Writes the to the output writer. - - - - - - Writes the event identity to the output - - - - Writes the value of the to - the output writer. - - - Daniel Cazzulino - Nicko Cadell - - - - Writes the event identity to the output - - that will receive the formatted result. - the event being logged - - - Writes the value of the - to - the output . - - - - - - Write the event level to the output - - - - Writes the display name of the event - to the writer. - - - Nicko Cadell - - - - Write the event level to the output - - that will receive the formatted result. - the event being logged - - - Writes the of the - to the . - - - - - - Write the caller location line number to the output - - - - Writes the value of the for - the event to the output writer. - - - Nicko Cadell - - - - Write the caller location line number to the output - - that will receive the formatted result. - the event being logged - - - Writes the value of the for - the to the output . - - - - - - Converter for logger name - - - - Outputs the of the event. - - - Nicko Cadell - - - - Converter to output and truncate '.' separated strings - - - - This abstract class supports truncating a '.' separated string - to show a specified number of elements from the right hand side. - This is used to truncate class names that are fully qualified. - - - Subclasses should override the method to - return the fully qualified string. - - - Nicko Cadell - - - - Initialize the converter - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - - - - Get the fully qualified string data - - the event being logged - the fully qualified name - - - Overridden by subclasses to get the fully qualified name before the - precision is applied to it. - - - Return the fully qualified '.' (dot/period) separated string. - - - - - - Convert the pattern to the rendered message - - that will receive the formatted result. - the event being logged - - Render the to the precision - specified by the property. - - - - - Gets the fully qualified name of the logger - - the event being logged - The fully qualified logger name - - - Returns the of the . - - - - - - Writes the event message to the output - - - - Uses the method - to write out the event message. - - - Nicko Cadell - - - - Writes the event message to the output - - that will receive the formatted result. - the event being logged - - - Uses the method - to write out the event message. - - - - - - Write the method name to the output - - - - Writes the caller location to - the output. - - - Nicko Cadell - - - - Write the method name to the output - - that will receive the formatted result. - the event being logged - - - Writes the caller location to - the output. - - - - - - Converter to include event NDC - - - - Outputs the value of the event property named NDC. - - - The should be used instead. - - - Nicko Cadell - - - - Write the event NDC to the output - - that will receive the formatted result. - the event being logged - - - As the thread context stacks are now stored in named event properties - this converter simply looks up the value of the NDC property. - - - The should be used instead. - - - - - - Property pattern converter - - - - Writes out the value of a named property. The property name - should be set in the - property. - - - If the is set to null - then all the properties are written as key value pairs. - - - Nicko Cadell - - - - Write the property value to the output - - that will receive the formatted result. - the event being logged - - - Writes out the value of a named property. The property name - should be set in the - property. - - - If the is set to null - then all the properties are written as key value pairs. - - - - - - Converter to output the relative time of the event - - - - Converter to output the time of the event relative to the start of the program. - - - Nicko Cadell - - - - Write the relative time to the output - - that will receive the formatted result. - the event being logged - - - Writes out the relative time of the event in milliseconds. - That is the number of milliseconds between the event - and the . - - - - - - Helper method to get the time difference between two DateTime objects - - start time (in the current local time zone) - end time (in the current local time zone) - the time difference in milliseconds - - - - Converter to include event thread name - - - - Writes the to the output. - - - Nicko Cadell - - - - Write the ThreadName to the output - - that will receive the formatted result. - the event being logged - - - Writes the to the . - - - - - - Pattern converter for the class name - - - - Outputs the of the event. - - - Nicko Cadell - - - - Gets the fully qualified name of the class - - the event being logged - The fully qualified type name for the caller location - - - Returns the of the . - - - - - - Converter to include event user name - - Douglas de la Torre - Nicko Cadell - - - - Convert the pattern to the rendered message - - that will receive the formatted result. - the event being logged - - - - Write the TimeStamp to the output - - - - Date pattern converter, uses a to format - the date of a . - - - Uses a to format the - in Universal time. - - - See the for details on the date pattern syntax. - - - - Nicko Cadell - - - - Write the TimeStamp to the output - - that will receive the formatted result. - the event being logged - - - Pass the to the - for it to render it to the writer. - - - The passed is in the local time zone, this is converted - to Universal time before it is rendered. - - - - - - - A Layout that renders only the Exception text from the logging event - - - - A Layout that renders only the Exception text from the logging event. - - - This Layout should only be used with appenders that utilize multiple - layouts (e.g. ). - - - Nicko Cadell - Gert Driesen - - - - Extend this abstract class to create your own log layout format. - - - - This is the base implementation of the - interface. Most layout objects should extend this class. - - - - - - Subclasses must implement the - method. - - - Subclasses should set the in their default - constructor. - - - - Nicko Cadell - Gert Driesen - - - - Interface implemented by layout objects - - - - An object is used to format a - as text. The method is called by an - appender to transform the into a string. - - - The layout can also supply and - text that is appender before any events and after all the events respectively. - - - Nicko Cadell - Gert Driesen - - - - Implement this method to create your own layout format. - - The TextWriter to write the formatted event to - The event to format - - - This method is called by an appender to format - the as text and output to a writer. - - - If the caller does not have a and prefers the - event to be formatted as a then the following - code can be used to format the event into a . - - - StringWriter writer = new StringWriter(); - Layout.Format(writer, loggingEvent); - string formattedEvent = writer.ToString(); - - - - - - The content type output by this layout. - - The content type - - - The content type output by this layout. - - - This is a MIME type e.g. "text/plain". - - - - - - The header for the layout format. - - the layout header - - - The Header text will be appended before any logging events - are formatted and appended. - - - - - - The footer for the layout format. - - the layout footer - - - The Footer text will be appended after all the logging events - have been formatted and appended. - - - - - - Flag indicating if this layout handle exceptions - - false if this layout handles exceptions - - - If this layout handles the exception object contained within - , then the layout should return - false. Otherwise, if the layout ignores the exception - object, then the layout should return true. - - - - - - The header text - - - - See for more information. - - - - - - The footer text - - - - See for more information. - - - - - - Flag indicating if this layout handles exceptions - - - - false if this layout handles exceptions - - - - - - Empty default constructor - - - - Empty default constructor - - - - - - Activate component options - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - This method must be implemented by the subclass. - - - - - - Implement this method to create your own layout format. - - The TextWriter to write the formatted event to - The event to format - - - This method is called by an appender to format - the as text. - - - - - - The content type output by this layout. - - The content type is "text/plain" - - - The content type output by this layout. - - - This base class uses the value "text/plain". - To change this value a subclass must override this - property. - - - - - - The header for the layout format. - - the layout header - - - The Header text will be appended before any logging events - are formatted and appended. - - - - - - The footer for the layout format. - - the layout footer - - - The Footer text will be appended after all the logging events - have been formatted and appended. - - - - - - Flag indicating if this layout handles exceptions - - false if this layout handles exceptions - - - If this layout handles the exception object contained within - , then the layout should return - false. Otherwise, if the layout ignores the exception - object, then the layout should return true. - - - Set this value to override a this default setting. The default - value is true, this layout does not handle the exception. - - - - - - Default constructor - - - - Constructs a ExceptionLayout - - - - - - Activate component options - - - - Part of the component activation - framework. - - - This method does nothing as options become effective immediately. - - - - - - Gets the exception text from the logging event - - The TextWriter to write the formatted event to - the event being logged - - - Write the exception string to the . - The exception string is retrieved from . - - - - - - Interface for raw layout objects - - - - Interface used to format a - to an object. - - - This interface should not be confused with the - interface. This interface is used in - only certain specialized situations where a raw object is - required rather than a formatted string. The - is not generally useful than this interface. - - - Nicko Cadell - Gert Driesen - - - - Implement this method to create your own layout format. - - The event to format - returns the formatted event - - - Implement this method to create your own layout format. - - - - - - Adapts any to a - - - - Where an is required this adapter - allows a to be specified. - - - Nicko Cadell - Gert Driesen - - - - The layout to adapt - - - - - Construct a new adapter - - the layout to adapt - - - Create the adapter for the specified . - - - - - - Format the logging event as an object. - - The event to format - returns the formatted event - - - Format the logging event as an object. - - - Uses the object supplied to - the constructor to perform the formatting. - - - - - - A flexible layout configurable with pattern string. - - - - The goal of this class is to a - as a string. The results - depend on the conversion pattern. - - - The conversion pattern is closely related to the conversion - pattern of the printf function in C. A conversion pattern is - composed of literal text and format control expressions called - conversion specifiers. - - - You are free to insert any literal text within the conversion - pattern. - - - Each conversion specifier starts with a percent sign (%) and is - followed by optional format modifiers and a conversion - pattern name. The conversion pattern name specifies the type of - data, e.g. logger, level, date, thread name. The format - modifiers control such things as field width, padding, left and - right justification. The following is a simple example. - - - Let the conversion pattern be "%-5level [%thread]: %message%newline" and assume - that the log4net environment was set to use a PatternLayout. Then the - statements - - - ILog log = LogManager.GetLogger(typeof(TestApp)); - log.Debug("Message 1"); - log.Warn("Message 2"); - - would yield the output - - DEBUG [main]: Message 1 - WARN [main]: Message 2 - - - Note that there is no explicit separator between text and - conversion specifiers. The pattern parser knows when it has reached - the end of a conversion specifier when it reads a conversion - character. In the example above the conversion specifier - %-5level means the level of the logging event should be left - justified to a width of five characters. - - - The recognized conversion pattern names are: - - - - Conversion Pattern Name - Effect - - - a - Equivalent to appdomain - - - appdomain - - Used to output the friendly name of the AppDomain where the - logging event was generated. - - - - c - Equivalent to logger - - - C - Equivalent to type - - - class - Equivalent to type - - - d - Equivalent to date - - - date - - - Used to output the date of the logging event in the local time zone. - To output the date in universal time use the %utcdate pattern. - The date conversion - specifier may be followed by a date format specifier enclosed - between braces. For example, %date{HH:mm:ss,fff} or - %date{dd MMM yyyy HH:mm:ss,fff}. If no date format specifier is - given then ISO8601 format is - assumed (). - - - The date format specifier admits the same syntax as the - time pattern string of the . - - - For better results it is recommended to use the log4net date - formatters. These can be specified using one of the strings - "ABSOLUTE", "DATE" and "ISO8601" for specifying - , - and respectively - . For example, - %date{ISO8601} or %date{ABSOLUTE}. - - - These dedicated date formatters perform significantly - better than . - - - - - exception - - - Used to output the exception passed in with the log message. - - - If an exception object is stored in the logging event - it will be rendered into the pattern output with a - trailing newline. - If there is no exception then nothing will be output - and no trailing newline will be appended. - It is typical to put a newline before the exception - and to have the exception as the last data in the pattern. - - - - - F - Equivalent to file - - - file - - - Used to output the file name where the logging request was - issued. - - - WARNING Generating caller location information is - extremely slow. Its use should be avoided unless execution speed - is not an issue. - - - See the note below on the availability of caller location information. - - - - - identity - - - Used to output the user name for the currently active user - (Principal.Identity.Name). - - - WARNING Generating caller information is - extremely slow. Its use should be avoided unless execution speed - is not an issue. - - - - - l - Equivalent to location - - - L - Equivalent to line - - - location - - - Used to output location information of the caller which generated - the logging event. - - - The location information depends on the CLI implementation but - usually consists of the fully qualified name of the calling - method followed by the callers source the file name and line - number between parentheses. - - - The location information can be very useful. However, its - generation is extremely slow. Its use should be avoided - unless execution speed is not an issue. - - - See the note below on the availability of caller location information. - - - - - level - - - Used to output the level of the logging event. - - - - - line - - - Used to output the line number from where the logging request - was issued. - - - WARNING Generating caller location information is - extremely slow. Its use should be avoided unless execution speed - is not an issue. - - - See the note below on the availability of caller location information. - - - - - logger - - - Used to output the logger of the logging event. The - logger conversion specifier can be optionally followed by - precision specifier, that is a decimal constant in - brackets. - - - If a precision specifier is given, then only the corresponding - number of right most components of the logger name will be - printed. By default the logger name is printed in full. - - - For example, for the logger name "a.b.c" the pattern - %logger{2} will output "b.c". - - - - - m - Equivalent to message - - - M - Equivalent to method - - - message - - - Used to output the application supplied message associated with - the logging event. - - - - - mdc - - - The MDC (old name for the ThreadContext.Properties) is now part of the - combined event properties. This pattern is supported for compatibility - but is equivalent to property. - - - - - method - - - Used to output the method name where the logging request was - issued. - - - WARNING Generating caller location information is - extremely slow. Its use should be avoided unless execution speed - is not an issue. - - - See the note below on the availability of caller location information. - - - - - n - Equivalent to newline - - - newline - - - Outputs the platform dependent line separator character or - characters. - - - This conversion pattern offers the same performance as using - non-portable line separator strings such as "\n", or "\r\n". - Thus, it is the preferred way of specifying a line separator. - - - - - ndc - - - Used to output the NDC (nested diagnostic context) associated - with the thread that generated the logging event. - - - - - p - Equivalent to level - - - P - Equivalent to property - - - properties - Equivalent to property - - - property - - - Used to output the an event specific property. The key to - lookup must be specified within braces and directly following the - pattern specifier, e.g. %property{user} would include the value - from the property that is keyed by the string 'user'. Each property value - that is to be included in the log must be specified separately. - Properties are added to events by loggers or appenders. By default - the log4net:HostName property is set to the name of machine on - which the event was originally logged. - - - If no key is specified, e.g. %property then all the keys and their - values are printed in a comma separated list. - - - The properties of an event are combined from a number of different - contexts. These are listed below in the order in which they are searched. - - - - the event properties - - The event has that can be set. These - properties are specific to this event only. - - - - the thread properties - - The that are set on the current - thread. These properties are shared by all events logged on this thread. - - - - the global properties - - The that are set globally. These - properties are shared by all the threads in the AppDomain. - - - - - - - - r - Equivalent to timestamp - - - t - Equivalent to thread - - - timestamp - - - Used to output the number of milliseconds elapsed since the start - of the application until the creation of the logging event. - - - - - thread - - - Used to output the name of the thread that generated the - logging event. Uses the thread number if no name is available. - - - - - type - - - Used to output the fully qualified type name of the caller - issuing the logging request. This conversion specifier - can be optionally followed by precision specifier, that - is a decimal constant in brackets. - - - If a precision specifier is given, then only the corresponding - number of right most components of the class name will be - printed. By default the class name is output in fully qualified form. - - - For example, for the class name "log4net.Layout.PatternLayout", the - pattern %type{1} will output "PatternLayout". - - - WARNING Generating the caller class information is - slow. Thus, its use should be avoided unless execution speed is - not an issue. - - - See the note below on the availability of caller location information. - - - - - u - Equivalent to identity - - - username - - - Used to output the WindowsIdentity for the currently - active user. - - - WARNING Generating caller WindowsIdentity information is - extremely slow. Its use should be avoided unless execution speed - is not an issue. - - - - - utcdate - - - Used to output the date of the logging event in universal time. - The date conversion - specifier may be followed by a date format specifier enclosed - between braces. For example, %utcdate{HH:mm:ss,fff} or - %utcdate{dd MMM yyyy HH:mm:ss,fff}. If no date format specifier is - given then ISO8601 format is - assumed (). - - - The date format specifier admits the same syntax as the - time pattern string of the . - - - For better results it is recommended to use the log4net date - formatters. These can be specified using one of the strings - "ABSOLUTE", "DATE" and "ISO8601" for specifying - , - and respectively - . For example, - %utcdate{ISO8601} or %utcdate{ABSOLUTE}. - - - These dedicated date formatters perform significantly - better than . - - - - - w - Equivalent to username - - - x - Equivalent to ndc - - - X - Equivalent to mdc - - - % - - - The sequence %% outputs a single percent sign. - - - - - - The single letter patterns are deprecated in favor of the - longer more descriptive pattern names. - - - By default the relevant information is output as is. However, - with the aid of format modifiers it is possible to change the - minimum field width, the maximum field width and justification. - - - The optional format modifier is placed between the percent sign - and the conversion pattern name. - - - The first optional format modifier is the left justification - flag which is just the minus (-) character. Then comes the - optional minimum field width modifier. This is a decimal - constant that represents the minimum number of characters to - output. If the data item requires fewer characters, it is padded on - either the left or the right until the minimum width is - reached. The default is to pad on the left (right justify) but you - can specify right padding with the left justification flag. The - padding character is space. If the data item is larger than the - minimum field width, the field is expanded to accommodate the - data. The value is never truncated. - - - This behavior can be changed using the maximum field - width modifier which is designated by a period followed by a - decimal constant. If the data item is longer than the maximum - field, then the extra characters are removed from the - beginning of the data item and not from the end. For - example, it the maximum field width is eight and the data item is - ten characters long, then the first two characters of the data item - are dropped. This behavior deviates from the printf function in C - where truncation is done from the end. - - - Below are various format modifier examples for the logger - conversion specifier. - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Format modifierleft justifyminimum widthmaximum widthcomment
%20loggerfalse20none - - Left pad with spaces if the logger name is less than 20 - characters long. - -
%-20loggertrue20none - - Right pad with spaces if the logger - name is less than 20 characters long. - -
%.30loggerNAnone30 - - Truncate from the beginning if the logger - name is longer than 30 characters. - -
%20.30loggerfalse2030 - - Left pad with spaces if the logger name is shorter than 20 - characters. However, if logger name is longer than 30 characters, - then truncate from the beginning. - -
%-20.30loggertrue2030 - - Right pad with spaces if the logger name is shorter than 20 - characters. However, if logger name is longer than 30 characters, - then truncate from the beginning. - -
-
- - Note about caller location information.
- The following patterns %type %file %line %method %location %class %C %F %L %l %M - all generate caller location information. - Location information uses the System.Diagnostics.StackTrace class to generate - a call stack. The caller's information is then extracted from this stack. -
- - - The System.Diagnostics.StackTrace class is not supported on the - .NET Compact Framework 1.0 therefore caller location information is not - available on that framework. - - - - - The System.Diagnostics.StackTrace class has this to say about Release builds: - - - "StackTrace information will be most informative with Debug build configurations. - By default, Debug builds include debug symbols, while Release builds do not. The - debug symbols contain most of the file, method name, line number, and column - information used in constructing StackFrame and StackTrace objects. StackTrace - might not report as many method calls as expected, due to code transformations - that occur during optimization." - - - This means that in a Release build the caller information may be incomplete or may - not exist at all! Therefore caller location information cannot be relied upon in a Release build. - - - - Additional pattern converters may be registered with a specific - instance using the method. - -
- - This is a more detailed pattern. - %timestamp [%thread] %level %logger %ndc - %message%newline - - - A similar pattern except that the relative time is - right padded if less than 6 digits, thread name is right padded if - less than 15 characters and truncated if longer and the logger - name is left padded if shorter than 30 characters and truncated if - longer. - %-6timestamp [%15.15thread] %-5level %30.30logger %ndc - %message%newline - - Nicko Cadell - Gert Driesen - Douglas de la Torre - Daniel Cazzulino -
- - - Default pattern string for log output. - - - - Default pattern string for log output. - Currently set to the string "%message%newline" - which just prints the application supplied message. - - - - - - A detailed conversion pattern - - - - A conversion pattern which includes Time, Thread, Logger, and Nested Context. - Current value is %timestamp [%thread] %level %logger %ndc - %message%newline. - - - - - - Internal map of converter identifiers to converter types. - - - - This static map is overridden by the m_converterRegistry instance map - - - - - - the pattern - - - - - the head of the pattern converter chain - - - - - patterns defined on this PatternLayout only - - - - - Initialize the global registry - - - - Defines the builtin global rules. - - - - - - Constructs a PatternLayout using the DefaultConversionPattern - - - - The default pattern just produces the application supplied message. - - - Note to Inheritors: This constructor calls the virtual method - . If you override this method be - aware that it will be called before your is called constructor. - - - As per the contract the - method must be called after the properties on this object have been - configured. - - - - - - Constructs a PatternLayout using the supplied conversion pattern - - the pattern to use - - - Note to Inheritors: This constructor calls the virtual method - . If you override this method be - aware that it will be called before your is called constructor. - - - When using this constructor the method - need not be called. This may not be the case when using a subclass. - - - - - - Create the pattern parser instance - - the pattern to parse - The that will format the event - - - Creates the used to parse the conversion string. Sets the - global and instance rules on the . - - - - - - Initialize layout options - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - - - - Produces a formatted string as specified by the conversion pattern. - - the event being logged - The TextWriter to write the formatted event to - - - Parse the using the patter format - specified in the property. - - - - - - Add a converter to this PatternLayout - - the converter info - - - This version of the method is used by the configurator. - Programmatic users should use the alternative method. - - - - - - Add a converter to this PatternLayout - - the name of the conversion pattern for this converter - the type of the converter - - - Add a named pattern converter to this instance. This - converter will be used in the formatting of the event. - This method must be called before . - - - The specified must extend the - type. - - - - - - The pattern formatting string - - - - The ConversionPattern option. This is the string which - controls formatting and consists of a mix of literal content and - conversion specifiers. - - - - - - Wrapper class used to map converter names to converter types - - - - Pattern converter info class used during configuration to - pass to the - method. - - - - - - default constructor - - - - - Gets or sets the name of the conversion pattern - - - - The name of the pattern in the format string - - - - - - Gets or sets the type of the converter - - - - The value specified must extend the - type. - - - - - - Type converter for the interface - - - - Used to convert objects to the interface. - Supports converting from the interface to - the interface using the . - - - Nicko Cadell - Gert Driesen - - - - Interface supported by type converters - - - - This interface supports conversion from arbitrary types - to a single target type. See . - - - Nicko Cadell - Gert Driesen - - - - Can the source type be converted to the type supported by this object - - the type to convert - true if the conversion is possible - - - Test if the can be converted to the - type supported by this converter. - - - - - - Convert the source object to the type supported by this object - - the object to convert - the converted object - - - Converts the to the type supported - by this converter. - - - - - - Can the sourceType be converted to an - - the source to be to be converted - true if the source type can be converted to - - - Test if the can be converted to a - . Only is supported - as the . - - - - - - Convert the value to a object - - the value to convert - the object - - - Convert the object to a - object. If the object - is a then the - is used to adapt between the two interfaces, otherwise an - exception is thrown. - - - - - - Extract the value of a property from the - - - - Extract the value of a property from the - - - Nicko Cadell - - - - Constructs a RawPropertyLayout - - - - - Lookup the property for - - The event to format - returns property value - - - Looks up and returns the object value of the property - named . If there is no property defined - with than name then null will be returned. - - - - - - The name of the value to lookup in the LoggingEvent Properties collection. - - - Value to lookup in the LoggingEvent Properties collection - - - - String name of the property to lookup in the . - - - - - - Extract the date from the - - - - Extract the date from the - - - Nicko Cadell - Gert Driesen - - - - Constructs a RawTimeStampLayout - - - - - Gets the as a . - - The event to format - returns the time stamp - - - Gets the as a . - - - The time stamp is in local time. To format the time stamp - in universal time use . - - - - - - Extract the date from the - - - - Extract the date from the - - - Nicko Cadell - Gert Driesen - - - - Constructs a RawUtcTimeStampLayout - - - - - Gets the as a . - - The event to format - returns the time stamp - - - Gets the as a . - - - The time stamp is in universal time. To format the time stamp - in local time use . - - - - - - A very simple layout - - - - SimpleLayout consists of the level of the log statement, - followed by " - " and then the log message itself. For example, - - DEBUG - Hello world - - - - Nicko Cadell - Gert Driesen - - - - Constructs a SimpleLayout - - - - - Initialize layout options - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - - - - Produces a simple formatted output. - - the event being logged - The TextWriter to write the formatted event to - - - Formats the event as the level of the even, - followed by " - " and then the log message itself. The - output is terminated by a newline. - - - - - - Layout that formats the log events as XML elements. - - - - The output of the consists of a series of - log4net:event elements. It does not output a complete well-formed XML - file. The output is designed to be included as an external entity - in a separate file to form a correct XML file. - - - For example, if abc is the name of the file where - the output goes, then a well-formed XML file would - be: - - - <?xml version="1.0" ?> - - <!DOCTYPE log4net:events SYSTEM "log4net-events.dtd" [<!ENTITY data SYSTEM "abc">]> - - <log4net:events version="1.2" xmlns:log4net="http://logging.apache.org/log4net/schemas/log4net-events-1.2> - &data; - </log4net:events> - - - This approach enforces the independence of the - and the appender where it is embedded. - - - The version attribute helps components to correctly - interpret output generated by . The value of - this attribute should be "1.2" for release 1.2 and later. - - - Alternatively the Header and Footer properties can be - configured to output the correct XML header, open tag and close tag. - When setting the Header and Footer properties it is essential - that the underlying data store not be appendable otherwise the data - will become invalid XML. - - - Nicko Cadell - Gert Driesen - - - - Layout that formats the log events as XML elements. - - - - This is an abstract class that must be subclassed by an implementation - to conform to a specific schema. - - - Deriving classes must implement the method. - - - Nicko Cadell - Gert Driesen - - - - Protected constructor to support subclasses - - - - Initializes a new instance of the class - with no location info. - - - - - - Protected constructor to support subclasses - - - - The parameter determines whether - location information will be output by the layout. If - is set to true, then the - file name and line number of the statement at the origin of the log - statement will be output. - - - If you are embedding this layout within an SMTPAppender - then make sure to set the LocationInfo option of that - appender as well. - - - - - - Initialize layout options - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - - - - Produces a formatted string. - - The event being logged. - The TextWriter to write the formatted event to - - - Format the and write it to the . - - - This method creates an that writes to the - . The is passed - to the method. Subclasses should override the - method rather than this method. - - - - - - Does the actual writing of the XML. - - The writer to use to output the event to. - The event to write. - - - Subclasses should override this method to format - the as XML. - - - - - - Flag to indicate if location information should be included in - the XML events. - - - - - Writer adapter that ignores Close - - - - - The string to replace invalid chars with - - - - - Gets a value indicating whether to include location information in - the XML events. - - - true if location information should be included in the XML - events; otherwise, false. - - - - If is set to true, then the file - name and line number of the statement at the origin of the log - statement will be output. - - - If you are embedding this layout within an SMTPAppender - then make sure to set the LocationInfo option of that - appender as well. - - - - - - The string to replace characters that can not be expressed in XML with. - - - Not all characters may be expressed in XML. This property contains the - string to replace those that can not with. This defaults to a ?. Set it - to the empty string to simply remove offending characters. For more - details on the allowed character ranges see http://www.w3.org/TR/REC-xml/#charsets - Character replacement will occur in the log message, the property names - and the property values. - - - - - - - Gets the content type output by this layout. - - - As this is the XML layout, the value is always "text/xml". - - - - As this is the XML layout, the value is always "text/xml". - - - - - - Constructs an XmlLayout - - - - - Constructs an XmlLayout. - - - - The LocationInfo option takes a boolean value. By - default, it is set to false which means there will be no location - information output by this layout. If the the option is set to - true, then the file name and line number of the statement - at the origin of the log statement will be output. - - - If you are embedding this layout within an SmtpAppender - then make sure to set the LocationInfo option of that - appender as well. - - - - - - Initialize layout options - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - Builds a cache of the element names - - - - - - Does the actual writing of the XML. - - The writer to use to output the event to. - The event to write. - - - Override the base class method - to write the to the . - - - - - - The prefix to use for all generated element names - - - - - The prefix to use for all element names - - - - The default prefix is log4net. Set this property - to change the prefix. If the prefix is set to an empty string - then no prefix will be written. - - - - - - Set whether or not to base64 encode the message. - - - - By default the log message will be written as text to the xml - output. This can cause problems when the message contains binary - data. By setting this to true the contents of the message will be - base64 encoded. If this is set then invalid character replacement - (see ) will not be performed - on the log message. - - - - - - Set whether or not to base64 encode the property values. - - - - By default the properties will be written as text to the xml - output. This can cause problems when one or more properties contain - binary data. By setting this to true the values of the properties - will be base64 encoded. If this is set then invalid character replacement - (see ) will not be performed - on the property values. - - - - - - Layout that formats the log events as XML elements compatible with the log4j schema - - - - Formats the log events according to the http://logging.apache.org/log4j schema. - - - Nicko Cadell - - - - The 1st of January 1970 in UTC - - - - - Constructs an XMLLayoutSchemaLog4j - - - - - Constructs an XMLLayoutSchemaLog4j. - - - - The LocationInfo option takes a boolean value. By - default, it is set to false which means there will be no location - information output by this layout. If the the option is set to - true, then the file name and line number of the statement - at the origin of the log statement will be output. - - - If you are embedding this layout within an SMTPAppender - then make sure to set the LocationInfo option of that - appender as well. - - - - - - Actually do the writing of the xml - - the writer to use - the event to write - - - Generate XML that is compatible with the log4j schema. - - - - - - The version of the log4j schema to use. - - - - Only version 1.2 of the log4j schema is supported. - - - - - - The default object Renderer. - - - - The default renderer supports rendering objects and collections to strings. - - - See the method for details of the output. - - - Nicko Cadell - Gert Driesen - - - - Implement this interface in order to render objects as strings - - - - Certain types require special case conversion to - string form. This conversion is done by an object renderer. - Object renderers implement the - interface. - - - Nicko Cadell - Gert Driesen - - - - Render the object to a string - - The map used to lookup renderers - The object to render - The writer to render to - - - Render the object to a - string. - - - The parameter is - provided to lookup and render other objects. This is - very useful where contains - nested objects of unknown type. The - method can be used to render these objects. - - - - - - Default constructor - - - - Default constructor - - - - - - Render the object to a string - - The map used to lookup renderers - The object to render - The writer to render to - - - Render the object to a string. - - - The parameter is - provided to lookup and render other objects. This is - very useful where contains - nested objects of unknown type. The - method can be used to render these objects. - - - The default renderer supports rendering objects to strings as follows: - - - - Value - Rendered String - - - null - - "(null)" - - - - - - - For a one dimensional array this is the - array type name, an open brace, followed by a comma - separated list of the elements (using the appropriate - renderer), followed by a close brace. - - - For example: int[] {1, 2, 3}. - - - If the array is not one dimensional the - Array.ToString() is returned. - - - - - , & - - - Rendered as an open brace, followed by a comma - separated list of the elements (using the appropriate - renderer), followed by a close brace. - - - For example: {a, b, c}. - - - All collection classes that implement its subclasses, - or generic equivalents all implement the interface. - - - - - - - - Rendered as the key, an equals sign ('='), and the value (using the appropriate - renderer). - - - For example: key=value. - - - - - other - - Object.ToString() - - - - - - - - Render the array argument into a string - - The map used to lookup renderers - the array to render - The writer to render to - - - For a one dimensional array this is the - array type name, an open brace, followed by a comma - separated list of the elements (using the appropriate - renderer), followed by a close brace. For example: - int[] {1, 2, 3}. - - - If the array is not one dimensional the - Array.ToString() is returned. - - - - - - Render the enumerator argument into a string - - The map used to lookup renderers - the enumerator to render - The writer to render to - - - Rendered as an open brace, followed by a comma - separated list of the elements (using the appropriate - renderer), followed by a close brace. For example: - {a, b, c}. - - - - - - Render the DictionaryEntry argument into a string - - The map used to lookup renderers - the DictionaryEntry to render - The writer to render to - - - Render the key, an equals sign ('='), and the value (using the appropriate - renderer). For example: key=value. - - - - - - Map class objects to an . - - - - Maintains a mapping between types that require special - rendering and the that - is used to render them. - - - The method is used to render an - object using the appropriate renderers defined in this map. - - - Nicko Cadell - Gert Driesen - - - - Default Constructor - - - - Default constructor. - - - - - - Render using the appropriate renderer. - - the object to render to a string - the object rendered as a string - - - This is a convenience method used to render an object to a string. - The alternative method - should be used when streaming output to a . - - - - - - Render using the appropriate renderer. - - the object to render to a string - The writer to render to - - - Find the appropriate renderer for the type of the - parameter. This is accomplished by calling the - method. Once a renderer is found, it is - applied on the object and the result is returned - as a . - - - - - - Gets the renderer for the specified object type - - the object to lookup the renderer for - the renderer for - - - Gets the renderer for the specified object type. - - - Syntactic sugar method that calls - with the type of the object parameter. - - - - - - Gets the renderer for the specified type - - the type to lookup the renderer for - the renderer for the specified type - - - Returns the renderer for the specified type. - If no specific renderer has been defined the - will be returned. - - - - - - Internal function to recursively search interfaces - - the type to lookup the renderer for - the renderer for the specified type - - - - Clear the map of renderers - - - - Clear the custom renderers defined by using - . The - cannot be removed. - - - - - - Register an for . - - the type that will be rendered by - the renderer for - - - Register an object renderer for a specific source type. - This renderer will be returned from a call to - specifying the same as an argument. - - - - - - Get the default renderer instance - - the default renderer - - - Get the default renderer - - - - - - Interface implemented by logger repository plugins. - - - - Plugins define additional behavior that can be associated - with a . - The held by the - property is used to store the plugins for a repository. - - - The log4net.Config.PluginAttribute can be used to - attach plugins to repositories created using configuration - attributes. - - - Nicko Cadell - Gert Driesen - - - - Attaches the plugin to the specified . - - The that this plugin should be attached to. - - - A plugin may only be attached to a single repository. - - - This method is called when the plugin is attached to the repository. - - - - - - Is called when the plugin is to shutdown. - - - - This method is called to notify the plugin that - it should stop operating and should detach from - the repository. - - - - - - Gets the name of the plugin. - - - The name of the plugin. - - - - Plugins are stored in the - keyed by name. Each plugin instance attached to a - repository must be a unique name. - - - - - - A strongly-typed collection of objects. - - Nicko Cadell - - - - Creates a read-only wrapper for a PluginCollection instance. - - list to create a readonly wrapper arround - - A PluginCollection wrapper that is read-only. - - - - - Initializes a new instance of the PluginCollection class - that is empty and has the default initial capacity. - - - - - Initializes a new instance of the PluginCollection class - that has the specified initial capacity. - - - The number of elements that the new PluginCollection is initially capable of storing. - - - - - Initializes a new instance of the PluginCollection class - that contains elements copied from the specified PluginCollection. - - The PluginCollection whose elements are copied to the new collection. - - - - Initializes a new instance of the PluginCollection class - that contains elements copied from the specified array. - - The array whose elements are copied to the new list. - - - - Initializes a new instance of the PluginCollection class - that contains elements copied from the specified collection. - - The collection whose elements are copied to the new list. - - - - Allow subclasses to avoid our default constructors - - - - - - - Copies the entire PluginCollection to a one-dimensional - array. - - The one-dimensional array to copy to. - - - - Copies the entire PluginCollection to a one-dimensional - array, starting at the specified index of the target array. - - The one-dimensional array to copy to. - The zero-based index in at which copying begins. - - - - Adds a to the end of the PluginCollection. - - The to be added to the end of the PluginCollection. - The index at which the value has been added. - - - - Removes all elements from the PluginCollection. - - - - - Creates a shallow copy of the . - - A new with a shallow copy of the collection data. - - - - Determines whether a given is in the PluginCollection. - - The to check for. - true if is found in the PluginCollection; otherwise, false. - - - - Returns the zero-based index of the first occurrence of a - in the PluginCollection. - - The to locate in the PluginCollection. - - The zero-based index of the first occurrence of - in the entire PluginCollection, if found; otherwise, -1. - - - - - Inserts an element into the PluginCollection at the specified index. - - The zero-based index at which should be inserted. - The to insert. - - is less than zero - -or- - is equal to or greater than . - - - - - Removes the first occurrence of a specific from the PluginCollection. - - The to remove from the PluginCollection. - - The specified was not found in the PluginCollection. - - - - - Removes the element at the specified index of the PluginCollection. - - The zero-based index of the element to remove. - - is less than zero. - -or- - is equal to or greater than . - - - - - Returns an enumerator that can iterate through the PluginCollection. - - An for the entire PluginCollection. - - - - Adds the elements of another PluginCollection to the current PluginCollection. - - The PluginCollection whose elements should be added to the end of the current PluginCollection. - The new of the PluginCollection. - - - - Adds the elements of a array to the current PluginCollection. - - The array whose elements should be added to the end of the PluginCollection. - The new of the PluginCollection. - - - - Adds the elements of a collection to the current PluginCollection. - - The collection whose elements should be added to the end of the PluginCollection. - The new of the PluginCollection. - - - - Sets the capacity to the actual number of elements. - - - - - is less than zero. - -or- - is equal to or greater than . - - - - - is less than zero. - -or- - is equal to or greater than . - - - - - Gets the number of elements actually contained in the PluginCollection. - - - - - Gets a value indicating whether access to the collection is synchronized (thread-safe). - - true if access to the ICollection is synchronized (thread-safe); otherwise, false. - - - - Gets an object that can be used to synchronize access to the collection. - - - An object that can be used to synchronize access to the collection. - - - - - Gets or sets the at the specified index. - - - The at the specified index. - - The zero-based index of the element to get or set. - - is less than zero. - -or- - is equal to or greater than . - - - - - Gets a value indicating whether the collection has a fixed size. - - true if the collection has a fixed size; otherwise, false. The default is false. - - - - Gets a value indicating whether the IList is read-only. - - true if the collection is read-only; otherwise, false. The default is false. - - - - Gets or sets the number of elements the PluginCollection can contain. - - - The number of elements the PluginCollection can contain. - - - - - Supports type-safe iteration over a . - - - - - - Advances the enumerator to the next element in the collection. - - - true if the enumerator was successfully advanced to the next element; - false if the enumerator has passed the end of the collection. - - - The collection was modified after the enumerator was created. - - - - - Sets the enumerator to its initial position, before the first element in the collection. - - - - - Gets the current element in the collection. - - - - - Type visible only to our subclasses - Used to access protected constructor - - - - - - A value - - - - - Supports simple iteration over a . - - - - - - Initializes a new instance of the Enumerator class. - - - - - - Advances the enumerator to the next element in the collection. - - - true if the enumerator was successfully advanced to the next element; - false if the enumerator has passed the end of the collection. - - - The collection was modified after the enumerator was created. - - - - - Sets the enumerator to its initial position, before the first element in the collection. - - - - - Gets the current element in the collection. - - - The current element in the collection. - - - - - - - - Map of repository plugins. - - - - This class is a name keyed map of the plugins that are - attached to a repository. - - - Nicko Cadell - Gert Driesen - - - - Constructor - - The repository that the plugins should be attached to. - - - Initialize a new instance of the class with a - repository that the plugins should be attached to. - - - - - - Adds a to the map. - - The to add to the map. - - - The will be attached to the repository when added. - - - If there already exists a plugin with the same name - attached to the repository then the old plugin will - be and replaced with - the new plugin. - - - - - - Removes a from the map. - - The to remove from the map. - - - Remove a specific plugin from this map. - - - - - - Gets a by name. - - The name of the to lookup. - - The from the map with the name specified, or - null if no plugin is found. - - - - Lookup a plugin by name. If the plugin is not found null - will be returned. - - - - - - Gets all possible plugins as a list of objects. - - All possible plugins as a list of objects. - - - Get a collection of all the plugins defined in this map. - - - - - - Base implementation of - - - - Default abstract implementation of the - interface. This base class can be used by implementors - of the interface. - - - Nicko Cadell - Gert Driesen - - - - Constructor - - the name of the plugin - - Initializes a new Plugin with the specified name. - - - - - Attaches this plugin to a . - - The that this plugin should be attached to. - - - A plugin may only be attached to a single repository. - - - This method is called when the plugin is attached to the repository. - - - - - - Is called when the plugin is to shutdown. - - - - This method is called to notify the plugin that - it should stop operating and should detach from - the repository. - - - - - - The name of this plugin. - - - - - The repository this plugin is attached to. - - - - - Gets or sets the name of the plugin. - - - The name of the plugin. - - - - Plugins are stored in the - keyed by name. Each plugin instance attached to a - repository must be a unique name. - - - The name of the plugin must not change one the - plugin has been attached to a repository. - - - - - - The repository for this plugin - - - The that this plugin is attached to. - - - - Gets or sets the that this plugin is - attached to. - - - - - - Plugin that listens for events from the - - - - This plugin publishes an instance of - on a specified . This listens for logging events delivered from - a remote . - - - When an event is received it is relogged within the attached repository - as if it had been raised locally. - - - Nicko Cadell - Gert Driesen - - - - Default constructor - - - - Initializes a new instance of the class. - - - The property must be set. - - - - - - Construct with sink Uri. - - The name to publish the sink under in the remoting infrastructure. - See for more details. - - - Initializes a new instance of the class - with specified name. - - - - - - Attaches this plugin to a . - - The that this plugin should be attached to. - - - A plugin may only be attached to a single repository. - - - This method is called when the plugin is attached to the repository. - - - - - - Is called when the plugin is to shutdown. - - - - When the plugin is shutdown the remote logging - sink is disconnected. - - - - - - Gets or sets the URI of this sink. - - - The URI of this sink. - - - - This is the name under which the object is marshaled. - - - - - - - Delivers objects to a remote sink. - - - - Internal class used to listen for logging events - and deliver them to the local repository. - - - - - - Constructor - - The repository to log to. - - - Initializes a new instance of the for the - specified . - - - - - - Logs the events to the repository. - - The events to log. - - - The events passed are logged to the - - - - - - Obtains a lifetime service object to control the lifetime - policy for this instance. - - null to indicate that this instance should live forever. - - - Obtains a lifetime service object to control the lifetime - policy for this instance. This object should live forever - therefore this implementation returns null. - - - - - - The underlying that events should - be logged to. - - - - - Default implementation of - - - - This default implementation of the - interface is used to create the default subclass - of the object. - - - Nicko Cadell - Gert Driesen - - - - Interface abstracts creation of instances - - - - This interface is used by the to - create new objects. - - - The method is called - to create a named . - - - Implement this interface to create new subclasses of . - - - Nicko Cadell - Gert Driesen - - - - Create a new instance - - The name of the . - The instance for the specified name. - - - Create a new instance with the - specified name. - - - Called by the to create - new named instances. - - - If the is null then the root logger - must be returned. - - - - - - Default constructor - - - - Initializes a new instance of the class. - - - - - - Create a new instance - - The name of the . - The instance for the specified name. - - - Create a new instance with the - specified name. - - - Called by the to create - new named instances. - - - If the is null then the root logger - must be returned. - - - - - - Default internal subclass of - - - - This subclass has no additional behavior over the - class but does allow instances - to be created. - - - - - - Implementation of used by - - - - Internal class used to provide implementation of - interface. Applications should use to get - logger instances. - - - This is one of the central classes in the log4net implementation. One of the - distinctive features of log4net are hierarchical loggers and their - evaluation. The organizes the - instances into a rooted tree hierarchy. - - - The class is abstract. Only concrete subclasses of - can be created. The - is used to create instances of this type for the . - - - Nicko Cadell - Gert Driesen - Aspi Havewala - Douglas de la Torre - - - - This constructor created a new instance and - sets its name. - - The name of the . - - - This constructor is protected and designed to be used by - a subclass that is not abstract. - - - Loggers are constructed by - objects. See for the default - logger creator. - - - - - - Add to the list of appenders of this - Logger instance. - - An appender to add to this logger - - - Add to the list of appenders of this - Logger instance. - - - If is already in the list of - appenders, then it won't be added again. - - - - - - Look for the appender named as name - - The name of the appender to lookup - The appender with the name specified, or null. - - - Returns the named appender, or null if the appender is not found. - - - - - - Remove all previously added appenders from this Logger instance. - - - - Remove all previously added appenders from this Logger instance. - - - This is useful when re-reading configuration information. - - - - - - Remove the appender passed as parameter form the list of appenders. - - The appender to remove - The appender removed from the list - - - Remove the appender passed as parameter form the list of appenders. - The appender removed is not closed. - If you are discarding the appender you must call - on the appender removed. - - - - - - Remove the appender passed as parameter form the list of appenders. - - The name of the appender to remove - The appender removed from the list - - - Remove the named appender passed as parameter form the list of appenders. - The appender removed is not closed. - If you are discarding the appender you must call - on the appender removed. - - - - - - This generic form is intended to be used by wrappers. - - The declaring type of the method that is - the stack boundary into the logging system for this call. - The level of the message to be logged. - The message object to log. - The exception to log, including its stack trace. - - - Generate a logging event for the specified using - the and . - - - This method must not throw any exception to the caller. - - - - - - This is the most generic printing method that is intended to be used - by wrappers. - - The event being logged. - - - Logs the specified logging event through this logger. - - - This method must not throw any exception to the caller. - - - - - - Checks if this logger is enabled for a given passed as parameter. - - The level to check. - - true if this logger is enabled for level, otherwise false. - - - - Test if this logger is going to log events of the specified . - - - This method must not throw any exception to the caller. - - - - - - Deliver the to the attached appenders. - - The event to log. - - - Call the appenders in the hierarchy starting at - this. If no appenders could be found, emit a - warning. - - - This method calls all the appenders inherited from the - hierarchy circumventing any evaluation of whether to log or not - to log the particular log request. - - - - - - Closes all attached appenders implementing the interface. - - - - Used to ensure that the appenders are correctly shutdown. - - - - - - This is the most generic printing method. This generic form is intended to be used by wrappers - - The level of the message to be logged. - The message object to log. - The exception to log, including its stack trace. - - - Generate a logging event for the specified using - the . - - - - - - Creates a new logging event and logs the event without further checks. - - The declaring type of the method that is - the stack boundary into the logging system for this call. - The level of the message to be logged. - The message object to log. - The exception to log, including its stack trace. - - - Generates a logging event and delivers it to the attached - appenders. - - - - - - Creates a new logging event and logs the event without further checks. - - The event being logged. - - - Delivers the logging event to the attached appenders. - - - - - - The fully qualified type of the Logger class. - - - - - The name of this logger. - - - - - The assigned level of this logger. - - - - The level variable need not be - assigned a value in which case it is inherited - form the hierarchy. - - - - - - The parent of this logger. - - - - The parent of this logger. - All loggers have at least one ancestor which is the root logger. - - - - - - Loggers need to know what Hierarchy they are in. - - - - Loggers need to know what Hierarchy they are in. - The hierarchy that this logger is a member of is stored - here. - - - - - - Helper implementation of the interface - - - - - Flag indicating if child loggers inherit their parents appenders - - - - Additivity is set to true by default, that is children inherit - the appenders of their ancestors by default. If this variable is - set to false then the appenders found in the - ancestors of this logger are not used. However, the children - of this logger will inherit its appenders, unless the children - have their additivity flag set to false too. See - the user manual for more details. - - - - - - Lock to protect AppenderAttachedImpl variable m_appenderAttachedImpl - - - - - Gets or sets the parent logger in the hierarchy. - - - The parent logger in the hierarchy. - - - - Part of the Composite pattern that makes the hierarchy. - The hierarchy is parent linked rather than child linked. - - - - - - Gets or sets a value indicating if child loggers inherit their parent's appenders. - - - true if child loggers inherit their parent's appenders. - - - - Additivity is set to true by default, that is children inherit - the appenders of their ancestors by default. If this variable is - set to false then the appenders found in the - ancestors of this logger are not used. However, the children - of this logger will inherit its appenders, unless the children - have their additivity flag set to false too. See - the user manual for more details. - - - - - - Gets the effective level for this logger. - - The nearest level in the logger hierarchy. - - - Starting from this logger, searches the logger hierarchy for a - non-null level and returns it. Otherwise, returns the level of the - root logger. - - The Logger class is designed so that this method executes as - quickly as possible. - - - - - Gets or sets the where this - Logger instance is attached to. - - The hierarchy that this logger belongs to. - - - This logger must be attached to a single . - - - - - - Gets or sets the assigned , if any, for this Logger. - - - The of this logger. - - - - The assigned can be null. - - - - - - Get the appenders contained in this logger as an - . - - A collection of the appenders in this logger - - - Get the appenders contained in this logger as an - . If no appenders - can be found, then a is returned. - - - - - - Gets the logger name. - - - The name of the logger. - - - - The name of this logger - - - - - - Gets the where this - Logger instance is attached to. - - - The that this logger belongs to. - - - - Gets the where this - Logger instance is attached to. - - - - - - Construct a new Logger - - the name of the logger - - - Initializes a new instance of the class - with the specified name. - - - - - - Delegate used to handle logger creation event notifications. - - The in which the has been created. - The event args that hold the instance that has been created. - - - Delegate used to handle logger creation event notifications. - - - - - - Provides data for the event. - - - - A event is raised every time a - is created. - - - - - - The created - - - - - Constructor - - The that has been created. - - - Initializes a new instance of the event argument - class,with the specified . - - - - - - Gets the that has been created. - - - The that has been created. - - - - The that has been created. - - - - - - Hierarchical organization of loggers - - - - The casual user should not have to deal with this class - directly. - - - This class is specialized in retrieving loggers by name and - also maintaining the logger hierarchy. Implements the - interface. - - - The structure of the logger hierarchy is maintained by the - method. The hierarchy is such that children - link to their parent but parents do not have any references to their - children. Moreover, loggers can be instantiated in any order, in - particular descendant before ancestor. - - - In case a descendant is created before a particular ancestor, - then it creates a provision node for the ancestor and adds itself - to the provision node. Other descendants of the same ancestor add - themselves to the previously created provision node. - - - Nicko Cadell - Gert Driesen - - - - Base implementation of - - - - Default abstract implementation of the interface. - - - Skeleton implementation of the interface. - All types can extend this type. - - - Nicko Cadell - Gert Driesen - - - - Interface implemented by logger repositories. - - - - This interface is implemented by logger repositories. e.g. - . - - - This interface is used by the - to obtain interfaces. - - - Nicko Cadell - Gert Driesen - - - - Check if the named logger exists in the repository. If so return - its reference, otherwise returns null. - - The name of the logger to lookup - The Logger object with the name specified - - - If the names logger exists it is returned, otherwise - null is returned. - - - - - - Returns all the currently defined loggers as an Array. - - All the defined loggers - - - Returns all the currently defined loggers as an Array. - - - - - - Returns a named logger instance - - The name of the logger to retrieve - The logger object with the name specified - - - Returns a named logger instance. - - - If a logger of that name already exists, then it will be - returned. Otherwise, a new logger will be instantiated and - then linked with its existing ancestors as well as children. - - - - - Shutdown the repository - - - Shutting down a repository will safely close and remove - all appenders in all loggers including the root logger. - - - Some appenders need to be closed before the - application exists. Otherwise, pending logging events might be - lost. - - - The method is careful to close nested - appenders before closing regular appenders. This is allows - configurations where a regular appender is attached to a logger - and again to a nested appender. - - - - - - Reset the repositories configuration to a default state - - - - Reset all values contained in this instance to their - default state. - - - Existing loggers are not removed. They are just reset. - - - This method should be used sparingly and with care as it will - block all logging until it is completed. - - - - - - Log the through this repository. - - the event to log - - - This method should not normally be used to log. - The interface should be used - for routine logging. This interface can be obtained - using the method. - - - The logEvent is delivered to the appropriate logger and - that logger is then responsible for logging the event. - - - - - - Returns all the Appenders that are configured as an Array. - - All the Appenders - - - Returns all the Appenders that are configured as an Array. - - - - - - The name of the repository - - - The name of the repository - - - - The name of the repository. - - - - - - RendererMap accesses the object renderer map for this repository. - - - RendererMap accesses the object renderer map for this repository. - - - - RendererMap accesses the object renderer map for this repository. - - - The RendererMap holds a mapping between types and - objects. - - - - - - The plugin map for this repository. - - - The plugin map for this repository. - - - - The plugin map holds the instances - that have been attached to this repository. - - - - - - Get the level map for the Repository. - - - - Get the level map for the Repository. - - - The level map defines the mappings between - level names and objects in - this repository. - - - - - - The threshold for all events in this repository - - - The threshold for all events in this repository - - - - The threshold for all events in this repository. - - - - - - Flag indicates if this repository has been configured. - - - Flag indicates if this repository has been configured. - - - - Flag indicates if this repository has been configured. - - - - - - Event to notify that the repository has been shutdown. - - - Event to notify that the repository has been shutdown. - - - - Event raised when the repository has been shutdown. - - - - - - Event to notify that the repository has had its configuration reset. - - - Event to notify that the repository has had its configuration reset. - - - - Event raised when the repository's configuration has been - reset to default. - - - - - - Event to notify that the repository has had its configuration changed. - - - Event to notify that the repository has had its configuration changed. - - - - Event raised when the repository's configuration has been changed. - - - - - - Repository specific properties - - - Repository specific properties - - - - These properties can be specified on a repository specific basis. - - - - - - Default Constructor - - - - Initializes the repository with default (empty) properties. - - - - - - Construct the repository using specific properties - - the properties to set for this repository - - - Initializes the repository with specified properties. - - - - - - Test if logger exists - - The name of the logger to lookup - The Logger object with the name specified - - - Check if the named logger exists in the repository. If so return - its reference, otherwise returns null. - - - - - - Returns all the currently defined loggers in the repository - - All the defined loggers - - - Returns all the currently defined loggers in the repository as an Array. - - - - - - Return a new logger instance - - The name of the logger to retrieve - The logger object with the name specified - - - Return a new logger instance. - - - If a logger of that name already exists, then it will be - returned. Otherwise, a new logger will be instantiated and - then linked with its existing ancestors as well as children. - - - - - - Shutdown the repository - - - - Shutdown the repository. Can be overridden in a subclass. - This base class implementation notifies the - listeners and all attached plugins of the shutdown event. - - - - - - Reset the repositories configuration to a default state - - - - Reset all values contained in this instance to their - default state. - - - Existing loggers are not removed. They are just reset. - - - This method should be used sparingly and with care as it will - block all logging until it is completed. - - - - - - Log the logEvent through this repository. - - the event to log - - - This method should not normally be used to log. - The interface should be used - for routine logging. This interface can be obtained - using the method. - - - The logEvent is delivered to the appropriate logger and - that logger is then responsible for logging the event. - - - - - - Returns all the Appenders that are configured as an Array. - - All the Appenders - - - Returns all the Appenders that are configured as an Array. - - - - - - Adds an object renderer for a specific class. - - The type that will be rendered by the renderer supplied. - The object renderer used to render the object. - - - Adds an object renderer for a specific class. - - - - - - Notify the registered listeners that the repository is shutting down - - Empty EventArgs - - - Notify any listeners that this repository is shutting down. - - - - - - Notify the registered listeners that the repository has had its configuration reset - - Empty EventArgs - - - Notify any listeners that this repository's configuration has been reset. - - - - - - Notify the registered listeners that the repository has had its configuration changed - - Empty EventArgs - - - Notify any listeners that this repository's configuration has changed. - - - - - - Raise a configuration changed event on this repository - - EventArgs.Empty - - - Applications that programmatically change the configuration of the repository should - raise this event notification to notify listeners. - - - - - - The name of the repository - - - The string name of the repository - - - - The name of this repository. The name is - used to store and lookup the repositories - stored by the . - - - - - - The threshold for all events in this repository - - - The threshold for all events in this repository - - - - The threshold for all events in this repository - - - - - - RendererMap accesses the object renderer map for this repository. - - - RendererMap accesses the object renderer map for this repository. - - - - RendererMap accesses the object renderer map for this repository. - - - The RendererMap holds a mapping between types and - objects. - - - - - - The plugin map for this repository. - - - The plugin map for this repository. - - - - The plugin map holds the instances - that have been attached to this repository. - - - - - - Get the level map for the Repository. - - - - Get the level map for the Repository. - - - The level map defines the mappings between - level names and objects in - this repository. - - - - - - Flag indicates if this repository has been configured. - - - Flag indicates if this repository has been configured. - - - - Flag indicates if this repository has been configured. - - - - - - Event to notify that the repository has been shutdown. - - - Event to notify that the repository has been shutdown. - - - - Event raised when the repository has been shutdown. - - - - - - Event to notify that the repository has had its configuration reset. - - - Event to notify that the repository has had its configuration reset. - - - - Event raised when the repository's configuration has been - reset to default. - - - - - - Event to notify that the repository has had its configuration changed. - - - Event to notify that the repository has had its configuration changed. - - - - Event raised when the repository's configuration has been changed. - - - - - - Repository specific properties - - - Repository specific properties - - - These properties can be specified on a repository specific basis - - - - - Basic Configurator interface for repositories - - - - Interface used by basic configurator to configure a - with a default . - - - A should implement this interface to support - configuration by the . - - - Nicko Cadell - Gert Driesen - - - - Initialize the repository using the specified appender - - the appender to use to log all logging events - - - Configure the repository to route all logging events to the - specified appender. - - - - - - Configure repository using XML - - - - Interface used by Xml configurator to configure a . - - - A should implement this interface to support - configuration by the . - - - Nicko Cadell - Gert Driesen - - - - Initialize the repository using the specified config - - the element containing the root of the config - - - The schema for the XML configuration data is defined by - the implementation. - - - - - - Default constructor - - - - Initializes a new instance of the class. - - - - - - Construct with properties - - The properties to pass to this repository. - - - Initializes a new instance of the class. - - - - - - Construct with a logger factory - - The factory to use to create new logger instances. - - - Initializes a new instance of the class with - the specified . - - - - - - Construct with properties and a logger factory - - The properties to pass to this repository. - The factory to use to create new logger instances. - - - Initializes a new instance of the class with - the specified . - - - - - - Test if a logger exists - - The name of the logger to lookup - The Logger object with the name specified - - - Check if the named logger exists in the hierarchy. If so return - its reference, otherwise returns null. - - - - - - Returns all the currently defined loggers in the hierarchy as an Array - - All the defined loggers - - - Returns all the currently defined loggers in the hierarchy as an Array. - The root logger is not included in the returned - enumeration. - - - - - - Return a new logger instance named as the first parameter using - the default factory. - - - - Return a new logger instance named as the first parameter using - the default factory. - - - If a logger of that name already exists, then it will be - returned. Otherwise, a new logger will be instantiated and - then linked with its existing ancestors as well as children. - - - The name of the logger to retrieve - The logger object with the name specified - - - - Shutting down a hierarchy will safely close and remove - all appenders in all loggers including the root logger. - - - - Shutting down a hierarchy will safely close and remove - all appenders in all loggers including the root logger. - - - Some appenders need to be closed before the - application exists. Otherwise, pending logging events might be - lost. - - - The Shutdown method is careful to close nested - appenders before closing regular appenders. This is allows - configurations where a regular appender is attached to a logger - and again to a nested appender. - - - - - - Reset all values contained in this hierarchy instance to their default. - - - - Reset all values contained in this hierarchy instance to their - default. This removes all appenders from all loggers, sets - the level of all non-root loggers to null, - sets their additivity flag to true and sets the level - of the root logger to . Moreover, - message disabling is set its default "off" value. - - - Existing loggers are not removed. They are just reset. - - - This method should be used sparingly and with care as it will - block all logging until it is completed. - - - - - - Log the logEvent through this hierarchy. - - the event to log - - - This method should not normally be used to log. - The interface should be used - for routine logging. This interface can be obtained - using the method. - - - The logEvent is delivered to the appropriate logger and - that logger is then responsible for logging the event. - - - - - - Returns all the Appenders that are currently configured - - An array containing all the currently configured appenders - - - Returns all the instances that are currently configured. - All the loggers are searched for appenders. The appenders may also be containers - for appenders and these are also searched for additional loggers. - - - The list returned is unordered but does not contain duplicates. - - - - - - Collect the appenders from an . - The appender may also be a container. - - - - - - - Collect the appenders from an container - - - - - - - Initialize the log4net system using the specified appender - - the appender to use to log all logging events - - - - Initialize the log4net system using the specified appender - - the appender to use to log all logging events - - - This method provides the same functionality as the - method implemented - on this object, but it is protected and therefore can be called by subclasses. - - - - - - Initialize the log4net system using the specified config - - the element containing the root of the config - - - - Initialize the log4net system using the specified config - - the element containing the root of the config - - - This method provides the same functionality as the - method implemented - on this object, but it is protected and therefore can be called by subclasses. - - - - - - Test if this hierarchy is disabled for the specified . - - The level to check against. - - true if the repository is disabled for the level argument, false otherwise. - - - - If this hierarchy has not been configured then this method will - always return true. - - - This method will return true if this repository is - disabled for level object passed as parameter and - false otherwise. - - - See also the property. - - - - - - Clear all logger definitions from the internal hashtable - - - - This call will clear all logger definitions from the internal - hashtable. Invoking this method will irrevocably mess up the - logger hierarchy. - - - You should really know what you are doing before - invoking this method. - - - - - - Return a new logger instance named as the first parameter using - . - - The name of the logger to retrieve - The factory that will make the new logger instance - The logger object with the name specified - - - If a logger of that name already exists, then it will be - returned. Otherwise, a new logger will be instantiated by the - parameter and linked with its existing - ancestors as well as children. - - - - - - Sends a logger creation event to all registered listeners - - The newly created logger - - Raises the logger creation event. - - - - - Updates all the parents of the specified logger - - The logger to update the parents for - - - This method loops through all the potential parents of - . There 3 possible cases: - - - - No entry for the potential parent of exists - - We create a ProvisionNode for this potential - parent and insert in that provision node. - - - - The entry is of type Logger for the potential parent. - - The entry is 's nearest existing parent. We - update 's parent field with this entry. We also break from - he loop because updating our parent's parent is our parent's - responsibility. - - - - The entry is of type ProvisionNode for this potential parent. - - We add to the list of children for this - potential parent. - - - - - - - - Replace a with a in the hierarchy. - - - - - - We update the links for all the children that placed themselves - in the provision node 'pn'. The second argument 'log' is a - reference for the newly created Logger, parent of all the - children in 'pn'. - - - We loop on all the children 'c' in 'pn'. - - - If the child 'c' has been already linked to a child of - 'log' then there is no need to update 'c'. - - - Otherwise, we set log's parent field to c's parent and set - c's parent field to log. - - - - - - Define or redefine a Level using the values in the argument - - the level values - - - Define or redefine a Level using the values in the argument - - - Supports setting levels via the configuration file. - - - - - - Set a Property using the values in the argument - - the property value - - - Set a Property using the values in the argument. - - - Supports setting property values via the configuration file. - - - - - - Event used to notify that a logger has been created. - - - - Event raised when a logger is created. - - - - - - Has no appender warning been emitted - - - - Flag to indicate if we have already issued a warning - about not having an appender warning. - - - - - - Get the root of this hierarchy - - - - Get the root of this hierarchy. - - - - - - Gets or sets the default instance. - - The default - - - The logger factory is used to create logger instances. - - - - - - A class to hold the value, name and display name for a level - - - - A class to hold the value, name and display name for a level - - - - - - Override Object.ToString to return sensible debug info - - string info about this object - - - - Value of the level - - - - If the value is not set (defaults to -1) the value will be looked - up for the current level with the same name. - - - - - - Name of the level - - - The name of the level - - - - The name of the level. - - - - - - Display name for the level - - - The display name of the level - - - - The display name of the level. - - - - - - A class to hold the key and data for a property set in the config file - - - - A class to hold the key and data for a property set in the config file - - - - - - Override Object.ToString to return sensible debug info - - string info about this object - - - - Property Key - - - Property Key - - - - Property Key. - - - - - - Property Value - - - Property Value - - - - Property Value. - - - - - - Used internally to accelerate hash table searches. - - - - Internal class used to improve performance of - string keyed hashtables. - - - The hashcode of the string is cached for reuse. - The string is stored as an interned value. - When comparing two objects for equality - the reference equality of the interned strings is compared. - - - Nicko Cadell - Gert Driesen - - - - Construct key with string name - - - - Initializes a new instance of the class - with the specified name. - - - Stores the hashcode of the string and interns - the string key to optimize comparisons. - - - The Compact Framework 1.0 the - method does not work. On the Compact Framework - the string keys are not interned nor are they - compared by reference. - - - The name of the logger. - - - - Returns a hash code for the current instance. - - A hash code for the current instance. - - - Returns the cached hashcode. - - - - - - Determines whether two instances - are equal. - - The to compare with the current . - - true if the specified is equal to the current ; otherwise, false. - - - - Compares the references of the interned strings. - - - - - - Provision nodes are used where no logger instance has been specified - - - - instances are used in the - when there is no specified - for that node. - - - A provision node holds a list of child loggers on behalf of - a logger that does not exist. - - - Nicko Cadell - Gert Driesen - - - - Create a new provision node with child node - - A child logger to add to this node. - - - Initializes a new instance of the class - with the specified child logger. - - - - - - The sits at the root of the logger hierarchy tree. - - - - The is a regular except - that it provides several guarantees. - - - First, it cannot be assigned a null - level. Second, since the root logger cannot have a parent, the - property always returns the value of the - level field without walking the hierarchy. - - - Nicko Cadell - Gert Driesen - - - - Construct a - - The level to assign to the root logger. - - - Initializes a new instance of the class with - the specified logging level. - - - The root logger names itself as "root". However, the root - logger cannot be retrieved by name. - - - - - - Gets the assigned level value without walking the logger hierarchy. - - The assigned level value without walking the logger hierarchy. - - - Because the root logger cannot have a parent and its level - must not be null this property just returns the - value of . - - - - - - Gets or sets the assigned for the root logger. - - - The of the root logger. - - - - Setting the level of the root logger to a null reference - may have catastrophic results. We prevent this here. - - - - - - Initializes the log4net environment using an XML DOM. - - - - Configures a using an XML DOM. - - - Nicko Cadell - Gert Driesen - - - - Construct the configurator for a hierarchy - - The hierarchy to build. - - - Initializes a new instance of the class - with the specified . - - - - - - Configure the hierarchy by parsing a DOM tree of XML elements. - - The root element to parse. - - - Configure the hierarchy by parsing a DOM tree of XML elements. - - - - - - Parse appenders by IDREF. - - The appender ref element. - The instance of the appender that the ref refers to. - - - Parse an XML element that represents an appender and return - the appender. - - - - - - Parses an appender element. - - The appender element. - The appender instance or null when parsing failed. - - - Parse an XML element that represents an appender and return - the appender instance. - - - - - - Parses a logger element. - - The logger element. - - - Parse an XML element that represents a logger. - - - - - - Parses the root logger element. - - The root element. - - - Parse an XML element that represents the root logger. - - - - - - Parses the children of a logger element. - - The category element. - The logger instance. - Flag to indicate if the logger is the root logger. - - - Parse the child elements of a <logger> element. - - - - - - Parses an object renderer. - - The renderer element. - - - Parse an XML element that represents a renderer. - - - - - - Parses a level element. - - The level element. - The logger object to set the level on. - Flag to indicate if the logger is the root logger. - - - Parse an XML element that represents a level. - - - - - - Sets a parameter on an object. - - The parameter element. - The object to set the parameter on. - - The parameter name must correspond to a writable property - on the object. The value of the parameter is a string, - therefore this function will attempt to set a string - property first. If unable to set a string property it - will inspect the property and its argument type. It will - attempt to call a static method called Parse on the - type of the property. This method will take a single - string argument and return a value that can be used to - set the property. - - - - - Test if an element has no attributes or child elements - - the element to inspect - true if the element has any attributes or child elements, false otherwise - - - - Test if a is constructible with Activator.CreateInstance. - - the type to inspect - true if the type is creatable using a default constructor, false otherwise - - - - Look for a method on the that matches the supplied - - the type that has the method - the name of the method - the method info found - - - The method must be a public instance method on the . - The method must be named or "Add" followed by . - The method must take a single parameter. - - - - - - Converts a string value to a target type. - - The type of object to convert the string to. - The string value to use as the value of the object. - - - An object of type with value or - null when the conversion could not be performed. - - - - - - Creates an object as specified in XML. - - The XML element that contains the definition of the object. - The object type to use if not explicitly specified. - The type that the returned object must be or must inherit from. - The object or null - - - Parse an XML element and create an object instance based on the configuration - data. - - - The type of the instance may be specified in the XML. If not - specified then the is used - as the type. However the type is specified it must support the - type. - - - - - - key: appenderName, value: appender. - - - - - The Hierarchy being configured. - - - - - Delegate used to handle logger repository shutdown event notifications - - The that is shutting down. - Empty event args - - - Delegate used to handle logger repository shutdown event notifications. - - - - - - Delegate used to handle logger repository configuration reset event notifications - - The that has had its configuration reset. - Empty event args - - - Delegate used to handle logger repository configuration reset event notifications. - - - - - - Delegate used to handle event notifications for logger repository configuration changes. - - The that has had its configuration changed. - Empty event arguments. - - - Delegate used to handle event notifications for logger repository configuration changes. - - - - - - Write the name of the current AppDomain to the output - - - - Write the name of the current AppDomain to the output writer - - - Nicko Cadell - - - - Write the name of the current AppDomain to the output - - the writer to write to - null, state is not set - - - Writes name of the current AppDomain to the output . - - - - - - Write the current date to the output - - - - Date pattern converter, uses a to format - the current date and time to the writer as a string. - - - The value of the determines - the formatting of the date. The following values are allowed: - - - Option value - Output - - - ISO8601 - - Uses the formatter. - Formats using the "yyyy-MM-dd HH:mm:ss,fff" pattern. - - - - DATE - - Uses the formatter. - Formats using the "dd MMM yyyy HH:mm:ss,fff" for example, "06 Nov 1994 15:49:37,459". - - - - ABSOLUTE - - Uses the formatter. - Formats using the "HH:mm:ss,fff" for example, "15:49:37,459". - - - - other - - Any other pattern string uses the formatter. - This formatter passes the pattern string to the - method. - For details on valid patterns see - DateTimeFormatInfo Class. - - - - - - The date and time is in the local time zone and is rendered in that zone. - To output the time in Universal time see . - - - Nicko Cadell - - - - The used to render the date to a string - - - - The used to render the date to a string - - - - - - Initialize the converter options - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - - - - Write the current date to the output - - that will receive the formatted result. - null, state is not set - - - Pass the current date and time to the - for it to render it to the writer. - - - The date and time passed is in the local time zone. - - - - - - Write an environment variable to the output - - - - Write an environment variable to the output writer. - The value of the determines - the name of the variable to output. - - - Nicko Cadell - - - - Write an environment variable to the output - - the writer to write to - null, state is not set - - - Writes the environment variable to the output . - The name of the environment variable to output must be set - using the - property. - - - - - - Write the current thread identity to the output - - - - Write the current thread identity to the output writer - - - Nicko Cadell - - - - Write the current thread identity to the output - - the writer to write to - null, state is not set - - - Writes the current thread identity to the output . - - - - - - Pattern converter for literal string instances in the pattern - - - - Writes the literal string value specified in the - property to - the output. - - - Nicko Cadell - - - - Set the next converter in the chain - - The next pattern converter in the chain - The next pattern converter - - - Special case the building of the pattern converter chain - for instances. Two adjacent - literals in the pattern can be represented by a single combined - pattern converter. This implementation detects when a - is added to the chain - after this converter and combines its value with this converter's - literal value. - - - - - - Write the literal to the output - - the writer to write to - null, not set - - - Override the formatting behavior to ignore the FormattingInfo - because we have a literal instead. - - - Writes the value of - to the output . - - - - - - Convert this pattern into the rendered message - - that will receive the formatted result. - null, not set - - - This method is not used. - - - - - - Writes a newline to the output - - - - Writes the system dependent line terminator to the output. - This behavior can be overridden by setting the : - - - - Option Value - Output - - - DOS - DOS or Windows line terminator "\r\n" - - - UNIX - UNIX line terminator "\n" - - - - Nicko Cadell - - - - Initialize the converter - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - - - - Write the current process ID to the output - - - - Write the current process ID to the output writer - - - Nicko Cadell - - - - Write the current process ID to the output - - the writer to write to - null, state is not set - - - Write the current process ID to the output . - - - - - - Property pattern converter - - - - This pattern converter reads the thread and global properties. - The thread properties take priority over global properties. - See for details of the - thread properties. See for - details of the global properties. - - - If the is specified then that will be used to - lookup a single property. If no is specified - then all properties will be dumped as a list of key value pairs. - - - Nicko Cadell - - - - Write the property value to the output - - that will receive the formatted result. - null, state is not set - - - Writes out the value of a named property. The property name - should be set in the - property. - - - If the is set to null - then all the properties are written as key value pairs. - - - - - - A Pattern converter that generates a string of random characters - - - - The converter generates a string of random characters. By default - the string is length 4. This can be changed by setting the - to the string value of the length required. - - - The random characters in the string are limited to uppercase letters - and numbers only. - - - The random number generator used by this class is not cryptographically secure. - - - Nicko Cadell - - - - Shared random number generator - - - - - Length of random string to generate. Default length 4. - - - - - Initialize the converter options - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - - - - Write a randoim string to the output - - the writer to write to - null, state is not set - - - Write a randoim string to the output . - - - - - - Write the current threads username to the output - - - - Write the current threads username to the output writer - - - Nicko Cadell - - - - Write the current threads username to the output - - the writer to write to - null, state is not set - - - Write the current threads username to the output . - - - - - - Write the UTC date time to the output - - - - Date pattern converter, uses a to format - the current date and time in Universal time. - - - See the for details on the date pattern syntax. - - - - Nicko Cadell - - - - Write the current date and time to the output - - that will receive the formatted result. - null, state is not set - - - Pass the current date and time to the - for it to render it to the writer. - - - The date is in Universal time when it is rendered. - - - - - - - Type converter for Boolean. - - - - Supports conversion from string to bool type. - - - - - - Nicko Cadell - Gert Driesen - - - - Can the source type be converted to the type supported by this object - - the type to convert - true if the conversion is possible - - - Returns true if the is - the type. - - - - - - Convert the source object to the type supported by this object - - the object to convert - the converted object - - - Uses the method to convert the - argument to a . - - - - The object cannot be converted to the - target type. To check for this condition use the - method. - - - - - Exception base type for conversion errors. - - - - This type extends . It - does not add any new functionality but does differentiate the - type of exception being thrown. - - - Nicko Cadell - Gert Driesen - - - - Constructor - - - - Initializes a new instance of the class. - - - - - - Constructor - - A message to include with the exception. - - - Initializes a new instance of the class - with the specified message. - - - - - - Constructor - - A message to include with the exception. - A nested exception to include. - - - Initializes a new instance of the class - with the specified message and inner exception. - - - - - - Serialization constructor - - The that holds the serialized object data about the exception being thrown. - The that contains contextual information about the source or destination. - - - Initializes a new instance of the class - with serialized data. - - - - - - Creates a new instance of the class. - - The conversion destination type. - The value to convert. - An instance of the . - - - Creates a new instance of the class. - - - - - - Creates a new instance of the class. - - The conversion destination type. - The value to convert. - A nested exception to include. - An instance of the . - - - Creates a new instance of the class. - - - - - - Register of type converters for specific types. - - - - Maintains a registry of type converters used to convert between - types. - - - Use the and - methods to register new converters. - The and methods - lookup appropriate converters to use. - - - - - Nicko Cadell - Gert Driesen - - - - Private constructor - - - Initializes a new instance of the class. - - - - - Static constructor. - - - - This constructor defines the intrinsic type converters. - - - - - - Adds a converter for a specific type. - - The type being converted to. - The type converter to use to convert to the destination type. - - - Adds a converter instance for a specific type. - - - - - - Adds a converter for a specific type. - - The type being converted to. - The type of the type converter to use to convert to the destination type. - - - Adds a converter for a specific type. - - - - - - Gets the type converter to use to convert values to the destination type. - - The type being converted from. - The type being converted to. - - The type converter instance to use for type conversions or null - if no type converter is found. - - - - Gets the type converter to use to convert values to the destination type. - - - - - - Gets the type converter to use to convert values to the destination type. - - The type being converted to. - - The type converter instance to use for type conversions or null - if no type converter is found. - - - - Gets the type converter to use to convert values to the destination type. - - - - - - Lookups the type converter to use as specified by the attributes on the - destination type. - - The type being converted to. - - The type converter instance to use for type conversions or null - if no type converter is found. - - - - - Creates the instance of the type converter. - - The type of the type converter. - - The type converter instance to use for type conversions or null - if no type converter is found. - - - - The type specified for the type converter must implement - the or interfaces - and must have a public default (no argument) constructor. - - - - - - Mapping from to type converter. - - - - - Supports conversion from string to type. - - - - Supports conversion from string to type. - - - - - - Nicko Cadell - Gert Driesen - - - - Can the source type be converted to the type supported by this object - - the type to convert - true if the conversion is possible - - - Returns true if the is - the type. - - - - - - Overrides the ConvertFrom method of IConvertFrom. - - the object to convert to an encoding - the encoding - - - Uses the method to - convert the argument to an . - - - - The object cannot be converted to the - target type. To check for this condition use the - method. - - - - - Interface supported by type converters - - - - This interface supports conversion from a single type to arbitrary types. - See . - - - Nicko Cadell - - - - Returns whether this converter can convert the object to the specified type - - A Type that represents the type you want to convert to - true if the conversion is possible - - - Test if the type supported by this converter can be converted to the - . - - - - - - Converts the given value object to the specified type, using the arguments - - the object to convert - The Type to convert the value parameter to - the converted object - - - Converts the (which must be of the type supported - by this converter) to the specified.. - - - - - - Supports conversion from string to type. - - - - Supports conversion from string to type. - - - - - Nicko Cadell - - - - Can the source type be converted to the type supported by this object - - the type to convert - true if the conversion is possible - - - Returns true if the is - the type. - - - - - - Overrides the ConvertFrom method of IConvertFrom. - - the object to convert to an IPAddress - the IPAddress - - - Uses the method to convert the - argument to an . - If that fails then the string is resolved as a DNS hostname. - - - - The object cannot be converted to the - target type. To check for this condition use the - method. - - - - - Valid characters in an IPv4 or IPv6 address string. (Does not support subnets) - - - - - Supports conversion from string to type. - - - - Supports conversion from string to type. - - - The string is used as the - of the . - - - - - - Nicko Cadell - - - - Can the source type be converted to the type supported by this object - - the type to convert - true if the conversion is possible - - - Returns true if the is - the type. - - - - - - Overrides the ConvertFrom method of IConvertFrom. - - the object to convert to a PatternLayout - the PatternLayout - - - Creates and returns a new using - the as the - . - - - - The object cannot be converted to the - target type. To check for this condition use the - method. - - - - - Convert between string and - - - - Supports conversion from string to type, - and from a type to a string. - - - The string is used as the - of the . - - - - - - Nicko Cadell - - - - Can the target type be converted to the type supported by this object - - A that represents the type you want to convert to - true if the conversion is possible - - - Returns true if the is - assignable from a type. - - - - - - Converts the given value object to the specified type, using the arguments - - the object to convert - The Type to convert the value parameter to - the converted object - - - Uses the method to convert the - argument to a . - - - - The object cannot be converted to the - . To check for this condition use the - method. - - - - - Can the source type be converted to the type supported by this object - - the type to convert - true if the conversion is possible - - - Returns true if the is - the type. - - - - - - Overrides the ConvertFrom method of IConvertFrom. - - the object to convert to a PatternString - the PatternString - - - Creates and returns a new using - the as the - . - - - - The object cannot be converted to the - target type. To check for this condition use the - method. - - - - - Supports conversion from string to type. - - - - Supports conversion from string to type. - - - - - - Nicko Cadell - - - - Can the source type be converted to the type supported by this object - - the type to convert - true if the conversion is possible - - - Returns true if the is - the type. - - - - - - Overrides the ConvertFrom method of IConvertFrom. - - the object to convert to a Type - the Type - - - Uses the method to convert the - argument to a . - Additional effort is made to locate partially specified types - by searching the loaded assemblies. - - - - The object cannot be converted to the - target type. To check for this condition use the - method. - - - - - Attribute used to associate a type converter - - - - Class and Interface level attribute that specifies a type converter - to use with the associated type. - - - To associate a type converter with a target type apply a - TypeConverterAttribute to the target type. Specify the - type of the type converter on the attribute. - - - Nicko Cadell - Gert Driesen - - - - The string type name of the type converter - - - - - Default constructor - - - - Default constructor - - - - - - Create a new type converter attribute for the specified type name - - The string type name of the type converter - - - The type specified must implement the - or the interfaces. - - - - - - Create a new type converter attribute for the specified type - - The type of the type converter - - - The type specified must implement the - or the interfaces. - - - - - - The string type name of the type converter - - - The string type name of the type converter - - - - The type specified must implement the - or the interfaces. - - - - - - A straightforward implementation of the interface. - - - - This is the default implementation of the - interface. Implementors of the interface - should aggregate an instance of this type. - - - Nicko Cadell - Gert Driesen - - - - Constructor - - - - Initializes a new instance of the class. - - - - - - Append on on all attached appenders. - - The event being logged. - The number of appenders called. - - - Calls the method on all - attached appenders. - - - - - - Append on on all attached appenders. - - The array of events being logged. - The number of appenders called. - - - Calls the method on all - attached appenders. - - - - - - Calls the DoAppende method on the with - the objects supplied. - - The appender - The events - - - If the supports the - interface then the will be passed - through using that interface. Otherwise the - objects in the array will be passed one at a time. - - - - - - Attaches an appender. - - The appender to add. - - - If the appender is already in the list it won't be added again. - - - - - - Gets an attached appender with the specified name. - - The name of the appender to get. - - The appender with the name specified, or null if no appender with the - specified name is found. - - - - Lookup an attached appender by name. - - - - - - Removes all attached appenders. - - - - Removes and closes all attached appenders - - - - - - Removes the specified appender from the list of attached appenders. - - The appender to remove. - The appender removed from the list - - - The appender removed is not closed. - If you are discarding the appender you must call - on the appender removed. - - - - - - Removes the appender with the specified name from the list of appenders. - - The name of the appender to remove. - The appender removed from the list - - - The appender removed is not closed. - If you are discarding the appender you must call - on the appender removed. - - - - - - List of appenders - - - - - Array of appenders, used to cache the m_appenderList - - - - - Gets all attached appenders. - - - A collection of attached appenders, or null if there - are no attached appenders. - - - - The read only collection of all currently attached appenders. - - - - - - This class aggregates several PropertiesDictionary collections together. - - - - Provides a dictionary style lookup over an ordered list of - collections. - - - Nicko Cadell - - - - Constructor - - - - Initializes a new instance of the class. - - - - - - Add a Properties Dictionary to this composite collection - - the properties to add - - - Properties dictionaries added first take precedence over dictionaries added - later. - - - - - - Flatten this composite collection into a single properties dictionary - - the flattened dictionary - - - Reduces the collection of ordered dictionaries to a single dictionary - containing the resultant values for the keys. - - - - - - Gets the value of a property - - - The value for the property with the specified key - - - - Looks up the value for the specified. - The collections are searched - in the order in which they were added to this collection. The value - returned is the value held by the first collection that contains - the specified key. - - - If none of the collections contain the specified key then - null is returned. - - - - - - Base class for Context Properties implementations - - - - This class defines a basic property get set accessor - - - Nicko Cadell - - - - Gets or sets the value of a property - - - The value for the property with the specified key - - - - Gets or sets the value of a property - - - - - - Subclass of that maintains a count of - the number of bytes written. - - - - This writer counts the number of bytes written. - - - Nicko Cadell - Gert Driesen - - - - that does not leak exceptions - - - - does not throw exceptions when things go wrong. - Instead, it delegates error handling to its . - - - Nicko Cadell - Gert Driesen - - - - Adapter that extends and forwards all - messages to an instance of . - - - - Adapter that extends and forwards all - messages to an instance of . - - - Nicko Cadell - - - - The writer to forward messages to - - - - - Create an instance of that forwards all - messages to a . - - The to forward to - - - Create an instance of that forwards all - messages to a . - - - - - - Closes the writer and releases any system resources associated with the writer - - - - - - - - - Dispose this writer - - flag indicating if we are being disposed - - - Dispose this writer - - - - - - Flushes any buffered output - - - - Clears all buffers for the writer and causes any buffered data to be written - to the underlying device - - - - - - Writes a character to the wrapped TextWriter - - the value to write to the TextWriter - - - Writes a character to the wrapped TextWriter - - - - - - Writes a character buffer to the wrapped TextWriter - - the data buffer - the start index - the number of characters to write - - - Writes a character buffer to the wrapped TextWriter - - - - - - Writes a string to the wrapped TextWriter - - the value to write to the TextWriter - - - Writes a string to the wrapped TextWriter - - - - - - Gets or sets the underlying . - - - The underlying . - - - - Gets or sets the underlying . - - - - - - The Encoding in which the output is written - - - The - - - - The Encoding in which the output is written - - - - - - Gets an object that controls formatting - - - The format provider - - - - Gets an object that controls formatting - - - - - - Gets or sets the line terminator string used by the TextWriter - - - The line terminator to use - - - - Gets or sets the line terminator string used by the TextWriter - - - - - - Constructor - - the writer to actually write to - the error handler to report error to - - - Create a new QuietTextWriter using a writer and error handler - - - - - - Writes a character to the underlying writer - - the char to write - - - Writes a character to the underlying writer - - - - - - Writes a buffer to the underlying writer - - the buffer to write - the start index to write from - the number of characters to write - - - Writes a buffer to the underlying writer - - - - - - Writes a string to the output. - - The string data to write to the output. - - - Writes a string to the output. - - - - - - Closes the underlying output writer. - - - - Closes the underlying output writer. - - - - - - The error handler instance to pass all errors to - - - - - Flag to indicate if this writer is closed - - - - - Gets or sets the error handler that all errors are passed to. - - - The error handler that all errors are passed to. - - - - Gets or sets the error handler that all errors are passed to. - - - - - - Gets a value indicating whether this writer is closed. - - - true if this writer is closed, otherwise false. - - - - Gets a value indicating whether this writer is closed. - - - - - - Constructor - - The to actually write to. - The to report errors to. - - - Creates a new instance of the class - with the specified and . - - - - - - Writes a character to the underlying writer and counts the number of bytes written. - - the char to write - - - Overrides implementation of . Counts - the number of bytes written. - - - - - - Writes a buffer to the underlying writer and counts the number of bytes written. - - the buffer to write - the start index to write from - the number of characters to write - - - Overrides implementation of . Counts - the number of bytes written. - - - - - - Writes a string to the output and counts the number of bytes written. - - The string data to write to the output. - - - Overrides implementation of . Counts - the number of bytes written. - - - - - - Total number of bytes written. - - - - - Gets or sets the total number of bytes written. - - - The total number of bytes written. - - - - Gets or sets the total number of bytes written. - - - - - - A fixed size rolling buffer of logging events. - - - - An array backed fixed size leaky bucket. - - - Nicko Cadell - Gert Driesen - - - - Constructor - - The maximum number of logging events in the buffer. - - - Initializes a new instance of the class with - the specified maximum number of buffered logging events. - - - The argument is not a positive integer. - - - - Appends a to the buffer. - - The event to append to the buffer. - The event discarded from the buffer, if the buffer is full, otherwise null. - - - Append an event to the buffer. If the buffer still contains free space then - null is returned. If the buffer is full then an event will be dropped - to make space for the new event, the event dropped is returned. - - - - - - Get and remove the oldest event in the buffer. - - The oldest logging event in the buffer - - - Gets the oldest (first) logging event in the buffer and removes it - from the buffer. - - - - - - Pops all the logging events from the buffer into an array. - - An array of all the logging events in the buffer. - - - Get all the events in the buffer and clear the buffer. - - - - - - Clear the buffer - - - - Clear the buffer of all events. The events in the buffer are lost. - - - - - - Gets the th oldest event currently in the buffer. - - The th oldest event currently in the buffer. - - - If is outside the range 0 to the number of events - currently in the buffer, then null is returned. - - - - - - Gets the maximum size of the buffer. - - The maximum size of the buffer. - - - Gets the maximum size of the buffer - - - - - - Gets the number of logging events in the buffer. - - The number of logging events in the buffer. - - - This number is guaranteed to be in the range 0 to - (inclusive). - - - - - - An always empty . - - - - A singleton implementation of the - interface that always represents an empty collection. - - - Nicko Cadell - Gert Driesen - - - - Initializes a new instance of the class. - - - - Uses a private access modifier to enforce the singleton pattern. - - - - - - Copies the elements of the to an - , starting at a particular Array index. - - The one-dimensional - that is the destination of the elements copied from - . The Array must have zero-based - indexing. - The zero-based index in array at which - copying begins. - - - As the collection is empty no values are copied into the array. - - - - - - Returns an enumerator that can iterate through a collection. - - - An that can be used to - iterate through the collection. - - - - As the collection is empty a is returned. - - - - - - The singleton instance of the empty collection. - - - - - Gets the singleton instance of the empty collection. - - The singleton instance of the empty collection. - - - Gets the singleton instance of the empty collection. - - - - - - Gets a value indicating if access to the is synchronized (thread-safe). - - - true if access to the is synchronized (thread-safe); otherwise, false. - - - - For the this property is always true. - - - - - - Gets the number of elements contained in the . - - - The number of elements contained in the . - - - - As the collection is empty the is always 0. - - - - - - Gets an object that can be used to synchronize access to the . - - - An object that can be used to synchronize access to the . - - - - As the collection is empty and thread safe and synchronized this instance is also - the object. - - - - - - An always empty . - - - - A singleton implementation of the - interface that always represents an empty collection. - - - Nicko Cadell - Gert Driesen - - - - Initializes a new instance of the class. - - - - Uses a private access modifier to enforce the singleton pattern. - - - - - - Copies the elements of the to an - , starting at a particular Array index. - - The one-dimensional - that is the destination of the elements copied from - . The Array must have zero-based - indexing. - The zero-based index in array at which - copying begins. - - - As the collection is empty no values are copied into the array. - - - - - - Returns an enumerator that can iterate through a collection. - - - An that can be used to - iterate through the collection. - - - - As the collection is empty a is returned. - - - - - - Adds an element with the provided key and value to the - . - - The to use as the key of the element to add. - The to use as the value of the element to add. - - - As the collection is empty no new values can be added. A - is thrown if this method is called. - - - This dictionary is always empty and cannot be modified. - - - - Removes all elements from the . - - - - As the collection is empty no values can be removed. A - is thrown if this method is called. - - - This dictionary is always empty and cannot be modified. - - - - Determines whether the contains an element - with the specified key. - - The key to locate in the . - false - - - As the collection is empty the method always returns false. - - - - - - Returns an enumerator that can iterate through a collection. - - - An that can be used to - iterate through the collection. - - - - As the collection is empty a is returned. - - - - - - Removes the element with the specified key from the . - - The key of the element to remove. - - - As the collection is empty no values can be removed. A - is thrown if this method is called. - - - This dictionary is always empty and cannot be modified. - - - - The singleton instance of the empty dictionary. - - - - - Gets the singleton instance of the . - - The singleton instance of the . - - - Gets the singleton instance of the . - - - - - - Gets a value indicating if access to the is synchronized (thread-safe). - - - true if access to the is synchronized (thread-safe); otherwise, false. - - - - For the this property is always true. - - - - - - Gets the number of elements contained in the - - - The number of elements contained in the . - - - - As the collection is empty the is always 0. - - - - - - Gets an object that can be used to synchronize access to the . - - - An object that can be used to synchronize access to the . - - - - As the collection is empty and thread safe and synchronized this instance is also - the object. - - - - - - Gets a value indicating whether the has a fixed size. - - true - - - As the collection is empty always returns true. - - - - - - Gets a value indicating whether the is read-only. - - true - - - As the collection is empty always returns true. - - - - - - Gets an containing the keys of the . - - An containing the keys of the . - - - As the collection is empty a is returned. - - - - - - Gets an containing the values of the . - - An containing the values of the . - - - As the collection is empty a is returned. - - - - - - Gets or sets the element with the specified key. - - The key of the element to get or set. - null - - - As the collection is empty no values can be looked up or stored. - If the index getter is called then null is returned. - A is thrown if the setter is called. - - - This dictionary is always empty and cannot be modified. - - - - Contain the information obtained when parsing formatting modifiers - in conversion modifiers. - - - - Holds the formatting information extracted from the format string by - the . This is used by the - objects when rendering the output. - - - Nicko Cadell - Gert Driesen - - - - Defaut Constructor - - - - Initializes a new instance of the class. - - - - - - Constructor - - - - Initializes a new instance of the class - with the specified parameters. - - - - - - Gets or sets the minimum value. - - - The minimum value. - - - - Gets or sets the minimum value. - - - - - - Gets or sets the maximum value. - - - The maximum value. - - - - Gets or sets the maximum value. - - - - - - Gets or sets a flag indicating whether left align is enabled - or not. - - - A flag indicating whether left align is enabled or not. - - - - Gets or sets a flag indicating whether left align is enabled or not. - - - - - - Implementation of Properties collection for the - - - - This class implements a properties collection that is thread safe and supports both - storing properties and capturing a read only copy of the current propertied. - - - This class is optimized to the scenario where the properties are read frequently - and are modified infrequently. - - - Nicko Cadell - - - - The read only copy of the properties. - - - - This variable is declared volatile to prevent the compiler and JIT from - reordering reads and writes of this thread performed on different threads. - - - - - - Lock object used to synchronize updates within this instance - - - - - Constructor - - - - Initializes a new instance of the class. - - - - - - Remove a property from the global context - - the key for the entry to remove - - - Removing an entry from the global context properties is relatively expensive compared - with reading a value. - - - - - - Clear the global context properties - - - - - Get a readonly immutable copy of the properties - - the current global context properties - - - This implementation is fast because the GlobalContextProperties class - stores a readonly copy of the properties. - - - - - - Gets or sets the value of a property - - - The value for the property with the specified key - - - - Reading the value for a key is faster than setting the value. - When the value is written a new read only copy of - the properties is created. - - - - - - Manages a mapping from levels to - - - - Manages an ordered mapping from instances - to subclasses. - - - Nicko Cadell - - - - Default constructor - - - - Initialise a new instance of . - - - - - - Add a to this mapping - - the entry to add - - - If a has previously been added - for the same then that entry will be - overwritten. - - - - - - Lookup the mapping for the specified level - - the level to lookup - the for the level or null if no mapping found - - - Lookup the value for the specified level. Finds the nearest - mapping value for the level that is equal to or less than the - specified. - - - If no mapping could be found then null is returned. - - - - - - Initialize options - - - - Caches the sorted list of in an array - - - - - - Implementation of Properties collection for the - - - - Class implements a collection of properties that is specific to each thread. - The class is not synchronized as each thread has its own . - - - Nicko Cadell - - - - Constructor - - - - Initializes a new instance of the class. - - - - - - Remove a property - - the key for the entry to remove - - - Remove the value for the specified from the context. - - - - - - Clear all the context properties - - - - Clear all the context properties - - - - - - Get the PropertiesDictionary stored in the LocalDataStoreSlot for this thread. - - create the dictionary if it does not exist, otherwise return null if is does not exist - the properties for this thread - - - The collection returned is only to be used on the calling thread. If the - caller needs to share the collection between different threads then the - caller must clone the collection before doings so. - - - - - - Gets or sets the value of a property - - - The value for the property with the specified key - - - - Get or set the property value for the specified. - - - - - - Outputs log statements from within the log4net assembly. - - - - Log4net components cannot make log4net logging calls. However, it is - sometimes useful for the user to learn about what log4net is - doing. - - - All log4net internal debug calls go to the standard output stream - whereas internal error messages are sent to the standard error output - stream. - - - Nicko Cadell - Gert Driesen - - - - Initializes a new instance of the class. - - - - Uses a private access modifier to prevent instantiation of this class. - - - - - - Static constructor that initializes logging by reading - settings from the application configuration file. - - - - The log4net.Internal.Debug application setting - controls internal debugging. This setting should be set - to true to enable debugging. - - - The log4net.Internal.Quiet application setting - suppresses all internal logging including error messages. - This setting should be set to true to enable message - suppression. - - - - - - Writes log4net internal debug messages to the - standard output stream. - - The message to log. - - - All internal debug messages are prepended with - the string "log4net: ". - - - - - - Writes log4net internal debug messages to the - standard output stream. - - The message to log. - An exception to log. - - - All internal debug messages are prepended with - the string "log4net: ". - - - - - - Writes log4net internal warning messages to the - standard error stream. - - The message to log. - - - All internal warning messages are prepended with - the string "log4net:WARN ". - - - - - - Writes log4net internal warning messages to the - standard error stream. - - The message to log. - An exception to log. - - - All internal warning messages are prepended with - the string "log4net:WARN ". - - - - - - Writes log4net internal error messages to the - standard error stream. - - The message to log. - - - All internal error messages are prepended with - the string "log4net:ERROR ". - - - - - - Writes log4net internal error messages to the - standard error stream. - - The message to log. - An exception to log. - - - All internal debug messages are prepended with - the string "log4net:ERROR ". - - - - - - Writes output to the standard output stream. - - The message to log. - - - Writes to both Console.Out and System.Diagnostics.Trace. - Note that the System.Diagnostics.Trace is not supported - on the Compact Framework. - - - If the AppDomain is not configured with a config file then - the call to System.Diagnostics.Trace may fail. This is only - an issue if you are programmatically creating your own AppDomains. - - - - - - Writes output to the standard error stream. - - The message to log. - - - Writes to both Console.Error and System.Diagnostics.Trace. - Note that the System.Diagnostics.Trace is not supported - on the Compact Framework. - - - If the AppDomain is not configured with a config file then - the call to System.Diagnostics.Trace may fail. This is only - an issue if you are programmatically creating your own AppDomains. - - - - - - Default debug level - - - - - In quietMode not even errors generate any output. - - - - - Gets or sets a value indicating whether log4net internal logging - is enabled or disabled. - - - true if log4net internal logging is enabled, otherwise - false. - - - - When set to true, internal debug level logging will be - displayed. - - - This value can be set by setting the application setting - log4net.Internal.Debug in the application configuration - file. - - - The default value is false, i.e. debugging is - disabled. - - - - - The following example enables internal debugging using the - application configuration file : - - - - - - - - - - - - - Gets or sets a value indicating whether log4net should generate no output - from internal logging, not even for errors. - - - true if log4net should generate no output at all from internal - logging, otherwise false. - - - - When set to true will cause internal logging at all levels to be - suppressed. This means that no warning or error reports will be logged. - This option overrides the setting and - disables all debug also. - - This value can be set by setting the application setting - log4net.Internal.Quiet in the application configuration file. - - - The default value is false, i.e. internal logging is not - disabled. - - - - The following example disables internal logging using the - application configuration file : - - - - - - - - - - - - Test if LogLog.Debug is enabled for output. - - - true if Debug is enabled - - - - Test if LogLog.Debug is enabled for output. - - - - - - Test if LogLog.Warn is enabled for output. - - - true if Warn is enabled - - - - Test if LogLog.Warn is enabled for output. - - - - - - Test if LogLog.Error is enabled for output. - - - true if Error is enabled - - - - Test if LogLog.Error is enabled for output. - - - - - - Represents a native error code and message. - - - - Represents a Win32 platform native error. - - - Nicko Cadell - Gert Driesen - - - - Create an instance of the class with the specified - error number and message. - - The number of the native error. - The message of the native error. - - - Create an instance of the class with the specified - error number and message. - - - - - - Create a new instance of the class for the last Windows error. - - - An instance of the class for the last windows error. - - - - The message for the error number is lookup up using the - native Win32 FormatMessage function. - - - - - - Create a new instance of the class. - - the error number for the native error - - An instance of the class for the specified - error number. - - - - The message for the specified error number is lookup up using the - native Win32 FormatMessage function. - - - - - - Retrieves the message corresponding with a Win32 message identifier. - - Message identifier for the requested message. - - The message corresponding with the specified message identifier. - - - - The message will be searched for in system message-table resource(s) - using the native FormatMessage function. - - - - - - Return error information string - - error information string - - - Return error information string - - - - - - Formats a message string. - - Formatting options, and how to interpret the parameter. - Location of the message definition. - Message identifier for the requested message. - Language identifier for the requested message. - If includes FORMAT_MESSAGE_ALLOCATE_BUFFER, the function allocates a buffer using the LocalAlloc function, and places the pointer to the buffer at the address specified in . - If the FORMAT_MESSAGE_ALLOCATE_BUFFER flag is not set, this parameter specifies the maximum number of TCHARs that can be stored in the output buffer. If FORMAT_MESSAGE_ALLOCATE_BUFFER is set, this parameter specifies the minimum number of TCHARs to allocate for an output buffer. - Pointer to an array of values that are used as insert values in the formatted message. - - - The function requires a message definition as input. The message definition can come from a - buffer passed into the function. It can come from a message table resource in an - already-loaded module. Or the caller can ask the function to search the system's message - table resource(s) for the message definition. The function finds the message definition - in a message table resource based on a message identifier and a language identifier. - The function copies the formatted message text to an output buffer, processing any embedded - insert sequences if requested. - - - To prevent the usage of unsafe code, this stub does not support inserting values in the formatted message. - - - - - If the function succeeds, the return value is the number of TCHARs stored in the output - buffer, excluding the terminating null character. - - - If the function fails, the return value is zero. To get extended error information, - call . - - - - - - Gets the number of the native error. - - - The number of the native error. - - - - Gets the number of the native error. - - - - - - Gets the message of the native error. - - - The message of the native error. - - - - - Gets the message of the native error. - - - - - An always empty . - - - - A singleton implementation of the over a collection - that is empty and not modifiable. - - - Nicko Cadell - Gert Driesen - - - - Initializes a new instance of the class. - - - - Uses a private access modifier to enforce the singleton pattern. - - - - - - Test if the enumerator can advance, if so advance. - - false as the cannot advance. - - - As the enumerator is over an empty collection its - value cannot be moved over a valid position, therefore - will always return false. - - - - - - Resets the enumerator back to the start. - - - - As the enumerator is over an empty collection does nothing. - - - - - - The singleton instance of the . - - - - - Gets the singleton instance of the . - - The singleton instance of the . - - - Gets the singleton instance of the . - - - - - - Gets the current object from the enumerator. - - - Throws an because the - never has a current value. - - - - As the enumerator is over an empty collection its - value cannot be moved over a valid position, therefore - will throw an . - - - The collection is empty and - cannot be positioned over a valid location. - - - - Gets the current key from the enumerator. - - - Throws an exception because the - never has a current value. - - - - As the enumerator is over an empty collection its - value cannot be moved over a valid position, therefore - will throw an . - - - The collection is empty and - cannot be positioned over a valid location. - - - - Gets the current value from the enumerator. - - The current value from the enumerator. - - Throws an because the - never has a current value. - - - - As the enumerator is over an empty collection its - value cannot be moved over a valid position, therefore - will throw an . - - - The collection is empty and - cannot be positioned over a valid location. - - - - Gets the current entry from the enumerator. - - - Throws an because the - never has a current entry. - - - - As the enumerator is over an empty collection its - value cannot be moved over a valid position, therefore - will throw an . - - - The collection is empty and - cannot be positioned over a valid location. - - - - An always empty . - - - - A singleton implementation of the over a collection - that is empty and not modifiable. - - - Nicko Cadell - Gert Driesen - - - - Initializes a new instance of the class. - - - - Uses a private access modifier to enforce the singleton pattern. - - - - - - Test if the enumerator can advance, if so advance - - false as the cannot advance. - - - As the enumerator is over an empty collection its - value cannot be moved over a valid position, therefore - will always return false. - - - - - - Resets the enumerator back to the start. - - - - As the enumerator is over an empty collection does nothing. - - - - - - The singleton instance of the . - - - - - Get the singleton instance of the . - - The singleton instance of the . - - - Gets the singleton instance of the . - - - - - - Gets the current object from the enumerator. - - - Throws an because the - never has a current value. - - - - As the enumerator is over an empty collection its - value cannot be moved over a valid position, therefore - will throw an . - - - The collection is empty and - cannot be positioned over a valid location. - - - - A SecurityContext used when a SecurityContext is not required - - - - The is a no-op implementation of the - base class. It is used where a - is required but one has not been provided. - - - Nicko Cadell - - - - Singleton instance of - - - - Singleton instance of - - - - - - Private constructor - - - - Private constructor for singleton pattern. - - - - - - Impersonate this SecurityContext - - State supplied by the caller - null - - - No impersonation is done and null is always returned. - - - - - - Implements log4net's default error handling policy which consists - of emitting a message for the first error in an appender and - ignoring all subsequent errors. - - - - The error message is printed on the standard error output stream. - - - This policy aims at protecting an otherwise working application - from being flooded with error messages when logging fails. - - - Nicko Cadell - Gert Driesen - - - - Default Constructor - - - - Initializes a new instance of the class. - - - - - - Constructor - - The prefix to use for each message. - - - Initializes a new instance of the class - with the specified prefix. - - - - - - Log an Error - - The error message. - The exception. - The internal error code. - - - Prints the message and the stack trace of the exception on the standard - error output stream. - - - - - - Log an Error - - The error message. - The exception. - - - Prints the message and the stack trace of the exception on the standard - error output stream. - - - - - - Log an error - - The error message. - - - Print a the error message passed as parameter on the standard - error output stream. - - - - - - Flag to indicate if it is the first error - - - - - String to prefix each message with - - - - - Is error logging enabled - - - - Is error logging enabled. Logging is only enabled for the - first error delivered to the . - - - - - - A convenience class to convert property values to specific types. - - - - Utility functions for converting types and parsing values. - - - Nicko Cadell - Gert Driesen - - - - Initializes a new instance of the class. - - - - Uses a private access modifier to prevent instantiation of this class. - - - - - - Converts a string to a value. - - String to convert. - The default value. - The value of . - - - If is "true", then true is returned. - If is "false", then false is returned. - Otherwise, is returned. - - - - - - Parses a file size into a number. - - String to parse. - The default value. - The value of . - - - Parses a file size of the form: number[KB|MB|GB] into a - long value. It is scaled with the appropriate multiplier. - - - is returned when - cannot be converted to a value. - - - - - - Converts a string to an object. - - The target type to convert to. - The string to convert to an object. - - The object converted from a string or null when the - conversion failed. - - - - Converts a string to an object. Uses the converter registry to try - to convert the string value into the specified target type. - - - - - - Checks if there is an appropriate type conversion from the source type to the target type. - - The type to convert from. - The type to convert to. - true if there is a conversion from the source type to the target type. - - Checks if there is an appropriate type conversion from the source type to the target type. - - - - - - - Converts an object to the target type. - - The object to convert to the target type. - The type to convert to. - The converted object. - - - Converts an object to the target type. - - - - - - Instantiates an object given a class name. - - The fully qualified class name of the object to instantiate. - The class to which the new object should belong. - The object to return in case of non-fulfillment. - - An instance of the or - if the object could not be instantiated. - - - - Checks that the is a subclass of - . If that test fails or the object could - not be instantiated, then is returned. - - - - - - Performs variable substitution in string from the - values of keys found in . - - The string on which variable substitution is performed. - The dictionary to use to lookup variables. - The result of the substitutions. - - - The variable substitution delimiters are ${ and }. - - - For example, if props contains key=value, then the call - - - - string s = OptionConverter.SubstituteVariables("Value of key is ${key}."); - - - - will set the variable s to "Value of key is value.". - - - If no value could be found for the specified key, then substitution - defaults to an empty string. - - - For example, if system properties contains no value for the key - "nonExistentKey", then the call - - - - string s = OptionConverter.SubstituteVariables("Value of nonExistentKey is [${nonExistentKey}]"); - - - - will set s to "Value of nonExistentKey is []". - - - An Exception is thrown if contains a start - delimiter "${" which is not balanced by a stop delimiter "}". - - - - - - Converts the string representation of the name or numeric value of one or - more enumerated constants to an equivalent enumerated object. - - The type to convert to. - The enum string value. - If true, ignore case; otherwise, regard case. - An object of type whose value is represented by . - - - - Most of the work of the class - is delegated to the PatternParser class. - - - - The PatternParser processes a pattern string and - returns a chain of objects. - - - Nicko Cadell - Gert Driesen - - - - Constructor - - The pattern to parse. - - - Initializes a new instance of the class - with the specified pattern string. - - - - - - Parses the pattern into a chain of pattern converters. - - The head of a chain of pattern converters. - - - Parses the pattern into a chain of pattern converters. - - - - - - Build the unified cache of converters from the static and instance maps - - the list of all the converter names - - - Build the unified cache of converters from the static and instance maps - - - - - - Internal method to parse the specified pattern to find specified matches - - the pattern to parse - the converter names to match in the pattern - - - The matches param must be sorted such that longer strings come before shorter ones. - - - - - - Process a parsed literal - - the literal text - - - - Process a parsed converter pattern - - the name of the converter - the optional option for the converter - the formatting info for the converter - - - - Resets the internal state of the parser and adds the specified pattern converter - to the chain. - - The pattern converter to add. - - - - The first pattern converter in the chain - - - - - the last pattern converter in the chain - - - - - The pattern - - - - - Internal map of converter identifiers to converter types - - - - This map overrides the static s_globalRulesRegistry map. - - - - - - Get the converter registry used by this parser - - - The converter registry used by this parser - - - - Get the converter registry used by this parser - - - - - - Sort strings by length - - - - that orders strings by string length. - The longest strings are placed first - - - - - - This class implements a patterned string. - - - - This string has embedded patterns that are resolved and expanded - when the string is formatted. - - - This class functions similarly to the - in that it accepts a pattern and renders it to a string. Unlike the - however the PatternString - does not render the properties of a specific but - of the process in general. - - - The recognized conversion pattern names are: - - - - Conversion Pattern Name - Effect - - - appdomain - - - Used to output the friendly name of the current AppDomain. - - - - - date - - - Used to output the date of the logging event in the local time zone. - To output the date in universal time use the %utcdate pattern. - The date conversion - specifier may be followed by a date format specifier enclosed - between braces. For example, %date{HH:mm:ss,fff} or - %date{dd MMM yyyy HH:mm:ss,fff}. If no date format specifier is - given then ISO8601 format is - assumed (). - - - The date format specifier admits the same syntax as the - time pattern string of the . - - - For better results it is recommended to use the log4net date - formatters. These can be specified using one of the strings - "ABSOLUTE", "DATE" and "ISO8601" for specifying - , - and respectively - . For example, - %date{ISO8601} or %date{ABSOLUTE}. - - - These dedicated date formatters perform significantly - better than . - - - - - env - - - Used to output the a specific environment variable. The key to - lookup must be specified within braces and directly following the - pattern specifier, e.g. %env{COMPUTERNAME} would include the value - of the COMPUTERNAME environment variable. - - - The env pattern is not supported on the .NET Compact Framework. - - - - - identity - - - Used to output the user name for the currently active user - (Principal.Identity.Name). - - - - - newline - - - Outputs the platform dependent line separator character or - characters. - - - This conversion pattern name offers the same performance as using - non-portable line separator strings such as "\n", or "\r\n". - Thus, it is the preferred way of specifying a line separator. - - - - - processid - - - Used to output the system process ID for the current process. - - - - - property - - - Used to output a specific context property. The key to - lookup must be specified within braces and directly following the - pattern specifier, e.g. %property{user} would include the value - from the property that is keyed by the string 'user'. Each property value - that is to be included in the log must be specified separately. - Properties are stored in logging contexts. By default - the log4net:HostName property is set to the name of machine on - which the event was originally logged. - - - If no key is specified, e.g. %property then all the keys and their - values are printed in a comma separated list. - - - The properties of an event are combined from a number of different - contexts. These are listed below in the order in which they are searched. - - - - the thread properties - - The that are set on the current - thread. These properties are shared by all events logged on this thread. - - - - the global properties - - The that are set globally. These - properties are shared by all the threads in the AppDomain. - - - - - - - random - - - Used to output a random string of characters. The string is made up of - uppercase letters and numbers. By default the string is 4 characters long. - The length of the string can be specified within braces directly following the - pattern specifier, e.g. %random{8} would output an 8 character string. - - - - - username - - - Used to output the WindowsIdentity for the currently - active user. - - - - - utcdate - - - Used to output the date of the logging event in universal time. - The date conversion - specifier may be followed by a date format specifier enclosed - between braces. For example, %utcdate{HH:mm:ss,fff} or - %utcdate{dd MMM yyyy HH:mm:ss,fff}. If no date format specifier is - given then ISO8601 format is - assumed (). - - - The date format specifier admits the same syntax as the - time pattern string of the . - - - For better results it is recommended to use the log4net date - formatters. These can be specified using one of the strings - "ABSOLUTE", "DATE" and "ISO8601" for specifying - , - and respectively - . For example, - %utcdate{ISO8601} or %utcdate{ABSOLUTE}. - - - These dedicated date formatters perform significantly - better than . - - - - - % - - - The sequence %% outputs a single percent sign. - - - - - - Additional pattern converters may be registered with a specific - instance using or - . - - - See the for details on the - format modifiers supported by the patterns. - - - Nicko Cadell - - - - Internal map of converter identifiers to converter types. - - - - - the pattern - - - - - the head of the pattern converter chain - - - - - patterns defined on this PatternString only - - - - - Initialize the global registry - - - - - Default constructor - - - - Initialize a new instance of - - - - - - Constructs a PatternString - - The pattern to use with this PatternString - - - Initialize a new instance of with the pattern specified. - - - - - - Initialize object options - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - - - - Create the used to parse the pattern - - the pattern to parse - The - - - Returns PatternParser used to parse the conversion string. Subclasses - may override this to return a subclass of PatternParser which recognize - custom conversion pattern name. - - - - - - Produces a formatted string as specified by the conversion pattern. - - The TextWriter to write the formatted event to - - - Format the pattern to the . - - - - - - Format the pattern as a string - - the pattern formatted as a string - - - Format the pattern to a string. - - - - - - Add a converter to this PatternString - - the converter info - - - This version of the method is used by the configurator. - Programmatic users should use the alternative method. - - - - - - Add a converter to this PatternString - - the name of the conversion pattern for this converter - the type of the converter - - - Add a converter to this PatternString - - - - - - Gets or sets the pattern formatting string - - - The pattern formatting string - - - - The ConversionPattern option. This is the string which - controls formatting and consists of a mix of literal content and - conversion specifiers. - - - - - - Wrapper class used to map converter names to converter types - - - - Wrapper class used to map converter names to converter types - - - - - - default constructor - - - - - Gets or sets the name of the conversion pattern - - - The name of the conversion pattern - - - - Gets or sets the name of the conversion pattern - - - - - - Gets or sets the type of the converter - - - The type of the converter - - - - Gets or sets the type of the converter - - - - - - String keyed object map. - - - - While this collection is serializable only member - objects that are serializable will - be serialized along with this collection. - - - Nicko Cadell - Gert Driesen - - - - String keyed object map that is read only. - - - - This collection is readonly and cannot be modified. - - - While this collection is serializable only member - objects that are serializable will - be serialized along with this collection. - - - Nicko Cadell - Gert Driesen - - - - The Hashtable used to store the properties data - - - - - Constructor - - - - Initializes a new instance of the class. - - - - - - Copy Constructor - - properties to copy - - - Initializes a new instance of the class. - - - - - - Deserialization constructor - - The that holds the serialized object data. - The that contains contextual information about the source or destination. - - - Initializes a new instance of the class - with serialized data. - - - - - - Gets the key names. - - An array of all the keys. - - - Gets the key names. - - - - - - Test if the dictionary contains a specified key - - the key to look for - true if the dictionary contains the specified key - - - Test if the dictionary contains a specified key - - - - - - Serializes this object into the provided. - - The to populate with data. - The destination for this serialization. - - - Serializes this object into the provided. - - - - - - See - - - - - See - - - - - - See - - - - - - - Remove all properties from the properties collection - - - - - See - - - - - - - See - - - - - - - See - - - - - Gets or sets the value of the property with the specified key. - - - The value of the property with the specified key. - - The key of the property to get or set. - - - The property value will only be serialized if it is serializable. - If it cannot be serialized it will be silently ignored if - a serialization operation is performed. - - - - - - The hashtable used to store the properties - - - The internal collection used to store the properties - - - - The hashtable used to store the properties - - - - - - See - - - - - See - - - - - See - - - - - See - - - - - See - - - - - See - - - - - The number of properties in this collection - - - - - See - - - - - Constructor - - - - Initializes a new instance of the class. - - - - - - Constructor - - properties to copy - - - Initializes a new instance of the class. - - - - - - Initializes a new instance of the class - with serialized data. - - The that holds the serialized object data. - The that contains contextual information about the source or destination. - - - Because this class is sealed the serialization constructor is private. - - - - - - Remove the entry with the specified key from this dictionary - - the key for the entry to remove - - - Remove the entry with the specified key from this dictionary - - - - - - See - - an enumerator - - - Returns a over the contest of this collection. - - - - - - See - - the key to remove - - - Remove the entry with the specified key from this dictionary - - - - - - See - - the key to lookup in the collection - true if the collection contains the specified key - - - Test if this collection contains a specified key. - - - - - - Remove all properties from the properties collection - - - - Remove all properties from the properties collection - - - - - - See - - the key - the value to store for the key - - - Store a value for the specified . - - - Thrown if the is not a string - - - - See - - - - - - - See - - - - - Gets or sets the value of the property with the specified key. - - - The value of the property with the specified key. - - The key of the property to get or set. - - - The property value will only be serialized if it is serializable. - If it cannot be serialized it will be silently ignored if - a serialization operation is performed. - - - - - - See - - - false - - - - This collection is modifiable. This property always - returns false. - - - - - - See - - - The value for the key specified. - - - - Get or set a value for the specified . - - - Thrown if the is not a string - - - - See - - - - - See - - - - - See - - - - - See - - - - - See - - - - - A that ignores the message - - - - This writer is used in special cases where it is necessary - to protect a writer from being closed by a client. - - - Nicko Cadell - - - - Constructor - - the writer to actually write to - - - Create a new ProtectCloseTextWriter using a writer - - - - - - Attach this instance to a different underlying - - the writer to attach to - - - Attach this instance to a different underlying - - - - - - Does not close the underlying output writer. - - - - Does not close the underlying output writer. - This method does nothing. - - - - - - Defines a lock that supports single writers and multiple readers - - - - ReaderWriterLock is used to synchronize access to a resource. - At any given time, it allows either concurrent read access for - multiple threads, or write access for a single thread. In a - situation where a resource is changed infrequently, a - ReaderWriterLock provides better throughput than a simple - one-at-a-time lock, such as . - - - If a platform does not support a System.Threading.ReaderWriterLock - implementation then all readers and writers are serialized. Therefore - the caller must not rely on multiple simultaneous readers. - - - Nicko Cadell - - - - Constructor - - - - Initializes a new instance of the class. - - - - - - Acquires a reader lock - - - - blocks if a different thread has the writer - lock, or if at least one thread is waiting for the writer lock. - - - - - - Decrements the lock count - - - - decrements the lock count. When the count - reaches zero, the lock is released. - - - - - - Acquires the writer lock - - - - This method blocks if another thread has a reader lock or writer lock. - - - - - - Decrements the lock count on the writer lock - - - - ReleaseWriterLock decrements the writer lock count. - When the count reaches zero, the writer lock is released. - - - - - - A that can be and reused - - - - A that can be and reused. - This uses a single buffer for string operations. - - - Nicko Cadell - - - - Create an instance of - - the format provider to use - - - Create an instance of - - - - - - Override Dispose to prevent closing of writer - - flag - - - Override Dispose to prevent closing of writer - - - - - - Reset this string writer so that it can be reused. - - the maximum buffer capacity before it is trimmed - the default size to make the buffer - - - Reset this string writer so that it can be reused. - The internal buffers are cleared and reset. - - - - - - Utility class for system specific information. - - - - Utility class of static methods for system specific information. - - - Nicko Cadell - Gert Driesen - Alexey Solofnenko - - - - Private constructor to prevent instances. - - - - Only static methods are exposed from this type. - - - - - - Initialize default values for private static fields. - - - - Only static methods are exposed from this type. - - - - - - Gets the assembly location path for the specified assembly. - - The assembly to get the location for. - The location of the assembly. - - - This method does not guarantee to return the correct path - to the assembly. If only tries to give an indication as to - where the assembly was loaded from. - - - - - - Gets the fully qualified name of the , including - the name of the assembly from which the was - loaded. - - The to get the fully qualified name for. - The fully qualified name for the . - - - This is equivalent to the Type.AssemblyQualifiedName property, - but this method works on the .NET Compact Framework 1.0 as well as - the full .NET runtime. - - - - - - Gets the short name of the . - - The to get the name for. - The short name of the . - - - The short name of the assembly is the - without the version, culture, or public key. i.e. it is just the - assembly's file name without the extension. - - - Use this rather than Assembly.GetName().Name because that - is not available on the Compact Framework. - - - Because of a FileIOPermission security demand we cannot do - the obvious Assembly.GetName().Name. We are allowed to get - the of the assembly so we - start from there and strip out just the assembly name. - - - - - - Gets the file name portion of the , including the extension. - - The to get the file name for. - The file name of the assembly. - - - Gets the file name portion of the , including the extension. - - - - - - Loads the type specified in the type string. - - A sibling type to use to load the type. - The name of the type to load. - Flag set to true to throw an exception if the type cannot be loaded. - true to ignore the case of the type name; otherwise, false - The type loaded or null if it could not be loaded. - - - If the type name is fully qualified, i.e. if contains an assembly name in - the type name, the type will be loaded from the system using - . - - - If the type name is not fully qualified, it will be loaded from the assembly - containing the specified relative type. If the type is not found in the assembly - then all the loaded assemblies will be searched for the type. - - - - - - Loads the type specified in the type string. - - The name of the type to load. - Flag set to true to throw an exception if the type cannot be loaded. - true to ignore the case of the type name; otherwise, false - The type loaded or null if it could not be loaded. - - - If the type name is fully qualified, i.e. if contains an assembly name in - the type name, the type will be loaded from the system using - . - - - If the type name is not fully qualified it will be loaded from the - assembly that is directly calling this method. If the type is not found - in the assembly then all the loaded assemblies will be searched for the type. - - - - - - Loads the type specified in the type string. - - An assembly to load the type from. - The name of the type to load. - Flag set to true to throw an exception if the type cannot be loaded. - true to ignore the case of the type name; otherwise, false - The type loaded or null if it could not be loaded. - - - If the type name is fully qualified, i.e. if contains an assembly name in - the type name, the type will be loaded from the system using - . - - - If the type name is not fully qualified it will be loaded from the specified - assembly. If the type is not found in the assembly then all the loaded assemblies - will be searched for the type. - - - - - - Generate a new guid - - A new Guid - - - Generate a new guid - - - - - - Create an - - The name of the parameter that caused the exception - The value of the argument that causes this exception - The message that describes the error - the ArgumentOutOfRangeException object - - - Create a new instance of the class - with a specified error message, the parameter name, and the value - of the argument. - - - The Compact Framework does not support the 3 parameter constructor for the - type. This method provides an - implementation that works for all platforms. - - - - - - Parse a string into an value - - the string to parse - out param where the parsed value is placed - true if the string was able to be parsed into an integer - - - Attempts to parse the string into an integer. If the string cannot - be parsed then this method returns false. The method does not throw an exception. - - - - - - Parse a string into an value - - the string to parse - out param where the parsed value is placed - true if the string was able to be parsed into an integer - - - Attempts to parse the string into an integer. If the string cannot - be parsed then this method returns false. The method does not throw an exception. - - - - - - Lookup an application setting - - the application settings key to lookup - the value for the key, or null - - - Configuration APIs are not supported under the Compact Framework - - - - - - Convert a path into a fully qualified local file path. - - The path to convert. - The fully qualified path. - - - Converts the path specified to a fully - qualified path. If the path is relative it is - taken as relative from the application base - directory. - - - The path specified must be a local file path, a URI is not supported. - - - - - - Creates a new case-insensitive instance of the class with the default initial capacity. - - A new case-insensitive instance of the class with the default initial capacity - - - The new Hashtable instance uses the default load factor, the CaseInsensitiveHashCodeProvider, and the CaseInsensitiveComparer. - - - - - - Gets an empty array of types. - - - - The Type.EmptyTypes field is not available on - the .NET Compact Framework 1.0. - - - - - - Cache the host name for the current machine - - - - - Cache the application friendly name - - - - - Text to output when a null is encountered. - - - - - Text to output when an unsupported feature is requested. - - - - - Start time for the current process. - - - - - Gets the system dependent line terminator. - - - The system dependent line terminator. - - - - Gets the system dependent line terminator. - - - - - - Gets the base directory for this . - - The base directory path for the current . - - - Gets the base directory for this . - - - The value returned may be either a local file path or a URI. - - - - - - Gets the path to the configuration file for the current . - - The path to the configuration file for the current . - - - The .NET Compact Framework 1.0 does not have a concept of a configuration - file. For this runtime, we use the entry assembly location as the root for - the configuration file name. - - - The value returned may be either a local file path or a URI. - - - - - - Gets the path to the file that first executed in the current . - - The path to the entry assembly. - - - Gets the path to the file that first executed in the current . - - - - - - Gets the ID of the current thread. - - The ID of the current thread. - - - On the .NET framework, the AppDomain.GetCurrentThreadId method - is used to obtain the thread ID for the current thread. This is the - operating system ID for the thread. - - - On the .NET Compact Framework 1.0 it is not possible to get the - operating system thread ID for the current thread. The native method - GetCurrentThreadId is implemented inline in a header file - and cannot be called. - - - On the .NET Framework 2.0 the Thread.ManagedThreadId is used as this - gives a stable id unrelated to the operating system thread ID which may - change if the runtime is using fibers. - - - - - - Get the host name or machine name for the current machine - - - The hostname or machine name - - - - Get the host name or machine name for the current machine - - - The host name () or - the machine name (Environment.MachineName) for - the current machine, or if neither of these are available - then NOT AVAILABLE is returned. - - - - - - Get this application's friendly name - - - The friendly name of this application as a string - - - - If available the name of the application is retrieved from - the AppDomain using AppDomain.CurrentDomain.FriendlyName. - - - Otherwise the file name of the entry assembly is used. - - - - - - Get the start time for the current process. - - - - This is the time at which the log4net library was loaded into the - AppDomain. Due to reports of a hang in the call to System.Diagnostics.Process.StartTime - this is not the start time for the current process. - - - The log4net library should be loaded by an application early during its - startup, therefore this start time should be a good approximation for - the actual start time. - - - Note that AppDomains may be loaded and unloaded within the - same process without the process terminating, however this start time - will be set per AppDomain. - - - - - - Text to output when a null is encountered. - - - - Use this value to indicate a null has been encountered while - outputting a string representation of an item. - - - The default value is (null). This value can be overridden by specifying - a value for the log4net.NullText appSetting in the application's - .config file. - - - - - - Text to output when an unsupported feature is requested. - - - - Use this value when an unsupported feature is requested. - - - The default value is NOT AVAILABLE. This value can be overridden by specifying - a value for the log4net.NotAvailableText appSetting in the application's - .config file. - - - - - - Utility class that represents a format string. - - - - Utility class that represents a format string. - - - Nicko Cadell - - - - Initialise the - - An that supplies culture-specific formatting information. - A containing zero or more format items. - An array containing zero or more objects to format. - - - - Format the string and arguments - - the formatted string - - - - Replaces the format item in a specified with the text equivalent - of the value of a corresponding instance in a specified array. - A specified parameter supplies culture-specific formatting information. - - An that supplies culture-specific formatting information. - A containing zero or more format items. - An array containing zero or more objects to format. - - A copy of format in which the format items have been replaced by the - equivalent of the corresponding instances of in args. - - - - This method does not throw exceptions. If an exception thrown while formatting the result the - exception and arguments are returned in the result string. - - - - - - Process an error during StringFormat - - - - - Dump the contents of an array into a string builder - - - - - Dump an object to a string - - - - - Implementation of Properties collection for the - - - - Class implements a collection of properties that is specific to each thread. - The class is not synchronized as each thread has its own . - - - Nicko Cadell - - - - The thread local data slot to use to store a PropertiesDictionary. - - - - - Internal constructor - - - - Initializes a new instance of the class. - - - - - - Remove a property - - the key for the entry to remove - - - Remove a property - - - - - - Clear all properties - - - - Clear all properties - - - - - - Get the PropertiesDictionary for this thread. - - create the dictionary if it does not exist, otherwise return null if is does not exist - the properties for this thread - - - The collection returned is only to be used on the calling thread. If the - caller needs to share the collection between different threads then the - caller must clone the collection before doing so. - - - - - - Gets or sets the value of a property - - - The value for the property with the specified key - - - - Gets or sets the value of a property - - - - - - Implementation of Stack for the - - - - Implementation of Stack for the - - - Nicko Cadell - - - - The stack store. - - - - - Internal constructor - - - - Initializes a new instance of the class. - - - - - - Clears all the contextual information held in this stack. - - - - Clears all the contextual information held in this stack. - Only call this if you think that this tread is being reused after - a previous call execution which may not have completed correctly. - You do not need to use this method if you always guarantee to call - the method of the - returned from even in exceptional circumstances, - for example by using the using(log4net.ThreadContext.Stacks["NDC"].Push("Stack_Message")) - syntax. - - - - - - Removes the top context from this stack. - - The message in the context that was removed from the top of this stack. - - - Remove the top context from this stack, and return - it to the caller. If this stack is empty then an - empty string (not ) is returned. - - - - - - Pushes a new context message into this stack. - - The new context message. - - An that can be used to clean up the context stack. - - - - Pushes a new context onto this stack. An - is returned that can be used to clean up this stack. This - can be easily combined with the using keyword to scope the - context. - - - Simple example of using the Push method with the using keyword. - - using(log4net.ThreadContext.Stacks["NDC"].Push("Stack_Message")) - { - log.Warn("This should have an ThreadContext Stack message"); - } - - - - - - Gets the current context information for this stack. - - The current context information. - - - - Gets the current context information for this stack. - - Gets the current context information - - - Gets the current context information for this stack. - - - - - - Get a portable version of this object - - the portable instance of this object - - - Get a cross thread portable version of this object - - - - - - The number of messages in the stack - - - The current number of messages in the stack - - - - The current number of messages in the stack. That is - the number of times has been called - minus the number of times has been called. - - - - - - Gets and sets the internal stack used by this - - The internal storage stack - - - This property is provided only to support backward compatability - of the . Tytpically the internal stack should not - be modified. - - - - - - Inner class used to represent a single context frame in the stack. - - - - Inner class used to represent a single context frame in the stack. - - - - - - Constructor - - The message for this context. - The parent context in the chain. - - - Initializes a new instance of the class - with the specified message and parent context. - - - - - - Get the message. - - The message. - - - Get the message. - - - - - - Gets the full text of the context down to the root level. - - - The full text of the context down to the root level. - - - - Gets the full text of the context down to the root level. - - - - - - Struct returned from the method. - - - - This struct implements the and is designed to be used - with the pattern to remove the stack frame at the end of the scope. - - - - - - The ThreadContextStack internal stack - - - - - The depth to trim the stack to when this instance is disposed - - - - - Constructor - - The internal stack used by the ThreadContextStack. - The depth to return the stack to when this object is disposed. - - - Initializes a new instance of the class with - the specified stack and return depth. - - - - - - Returns the stack to the correct depth. - - - - Returns the stack to the correct depth. - - - - - - Implementation of Stacks collection for the - - - - Implementation of Stacks collection for the - - - Nicko Cadell - - - - Internal constructor - - - - Initializes a new instance of the class. - - - - - - Gets the named thread context stack - - - The named stack - - - - Gets the named thread context stack - - - - - - Utility class for transforming strings. - - - - Utility class for transforming strings. - - - Nicko Cadell - Gert Driesen - - - - Initializes a new instance of the class. - - - - Uses a private access modifier to prevent instantiation of this class. - - - - - - Write a string to an - - the writer to write to - the string to write - The string to replace non XML compliant chars with - - - The test is escaped either using XML escape entities - or using CDATA sections. - - - - - - Replace invalid XML characters in text string - - the XML text input string - the string to use in place of invalid characters - A string that does not contain invalid XML characters. - - - Certain Unicode code points are not allowed in the XML InfoSet, for - details see: http://www.w3.org/TR/REC-xml/#charsets. - - - This method replaces any illegal characters in the input string - with the mask string specified. - - - - - - Count the number of times that the substring occurs in the text - - the text to search - the substring to find - the number of times the substring occurs in the text - - - The substring is assumed to be non repeating within itself. - - - - - - Impersonate a Windows Account - - - - This impersonates a Windows account. - - - How the impersonation is done depends on the value of . - This allows the context to either impersonate a set of user credentials specified - using username, domain name and password or to revert to the process credentials. - - - - - - Default constructor - - - - Default constructor - - - - - - Initialize the SecurityContext based on the options set. - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - The security context will try to Logon the specified user account and - capture a primary token for impersonation. - - - The required , - or properties were not specified. - - - - Impersonate the Windows account specified by the and properties. - - caller provided state - - An instance that will revoke the impersonation of this SecurityContext - - - - Depending on the property either - impersonate a user using credentials supplied or revert - to the process credentials. - - - - - - Create a given the userName, domainName and password. - - the user name - the domain name - the password - the for the account specified - - - Uses the Windows API call LogonUser to get a principal token for the account. This - token is used to initialize the WindowsIdentity. - - - - - - Gets or sets the impersonation mode for this security context - - - The impersonation mode for this security context - - - - Impersonate either a user with user credentials or - revert this thread to the credentials of the process. - The value is one of the - enum. - - - The default value is - - - When the mode is set to - the user's credentials are established using the - , and - values. - - - When the mode is set to - no other properties need to be set. If the calling thread is - impersonating then it will be reverted back to the process credentials. - - - - - - Gets or sets the Windows username for this security context - - - The Windows username for this security context - - - - This property must be set if - is set to (the default setting). - - - - - - Gets or sets the Windows domain name for this security context - - - The Windows domain name for this security context - - - - The default value for is the local machine name - taken from the property. - - - This property must be set if - is set to (the default setting). - - - - - - Sets the password for the Windows account specified by the and properties. - - - The password for the Windows account specified by the and properties. - - - - This property must be set if - is set to (the default setting). - - - - - - The impersonation modes for the - - - - See the property for - details. - - - - - - Impersonate a user using the credentials supplied - - - - - Revert this the thread to the credentials of the process - - - - - Adds to - - - - Helper class to expose the - through the interface. - - - - - - Constructor - - the impersonation context being wrapped - - - Constructor - - - - - - Revert the impersonation - - - - Revert the impersonation - - - - - - The log4net Global Context. - - - - The GlobalContext provides a location for global debugging - information to be stored. - - - The global context has a properties map and these properties can - be included in the output of log messages. The - supports selecting and outputing these properties. - - - By default the log4net:HostName property is set to the name of - the current machine. - - - - - GlobalContext.Properties["hostname"] = Environment.MachineName; - - - - Nicko Cadell - - - - Private Constructor. - - - Uses a private access modifier to prevent instantiation of this class. - - - - - The global context properties instance - - - - - The global properties map. - - - The global properties map. - - - - The global properties map. - - - - - - The log4net Logical Thread Context. - - - - The LogicalThreadContext provides a location for specific debugging - information to be stored. - The LogicalThreadContext properties override any or - properties with the same name. - - - The Logical Thread Context has a properties map and a stack. - The properties and stack can - be included in the output of log messages. The - supports selecting and outputting these properties. - - - The Logical Thread Context provides a diagnostic context for the current call context. - This is an instrument for distinguishing interleaved log - output from different sources. Log output is typically interleaved - when a server handles multiple clients near-simultaneously. - - - The Logical Thread Context is managed on a per basis. - - - Example of using the thread context properties to store a username. - - LogicalThreadContext.Properties["user"] = userName; - log.Info("This log message has a LogicalThreadContext Property called 'user'"); - - - Example of how to push a message into the context stack - - using(LogicalThreadContext.Stacks["LDC"].Push("my context message")) - { - log.Info("This log message has a LogicalThreadContext Stack message that includes 'my context message'"); - - } // at the end of the using block the message is automatically popped - - - - Nicko Cadell - - - - Private Constructor. - - - - Uses a private access modifier to prevent instantiation of this class. - - - - - - The thread context properties instance - - - - - The thread context stacks instance - - - - - The thread properties map - - - The thread properties map - - - - The LogicalThreadContext properties override any - or properties with the same name. - - - - - - The thread stacks - - - stack map - - - - The logical thread stacks. - - - - - - This class is used by client applications to request logger instances. - - - - This class has static methods that are used by a client to request - a logger instance. The method is - used to retrieve a logger. - - - See the interface for more details. - - - Simple example of logging messages - - ILog log = LogManager.GetLogger("application-log"); - - log.Info("Application Start"); - log.Debug("This is a debug message"); - - if (log.IsDebugEnabled) - { - log.Debug("This is another debug message"); - } - - - - - Nicko Cadell - Gert Driesen - - - - Initializes a new instance of the class. - - - Uses a private access modifier to prevent instantiation of this class. - - - - Returns the named logger if it exists. - - Returns the named logger if it exists. - - - - If the named logger exists (in the default repository) then it - returns a reference to the logger, otherwise it returns null. - - - The fully qualified logger name to look for. - The logger found, or null if no logger could be found. - - - - Returns the named logger if it exists. - - - - If the named logger exists (in the specified repository) then it - returns a reference to the logger, otherwise it returns - null. - - - The repository to lookup in. - The fully qualified logger name to look for. - - The logger found, or null if the logger doesn't exist in the specified - repository. - - - - - Returns the named logger if it exists. - - - - If the named logger exists (in the repository for the specified assembly) then it - returns a reference to the logger, otherwise it returns - null. - - - The assembly to use to lookup the repository. - The fully qualified logger name to look for. - - The logger, or null if the logger doesn't exist in the specified - assembly's repository. - - - - Get the currently defined loggers. - - Returns all the currently defined loggers in the default repository. - - - The root logger is not included in the returned array. - - All the defined loggers. - - - - Returns all the currently defined loggers in the specified repository. - - The repository to lookup in. - - The root logger is not included in the returned array. - - All the defined loggers. - - - - Returns all the currently defined loggers in the specified assembly's repository. - - The assembly to use to lookup the repository. - - The root logger is not included in the returned array. - - All the defined loggers. - - - Get or create a logger. - - Retrieves or creates a named logger. - - - - Retrieves a logger named as the - parameter. If the named logger already exists, then the - existing instance will be returned. Otherwise, a new instance is - created. - - By default, loggers do not have a set level but inherit - it from the hierarchy. This is one of the central features of - log4net. - - - The name of the logger to retrieve. - The logger with the name specified. - - - - Retrieves or creates a named logger. - - - - Retrieve a logger named as the - parameter. If the named logger already exists, then the - existing instance will be returned. Otherwise, a new instance is - created. - - - By default, loggers do not have a set level but inherit - it from the hierarchy. This is one of the central features of - log4net. - - - The repository to lookup in. - The name of the logger to retrieve. - The logger with the name specified. - - - - Retrieves or creates a named logger. - - - - Retrieve a logger named as the - parameter. If the named logger already exists, then the - existing instance will be returned. Otherwise, a new instance is - created. - - - By default, loggers do not have a set level but inherit - it from the hierarchy. This is one of the central features of - log4net. - - - The assembly to use to lookup the repository. - The name of the logger to retrieve. - The logger with the name specified. - - - - Shorthand for . - - - Get the logger for the fully qualified name of the type specified. - - The full name of will be used as the name of the logger to retrieve. - The logger with the name specified. - - - - Shorthand for . - - - Gets the logger for the fully qualified name of the type specified. - - The repository to lookup in. - The full name of will be used as the name of the logger to retrieve. - The logger with the name specified. - - - - Shorthand for . - - - Gets the logger for the fully qualified name of the type specified. - - The assembly to use to lookup the repository. - The full name of will be used as the name of the logger to retrieve. - The logger with the name specified. - - - - Shuts down the log4net system. - - - - Calling this method will safely close and remove all - appenders in all the loggers including root contained in all the - default repositories. - - - Some appenders need to be closed before the application exists. - Otherwise, pending logging events might be lost. - - The shutdown method is careful to close nested - appenders before closing regular appenders. This is allows - configurations where a regular appender is attached to a logger - and again to a nested appender. - - - - - Shutdown a logger repository. - - Shuts down the default repository. - - - - Calling this method will safely close and remove all - appenders in all the loggers including root contained in the - default repository. - - Some appenders need to be closed before the application exists. - Otherwise, pending logging events might be lost. - - The shutdown method is careful to close nested - appenders before closing regular appenders. This is allows - configurations where a regular appender is attached to a logger - and again to a nested appender. - - - - - - Shuts down the repository for the repository specified. - - - - Calling this method will safely close and remove all - appenders in all the loggers including root contained in the - specified. - - - Some appenders need to be closed before the application exists. - Otherwise, pending logging events might be lost. - - The shutdown method is careful to close nested - appenders before closing regular appenders. This is allows - configurations where a regular appender is attached to a logger - and again to a nested appender. - - - The repository to shutdown. - - - - Shuts down the repository specified. - - - - Calling this method will safely close and remove all - appenders in all the loggers including root contained in the - repository. The repository is looked up using - the specified. - - - Some appenders need to be closed before the application exists. - Otherwise, pending logging events might be lost. - - - The shutdown method is careful to close nested - appenders before closing regular appenders. This is allows - configurations where a regular appender is attached to a logger - and again to a nested appender. - - - The assembly to use to lookup the repository. - - - Reset the configuration of a repository - - Resets all values contained in this repository instance to their defaults. - - - - Resets all values contained in the repository instance to their - defaults. This removes all appenders from all loggers, sets - the level of all non-root loggers to null, - sets their additivity flag to true and sets the level - of the root logger to . Moreover, - message disabling is set to its default "off" value. - - - - - - Resets all values contained in this repository instance to their defaults. - - - - Reset all values contained in the repository instance to their - defaults. This removes all appenders from all loggers, sets - the level of all non-root loggers to null, - sets their additivity flag to true and sets the level - of the root logger to . Moreover, - message disabling is set to its default "off" value. - - - The repository to reset. - - - - Resets all values contained in this repository instance to their defaults. - - - - Reset all values contained in the repository instance to their - defaults. This removes all appenders from all loggers, sets - the level of all non-root loggers to null, - sets their additivity flag to true and sets the level - of the root logger to . Moreover, - message disabling is set to its default "off" value. - - - The assembly to use to lookup the repository to reset. - - - Get the logger repository. - - Returns the default instance. - - - - Gets the for the repository specified - by the callers assembly (). - - - The instance for the default repository. - - - - Returns the default instance. - - The default instance. - - - Gets the for the repository specified - by the argument. - - - The repository to lookup in. - - - - Returns the default instance. - - The default instance. - - - Gets the for the repository specified - by the argument. - - - The assembly to use to lookup the repository. - - - Get a logger repository. - - Returns the default instance. - - - - Gets the for the repository specified - by the callers assembly (). - - - The instance for the default repository. - - - - Returns the default instance. - - The default instance. - - - Gets the for the repository specified - by the argument. - - - The repository to lookup in. - - - - Returns the default instance. - - The default instance. - - - Gets the for the repository specified - by the argument. - - - The assembly to use to lookup the repository. - - - Create a domain - - Creates a repository with the specified repository type. - - - - CreateDomain is obsolete. Use CreateRepository instead of CreateDomain. - - - The created will be associated with the repository - specified such that a call to will return - the same repository instance. - - - A that implements - and has a no arg constructor. An instance of this type will be created to act - as the for the repository specified. - The created for the repository. - - - Create a logger repository. - - Creates a repository with the specified repository type. - - A that implements - and has a no arg constructor. An instance of this type will be created to act - as the for the repository specified. - The created for the repository. - - - The created will be associated with the repository - specified such that a call to will return - the same repository instance. - - - - - - Creates a repository with the specified name. - - - - CreateDomain is obsolete. Use CreateRepository instead of CreateDomain. - - - Creates the default type of which is a - object. - - - The name must be unique. Repositories cannot be redefined. - An will be thrown if the repository already exists. - - - The name of the repository, this must be unique amongst repositories. - The created for the repository. - The specified repository already exists. - - - - Creates a repository with the specified name. - - - - Creates the default type of which is a - object. - - - The name must be unique. Repositories cannot be redefined. - An will be thrown if the repository already exists. - - - The name of the repository, this must be unique amongst repositories. - The created for the repository. - The specified repository already exists. - - - - Creates a repository with the specified name and repository type. - - - - CreateDomain is obsolete. Use CreateRepository instead of CreateDomain. - - - The name must be unique. Repositories cannot be redefined. - An will be thrown if the repository already exists. - - - The name of the repository, this must be unique to the repository. - A that implements - and has a no arg constructor. An instance of this type will be created to act - as the for the repository specified. - The created for the repository. - The specified repository already exists. - - - - Creates a repository with the specified name and repository type. - - - - The name must be unique. Repositories cannot be redefined. - An will be thrown if the repository already exists. - - - The name of the repository, this must be unique to the repository. - A that implements - and has a no arg constructor. An instance of this type will be created to act - as the for the repository specified. - The created for the repository. - The specified repository already exists. - - - - Creates a repository for the specified assembly and repository type. - - - - CreateDomain is obsolete. Use CreateRepository instead of CreateDomain. - - - The created will be associated with the repository - specified such that a call to with the - same assembly specified will return the same repository instance. - - - The assembly to use to get the name of the repository. - A that implements - and has a no arg constructor. An instance of this type will be created to act - as the for the repository specified. - The created for the repository. - - - - Creates a repository for the specified assembly and repository type. - - - - The created will be associated with the repository - specified such that a call to with the - same assembly specified will return the same repository instance. - - - The assembly to use to get the name of the repository. - A that implements - and has a no arg constructor. An instance of this type will be created to act - as the for the repository specified. - The created for the repository. - - - - Gets the list of currently defined repositories. - - - - Get an array of all the objects that have been created. - - - An array of all the known objects. - - - - Looks up the wrapper object for the logger specified. - - The logger to get the wrapper for. - The wrapper for the logger specified. - - - - Looks up the wrapper objects for the loggers specified. - - The loggers to get the wrappers for. - The wrapper objects for the loggers specified. - - - - Create the objects used by - this manager. - - The logger to wrap. - The wrapper for the logger specified. - - - - The wrapper map to use to hold the objects. - - - - - Implementation of Mapped Diagnostic Contexts. - - - - - The MDC is deprecated and has been replaced by the . - The current MDC implementation forwards to the ThreadContext.Properties. - - - - The MDC class is similar to the class except that it is - based on a map instead of a stack. It provides mapped - diagnostic contexts. A Mapped Diagnostic Context, or - MDC in short, is an instrument for distinguishing interleaved log - output from different sources. Log output is typically interleaved - when a server handles multiple clients near-simultaneously. - - - The MDC is managed on a per thread basis. - - - - Nicko Cadell - Gert Driesen - - - - Initializes a new instance of the class. - - - Uses a private access modifier to prevent instantiation of this class. - - - - - Gets the context value identified by the parameter. - - The key to lookup in the MDC. - The string value held for the key, or a null reference if no corresponding value is found. - - - - The MDC is deprecated and has been replaced by the . - The current MDC implementation forwards to the ThreadContext.Properties. - - - - If the parameter does not look up to a - previously defined context then null will be returned. - - - - - - Add an entry to the MDC - - The key to store the value under. - The value to store. - - - - The MDC is deprecated and has been replaced by the . - The current MDC implementation forwards to the ThreadContext.Properties. - - - - Puts a context value (the parameter) as identified - with the parameter into the current thread's - context map. - - - If a value is already defined for the - specified then the value will be replaced. If the - is specified as null then the key value mapping will be removed. - - - - - - Removes the key value mapping for the key specified. - - The key to remove. - - - - The MDC is deprecated and has been replaced by the . - The current MDC implementation forwards to the ThreadContext.Properties. - - - - Remove the specified entry from this thread's MDC - - - - - - Clear all entries in the MDC - - - - - The MDC is deprecated and has been replaced by the . - The current MDC implementation forwards to the ThreadContext.Properties. - - - - Remove all the entries from this thread's MDC - - - - - - Implementation of Nested Diagnostic Contexts. - - - - - The NDC is deprecated and has been replaced by the . - The current NDC implementation forwards to the ThreadContext.Stacks["NDC"]. - - - - A Nested Diagnostic Context, or NDC in short, is an instrument - to distinguish interleaved log output from different sources. Log - output is typically interleaved when a server handles multiple - clients near-simultaneously. - - - Interleaved log output can still be meaningful if each log entry - from different contexts had a distinctive stamp. This is where NDCs - come into play. - - - Note that NDCs are managed on a per thread basis. The NDC class - is made up of static methods that operate on the context of the - calling thread. - - - How to push a message into the context - - using(NDC.Push("my context message")) - { - ... all log calls will have 'my context message' included ... - - } // at the end of the using block the message is automatically removed - - - - Nicko Cadell - Gert Driesen - - - - Initializes a new instance of the class. - - - Uses a private access modifier to prevent instantiation of this class. - - - - - Clears all the contextual information held on the current thread. - - - - - The NDC is deprecated and has been replaced by the . - The current NDC implementation forwards to the ThreadContext.Stacks["NDC"]. - - - - Clears the stack of NDC data held on the current thread. - - - - - - Creates a clone of the stack of context information. - - A clone of the context info for this thread. - - - - The NDC is deprecated and has been replaced by the . - The current NDC implementation forwards to the ThreadContext.Stacks["NDC"]. - - - - The results of this method can be passed to the - method to allow child threads to inherit the context of their - parent thread. - - - - - - Inherits the contextual information from another thread. - - The context stack to inherit. - - - - The NDC is deprecated and has been replaced by the . - The current NDC implementation forwards to the ThreadContext.Stacks["NDC"]. - - - - This thread will use the context information from the stack - supplied. This can be used to initialize child threads with - the same contextual information as their parent threads. These - contexts will NOT be shared. Any further contexts that - are pushed onto the stack will not be visible to the other. - Call to obtain a stack to pass to - this method. - - - - - - Removes the top context from the stack. - - - The message in the context that was removed from the top - of the stack. - - - - - The NDC is deprecated and has been replaced by the . - The current NDC implementation forwards to the ThreadContext.Stacks["NDC"]. - - - - Remove the top context from the stack, and return - it to the caller. If the stack is empty then an - empty string (not null) is returned. - - - - - - Pushes a new context message. - - The new context message. - - An that can be used to clean up - the context stack. - - - - - The NDC is deprecated and has been replaced by the . - The current NDC implementation forwards to the ThreadContext.Stacks["NDC"]. - - - - Pushes a new context onto the context stack. An - is returned that can be used to clean up the context stack. This - can be easily combined with the using keyword to scope the - context. - - - Simple example of using the Push method with the using keyword. - - using(log4net.NDC.Push("NDC_Message")) - { - log.Warn("This should have an NDC message"); - } - - - - - - Removes the context information for this thread. It is - not required to call this method. - - - - - The NDC is deprecated and has been replaced by the . - The current NDC implementation forwards to the ThreadContext.Stacks["NDC"]. - - - - This method is not implemented. - - - - - - Forces the stack depth to be at most . - - The maximum depth of the stack - - - - The NDC is deprecated and has been replaced by the . - The current NDC implementation forwards to the ThreadContext.Stacks["NDC"]. - - - - Forces the stack depth to be at most . - This may truncate the head of the stack. This only affects the - stack in the current thread. Also it does not prevent it from - growing, it only sets the maximum depth at the time of the - call. This can be used to return to a known context depth. - - - - - - Gets the current context depth. - - The current context depth. - - - - The NDC is deprecated and has been replaced by the . - The current NDC implementation forwards to the ThreadContext.Stacks["NDC"]. - - - - The number of context values pushed onto the context stack. - - - Used to record the current depth of the context. This can then - be restored using the method. - - - - - - - The log4net Thread Context. - - - - The ThreadContext provides a location for thread specific debugging - information to be stored. - The ThreadContext properties override any - properties with the same name. - - - The thread context has a properties map and a stack. - The properties and stack can - be included in the output of log messages. The - supports selecting and outputting these properties. - - - The Thread Context provides a diagnostic context for the current thread. - This is an instrument for distinguishing interleaved log - output from different sources. Log output is typically interleaved - when a server handles multiple clients near-simultaneously. - - - The Thread Context is managed on a per thread basis. - - - Example of using the thread context properties to store a username. - - ThreadContext.Properties["user"] = userName; - log.Info("This log message has a ThreadContext Property called 'user'"); - - - Example of how to push a message into the context stack - - using(ThreadContext.Stacks["NDC"].Push("my context message")) - { - log.Info("This log message has a ThreadContext Stack message that includes 'my context message'"); - - } // at the end of the using block the message is automatically popped - - - - Nicko Cadell - - - - Private Constructor. - - - - Uses a private access modifier to prevent instantiation of this class. - - - - - - The thread context properties instance - - - - - The thread context stacks instance - - - - - The thread properties map - - - The thread properties map - - - - The ThreadContext properties override any - properties with the same name. - - - - - - The thread stacks - - - stack map - - - - The thread local stacks. - - - - - diff --git a/lib/NHibernate21/net/2.0/Antlr3.Runtime.dll b/lib/NHibernate21/net/2.0/Antlr3.Runtime.dll deleted file mode 100644 index 637fc3e3..00000000 Binary files a/lib/NHibernate21/net/2.0/Antlr3.Runtime.dll and /dev/null differ diff --git a/lib/NHibernate21/net/2.0/Iesi.Collections.dll b/lib/NHibernate21/net/2.0/Iesi.Collections.dll deleted file mode 100644 index 32f2332f..00000000 Binary files a/lib/NHibernate21/net/2.0/Iesi.Collections.dll and /dev/null differ diff --git a/lib/NHibernate21/net/2.0/Iesi.Collections.license.txt b/lib/NHibernate21/net/2.0/Iesi.Collections.license.txt deleted file mode 100644 index 66c4a8dc..00000000 --- a/lib/NHibernate21/net/2.0/Iesi.Collections.license.txt +++ /dev/null @@ -1,9 +0,0 @@ -Copyright © 2002-2004 by Aidant Systems, Inc., and by Jason Smith. - -Copied from http://www.codeproject.com/csharp/sets.asp#xx703510xx that was posted by JasonSmith 12:13 2 Jan '04 - -Feel free to use this code any way you want to. As a favor to me, you can leave the copyright in there. You never know when someone might recognize your name! - -If you do use the code in a commercial product, I would appreciate hearing about it. This message serves as legal notice that I won't be suing you for royalties! The code is in the public domain. - -On the other hand, I don't provide support. The code is actually simple enough that it shouldn't need it. diff --git a/lib/NHibernate21/net/2.0/Iesi.Collections.xml b/lib/NHibernate21/net/2.0/Iesi.Collections.xml deleted file mode 100644 index 22ebfdec..00000000 --- a/lib/NHibernate21/net/2.0/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/NHibernate21/net/2.0/LinFu.DynamicProxy.dll b/lib/NHibernate21/net/2.0/LinFu.DynamicProxy.dll deleted file mode 100644 index 22225220..00000000 Binary files a/lib/NHibernate21/net/2.0/LinFu.DynamicProxy.dll and /dev/null differ diff --git a/lib/NHibernate21/net/2.0/NHibernate.DomainModel.dll b/lib/NHibernate21/net/2.0/NHibernate.DomainModel.dll deleted file mode 100644 index aed3dd7c..00000000 Binary files a/lib/NHibernate21/net/2.0/NHibernate.DomainModel.dll and /dev/null differ diff --git a/lib/NHibernate21/net/2.0/NHibernate.Test.dll b/lib/NHibernate21/net/2.0/NHibernate.Test.dll deleted file mode 100644 index bdf5b28a..00000000 Binary files a/lib/NHibernate21/net/2.0/NHibernate.Test.dll and /dev/null differ diff --git a/lib/NHibernate21/net/2.0/NHibernate.dll b/lib/NHibernate21/net/2.0/NHibernate.dll deleted file mode 100644 index f8b0bc26..00000000 Binary files a/lib/NHibernate21/net/2.0/NHibernate.dll and /dev/null differ diff --git a/lib/NHibernate21/net/2.0/NHibernate.license.txt b/lib/NHibernate21/net/2.0/NHibernate.license.txt deleted file mode 100644 index 8a88d148..00000000 --- a/lib/NHibernate21/net/2.0/NHibernate.license.txt +++ /dev/null @@ -1,460 +0,0 @@ - GNU LESSER GENERAL PUBLIC LICENSE - Version 2.1, February 1999 - - Copyright (C) 1991, 1999 Free Software Foundation, Inc. - 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - -[This is the first released version of the Lesser GPL. It also counts - as the successor of the GNU Library Public License, version 2, hence - the version number 2.1.] - - Preamble - - The licenses for most software are designed to take away your -freedom to share and change it. By contrast, the GNU General Public -Licenses are intended to guarantee your freedom to share and change -free software--to make sure the software is free for all its users. - - This license, the Lesser General Public License, applies to some -specially designated software packages--typically libraries--of the -Free Software Foundation and other authors who decide to use it. You -can use it too, but we suggest you first think carefully about whether -this license or the ordinary General Public License is the better -strategy to use in any particular case, based on the explanations below. - - When we speak of free software, we are referring to freedom of use, -not price. Our General Public Licenses are designed to make sure that -you have the freedom to distribute copies of free software (and charge -for this service if you wish); that you receive source code or can get -it if you want it; that you can change the software and use pieces of -it in new free programs; and that you are informed that you can do -these things. - - To protect your rights, we need to make restrictions that forbid -distributors to deny you these rights or to ask you to surrender these -rights. These restrictions translate to certain responsibilities for -you if you distribute copies of the library or if you modify it. - - For example, if you distribute copies of the library, whether gratis -or for a fee, you must give the recipients all the rights that we gave -you. You must make sure that they, too, receive or can get the source -code. If you link other code with the library, you must provide -complete object files to the recipients, so that they can relink them -with the library after making changes to the library and recompiling -it. And you must show them these terms so they know their rights. - - We protect your rights with a two-step method: (1) we copyright the -library, and (2) we offer you this license, which gives you legal -permission to copy, distribute and/or modify the library. - - To protect each distributor, we want to make it very clear that -there is no warranty for the free library. Also, if the library is -modified by someone else and passed on, the recipients should know -that what they have is not the original version, so that the original -author's reputation will not be affected by problems that might be -introduced by others. - - Finally, software patents pose a constant threat to the existence of -any free program. We wish to make sure that a company cannot -effectively restrict the users of a free program by obtaining a -restrictive license from a patent holder. Therefore, we insist that -any patent license obtained for a version of the library must be -consistent with the full freedom of use specified in this license. - - Most GNU software, including some libraries, is covered by the -ordinary GNU General Public License. This license, the GNU Lesser -General Public License, applies to certain designated libraries, and -is quite different from the ordinary General Public License. We use -this license for certain libraries in order to permit linking those -libraries into non-free programs. - - When a program is linked with a library, whether statically or using -a shared library, the combination of the two is legally speaking a -combined work, a derivative of the original library. The ordinary -General Public License therefore permits such linking only if the -entire combination fits its criteria of freedom. The Lesser General -Public License permits more lax criteria for linking other code with -the library. - - We call this license the "Lesser" General Public License because it -does Less to protect the user's freedom than the ordinary General -Public License. It also provides other free software developers Less -of an advantage over competing non-free programs. These disadvantages -are the reason we use the ordinary General Public License for many -libraries. However, the Lesser license provides advantages in certain -special circumstances. - - For example, on rare occasions, there may be a special need to -encourage the widest possible use of a certain library, so that it becomes -a de-facto standard. To achieve this, non-free programs must be -allowed to use the library. A more frequent case is that a free -library does the same job as widely used non-free libraries. In this -case, there is little to gain by limiting the free library to free -software only, so we use the Lesser General Public License. - - In other cases, permission to use a particular library in non-free -programs enables a greater number of people to use a large body of -free software. For example, permission to use the GNU C Library in -non-free programs enables many more people to use the whole GNU -operating system, as well as its variant, the GNU/Linux operating -system. - - Although the Lesser General Public License is Less protective of the -users' freedom, it does ensure that the user of a program that is -linked with the Library has the freedom and the wherewithal to run -that program using a modified version of the Library. - - The precise terms and conditions for copying, distribution and -modification follow. Pay close attention to the difference between a -"work based on the library" and a "work that uses the library". The -former contains code derived from the library, whereas the latter must -be combined with the library in order to run. - - GNU LESSER GENERAL PUBLIC LICENSE - TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - - 0. This License Agreement applies to any software library or other -program which contains a notice placed by the copyright holder or -other authorized party saying it may be distributed under the terms of -this Lesser General Public License (also called "this License"). -Each licensee is addressed as "you". - - A "library" means a collection of software functions and/or data -prepared so as to be conveniently linked with application programs -(which use some of those functions and data) to form executables. - - The "Library", below, refers to any such software library or work -which has been distributed under these terms. A "work based on the -Library" means either the Library or any derivative work under -copyright law: that is to say, a work containing the Library or a -portion of it, either verbatim or with modifications and/or translated -straightforwardly into another language. (Hereinafter, translation is -included without limitation in the term "modification".) - - "Source code" for a work means the preferred form of the work for -making modifications to it. For a library, complete source code means -all the source code for all modules it contains, plus any associated -interface definition files, plus the scripts used to control compilation -and installation of the library. - - Activities other than copying, distribution and modification are not -covered by this License; they are outside its scope. The act of -running a program using the Library is not restricted, and output from -such a program is covered only if its contents constitute a work based -on the Library (independent of the use of the Library in a tool for -writing it). Whether that is true depends on what the Library does -and what the program that uses the Library does. - - 1. You may copy and distribute verbatim copies of the Library's -complete source code as you receive it, in any medium, provided that -you conspicuously and appropriately publish on each copy an -appropriate copyright notice and disclaimer of warranty; keep intact -all the notices that refer to this License and to the absence of any -warranty; and distribute a copy of this License along with the -Library. - - You may charge a fee for the physical act of transferring a copy, -and you may at your option offer warranty protection in exchange for a -fee. - - 2. You may modify your copy or copies of the Library or any portion -of it, thus forming a work based on the Library, and copy and -distribute such modifications or work under the terms of Section 1 -above, provided that you also meet all of these conditions: - - a) The modified work must itself be a software library. - - b) You must cause the files modified to carry prominent notices - stating that you changed the files and the date of any change. - - c) You must cause the whole of the work to be licensed at no - charge to all third parties under the terms of this License. - - d) If a facility in the modified Library refers to a function or a - table of data to be supplied by an application program that uses - the facility, other than as an argument passed when the facility - is invoked, then you must make a good faith effort to ensure that, - in the event an application does not supply such function or - table, the facility still operates, and performs whatever part of - its purpose remains meaningful. - - (For example, a function in a library to compute square roots has - a purpose that is entirely well-defined independent of the - application. Therefore, Subsection 2d requires that any - application-supplied function or table used by this function must - be optional: if the application does not supply it, the square - root function must still compute square roots.) - -These requirements apply to the modified work as a whole. If -identifiable sections of that work are not derived from the Library, -and can be reasonably considered independent and separate works in -themselves, then this License, and its terms, do not apply to those -sections when you distribute them as separate works. But when you -distribute the same sections as part of a whole which is a work based -on the Library, the distribution of the whole must be on the terms of -this License, whose permissions for other licensees extend to the -entire whole, and thus to each and every part regardless of who wrote -it. - -Thus, it is not the intent of this section to claim rights or contest -your rights to work written entirely by you; rather, the intent is to -exercise the right to control the distribution of derivative or -collective works based on the Library. - -In addition, mere aggregation of another work not based on the Library -with the Library (or with a work based on the Library) on a volume of -a storage or distribution medium does not bring the other work under -the scope of this License. - - 3. You may opt to apply the terms of the ordinary GNU General Public -License instead of this License to a given copy of the Library. To do -this, you must alter all the notices that refer to this License, so -that they refer to the ordinary GNU General Public License, version 2, -instead of to this License. (If a newer version than version 2 of the -ordinary GNU General Public License has appeared, then you can specify -that version instead if you wish.) Do not make any other change in -these notices. - - Once this change is made in a given copy, it is irreversible for -that copy, so the ordinary GNU General Public License applies to all -subsequent copies and derivative works made from that copy. - - This option is useful when you wish to copy part of the code of -the Library into a program that is not a library. - - 4. You may copy and distribute the Library (or a portion or -derivative of it, under Section 2) in object code or executable form -under the terms of Sections 1 and 2 above provided that you accompany -it with the complete corresponding machine-readable source code, which -must be distributed under the terms of Sections 1 and 2 above on a -medium customarily used for software interchange. - - If distribution of object code is made by offering access to copy -from a designated place, then offering equivalent access to copy the -source code from the same place satisfies the requirement to -distribute the source code, even though third parties are not -compelled to copy the source along with the object code. - - 5. A program that contains no derivative of any portion of the -Library, but is designed to work with the Library by being compiled or -linked with it, is called a "work that uses the Library". Such a -work, in isolation, is not a derivative work of the Library, and -therefore falls outside the scope of this License. - - However, linking a "work that uses the Library" with the Library -creates an executable that is a derivative of the Library (because it -contains portions of the Library), rather than a "work that uses the -library". The executable is therefore covered by this License. -Section 6 states terms for distribution of such executables. - - When a "work that uses the Library" uses material from a header file -that is part of the Library, the object code for the work may be a -derivative work of the Library even though the source code is not. -Whether this is true is especially significant if the work can be -linked without the Library, or if the work is itself a library. The -threshold for this to be true is not precisely defined by law. - - If such an object file uses only numerical parameters, data -structure layouts and accessors, and small macros and small inline -functions (ten lines or less in length), then the use of the object -file is unrestricted, regardless of whether it is legally a derivative -work. (Executables containing this object code plus portions of the -Library will still fall under Section 6.) - - Otherwise, if the work is a derivative of the Library, you may -distribute the object code for the work under the terms of Section 6. -Any executables containing that work also fall under Section 6, -whether or not they are linked directly with the Library itself. - - 6. As an exception to the Sections above, you may also combine or -link a "work that uses the Library" with the Library to produce a -work containing portions of the Library, and distribute that work -under terms of your choice, provided that the terms permit -modification of the work for the customer's own use and reverse -engineering for debugging such modifications. - - You must give prominent notice with each copy of the work that the -Library is used in it and that the Library and its use are covered by -this License. You must supply a copy of this License. If the work -during execution displays copyright notices, you must include the -copyright notice for the Library among them, as well as a reference -directing the user to the copy of this License. Also, you must do one -of these things: - - a) Accompany the work with the complete corresponding - machine-readable source code for the Library including whatever - changes were used in the work (which must be distributed under - Sections 1 and 2 above); and, if the work is an executable linked - with the Library, with the complete machine-readable "work that - uses the Library", as object code and/or source code, so that the - user can modify the Library and then relink to produce a modified - executable containing the modified Library. (It is understood - that the user who changes the contents of definitions files in the - Library will not necessarily be able to recompile the application - to use the modified definitions.) - - b) Use a suitable shared library mechanism for linking with the - Library. A suitable mechanism is one that (1) uses at run time a - copy of the library already present on the user's computer system, - rather than copying library functions into the executable, and (2) - will operate properly with a modified version of the library, if - the user installs one, as long as the modified version is - interface-compatible with the version that the work was made with. - - c) Accompany the work with a written offer, valid for at - least three years, to give the same user the materials - specified in Subsection 6a, above, for a charge no more - than the cost of performing this distribution. - - d) If distribution of the work is made by offering access to copy - from a designated place, offer equivalent access to copy the above - specified materials from the same place. - - e) Verify that the user has already received a copy of these - materials or that you have already sent this user a copy. - - For an executable, the required form of the "work that uses the -Library" must include any data and utility programs needed for -reproducing the executable from it. However, as a special exception, -the materials to be distributed need not include anything that is -normally distributed (in either source or binary form) with the major -components (compiler, kernel, and so on) of the operating system on -which the executable runs, unless that component itself accompanies -the executable. - - It may happen that this requirement contradicts the license -restrictions of other proprietary libraries that do not normally -accompany the operating system. Such a contradiction means you cannot -use both them and the Library together in an executable that you -distribute. - - 7. You may place library facilities that are a work based on the -Library side-by-side in a single library together with other library -facilities not covered by this License, and distribute such a combined -library, provided that the separate distribution of the work based on -the Library and of the other library facilities is otherwise -permitted, and provided that you do these two things: - - a) Accompany the combined library with a copy of the same work - based on the Library, uncombined with any other library - facilities. This must be distributed under the terms of the - Sections above. - - b) Give prominent notice with the combined library of the fact - that part of it is a work based on the Library, and explaining - where to find the accompanying uncombined form of the same work. - - 8. You may not copy, modify, sublicense, link with, or distribute -the Library except as expressly provided under this License. Any -attempt otherwise to copy, modify, sublicense, link with, or -distribute the Library is void, and will automatically terminate your -rights under this License. However, parties who have received copies, -or rights, from you under this License will not have their licenses -terminated so long as such parties remain in full compliance. - - 9. You are not required to accept this License, since you have not -signed it. However, nothing else grants you permission to modify or -distribute the Library or its derivative works. These actions are -prohibited by law if you do not accept this License. Therefore, by -modifying or distributing the Library (or any work based on the -Library), you indicate your acceptance of this License to do so, and -all its terms and conditions for copying, distributing or modifying -the Library or works based on it. - - 10. Each time you redistribute the Library (or any work based on the -Library), the recipient automatically receives a license from the -original licensor to copy, distribute, link with or modify the Library -subject to these terms and conditions. You may not impose any further -restrictions on the recipients' exercise of the rights granted herein. -You are not responsible for enforcing compliance by third parties with -this License. - - 11. If, as a consequence of a court judgment or allegation of patent -infringement or for any other reason (not limited to patent issues), -conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot -distribute so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you -may not distribute the Library at all. For example, if a patent -license would not permit royalty-free redistribution of the Library by -all those who receive copies directly or indirectly through you, then -the only way you could satisfy both it and this License would be to -refrain entirely from distribution of the Library. - -If any portion of this section is held invalid or unenforceable under any -particular circumstance, the balance of the section is intended to apply, -and the section as a whole is intended to apply in other circumstances. - -It is not the purpose of this section to induce you to infringe any -patents or other property right claims or to contest validity of any -such claims; this section has the sole purpose of protecting the -integrity of the free software distribution system which is -implemented by public license practices. Many people have made -generous contributions to the wide range of software distributed -through that system in reliance on consistent application of that -system; it is up to the author/donor to decide if he or she is willing -to distribute software through any other system and a licensee cannot -impose that choice. - -This section is intended to make thoroughly clear what is believed to -be a consequence of the rest of this License. - - 12. If the distribution and/or use of the Library is restricted in -certain countries either by patents or by copyrighted interfaces, the -original copyright holder who places the Library under this License may add -an explicit geographical distribution limitation excluding those countries, -so that distribution is permitted only in or among countries not thus -excluded. In such case, this License incorporates the limitation as if -written in the body of this License. - - 13. The Free Software Foundation may publish revised and/or new -versions of the Lesser General Public License from time to time. -Such new versions will be similar in spirit to the present version, -but may differ in detail to address new problems or concerns. - -Each version is given a distinguishing version number. If the Library -specifies a version number of this License which applies to it and -"any later version", you have the option of following the terms and -conditions either of that version or of any later version published by -the Free Software Foundation. If the Library does not specify a -license version number, you may choose any version ever published by -the Free Software Foundation. - - 14. If you wish to incorporate parts of the Library into other free -programs whose distribution conditions are incompatible with these, -write to the author to ask for permission. For software which is -copyrighted by the Free Software Foundation, write to the Free -Software Foundation; we sometimes make exceptions for this. Our -decision will be guided by the two goals of preserving the free status -of all derivatives of our free software and of promoting the sharing -and reuse of software generally. - - NO WARRANTY - - 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO -WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. -EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR -OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY -KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE -LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME -THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. - - 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN -WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY -AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU -FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR -CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE -LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING -RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A -FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF -SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGES. - - END OF TERMS AND CONDITIONS - diff --git a/lib/NHibernate21/net/2.0/NHibernate.xml b/lib/NHibernate21/net/2.0/NHibernate.xml deleted file mode 100644 index a9e6f2e5..00000000 --- a/lib/NHibernate21/net/2.0/NHibernate.xml +++ /dev/null @@ -1,40555 +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 - - - - Do we need to retain this instance until after the transaction completes? - - - False if this class defines a no-op has after transaction completion. - - - - Called after the transaction completes - - - - What spaces (tables) are affected by 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 - - - - Do we need to retain this instance until after the transaction completes? - - - False if this class defines a no-op has after transaction completion. - - - - Called after the transaction completes - - - - 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. - - - - 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. - - - - - 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. - - - - - 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 - - - - - Marker interface, denoting a client-visible "soft lock" on a cached item. - - - - - 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 . - for invalid values. - - - See for allowed values. - - - - - 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. - - - - - Convert a string to . - - The string that represent . - - The converted to . - - If the values is invalid. - - See for allowed values. - - - - - Values for class-cache and collection-cache strategy. - - - - Xml value: read-only - - - Xml value: read-write - - - Xml value: nonstrict-read-write - - - Xml value: transactional - - - - 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. - - - - - Initializes a new instance of the class. - - The session factory name. Null or empty string are allowed. - - - - 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. - - - - - 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 . - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - A base class for HBM schema classes that provides helper methods. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 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 - - - - - 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 - - - - - The XML Namespace for the nhibernate-mapping - - - 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. - - - - 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 ebedded 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. - - - - - 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 - - - - - - - - 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. - - - - - 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 . - Works only with Web Applications. - - - - - 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 each . Works only with web applications. - - - - - 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 - - - - - 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 - - - - - 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? - - - - - 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. - - - - - 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 - - - - - 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 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 - - - - When adding values to the query string it is imperative that they are reported via this function back to the query builder. - Do not report the same item multiple times as it will be assumed to be a separate parameter. - - - - - 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. - - - - - Constructor for Order. - - - - - - - Constructor for Order. - - - - - - - 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 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 - - - - - 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 - - - - - 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 - - - - - Delegate the values to a real type - - - The real return type of Cast is know only after the Cast is parsed. - This class was created in NH to remove the responsibility of the parser about know the - real return type. - - - - - 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. - - - - 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. - - - - - 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 - - - - - - - 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 - - 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. - - - - - 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 is not zero - A new SqlString 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 of. - 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 with the LIMIT clause applied. - - The LIMIT SQL will look like - - - SELECT - TOP last (columns) - FROM - (SELECT (columns), ROW_NUMBER() OVER(ORDER BY {original order by, with un-aliased column names) as __hibernate_sort_row - {original from}) as query - WHERE query.__hibernate_sort_row > offset - ORDER BY query.__hibernate_sort_row - - - - Note that we need to add 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 - - - - 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. - - - - - 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 - - - - - - - - - - - - - - - - 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. - - - - - - - - - - - - - - - - - - - - - - - - - - - - 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 - - - - - - - - - - - - - - Offset of the first row to process in the result set is non-zero - - - - 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. - - - - This is a subclass of SybaseDialect for sybase 11 databases (specifically tested against 11.9.2). 11.9.2 does not support ANSI JOINs - therefore we have to provide a special join fragment for left/right joins (*= and =* respectively). - - - - - An SQL dialect compatible with Sybase. - - -

- 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 SybaseDialect defaults the following configuration properties: - - - Property - Default Value - - - use_outer_join - - - - connection.driver_class - - - - prepare_sql - - - -
-
- - - - - - Sybase does not support quoted aliases, this function thus returns - aliasName as is. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - This class is basically a port of the hibernate 3.2 Sybase 11 join fragment. It uses concepts from that join fragment and the Oracle join fragment in NHibernate - - - - - Represents a SQL JOIN - - - - - An SQL dialect compatible with Sybase. - - -

- 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 SybaseDialect defaults the following configuration properties: - - - Property - Default Value - - - use_outer_join - - - - connection.driver_class - - - - prepare_sql - - - -
-
- - - - - - Sybase does not support quoted aliases, this function thus returns - aliasName as is. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - An SQL dialect for Sybase Adaptive Server Anywhere 9.0/10.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 SybaseAnywhereDialect defaults the following configuration properties: - - - Property - Default Value - - - use_outer_join - - - - 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 - - - - - 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. - - - - 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 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. - - - - - 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. - - - - - The SybaseClientDriver Driver provides a database driver for Sybase. - - - It has been reported to work with the . - - - - - Initializes a new instance of the class. - - - Thrown when the Sybase.Data.AseClient assembly can not be loaded. - - - - - Sybase.Data.AseClient uses named parameters in the sql. - - - Sybase uses @ in the sql. - - - - - - - Sybase.Data.AseClient use the @ to locate parameters in sql. - - @ is used to locate parameters in sql. - - - - The SybaseClientDriver Driver provides a database driver for Sybase. - - - It has been reported to work with the . - - - - - Initializes a new instance of the class. - - - Thrown when the Sybase.Data.AseClient assembly can not be loaded. - - - - - Sybase.Data.AseClient uses named parameters in the sql. - - - Sybase uses @ in the sql. - - - - - - - Sybase.Data.AseClient use the @ to locate parameters in sql. - - @ is used to locate parameters in sql. - - - - 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. - - - - 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. - - - - - 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 - - - - - - - - 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 - - - - Execute a query - - A query expressed in Hibernate's query language - A distinct list of instances - See for implications of cache usage. - - - - Execute a query, binding a value to a "?" parameter in the query string. - - The query string - A value to be bound to a "?" placeholder - The Hibernate type of the value - A distinct list of instances - See for implications of cache usage. - - - - Execute a query, binding an array of values to a "?" parameters in the query string. - - The query string - An array of values to be bound to the "?" placeholders - An array of Hibernate types of the values - A distinct list of instances - See for implications of cache usage. - - - - Execute a query and return the results in an interator. - - - - If the query has multiple return values, values will be returned in an array of - type object[]. - - - Entities returned as results are initialized on demand. The first SQL query returns - identifiers only. So Enumerator() is usually a less efficient way to retrieve - object than List(). - - - The query string - An enumerator - - - - Execute a query and return the results in an interator, - binding a value to a "?" parameter in the query string. - - - - If the query has multiple return values, values will be returned in an array of - type object[]. - - - Entities returned as results are initialized on demand. The first SQL query returns - identifiers only. So Enumerator() is usually a less efficient way to retrieve - object than List(). - - - The query string - A value to be written to a "?" placeholder in the query string - The hibernate type of the value - An enumerator - - - - Execute a query and return the results in an interator, - binding the values to "?"s parameters in the query string. - - - - If the query has multiple return values, values will be returned in an array of - type object[]. - - - Entities returned as results are initialized on demand. The first SQL query returns - identifiers only. So Enumerator() is usually a less efficient way to retrieve - object than List(). - - - The query string - A list of values to be written to "?" placeholders in the query - A list of hibernate types of the values - An enumerator - - - - Apply a filter to a persistent collection. - - - A filter is a Hibernate query that may refer to this, the collection element. - Filters allow efficient access to very large lazy collections. (Executing the filter - does not initialize the collection.) - - A persistent collection to filter - A filter query string - The resulting collection - - - - Apply a filter to a persistent collection, binding the given parameter to a "?" placeholder - - - A filter is a Hibernate query that may refer to this, the collection element. - Filters allow efficient access to very large lazy collections. (Executing the filter - does not initialize the collection.) - - A persistent collection to filter - A filter query string - A value to be written to a "?" placeholder in the query - The hibernate type of value - A collection - - - - Apply a filter to a persistent collection, binding the given parameters to "?" placeholders. - - - A filter is a Hibernate query that may refer to this, the collection element. - Filters allow efficient access to very large lazy collections. (Executing the filter - does not initialize the collection.) - - A persistent collection to filter - A filter query string - The values to be written to "?" placeholders in the query - The hibernate types of the values - A collection - - - - 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 - - - - 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 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 IQuery for the given SQL string. - - a query expressed in SQL - a table alias that appears inside {} in the SQL string - the returned persistent class - An from the SQL string - - - - Create a new instance of for the given SQL string. - - a query expressed in SQL - an array of table aliases that appear inside {} in the SQL string - the returned persistent classes - An from the SQL string - - - - 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. - - - - of - - - - 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. - - - - - Construct a instance - capable of translating an HQL query string. - - - 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 string to be translated - Currently enabled filters - The session factory - An appropriate translator. - - - - Construct a instance capable of - translating an HQL filter string. - - - 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 string 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 - - - - - 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 particulare 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 Hibernate 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 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. - - 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 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 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. The Hibernate 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 - Hibernate 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 Hibernate 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) - - - - 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" - - - - 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. - - - - Error handling in this case will only kick in if we cannot set values on the TLS - this is usally the case if we are called from the finalizer, since this is something - that we do only for logging, we ignore the error. - - - - - 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 - - - - - - Executes the batch - - - This seems to be returning the total number of affected rows in all queries - - - - - Return the batch command to be executed - - - - - The number of commands batched in this instance - - - - - 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 - - - - - 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. - - - - - - - - - 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 - - - - - 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. - - - - Combines sevaral queries into a single database 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. - - - - - Add the specified HQL query to the multi query. The result will be contained in a - - - - - Add the specified HQL query to the multi query, and associate it with the given key. The result will be contained in a - - - - - - - - Add the specified HQL Query to the multi query, and associate it with the given key. The result will be contained in a - - - - - - - - Add the specified HQL query to the multi query. The result will be contained in a - - - - - Add a named query to the multi query. The result will be contained in a - - - - - Add a named query to the multi query, and associate it with the given key. The result will be contained in a - - - - - - - - Add the specified HQL query to the multi query, and associate it with the given key - - - - - - - - Add the specified HQL query to the multi query - - - - - Add the specified HQL Query to the multi query, and associate it with the given key - - - - - - - - Add the specified HQL query to the multi query - - - - - Add a named query to the multi query - - - - - Add a named query to the multi query, and associate it with the given key - - - - - - - - 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 - - - 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 timeout for the underlying ADO query - - - - - - Bind a value to a named query parameter - - The name of the parameter - The possibly null parameter value - The NHibernate . - - - - 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 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 a named parameter - using an NHibernate . - - The name of the parameter - A non-null instance of a array. - - - - 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 name of the parameter - 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 . - - A non-null instance of a . - The name of the parameter - - - - 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 name of the parameter - A non-null instance of a . - - - - 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 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 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 name of the parameter - 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 name of the parameter - 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 name of the parameter - An 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 name of the parameter - A non-null 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. - - - - - Returns the result of one of the Criteria based on the key - - The key - - - - - 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) - - - - Retrieve a list of persistent objects using a Hibernate query - - - - - - - - - - - - - - - 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. - - - Is the entity considered dirty? - True if the entity is dirty; otherwise false. - - - Is the entity to which we are bound completely initialized? - - - 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 - - - - 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 - - - - - - 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 - - - - - 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. - - - - - - - - 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 used only by dialects that rearrange the query, unfortunately, - the MS SQL 2005 dialect have to re shuffle the query (and ruin positional parameter - support) because the SQL 2005 and 2008 SQL dialects have a completely broken - support for paging, which is just a tad less important than SELECT. - See NH-1528 - - - - - 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 - - - - 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. - - - - 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 - - - - - Implementors define a strategy for transforming criteria query - results into the actual application-visible query result list. - - - - - - - - - - - - - - - - - - - - - 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. - - - - - 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. - - - - - 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 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Summary description for CompositeCustomType. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 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 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 - - - - - - - - - - - - - - Maps a Property to a - - - - - - - - Maps the Year, Month, and Day of a Property to a - column - - - - - - - - - - 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. - - - - 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 - - - - Determine if any of the given field values are dirty, - returning an array containing indexes of - the dirty fields or null if no fields are dirty. - - - - - Determine if any of the given field values are modified, - returning an array containing indexes of - the dirty fields or null if no fields are modified. - - - - - - - - - - - - - - Apply the {@link Type#disassemble} 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. - - - - - 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. - - - - - - - - - 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. - - - - 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. - - - - - 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 . - - - - - Try to find a method in a serie of given types. - - The serie of types where find. - 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 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 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/NHibernate21/net/2.0/log4net.dll b/lib/NHibernate21/net/2.0/log4net.dll deleted file mode 100644 index ffc57e11..00000000 Binary files a/lib/NHibernate21/net/2.0/log4net.dll and /dev/null differ diff --git a/lib/NHibernate21/net/2.0/log4net.license.txt b/lib/NHibernate21/net/2.0/log4net.license.txt deleted file mode 100644 index 29f81d81..00000000 --- a/lib/NHibernate21/net/2.0/log4net.license.txt +++ /dev/null @@ -1,201 +0,0 @@ - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. diff --git a/lib/NHibernate21/net/2.0/log4net.xml b/lib/NHibernate21/net/2.0/log4net.xml deleted file mode 100644 index fab7af26..00000000 --- a/lib/NHibernate21/net/2.0/log4net.xml +++ /dev/null @@ -1,28655 +0,0 @@ - - - - log4net - - - - - Appender that logs to a database. - - - - appends logging events to a table within a - database. The appender can be configured to specify the connection - string by setting the property. - The connection type (provider) can be specified by setting the - property. For more information on database connection strings for - your specific database see http://www.connectionstrings.com/. - - - Records are written into the database either using a prepared - statement or a stored procedure. The property - is set to (System.Data.CommandType.Text) to specify a prepared statement - or to (System.Data.CommandType.StoredProcedure) to specify a stored - procedure. - - - The prepared statement text or the name of the stored procedure - must be set in the property. - - - The prepared statement or stored procedure can take a number - of parameters. Parameters are added using the - method. This adds a single to the - ordered list of parameters. The - type may be subclassed if required to provide database specific - functionality. The specifies - the parameter name, database type, size, and how the value should - be generated using a . - - - - An example of a SQL Server table that could be logged to: - - CREATE TABLE [dbo].[Log] ( - [ID] [int] IDENTITY (1, 1) NOT NULL , - [Date] [datetime] NOT NULL , - [Thread] [varchar] (255) NOT NULL , - [Level] [varchar] (20) NOT NULL , - [Logger] [varchar] (255) NOT NULL , - [Message] [varchar] (4000) NOT NULL - ) ON [PRIMARY] - - - - An example configuration to log to the above table: - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Julian Biddle - Nicko Cadell - Gert Driesen - Lance Nehring - - - - Abstract base class implementation of that - buffers events in a fixed size buffer. - - - - This base class should be used by appenders that need to buffer a - number of events before logging them. For example the - buffers events and then submits the entire contents of the buffer to - the underlying database in one go. - - - Subclasses should override the - method to deliver the buffered events. - - The BufferingAppenderSkeleton maintains a fixed size cyclic - buffer of events. The size of the buffer is set using - the property. - - A is used to inspect - each event as it arrives in the appender. If the - triggers, then the current buffer is sent immediately - (see ). Otherwise the event - is stored in the buffer. For example, an evaluator can be used to - deliver the events immediately when an ERROR event arrives. - - - The buffering appender can be configured in a mode. - By default the appender is NOT lossy. When the buffer is full all - the buffered events are sent with . - If the property is set to true then the - buffer will not be sent when it is full, and new events arriving - in the appender will overwrite the oldest event in the buffer. - In lossy mode the buffer will only be sent when the - triggers. This can be useful behavior when you need to know about - ERROR events but not about events with a lower level, configure an - evaluator that will trigger when an ERROR event arrives, the whole - buffer will be sent which gives a history of events leading up to - the ERROR event. - - - Nicko Cadell - Gert Driesen - - - - Abstract base class implementation of . - - - - This class provides the code for common functionality, such - as support for threshold filtering and support for general filters. - - - Appenders can also implement the interface. Therefore - they would require that the method - be called after the appenders properties have been configured. - - - Nicko Cadell - Gert Driesen - - - - Implement this interface for your own strategies for printing log statements. - - - - Implementors should consider extending the - class which provides a default implementation of this interface. - - - Appenders can also implement the interface. Therefore - they would require that the method - be called after the appenders properties have been configured. - - - Nicko Cadell - Gert Driesen - - - - Closes the appender and releases resources. - - - - Releases any resources allocated within the appender such as file handles, - network connections, etc. - - - It is a programming error to append to a closed appender. - - - - - - Log the logging event in Appender specific way. - - The event to log - - - This method is called to log a message into this appender. - - - - - - Gets or sets the name of this appender. - - The name of the appender. - - The name uniquely identifies the appender. - - - - - Interface for appenders that support bulk logging. - - - - This interface extends the interface to - support bulk logging of objects. Appenders - should only implement this interface if they can bulk log efficiently. - - - Nicko Cadell - - - - Log the array of logging events in Appender specific way. - - The events to log - - - This method is called to log an array of events into this appender. - - - - - - Interface used to delay activate a configured object. - - - - This allows an object to defer activation of its options until all - options have been set. This is required for components which have - related options that remain ambiguous until all are set. - - - If a component implements this interface then the method - must be called by the container after its all the configured properties have been set - and before the component can be used. - - - Nicko Cadell - - - - Activate the options that were previously set with calls to properties. - - - - This allows an object to defer activation of its options until all - options have been set. This is required for components which have - related options that remain ambiguous until all are set. - - - If a component implements this interface then this method must be called - after its properties have been set before the component can be used. - - - - - - Initial buffer size - - - - - Maximum buffer size before it is recycled - - - - - Default constructor - - - Empty default constructor - - - - - Finalizes this appender by calling the implementation's - method. - - - - If this appender has not been closed then the Finalize method - will call . - - - - - - Initialize the appender based on the options set - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - - - - Closes the appender and release resources. - - - - Release any resources allocated within the appender such as file handles, - network connections, etc. - - - It is a programming error to append to a closed appender. - - - This method cannot be overridden by subclasses. This method - delegates the closing of the appender to the - method which must be overridden in the subclass. - - - - - - Performs threshold checks and invokes filters before - delegating actual logging to the subclasses specific - method. - - The event to log. - - - This method cannot be overridden by derived classes. A - derived class should override the method - which is called by this method. - - - The implementation of this method is as follows: - - - - - - Checks that the severity of the - is greater than or equal to the of this - appender. - - - - Checks that the chain accepts the - . - - - - - Calls and checks that - it returns true. - - - - - If all of the above steps succeed then the - will be passed to the abstract method. - - - - - - Performs threshold checks and invokes filters before - delegating actual logging to the subclasses specific - method. - - The array of events to log. - - - This method cannot be overridden by derived classes. A - derived class should override the method - which is called by this method. - - - The implementation of this method is as follows: - - - - - - Checks that the severity of the - is greater than or equal to the of this - appender. - - - - Checks that the chain accepts the - . - - - - - Calls and checks that - it returns true. - - - - - If all of the above steps succeed then the - will be passed to the method. - - - - - - Test if the logging event should we output by this appender - - the event to test - true if the event should be output, false if the event should be ignored - - - This method checks the logging event against the threshold level set - on this appender and also against the filters specified on this - appender. - - - The implementation of this method is as follows: - - - - - - Checks that the severity of the - is greater than or equal to the of this - appender. - - - - Checks that the chain accepts the - . - - - - - - - - - Adds a filter to the end of the filter chain. - - the filter to add to this appender - - - The Filters are organized in a linked list. - - - Setting this property causes the new filter to be pushed onto the - back of the filter chain. - - - - - - Clears the filter list for this appender. - - - - Clears the filter list for this appender. - - - - - - Checks if the message level is below this appender's threshold. - - to test against. - - - If there is no threshold set, then the return value is always true. - - - - true if the meets the - requirements of this appender. - - - - - Is called when the appender is closed. Derived classes should override - this method if resources need to be released. - - - - Releases any resources allocated within the appender such as file handles, - network connections, etc. - - - It is a programming error to append to a closed appender. - - - - - - Subclasses of should implement this method - to perform actual logging. - - The event to append. - - - A subclass must implement this method to perform - logging of the . - - This method will be called by - if all the conditions listed for that method are met. - - - To restrict the logging of events in the appender - override the method. - - - - - - Append a bulk array of logging events. - - the array of logging events - - - This base class implementation calls the - method for each element in the bulk array. - - - A sub class that can better process a bulk array of events should - override this method in addition to . - - - - - - Called before as a precondition. - - - - This method is called by - before the call to the abstract method. - - - This method can be overridden in a subclass to extend the checks - made before the event is passed to the method. - - - A subclass should ensure that they delegate this call to - this base class if it is overridden. - - - true if the call to should proceed. - - - - Renders the to a string. - - The event to render. - The event rendered as a string. - - - Helper method to render a to - a string. This appender must have a - set to render the to - a string. - - If there is exception data in the logging event and - the layout does not process the exception, this method - will append the exception text to the rendered string. - - - Where possible use the alternative version of this method - . - That method streams the rendering onto an existing Writer - which can give better performance if the caller already has - a open and ready for writing. - - - - - - Renders the to a string. - - The event to render. - The TextWriter to write the formatted event to - - - Helper method to render a to - a string. This appender must have a - set to render the to - a string. - - If there is exception data in the logging event and - the layout does not process the exception, this method - will append the exception text to the rendered string. - - - Use this method in preference to - where possible. If, however, the caller needs to render the event - to a string then does - provide an efficient mechanism for doing so. - - - - - - The layout of this appender. - - - See for more information. - - - - - The name of this appender. - - - See for more information. - - - - - The level threshold of this appender. - - - - There is no level threshold filtering by default. - - - See for more information. - - - - - - It is assumed and enforced that errorHandler is never null. - - - - It is assumed and enforced that errorHandler is never null. - - - See for more information. - - - - - - The first filter in the filter chain. - - - - Set to null initially. - - - See for more information. - - - - - - The last filter in the filter chain. - - - See for more information. - - - - - Flag indicating if this appender is closed. - - - See for more information. - - - - - The guard prevents an appender from repeatedly calling its own DoAppend method - - - - - StringWriter used to render events - - - - - Gets or sets the threshold of this appender. - - - The threshold of the appender. - - - - All log events with lower level than the threshold level are ignored - by the appender. - - - In configuration files this option is specified by setting the - value of the option to a level - string, such as "DEBUG", "INFO" and so on. - - - - - - Gets or sets the for this appender. - - The of the appender - - - The provides a default - implementation for the property. - - - - - - The filter chain. - - The head of the filter chain filter chain. - - - Returns the head Filter. The Filters are organized in a linked list - and so all Filters on this Appender are available through the result. - - - - - - Gets or sets the for this appender. - - The layout of the appender. - - - See for more information. - - - - - - - Gets or sets the name of this appender. - - The name of the appender. - - - The name uniquely identifies the appender. - - - - - - Tests if this appender requires a to be set. - - - - In the rather exceptional case, where the appender - implementation admits a layout but can also work without it, - then the appender should return true. - - - This default implementation always returns true. - - - - true if the appender requires a layout object, otherwise false. - - - - - The default buffer size. - - - The default size of the cyclic buffer used to store events. - This is set to 512 by default. - - - - - Initializes a new instance of the class. - - - - Protected default constructor to allow subclassing. - - - - - - Initializes a new instance of the class. - - the events passed through this appender must be - fixed by the time that they arrive in the derived class' SendBuffer method. - - - Protected constructor to allow subclassing. - - - The should be set if the subclass - expects the events delivered to be fixed even if the - is set to zero, i.e. when no buffering occurs. - - - - - - Flush the currently buffered events - - - - Flushes any events that have been buffered. - - - If the appender is buffering in mode then the contents - of the buffer will NOT be flushed to the appender. - - - - - - Flush the currently buffered events - - set to true to flush the buffer of lossy events - - - Flushes events that have been buffered. If is - false then events will only be flushed if this buffer is non-lossy mode. - - - If the appender is buffering in mode then the contents - of the buffer will only be flushed if is true. - In this case the contents of the buffer will be tested against the - and if triggering will be output. All other buffered - events will be discarded. - - - If is true then the buffer will always - be emptied by calling this method. - - - - - - Initialize the appender based on the options set - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - - - - Close this appender instance. - - - - Close this appender instance. If this appender is marked - as not then the remaining events in - the buffer must be sent when the appender is closed. - - - - - - This method is called by the method. - - the event to log - - - Stores the in the cyclic buffer. - - - The buffer will be sent (i.e. passed to the - method) if one of the following conditions is met: - - - - The cyclic buffer is full and this appender is - marked as not lossy (see ) - - - An is set and - it is triggered for the - specified. - - - - Before the event is stored in the buffer it is fixed - (see ) to ensure that - any data referenced by the event will be valid when the buffer - is processed. - - - - - - Sends the contents of the buffer. - - The first logging event. - The buffer containing the events that need to be send. - - - The subclass must override . - - - - - - Sends the events. - - The events that need to be send. - - - The subclass must override this method to process the buffered events. - - - - - - The size of the cyclic buffer used to hold the logging events. - - - Set to by default. - - - - - The cyclic buffer used to store the logging events. - - - - - The triggering event evaluator that causes the buffer to be sent immediately. - - - The object that is used to determine if an event causes the entire - buffer to be sent immediately. This field can be null, which - indicates that event triggering is not to be done. The evaluator - can be set using the property. If this appender - has the ( property) set to - true then an must be set. - - - - - Indicates if the appender should overwrite events in the cyclic buffer - when it becomes full, or if the buffer should be flushed when the - buffer is full. - - - If this field is set to true then an must - be set. - - - - - The triggering event evaluator filters discarded events. - - - The object that is used to determine if an event that is discarded should - really be discarded or if it should be sent to the appenders. - This field can be null, which indicates that all discarded events will - be discarded. - - - - - Value indicating which fields in the event should be fixed - - - By default all fields are fixed - - - - - The events delivered to the subclass must be fixed. - - - - - Gets or sets a value that indicates whether the appender is lossy. - - - true if the appender is lossy, otherwise false. The default is false. - - - - This appender uses a buffer to store logging events before - delivering them. A triggering event causes the whole buffer - to be send to the remote sink. If the buffer overruns before - a triggering event then logging events could be lost. Set - to false to prevent logging events - from being lost. - - If is set to true then an - must be specified. - - - - - Gets or sets the size of the cyclic buffer used to hold the - logging events. - - - The size of the cyclic buffer used to hold the logging events. - - - - The option takes a positive integer - representing the maximum number of logging events to collect in - a cyclic buffer. When the is reached, - oldest events are deleted as new events are added to the - buffer. By default the size of the cyclic buffer is 512 events. - - - If the is set to a value less than - or equal to 1 then no buffering will occur. The logging event - will be delivered synchronously (depending on the - and properties). Otherwise the event will - be buffered. - - - - - - Gets or sets the that causes the - buffer to be sent immediately. - - - The that causes the buffer to be - sent immediately. - - - - The evaluator will be called for each event that is appended to this - appender. If the evaluator triggers then the current buffer will - immediately be sent (see ). - - If is set to true then an - must be specified. - - - - - Gets or sets the value of the to use. - - - The value of the to use. - - - - The evaluator will be called for each event that is discarded from this - appender. If the evaluator triggers then the current buffer will immediately - be sent (see ). - - - - - - Gets or sets a value indicating if only part of the logging event data - should be fixed. - - - true if the appender should only fix part of the logging event - data, otherwise false. The default is false. - - - - Setting this property to true will cause only part of the - event data to be fixed and serialized. This will improve performance. - - - See for more information. - - - - - - Gets or sets a the fields that will be fixed in the event - - - The event fields that will be fixed before the event is buffered - - - - The logging event needs to have certain thread specific values - captured before it can be buffered. See - for details. - - - - - - - Initializes a new instance of the class. - - - Public default constructor to initialize a new instance of this class. - - - - - Initialize the appender based on the options set - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - - - - Override the parent method to close the database - - - - Closes the database command and database connection. - - - - - - Inserts the events into the database. - - The events to insert into the database. - - - Insert all the events specified in the - array into the database. - - - - - - Adds a parameter to the command. - - The parameter to add to the command. - - - Adds a parameter to the ordered list of command parameters. - - - - - - Writes the events to the database using the transaction specified. - - The transaction that the events will be executed under. - The array of events to insert into the database. - - - The transaction argument can be null if the appender has been - configured not to use transactions. See - property for more information. - - - - - - Formats the log message into database statement text. - - The event being logged. - - This method can be overridden by subclasses to provide - more control over the format of the database statement. - - - Text that can be passed to a . - - - - - Connects to the database. - - - - - Retrieves the class type of the ADO.NET provider. - - - - Gets the Type of the ADO.NET provider to use to connect to the - database. This method resolves the type specified in the - property. - - - Subclasses can override this method to return a different type - if necessary. - - - The of the ADO.NET provider - - - - Prepares the database command and initialize the parameters. - - - - - Flag to indicate if we are using a command object - - - - Set to true when the appender is to use a prepared - statement or stored procedure to insert into the database. - - - - - - The list of objects. - - - - The list of objects. - - - - - - The security context to use for privileged calls - - - - - The that will be used - to insert logging events into a database. - - - - - The database command. - - - - - Database connection string. - - - - - String type name of the type name. - - - - - The text of the command. - - - - - The command type. - - - - - Indicates whether to use transactions when writing to the database. - - - - - Indicates whether to use transactions when writing to the database. - - - - - Gets or sets the database connection string that is used to connect to - the database. - - - The database connection string used to connect to the database. - - - - The connections string is specific to the connection type. - See for more information. - - - Connection string for MS Access via ODBC: - "DSN=MS Access Database;UID=admin;PWD=;SystemDB=C:\data\System.mdw;SafeTransactions = 0;FIL=MS Access;DriverID = 25;DBQ=C:\data\train33.mdb" - - Another connection string for MS Access via ODBC: - "Driver={Microsoft Access Driver (*.mdb)};DBQ=C:\Work\cvs_root\log4net-1.2\access.mdb;UID=;PWD=;" - - Connection string for MS Access via OLE DB: - "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Work\cvs_root\log4net-1.2\access.mdb;User Id=;Password=;" - - - - - Gets or sets the type name of the connection - that should be created. - - - The type name of the connection. - - - - The type name of the ADO.NET provider to use. - - - The default is to use the OLE DB provider. - - - Use the OLE DB Provider. This is the default value. - System.Data.OleDb.OleDbConnection, System.Data, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - Use the MS SQL Server Provider. - System.Data.SqlClient.SqlConnection, System.Data, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - Use the ODBC Provider. - Microsoft.Data.Odbc.OdbcConnection,Microsoft.Data.Odbc,version=1.0.3300.0,publicKeyToken=b77a5c561934e089,culture=neutral - This is an optional package that you can download from - http://msdn.microsoft.com/downloads - search for ODBC .NET Data Provider. - - Use the Oracle Provider. - System.Data.OracleClient.OracleConnection, System.Data.OracleClient, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - This is an optional package that you can download from - http://msdn.microsoft.com/downloads - search for .NET Managed Provider for Oracle. - - - - - Gets or sets the command text that is used to insert logging events - into the database. - - - The command text used to insert logging events into the database. - - - - Either the text of the prepared statement or the - name of the stored procedure to execute to write into - the database. - - - The property determines if - this text is a prepared statement or a stored procedure. - - - - - - Gets or sets the command type to execute. - - - The command type to execute. - - - - This value may be either (System.Data.CommandType.Text) to specify - that the is a prepared statement to execute, - or (System.Data.CommandType.StoredProcedure) to specify that the - property is the name of a stored procedure - to execute. - - - The default value is (System.Data.CommandType.Text). - - - - - - Should transactions be used to insert logging events in the database. - - - true if transactions should be used to insert logging events in - the database, otherwise false. The default value is true. - - - - Gets or sets a value that indicates whether transactions should be used - to insert logging events in the database. - - - When set a single transaction will be used to insert the buffered events - into the database. Otherwise each event will be inserted without using - an explicit transaction. - - - - - - Gets or sets the used to call the NetSend method. - - - The used to call the NetSend method. - - - - Unless a specified here for this appender - the is queried for the - security context to use. The default behavior is to use the security context - of the current thread. - - - - - - Should this appender try to reconnect to the database on error. - - - true if the appender should try to reconnect to the database after an - error has occurred, otherwise false. The default value is false, - i.e. not to try to reconnect. - - - - The default behaviour is for the appender not to try to reconnect to the - database if an error occurs. Subsequent logging events are discarded. - - - To force the appender to attempt to reconnect to the database set this - property to true. - - - When the appender attempts to connect to the database there may be a - delay of up to the connection timeout specified in the connection string. - This delay will block the calling application's thread. - Until the connection can be reestablished this potential delay may occur multiple times. - - - - - - Gets or sets the underlying . - - - The underlying . - - - creates a to insert - logging events into a database. Classes deriving from - can use this property to get or set this . Use the - underlying returned from if - you require access beyond that which provides. - - - - - Parameter type used by the . - - - - This class provides the basic database parameter properties - as defined by the interface. - - This type can be subclassed to provide database specific - functionality. The two methods that are called externally are - and . - - - - - - Initializes a new instance of the class. - - - Default constructor for the AdoNetAppenderParameter class. - - - - - Prepare the specified database command object. - - The command to prepare. - - - Prepares the database command object by adding - this parameter to its collection of parameters. - - - - - - Renders the logging event and set the parameter value in the command. - - The command containing the parameter. - The event to be rendered. - - - Renders the logging event using this parameters layout - object. Sets the value of the parameter on the command object. - - - - - - The name of this parameter. - - - - - The database type for this parameter. - - - - - Flag to infer type rather than use the DbType - - - - - The precision for this parameter. - - - - - The scale for this parameter. - - - - - The size for this parameter. - - - - - The to use to render the - logging event into an object for this parameter. - - - - - Gets or sets the name of this parameter. - - - The name of this parameter. - - - - The name of this parameter. The parameter name - must match up to a named parameter to the SQL stored procedure - or prepared statement. - - - - - - Gets or sets the database type for this parameter. - - - The database type for this parameter. - - - - The database type for this parameter. This property should - be set to the database type from the - enumeration. See . - - - This property is optional. If not specified the ADO.NET provider - will attempt to infer the type from the value. - - - - - - - Gets or sets the precision for this parameter. - - - The precision for this parameter. - - - - The maximum number of digits used to represent the Value. - - - This property is optional. If not specified the ADO.NET provider - will attempt to infer the precision from the value. - - - - - - - Gets or sets the scale for this parameter. - - - The scale for this parameter. - - - - The number of decimal places to which Value is resolved. - - - This property is optional. If not specified the ADO.NET provider - will attempt to infer the scale from the value. - - - - - - - Gets or sets the size for this parameter. - - - The size for this parameter. - - - - The maximum size, in bytes, of the data within the column. - - - This property is optional. If not specified the ADO.NET provider - will attempt to infer the size from the value. - - - - - - - Gets or sets the to use to - render the logging event into an object for this - parameter. - - - The used to render the - logging event into an object for this parameter. - - - - The that renders the value for this - parameter. - - - The can be used to adapt - any into a - for use in the property. - - - - - - Appends logging events to the terminal using ANSI color escape sequences. - - - - AnsiColorTerminalAppender appends log events to the standard output stream - or the error output stream using a layout specified by the - user. It also allows the color of a specific level of message to be set. - - - This appender expects the terminal to understand the VT100 control set - in order to interpret the color codes. If the terminal or console does not - understand the control codes the behavior is not defined. - - - By default, all output is written to the console's standard output stream. - The property can be set to direct the output to the - error stream. - - - NOTE: This appender writes each message to the System.Console.Out or - System.Console.Error that is set at the time the event is appended. - Therefore it is possible to programmatically redirect the output of this appender - (for example NUnit does this to capture program output). While this is the desired - behavior of this appender it may have security implications in your application. - - - When configuring the ANSI colored terminal appender, a mapping should be - specified to map a logging level to a color. For example: - - - - - - - - - - - - - - - The Level is the standard log4net logging level and ForeColor and BackColor can be any - of the following values: - - Blue - Green - Red - White - Yellow - Purple - Cyan - - These color values cannot be combined together to make new colors. - - - The attributes can be any combination of the following: - - Brightforeground is brighter - Dimforeground is dimmer - Underscoremessage is underlined - Blinkforeground is blinking (does not work on all terminals) - Reverseforeground and background are reversed - Hiddenoutput is hidden - Strikethroughmessage has a line through it - - While any of these attributes may be combined together not all combinations - work well together, for example setting both Bright and Dim attributes makes - no sense. - - - Patrick Wagstrom - Nicko Cadell - - - - The to use when writing to the Console - standard output stream. - - - - The to use when writing to the Console - standard output stream. - - - - - - The to use when writing to the Console - standard error output stream. - - - - The to use when writing to the Console - standard error output stream. - - - - - - Ansi code to reset terminal - - - - - Initializes a new instance of the class. - - - The instance of the class is set up to write - to the standard output stream. - - - - - Add a mapping of level to color - - The mapping to add - - - Add a mapping to this appender. - Each mapping defines the foreground and background colours - for a level. - - - - - - This method is called by the method. - - The event to log. - - - Writes the event to the console. - - - The format of the output will depend on the appender's layout. - - - - - - Initialize the options for this appender - - - - Initialize the level to color mappings set on this appender. - - - - - - Flag to write output to the error stream rather than the standard output stream - - - - - Mapping from level object to color value - - - - - Target is the value of the console output stream. - - - Target is the value of the console output stream. - This is either "Console.Out" or "Console.Error". - - - - Target is the value of the console output stream. - This is either "Console.Out" or "Console.Error". - - - - - - This appender requires a to be set. - - true - - - This appender requires a to be set. - - - - - - The enum of possible display attributes - - - - The following flags can be combined together to - form the ANSI color attributes. - - - - - - - text is bright - - - - - text is dim - - - - - text is underlined - - - - - text is blinking - - - Not all terminals support this attribute - - - - - text and background colors are reversed - - - - - text is hidden - - - - - text is displayed with a strikethrough - - - - - The enum of possible foreground or background color values for - use with the color mapping method - - - - The output can be in one for the following ANSI colors. - - - - - - - color is black - - - - - color is red - - - - - color is green - - - - - color is yellow - - - - - color is blue - - - - - color is magenta - - - - - color is cyan - - - - - color is white - - - - - A class to act as a mapping between the level that a logging call is made at and - the color it should be displayed as. - - - - Defines the mapping between a level and the color it should be displayed in. - - - - - - An entry in the - - - - This is an abstract base class for types that are stored in the - object. - - - Nicko Cadell - - - - Default protected constructor - - - - Default protected constructor - - - - - - Initialize any options defined on this entry - - - - Should be overridden by any classes that need to initialise based on their options - - - - - - The level that is the key for this mapping - - - The that is the key for this mapping - - - - Get or set the that is the key for this - mapping subclass. - - - - - - Initialize the options for the object - - - - Combine the and together - and append the attributes. - - - - - - The mapped foreground color for the specified level - - - - Required property. - The mapped foreground color for the specified level - - - - - - The mapped background color for the specified level - - - - Required property. - The mapped background color for the specified level - - - - - - The color attributes for the specified level - - - - Required property. - The color attributes for the specified level - - - - - - The combined , and - suitable for setting the ansi terminal color. - - - - - A strongly-typed collection of objects. - - Nicko Cadell - - - - Creates a read-only wrapper for a AppenderCollection instance. - - list to create a readonly wrapper arround - - An AppenderCollection wrapper that is read-only. - - - - - An empty readonly static AppenderCollection - - - - - Initializes a new instance of the AppenderCollection class - that is empty and has the default initial capacity. - - - - - Initializes a new instance of the AppenderCollection class - that has the specified initial capacity. - - - The number of elements that the new AppenderCollection is initially capable of storing. - - - - - Initializes a new instance of the AppenderCollection class - that contains elements copied from the specified AppenderCollection. - - The AppenderCollection whose elements are copied to the new collection. - - - - Initializes a new instance of the AppenderCollection class - that contains elements copied from the specified array. - - The array whose elements are copied to the new list. - - - - Initializes a new instance of the AppenderCollection class - that contains elements copied from the specified collection. - - The collection whose elements are copied to the new list. - - - - Allow subclasses to avoid our default constructors - - - - - - - Copies the entire AppenderCollection to a one-dimensional - array. - - The one-dimensional array to copy to. - - - - Copies the entire AppenderCollection to a one-dimensional - array, starting at the specified index of the target array. - - The one-dimensional array to copy to. - The zero-based index in at which copying begins. - - - - Adds a to the end of the AppenderCollection. - - The to be added to the end of the AppenderCollection. - The index at which the value has been added. - - - - Removes all elements from the AppenderCollection. - - - - - Creates a shallow copy of the . - - A new with a shallow copy of the collection data. - - - - Determines whether a given is in the AppenderCollection. - - The to check for. - true if is found in the AppenderCollection; otherwise, false. - - - - Returns the zero-based index of the first occurrence of a - in the AppenderCollection. - - The to locate in the AppenderCollection. - - The zero-based index of the first occurrence of - in the entire AppenderCollection, if found; otherwise, -1. - - - - - Inserts an element into the AppenderCollection at the specified index. - - The zero-based index at which should be inserted. - The to insert. - - is less than zero - -or- - is equal to or greater than . - - - - - Removes the first occurrence of a specific from the AppenderCollection. - - The to remove from the AppenderCollection. - - The specified was not found in the AppenderCollection. - - - - - Removes the element at the specified index of the AppenderCollection. - - The zero-based index of the element to remove. - - is less than zero - -or- - is equal to or greater than . - - - - - Returns an enumerator that can iterate through the AppenderCollection. - - An for the entire AppenderCollection. - - - - Adds the elements of another AppenderCollection to the current AppenderCollection. - - The AppenderCollection whose elements should be added to the end of the current AppenderCollection. - The new of the AppenderCollection. - - - - Adds the elements of a array to the current AppenderCollection. - - The array whose elements should be added to the end of the AppenderCollection. - The new of the AppenderCollection. - - - - Adds the elements of a collection to the current AppenderCollection. - - The collection whose elements should be added to the end of the AppenderCollection. - The new of the AppenderCollection. - - - - Sets the capacity to the actual number of elements. - - - - - Return the collection elements as an array - - the array - - - - is less than zero - -or- - is equal to or greater than . - - - - - is less than zero - -or- - is equal to or greater than . - - - - - Gets the number of elements actually contained in the AppenderCollection. - - - - - Gets a value indicating whether access to the collection is synchronized (thread-safe). - - true if access to the ICollection is synchronized (thread-safe); otherwise, false. - - - - Gets an object that can be used to synchronize access to the collection. - - - - - Gets or sets the at the specified index. - - The zero-based index of the element to get or set. - - is less than zero - -or- - is equal to or greater than . - - - - - Gets a value indicating whether the collection has a fixed size. - - true if the collection has a fixed size; otherwise, false. The default is false - - - - Gets a value indicating whether the IList is read-only. - - true if the collection is read-only; otherwise, false. The default is false - - - - Gets or sets the number of elements the AppenderCollection can contain. - - - - - Supports type-safe iteration over a . - - - - - - Advances the enumerator to the next element in the collection. - - - true if the enumerator was successfully advanced to the next element; - false if the enumerator has passed the end of the collection. - - - The collection was modified after the enumerator was created. - - - - - Sets the enumerator to its initial position, before the first element in the collection. - - - - - Gets the current element in the collection. - - - - - Type visible only to our subclasses - Used to access protected constructor - - - - - - A value - - - - - Supports simple iteration over a . - - - - - - Initializes a new instance of the Enumerator class. - - - - - - Advances the enumerator to the next element in the collection. - - - true if the enumerator was successfully advanced to the next element; - false if the enumerator has passed the end of the collection. - - - The collection was modified after the enumerator was created. - - - - - Sets the enumerator to its initial position, before the first element in the collection. - - - - - Gets the current element in the collection. - - - - - - - - - Appends log events to the ASP.NET system. - - - - - Diagnostic information and tracing messages that you specify are appended to the output - of the page that is sent to the requesting browser. Optionally, you can view this information - from a separate trace viewer (Trace.axd) that displays trace information for every page in a - given application. - - - Trace statements are processed and displayed only when tracing is enabled. You can control - whether tracing is displayed to a page, to the trace viewer, or both. - - - The logging event is passed to the or - method depending on the level of the logging event. - - - Nicko Cadell - Gert Driesen - - - - Initializes a new instance of the class. - - - - Default constructor. - - - - - - Write the logging event to the ASP.NET trace - - the event to log - - - Write the logging event to the ASP.NET trace - HttpContext.Current.Trace - (). - - - - - - This appender requires a to be set. - - true - - - This appender requires a to be set. - - - - - - Buffers events and then forwards them to attached appenders. - - - - The events are buffered in this appender until conditions are - met to allow the appender to deliver the events to the attached - appenders. See for the - conditions that cause the buffer to be sent. - - The forwarding appender can be used to specify different - thresholds and filters for the same appender at different locations - within the hierarchy. - - - Nicko Cadell - Gert Driesen - - - - Interface for attaching appenders to objects. - - - - Interface for attaching, removing and retrieving appenders. - - - Nicko Cadell - Gert Driesen - - - - Attaches an appender. - - The appender to add. - - - Add the specified appender. The implementation may - choose to allow or deny duplicate appenders. - - - - - - Gets an attached appender with the specified name. - - The name of the appender to get. - - The appender with the name specified, or null if no appender with the - specified name is found. - - - - Returns an attached appender with the specified. - If no appender with the specified name is found null will be - returned. - - - - - - Removes all attached appenders. - - - - Removes and closes all attached appenders - - - - - - Removes the specified appender from the list of attached appenders. - - The appender to remove. - The appender removed from the list - - - The appender removed is not closed. - If you are discarding the appender you must call - on the appender removed. - - - - - - Removes the appender with the specified name from the list of appenders. - - The name of the appender to remove. - The appender removed from the list - - - The appender removed is not closed. - If you are discarding the appender you must call - on the appender removed. - - - - - - Gets all attached appenders. - - - A collection of attached appenders. - - - - Gets a collection of attached appenders. - If there are no attached appenders the - implementation should return an empty - collection rather than null. - - - - - - Initializes a new instance of the class. - - - - Default constructor. - - - - - - Closes the appender and releases resources. - - - - Releases any resources allocated within the appender such as file handles, - network connections, etc. - - - It is a programming error to append to a closed appender. - - - - - - Send the events. - - The events that need to be send. - - - Forwards the events to the attached appenders. - - - - - - Adds an to the list of appenders of this - instance. - - The to add to this appender. - - - If the specified is already in the list of - appenders, then it won't be added again. - - - - - - Looks for the appender with the specified name. - - The name of the appender to lookup. - - The appender with the specified name, or null. - - - - Get the named appender attached to this buffering appender. - - - - - - Removes all previously added appenders from this appender. - - - - This is useful when re-reading configuration information. - - - - - - Removes the specified appender from the list of appenders. - - The appender to remove. - The appender removed from the list - - The appender removed is not closed. - If you are discarding the appender you must call - on the appender removed. - - - - - Removes the appender with the specified name from the list of appenders. - - The name of the appender to remove. - The appender removed from the list - - The appender removed is not closed. - If you are discarding the appender you must call - on the appender removed. - - - - - Implementation of the interface - - - - - Gets the appenders contained in this appender as an - . - - - If no appenders can be found, then an - is returned. - - - A collection of the appenders in this appender. - - - - - Appends logging events to the console. - - - - ColoredConsoleAppender appends log events to the standard output stream - or the error output stream using a layout specified by the - user. It also allows the color of a specific type of message to be set. - - - By default, all output is written to the console's standard output stream. - The property can be set to direct the output to the - error stream. - - - NOTE: This appender writes directly to the application's attached console - not to the System.Console.Out or System.Console.Error TextWriter. - The System.Console.Out and System.Console.Error streams can be - programmatically redirected (for example NUnit does this to capture program output). - This appender will ignore these redirections because it needs to use Win32 - API calls to colorize the output. To respect these redirections the - must be used. - - - When configuring the colored console appender, mapping should be - specified to map a logging level to a color. For example: - - - - - - - - - - - - - - The Level is the standard log4net logging level and ForeColor and BackColor can be any - combination of the following values: - - Blue - Green - Red - White - Yellow - Purple - Cyan - HighIntensity - - - - Rick Hobbs - Nicko Cadell - - - - The to use when writing to the Console - standard output stream. - - - - The to use when writing to the Console - standard output stream. - - - - - - The to use when writing to the Console - standard error output stream. - - - - The to use when writing to the Console - standard error output stream. - - - - - - Initializes a new instance of the class. - - - The instance of the class is set up to write - to the standard output stream. - - - - - Initializes a new instance of the class - with the specified layout. - - the layout to use for this appender - - The instance of the class is set up to write - to the standard output stream. - - - - - Initializes a new instance of the class - with the specified layout. - - the layout to use for this appender - flag set to true to write to the console error stream - - When is set to true, output is written to - the standard error output stream. Otherwise, output is written to the standard - output stream. - - - - - Add a mapping of level to color - done by the config file - - The mapping to add - - - Add a mapping to this appender. - Each mapping defines the foreground and background colors - for a level. - - - - - - This method is called by the method. - - The event to log. - - - Writes the event to the console. - - - The format of the output will depend on the appender's layout. - - - - - - Initialize the options for this appender - - - - Initialize the level to color mappings set on this appender. - - - - - - Flag to write output to the error stream rather than the standard output stream - - - - - Mapping from level object to color value - - - - - The console output stream writer to write to - - - - This writer is not thread safe. - - - - - - Target is the value of the console output stream. - This is either "Console.Out" or "Console.Error". - - - Target is the value of the console output stream. - This is either "Console.Out" or "Console.Error". - - - - Target is the value of the console output stream. - This is either "Console.Out" or "Console.Error". - - - - - - This appender requires a to be set. - - true - - - This appender requires a to be set. - - - - - - The enum of possible color values for use with the color mapping method - - - - The following flags can be combined together to - form the colors. - - - - - - - color is blue - - - - - color is green - - - - - color is red - - - - - color is white - - - - - color is yellow - - - - - color is purple - - - - - color is cyan - - - - - color is intensified - - - - - A class to act as a mapping between the level that a logging call is made at and - the color it should be displayed as. - - - - Defines the mapping between a level and the color it should be displayed in. - - - - - - Initialize the options for the object - - - - Combine the and together. - - - - - - The mapped foreground color for the specified level - - - - Required property. - The mapped foreground color for the specified level. - - - - - - The mapped background color for the specified level - - - - Required property. - The mapped background color for the specified level. - - - - - - The combined and suitable for - setting the console color. - - - - - Appends logging events to the console. - - - - ConsoleAppender appends log events to the standard output stream - or the error output stream using a layout specified by the - user. - - - By default, all output is written to the console's standard output stream. - The property can be set to direct the output to the - error stream. - - - NOTE: This appender writes each message to the System.Console.Out or - System.Console.Error that is set at the time the event is appended. - Therefore it is possible to programmatically redirect the output of this appender - (for example NUnit does this to capture program output). While this is the desired - behavior of this appender it may have security implications in your application. - - - Nicko Cadell - Gert Driesen - - - - The to use when writing to the Console - standard output stream. - - - - The to use when writing to the Console - standard output stream. - - - - - - The to use when writing to the Console - standard error output stream. - - - - The to use when writing to the Console - standard error output stream. - - - - - - Initializes a new instance of the class. - - - The instance of the class is set up to write - to the standard output stream. - - - - - Initializes a new instance of the class - with the specified layout. - - the layout to use for this appender - - The instance of the class is set up to write - to the standard output stream. - - - - - Initializes a new instance of the class - with the specified layout. - - the layout to use for this appender - flag set to true to write to the console error stream - - When is set to true, output is written to - the standard error output stream. Otherwise, output is written to the standard - output stream. - - - - - This method is called by the method. - - The event to log. - - - Writes the event to the console. - - - The format of the output will depend on the appender's layout. - - - - - - Target is the value of the console output stream. - This is either "Console.Out" or "Console.Error". - - - Target is the value of the console output stream. - This is either "Console.Out" or "Console.Error". - - - - Target is the value of the console output stream. - This is either "Console.Out" or "Console.Error". - - - - - - This appender requires a to be set. - - true - - - This appender requires a to be set. - - - - - - Appends log events to the system. - - - - The application configuration file can be used to control what listeners - are actually used. See the MSDN documentation for the - class for details on configuring the - debug system. - - - Events are written using the - method. The event's logger name is passed as the value for the category name to the Write method. - - - Nicko Cadell - - - - Initializes a new instance of the . - - - - Default constructor. - - - - - - Initializes a new instance of the - with a specified layout. - - The layout to use with this appender. - - - Obsolete constructor. - - - - - - Writes the logging event to the system. - - The event to log. - - - Writes the logging event to the system. - If is true then the - is called. - - - - - - Immediate flush means that the underlying writer or output stream - will be flushed at the end of each append operation. - - - - Immediate flush is slower but ensures that each append request is - actually written. If is set to - false, then there is a good chance that the last few - logs events are not actually written to persistent media if and - when the application crashes. - - - The default value is true. - - - - - Gets or sets a value that indicates whether the appender will - flush at the end of each write. - - - The default behavior is to flush at the end of each - write. If the option is set tofalse, then the underlying - stream can defer writing to physical medium to a later time. - - - Avoiding the flush operation at the end of each append results - in a performance gain of 10 to 20 percent. However, there is safety - trade-off involved in skipping flushing. Indeed, when flushing is - skipped, then it is likely that the last few log events will not - be recorded on disk when the application exits. This is a high - price to pay even for a 20% performance gain. - - - - - - This appender requires a to be set. - - true - - - This appender requires a to be set. - - - - - - Writes events to the system event log. - - - - The EventID of the event log entry can be - set using the EventLogEventID property () - on the . - - - There is a limit of 32K characters for an event log message - - - When configuring the EventLogAppender a mapping can be - specified to map a logging level to an event log entry type. For example: - - - <mapping> - <level value="ERROR" /> - <eventLogEntryType value="Error" /> - </mapping> - <mapping> - <level value="DEBUG" /> - <eventLogEntryType value="Information" /> - </mapping> - - - The Level is the standard log4net logging level and eventLogEntryType can be any value - from the enum, i.e.: - - Erroran error event - Warninga warning event - Informationan informational event - - - - Aspi Havewala - Douglas de la Torre - Nicko Cadell - Gert Driesen - Thomas Voss - - - - Initializes a new instance of the class. - - - - Default constructor. - - - - - - Initializes a new instance of the class - with the specified . - - The to use with this appender. - - - Obsolete constructor. - - - - - - Add a mapping of level to - done by the config file - - The mapping to add - - - Add a mapping to this appender. - Each mapping defines the event log entry type for a level. - - - - - - Initialize the appender based on the options set - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - - - - Create an event log source - - - Uses different API calls under NET_2_0 - - - - - This method is called by the - method. - - the event to log - - Writes the event to the system event log using the - . - - If the event has an EventID property (see ) - set then this integer will be used as the event log event id. - - - There is a limit of 32K characters for an event log message - - - - - - Get the equivalent for a - - the Level to convert to an EventLogEntryType - The equivalent for a - - Because there are fewer applicable - values to use in logging levels than there are in the - this is a one way mapping. There is - a loss of information during the conversion. - - - - - The log name is the section in the event logs where the messages - are stored. - - - - - Name of the application to use when logging. This appears in the - application column of the event log named by . - - - - - The name of the machine which holds the event log. This is - currently only allowed to be '.' i.e. the current machine. - - - - - Mapping from level object to EventLogEntryType - - - - - The security context to use for privileged calls - - - - - The name of the log where messages will be stored. - - - The string name of the log where messages will be stored. - - - This is the name of the log as it appears in the Event Viewer - tree. The default value is to log into the Application - log, this is where most applications write their events. However - if you need a separate log for your application (or applications) - then you should set the appropriately. - This should not be used to distinguish your event log messages - from those of other applications, the - property should be used to distinguish events. This property should be - used to group together events into a single log. - - - - - - Property used to set the Application name. This appears in the - event logs when logging. - - - The string used to distinguish events from different sources. - - - Sets the event log source property. - - - - - This property is used to return the name of the computer to use - when accessing the event logs. Currently, this is the current - computer, denoted by a dot "." - - - The string name of the machine holding the event log that - will be logged into. - - - This property cannot be changed. It is currently set to '.' - i.e. the local machine. This may be changed in future. - - - - - Gets or sets the used to write to the EventLog. - - - The used to write to the EventLog. - - - - The system security context used to write to the EventLog. - - - Unless a specified here for this appender - the is queried for the - security context to use. The default behavior is to use the security context - of the current thread. - - - - - - This appender requires a to be set. - - true - - - This appender requires a to be set. - - - - - - A class to act as a mapping between the level that a logging call is made at and - the color it should be displayed as. - - - - Defines the mapping between a level and its event log entry type. - - - - - - The for this entry - - - - Required property. - The for this entry - - - - - - Appends logging events to a file. - - - - Logging events are sent to the file specified by - the property. - - - The file can be opened in either append or overwrite mode - by specifying the property. - If the file path is relative it is taken as relative from - the application base directory. The file encoding can be - specified by setting the property. - - - The layout's and - values will be written each time the file is opened and closed - respectively. If the property is - then the file may contain multiple copies of the header and footer. - - - This appender will first try to open the file for writing when - is called. This will typically be during configuration. - If the file cannot be opened for writing the appender will attempt - to open the file again each time a message is logged to the appender. - If the file cannot be opened for writing when a message is logged then - the message will be discarded by this appender. - - - The supports pluggable file locking models via - the property. - The default behavior, implemented by - is to obtain an exclusive write lock on the file until this appender is closed. - The alternative model, , only holds a - write lock while the appender is writing a logging event. - - - Nicko Cadell - Gert Driesen - Rodrigo B. de Oliveira - Douglas de la Torre - Niall Daley - - - - Sends logging events to a . - - - - An Appender that writes to a . - - - This appender may be used stand alone if initialized with an appropriate - writer, however it is typically used as a base class for an appender that - can open a to write to. - - - Nicko Cadell - Gert Driesen - Douglas de la Torre - - - - Initializes a new instance of the class. - - - - Default constructor. - - - - - - Initializes a new instance of the class and - sets the output destination to a new initialized - with the specified . - - The layout to use with this appender. - The to output to. - - - Obsolete constructor. - - - - - - Initializes a new instance of the class and sets - the output destination to the specified . - - The layout to use with this appender - The to output to - - The must have been previously opened. - - - - Obsolete constructor. - - - - - - This method determines if there is a sense in attempting to append. - - - - This method checked if an output target has been set and if a - layout has been set. - - - false if any of the preconditions fail. - - - - This method is called by the - method. - - The event to log. - - - Writes a log statement to the output stream if the output stream exists - and is writable. - - - The format of the output will depend on the appender's layout. - - - - - - This method is called by the - method. - - The array of events to log. - - - This method writes all the bulk logged events to the output writer - before flushing the stream. - - - - - - Close this appender instance. The underlying stream or writer is also closed. - - - Closed appenders cannot be reused. - - - - - Writes the footer and closes the underlying . - - - - Writes the footer and closes the underlying . - - - - - - Closes the underlying . - - - - Closes the underlying . - - - - - - Clears internal references to the underlying - and other variables. - - - - Subclasses can override this method for an alternate closing behavior. - - - - - - Writes a footer as produced by the embedded layout's property. - - - - Writes a footer as produced by the embedded layout's property. - - - - - - Writes a header produced by the embedded layout's property. - - - - Writes a header produced by the embedded layout's property. - - - - - - Called to allow a subclass to lazily initialize the writer - - - - This method is called when an event is logged and the or - have not been set. This allows a subclass to - attempt to initialize the writer multiple times. - - - - - - This is the where logging events - will be written to. - - - - - Immediate flush means that the underlying - or output stream will be flushed at the end of each append operation. - - - - Immediate flush is slower but ensures that each append request is - actually written. If is set to - false, then there is a good chance that the last few - logging events are not actually persisted if and when the application - crashes. - - - The default value is true. - - - - - - Gets or set whether the appender will flush at the end - of each append operation. - - - - The default behavior is to flush at the end of each - append operation. - - - If this option is set to false, then the underlying - stream can defer persisting the logging event to a later - time. - - - - Avoiding the flush operation at the end of each append results in - a performance gain of 10 to 20 percent. However, there is safety - trade-off involved in skipping flushing. Indeed, when flushing is - skipped, then it is likely that the last few log events will not - be recorded on disk when the application exits. This is a high - price to pay even for a 20% performance gain. - - - - - Sets the where the log output will go. - - - - The specified must be open and writable. - - - The will be closed when the appender - instance is closed. - - - Note: Logging to an unopened will fail. - - - - - - Gets or set the and the underlying - , if any, for this appender. - - - The for this appender. - - - - - This appender requires a to be set. - - true - - - This appender requires a to be set. - - - - - - Gets or sets the where logging events - will be written to. - - - The where logging events are written. - - - - This is the where logging events - will be written to. - - - - - - Default constructor - - - - Default constructor - - - - - - Construct a new appender using the layout, file and append mode. - - the layout to use with this appender - the full path to the file to write to - flag to indicate if the file should be appended to - - - Obsolete constructor. - - - - - - Construct a new appender using the layout and file specified. - The file will be appended to. - - the layout to use with this appender - the full path to the file to write to - - - Obsolete constructor. - - - - - - Activate the options on the file appender. - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - This will cause the file to be opened. - - - - - - Closes any previously opened file and calls the parent's . - - - - Resets the filename and the file stream. - - - - - - Called to initialize the file writer - - - - Will be called for each logged message until the file is - successfully opened. - - - - - - This method is called by the - method. - - The event to log. - - - Writes a log statement to the output stream if the output stream exists - and is writable. - - - The format of the output will depend on the appender's layout. - - - - - - This method is called by the - method. - - The array of events to log. - - - Acquires the output file locks once before writing all the events to - the stream. - - - - - - Writes a footer as produced by the embedded layout's property. - - - - Writes a footer as produced by the embedded layout's property. - - - - - - Writes a header produced by the embedded layout's property. - - - - Writes a header produced by the embedded layout's property. - - - - - - Closes the underlying . - - - - Closes the underlying . - - - - - - Closes the previously opened file. - - - - Writes the to the file and then - closes the file. - - - - - - Sets and opens the file where the log output will go. The specified file must be writable. - - The path to the log file. Must be a fully qualified path. - If true will append to fileName. Otherwise will truncate fileName - - - Calls but guarantees not to throw an exception. - Errors are passed to the . - - - - - - Sets and opens the file where the log output will go. The specified file must be writable. - - The path to the log file. Must be a fully qualified path. - If true will append to fileName. Otherwise will truncate fileName - - - If there was already an opened file, then the previous file - is closed first. - - - This method will ensure that the directory structure - for the specified exists. - - - - - - Sets the quiet writer used for file output - - the file stream that has been opened for writing - - - This implementation of creates a - over the and passes it to the - method. - - - This method can be overridden by sub classes that want to wrap the - in some way, for example to encrypt the output - data using a System.Security.Cryptography.CryptoStream. - - - - - - Sets the quiet writer being used. - - the writer over the file stream that has been opened for writing - - - This method can be overridden by sub classes that want to - wrap the in some way. - - - - - - Convert a path into a fully qualified path. - - The path to convert. - The fully qualified path. - - - Converts the path specified to a fully - qualified path. If the path is relative it is - taken as relative from the application base - directory. - - - - - - Flag to indicate if we should append to the file - or overwrite the file. The default is to append. - - - - - The name of the log file. - - - - - The encoding to use for the file stream. - - - - - The security context to use for privileged calls - - - - - The stream to log to. Has added locking semantics - - - - - The locking model to use - - - - - Gets or sets the path to the file that logging will be written to. - - - The path to the file that logging will be written to. - - - - If the path is relative it is taken as relative from - the application base directory. - - - - - - Gets or sets a flag that indicates whether the file should be - appended to or overwritten. - - - Indicates whether the file should be appended to or overwritten. - - - - If the value is set to false then the file will be overwritten, if - it is set to true then the file will be appended to. - - The default value is true. - - - - - Gets or sets used to write to the file. - - - The used to write to the file. - - - - The default encoding set is - which is the encoding for the system's current ANSI code page. - - - - - - Gets or sets the used to write to the file. - - - The used to write to the file. - - - - Unless a specified here for this appender - the is queried for the - security context to use. The default behavior is to use the security context - of the current thread. - - - - - - Gets or sets the used to handle locking of the file. - - - The used to lock the file. - - - - Gets or sets the used to handle locking of the file. - - - There are two built in locking models, and . - The former locks the file from the start of logging to the end and the - later lock only for the minimal amount of time when logging each message. - - - The default locking model is the . - - - - - - Write only that uses the - to manage access to an underlying resource. - - - - - True asynchronous writes are not supported, the implementation forces a synchronous write. - - - - - Exception base type for log4net. - - - - This type extends . It - does not add any new functionality but does differentiate the - type of exception being thrown. - - - Nicko Cadell - Gert Driesen - - - - Constructor - - - - Initializes a new instance of the class. - - - - - - Constructor - - A message to include with the exception. - - - Initializes a new instance of the class with - the specified message. - - - - - - Constructor - - A message to include with the exception. - A nested exception to include. - - - Initializes a new instance of the class - with the specified message and inner exception. - - - - - - Serialization constructor - - The that holds the serialized object data about the exception being thrown. - The that contains contextual information about the source or destination. - - - Initializes a new instance of the class - with serialized data. - - - - - - Locking model base class - - - - Base class for the locking models available to the derived loggers. - - - - - - Open the output file - - The filename to use - Whether to append to the file, or overwrite - The encoding to use - - - Open the file specified and prepare for logging. - No writes will be made until is called. - Must be called before any calls to , - and . - - - - - - Close the file - - - - Close the file. No further writes will be made. - - - - - - Acquire the lock on the file - - A stream that is ready to be written to. - - - Acquire the lock on the file in preparation for writing to it. - Return a stream pointing to the file. - must be called to release the lock on the output file. - - - - - - Release the lock on the file - - - - Release the lock on the file. No further writes will be made to the - stream until is called again. - - - - - - Gets or sets the for this LockingModel - - - The for this LockingModel - - - - The file appender this locking model is attached to and working on - behalf of. - - - The file appender is used to locate the security context and the error handler to use. - - - The value of this property will be set before is - called. - - - - - - Hold an exclusive lock on the output file - - - - Open the file once for writing and hold it open until is called. - Maintains an exclusive lock on the file during this time. - - - - - - Open the file specified and prepare for logging. - - The filename to use - Whether to append to the file, or overwrite - The encoding to use - - - Open the file specified and prepare for logging. - No writes will be made until is called. - Must be called before any calls to , - and . - - - - - - Close the file - - - - Close the file. No further writes will be made. - - - - - - Acquire the lock on the file - - A stream that is ready to be written to. - - - Does nothing. The lock is already taken - - - - - - Release the lock on the file - - - - Does nothing. The lock will be released when the file is closed. - - - - - - Acquires the file lock for each write - - - - Opens the file once for each / cycle, - thus holding the lock for the minimal amount of time. This method of locking - is considerably slower than but allows - other processes to move/delete the log file whilst logging continues. - - - - - - Prepares to open the file when the first message is logged. - - The filename to use - Whether to append to the file, or overwrite - The encoding to use - - - Open the file specified and prepare for logging. - No writes will be made until is called. - Must be called before any calls to , - and . - - - - - - Close the file - - - - Close the file. No further writes will be made. - - - - - - Acquire the lock on the file - - A stream that is ready to be written to. - - - Acquire the lock on the file in preparation for writing to it. - Return a stream pointing to the file. - must be called to release the lock on the output file. - - - - - - Release the lock on the file - - - - Release the lock on the file. No further writes will be made to the - stream until is called again. - - - - - - This appender forwards logging events to attached appenders. - - - - The forwarding appender can be used to specify different thresholds - and filters for the same appender at different locations within the hierarchy. - - - Nicko Cadell - Gert Driesen - - - - Initializes a new instance of the class. - - - - Default constructor. - - - - - - Closes the appender and releases resources. - - - - Releases any resources allocated within the appender such as file handles, - network connections, etc. - - - It is a programming error to append to a closed appender. - - - - - - Forward the logging event to the attached appenders - - The event to log. - - - Delivers the logging event to all the attached appenders. - - - - - - Forward the logging events to the attached appenders - - The array of events to log. - - - Delivers the logging events to all the attached appenders. - - - - - - Adds an to the list of appenders of this - instance. - - The to add to this appender. - - - If the specified is already in the list of - appenders, then it won't be added again. - - - - - - Looks for the appender with the specified name. - - The name of the appender to lookup. - - The appender with the specified name, or null. - - - - Get the named appender attached to this appender. - - - - - - Removes all previously added appenders from this appender. - - - - This is useful when re-reading configuration information. - - - - - - Removes the specified appender from the list of appenders. - - The appender to remove. - The appender removed from the list - - The appender removed is not closed. - If you are discarding the appender you must call - on the appender removed. - - - - - Removes the appender with the specified name from the list of appenders. - - The name of the appender to remove. - The appender removed from the list - - The appender removed is not closed. - If you are discarding the appender you must call - on the appender removed. - - - - - Implementation of the interface - - - - - Gets the appenders contained in this appender as an - . - - - If no appenders can be found, then an - is returned. - - - A collection of the appenders in this appender. - - - - - Logs events to a local syslog service. - - - - This appender uses the POSIX libc library functions openlog, syslog, and closelog. - If these functions are not available on the local system then this appender will not work! - - - The functions openlog, syslog, and closelog are specified in SUSv2 and - POSIX 1003.1-2001 standards. These are used to log messages to the local syslog service. - - - This appender talks to a local syslog service. If you need to log to a remote syslog - daemon and you cannot configure your local syslog service to do this you may be - able to use the to log via UDP. - - - Syslog messages must have a facility and and a severity. The severity - is derived from the Level of the logging event. - The facility must be chosen from the set of defined syslog - values. The facilities list is predefined - and cannot be extended. - - - An identifier is specified with each log message. This can be specified - by setting the property. The identity (also know - as the tag) must not contain white space. The default value for the - identity is the application name (from ). - - - Rob Lyon - Nicko Cadell - - - - Initializes a new instance of the class. - - - This instance of the class is set up to write - to a local syslog service. - - - - - Add a mapping of level to severity - - The mapping to add - - - Adds a to this appender. - - - - - - Initialize the appender based on the options set. - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - - - - This method is called by the method. - - The event to log. - - - Writes the event to a remote syslog daemon. - - - The format of the output will depend on the appender's layout. - - - - - - Close the syslog when the appender is closed - - - - Close the syslog when the appender is closed - - - - - - Translates a log4net level to a syslog severity. - - A log4net level. - A syslog severity. - - - Translates a log4net level to a syslog severity. - - - - - - Generate a syslog priority. - - The syslog facility. - The syslog severity. - A syslog priority. - - - - The facility. The default facility is . - - - - - The message identity - - - - - Marshaled handle to the identity string. We have to hold on to the - string as the openlog and syslog APIs just hold the - pointer to the ident and dereference it for each log message. - - - - - Mapping from level object to syslog severity - - - - - Open connection to system logger. - - - - - Generate a log message. - - - - The libc syslog method takes a format string and a variable argument list similar - to the classic printf function. As this type of vararg list is not supported - by C# we need to specify the arguments explicitly. Here we have specified the - format string with a single message argument. The caller must set the format - string to "%s". - - - - - - Close descriptor used to write to system logger. - - - - - Message identity - - - - An identifier is specified with each log message. This can be specified - by setting the property. The identity (also know - as the tag) must not contain white space. The default value for the - identity is the application name (from ). - - - - - - Syslog facility - - - Set to one of the values. The list of - facilities is predefined and cannot be extended. The default value - is . - - - - - This appender requires a to be set. - - true - - - This appender requires a to be set. - - - - - - syslog severities - - - - The log4net Level maps to a syslog severity using the - method and the - class. The severity is set on . - - - - - - system is unusable - - - - - action must be taken immediately - - - - - critical conditions - - - - - error conditions - - - - - warning conditions - - - - - normal but significant condition - - - - - informational - - - - - debug-level messages - - - - - syslog facilities - - - - The syslog facility defines which subsystem the logging comes from. - This is set on the property. - - - - - - kernel messages - - - - - random user-level messages - - - - - mail system - - - - - system daemons - - - - - security/authorization messages - - - - - messages generated internally by syslogd - - - - - line printer subsystem - - - - - network news subsystem - - - - - UUCP subsystem - - - - - clock (cron/at) daemon - - - - - security/authorization messages (private) - - - - - ftp daemon - - - - - NTP subsystem - - - - - log audit - - - - - log alert - - - - - clock daemon - - - - - reserved for local use - - - - - reserved for local use - - - - - reserved for local use - - - - - reserved for local use - - - - - reserved for local use - - - - - reserved for local use - - - - - reserved for local use - - - - - reserved for local use - - - - - A class to act as a mapping between the level that a logging call is made at and - the syslog severity that is should be logged at. - - - - A class to act as a mapping between the level that a logging call is made at and - the syslog severity that is should be logged at. - - - - - - The mapped syslog severity for the specified level - - - - Required property. - The mapped syslog severity for the specified level - - - - - - Stores logging events in an array. - - - - The memory appender stores all the logging events - that are appended in an in-memory array. - - - Use the method to get - the current list of events that have been appended. - - - Use the method to clear the - current list of events. - - - Julian Biddle - Nicko Cadell - Gert Driesen - - - - Initializes a new instance of the class. - - - - Default constructor. - - - - - - Gets the events that have been logged. - - The events that have been logged - - - Gets the events that have been logged. - - - - - - This method is called by the method. - - the event to log - - Stores the in the events list. - - - - - Clear the list of events - - - Clear the list of events - - - - - The list of events that have been appended. - - - - - Value indicating which fields in the event should be fixed - - - By default all fields are fixed - - - - - Gets or sets a value indicating whether only part of the logging event - data should be fixed. - - - true if the appender should only fix part of the logging event - data, otherwise false. The default is false. - - - - Setting this property to true will cause only part of the event - data to be fixed and stored in the appender, hereby improving performance. - - - See for more information. - - - - - - Gets or sets the fields that will be fixed in the event - - - - The logging event needs to have certain thread specific values - captured before it can be buffered. See - for details. - - - - - - Logs entries by sending network messages using the - native function. - - - - You can send messages only to names that are active - on the network. If you send the message to a user name, - that user must be logged on and running the Messenger - service to receive the message. - - - The receiver will get a top most window displaying the - messages one at a time, therefore this appender should - not be used to deliver a high volume of messages. - - - The following table lists some possible uses for this appender : - - - - - Action - Property Value(s) - - - Send a message to a user account on the local machine - - - = <name of the local machine> - - - = <user name> - - - - - Send a message to a user account on a remote machine - - - = <name of the remote machine> - - - = <user name> - - - - - Send a message to a domain user account - - - = <name of a domain controller | uninitialized> - - - = <user name> - - - - - Send a message to all the names in a workgroup or domain - - - = <workgroup name | domain name>* - - - - - Send a message from the local machine to a remote machine - - - = <name of the local machine | uninitialized> - - - = <name of the remote machine> - - - - - - - Note : security restrictions apply for sending - network messages, see - for more information. - - - - - An example configuration section to log information - using this appender from the local machine, named - LOCAL_PC, to machine OPERATOR_PC : - - - - - - - - - - Nicko Cadell - Gert Driesen - - - - The DNS or NetBIOS name of the server on which the function is to execute. - - - - - The sender of the network message. - - - - - The message alias to which the message should be sent. - - - - - The security context to use for privileged calls - - - - - Initializes the appender. - - - The default constructor initializes all fields to their default values. - - - - - Initialize the appender based on the options set. - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - The appender will be ignored if no was specified. - - - The required property was not specified. - - - - This method is called by the method. - - The event to log. - - - Sends the event using a network message. - - - - - - Sends a buffer of information to a registered message alias. - - The DNS or NetBIOS name of the server on which the function is to execute. - The message alias to which the message buffer should be sent - The originator of the message. - The message text. - The length, in bytes, of the message text. - - - The following restrictions apply for sending network messages: - - - - - Platform - Requirements - - - Windows NT - - - No special group membership is required to send a network message. - - - Admin, Accounts, Print, or Server Operator group membership is required to - successfully send a network message on a remote server. - - - - - Windows 2000 or later - - - If you send a message on a domain controller that is running Active Directory, - access is allowed or denied based on the access control list (ACL) for the securable - object. The default ACL permits only Domain Admins and Account Operators to send a network message. - - - On a member server or workstation, only Administrators and Server Operators can send a network message. - - - - - - - For more information see Security Requirements for the Network Management Functions. - - - - - If the function succeeds, the return value is zero. - - - - - - Gets or sets the sender of the message. - - - The sender of the message. - - - If this property is not specified, the message is sent from the local computer. - - - - - Gets or sets the message alias to which the message should be sent. - - - The recipient of the message. - - - This property should always be specified in order to send a message. - - - - - Gets or sets the DNS or NetBIOS name of the remote server on which the function is to execute. - - - DNS or NetBIOS name of the remote server on which the function is to execute. - - - - For Windows NT 4.0 and earlier, the string should begin with \\. - - - If this property is not specified, the local computer is used. - - - - - - Gets or sets the used to call the NetSend method. - - - The used to call the NetSend method. - - - - Unless a specified here for this appender - the is queried for the - security context to use. The default behavior is to use the security context - of the current thread. - - - - - - This appender requires a to be set. - - true - - - This appender requires a to be set. - - - - - - Appends log events to the OutputDebugString system. - - - - OutputDebugStringAppender appends log events to the - OutputDebugString system. - - - The string is passed to the native OutputDebugString - function. - - - Nicko Cadell - Gert Driesen - - - - Initializes a new instance of the class. - - - - Default constructor. - - - - - - Write the logging event to the output debug string API - - the event to log - - - Write the logging event to the output debug string API - - - - - - Stub for OutputDebugString native method - - the string to output - - - Stub for OutputDebugString native method - - - - - - This appender requires a to be set. - - true - - - This appender requires a to be set. - - - - - - Logs events to a remote syslog daemon. - - - - The BSD syslog protocol is used to remotely log to - a syslog daemon. The syslogd listens for for messages - on UDP port 514. - - - The syslog UDP protocol is not authenticated. Most syslog daemons - do not accept remote log messages because of the security implications. - You may be able to use the LocalSyslogAppender to talk to a local - syslog service. - - - There is an RFC 3164 that claims to document the BSD Syslog Protocol. - This RFC can be seen here: http://www.faqs.org/rfcs/rfc3164.html. - This appender generates what the RFC calls an "Original Device Message", - i.e. does not include the TIMESTAMP or HOSTNAME fields. By observation - this format of message will be accepted by all current syslog daemon - implementations. The daemon will attach the current time and the source - hostname or IP address to any messages received. - - - Syslog messages must have a facility and and a severity. The severity - is derived from the Level of the logging event. - The facility must be chosen from the set of defined syslog - values. The facilities list is predefined - and cannot be extended. - - - An identifier is specified with each log message. This can be specified - by setting the property. The identity (also know - as the tag) must not contain white space. The default value for the - identity is the application name (from ). - - - Rob Lyon - Nicko Cadell - - - - Sends logging events as connectionless UDP datagrams to a remote host or a - multicast group using an . - - - - UDP guarantees neither that messages arrive, nor that they arrive in the correct order. - - - To view the logging results, a custom application can be developed that listens for logging - events. - - - When decoding events send via this appender remember to use the same encoding - to decode the events as was used to send the events. See the - property to specify the encoding to use. - - - - This example shows how to log receive logging events that are sent - on IP address 244.0.0.1 and port 8080 to the console. The event is - encoded in the packet as a unicode string and it is decoded as such. - - IPEndPoint remoteEndPoint = new IPEndPoint(IPAddress.Any, 0); - UdpClient udpClient; - byte[] buffer; - string loggingEvent; - - try - { - udpClient = new UdpClient(8080); - - while(true) - { - buffer = udpClient.Receive(ref remoteEndPoint); - loggingEvent = System.Text.Encoding.Unicode.GetString(buffer); - Console.WriteLine(loggingEvent); - } - } - catch(Exception e) - { - Console.WriteLine(e.ToString()); - } - - - Dim remoteEndPoint as IPEndPoint - Dim udpClient as UdpClient - Dim buffer as Byte() - Dim loggingEvent as String - - Try - remoteEndPoint = new IPEndPoint(IPAddress.Any, 0) - udpClient = new UdpClient(8080) - - While True - buffer = udpClient.Receive(ByRef remoteEndPoint) - loggingEvent = System.Text.Encoding.Unicode.GetString(buffer) - Console.WriteLine(loggingEvent) - Wend - Catch e As Exception - Console.WriteLine(e.ToString()) - End Try - - - An example configuration section to log information using this appender to the - IP 224.0.0.1 on port 8080: - - - - - - - - - - Gert Driesen - Nicko Cadell - - - - Initializes a new instance of the class. - - - The default constructor initializes all fields to their default values. - - - - - Initialize the appender based on the options set. - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - The appender will be ignored if no was specified or - an invalid remote or local TCP port number was specified. - - - The required property was not specified. - The TCP port number assigned to or is less than or greater than . - - - - This method is called by the method. - - The event to log. - - - Sends the event using an UDP datagram. - - - Exceptions are passed to the . - - - - - - Closes the UDP connection and releases all resources associated with - this instance. - - - - Disables the underlying and releases all managed - and unmanaged resources associated with the . - - - - - - Initializes the underlying connection. - - - - The underlying is initialized and binds to the - port number from which you intend to communicate. - - - Exceptions are passed to the . - - - - - - The IP address of the remote host or multicast group to which - the logging event will be sent. - - - - - The TCP port number of the remote host or multicast group to - which the logging event will be sent. - - - - - The cached remote endpoint to which the logging events will be sent. - - - - - The TCP port number from which the will communicate. - - - - - The instance that will be used for sending the - logging events. - - - - - The encoding to use for the packet. - - - - - Gets or sets the IP address of the remote host or multicast group to which - the underlying should sent the logging event. - - - The IP address of the remote host or multicast group to which the logging event - will be sent. - - - - Multicast addresses are identified by IP class D addresses (in the range 224.0.0.0 to - 239.255.255.255). Multicast packets can pass across different networks through routers, so - it is possible to use multicasts in an Internet scenario as long as your network provider - supports multicasting. - - - Hosts that want to receive particular multicast messages must register their interest by joining - the multicast group. Multicast messages are not sent to networks where no host has joined - the multicast group. Class D IP addresses are used for multicast groups, to differentiate - them from normal host addresses, allowing nodes to easily detect if a message is of interest. - - - Static multicast addresses that are needed globally are assigned by IANA. A few examples are listed in the table below: - - - - - IP Address - Description - - - 224.0.0.1 - - - Sends a message to all system on the subnet. - - - - - 224.0.0.2 - - - Sends a message to all routers on the subnet. - - - - - 224.0.0.12 - - - The DHCP server answers messages on the IP address 224.0.0.12, but only on a subnet. - - - - - - - A complete list of actually reserved multicast addresses and their owners in the ranges - defined by RFC 3171 can be found at the IANA web site. - - - The address range 239.0.0.0 to 239.255.255.255 is reserved for administrative scope-relative - addresses. These addresses can be reused with other local groups. Routers are typically - configured with filters to prevent multicast traffic in this range from flowing outside - of the local network. - - - - - - Gets or sets the TCP port number of the remote host or multicast group to which - the underlying should sent the logging event. - - - An integer value in the range to - indicating the TCP port number of the remote host or multicast group to which the logging event - will be sent. - - - The underlying will send messages to this TCP port number - on the remote host or multicast group. - - The value specified is less than or greater than . - - - - Gets or sets the TCP port number from which the underlying will communicate. - - - An integer value in the range to - indicating the TCP port number from which the underlying will communicate. - - - - The underlying will bind to this port for sending messages. - - - Setting the value to 0 (the default) will cause the udp client not to bind to - a local port. - - - The value specified is less than or greater than . - - - - Gets or sets used to write the packets. - - - The used to write the packets. - - - - The used to write the packets. - - - - - - Gets or sets the underlying . - - - The underlying . - - - creates a to send logging events - over a network. Classes deriving from can use this - property to get or set this . Use the underlying - returned from if you require access beyond that which - provides. - - - - - Gets or sets the cached remote endpoint to which the logging events should be sent. - - - The cached remote endpoint to which the logging events will be sent. - - - The method will initialize the remote endpoint - with the values of the and - properties. - - - - - This appender requires a to be set. - - true - - - This appender requires a to be set. - - - - - - Syslog port 514 - - - - - Initializes a new instance of the class. - - - This instance of the class is set up to write - to a remote syslog daemon. - - - - - Add a mapping of level to severity - - The mapping to add - - - Add a mapping to this appender. - - - - - - This method is called by the method. - - The event to log. - - - Writes the event to a remote syslog daemon. - - - The format of the output will depend on the appender's layout. - - - - - - Initialize the options for this appender - - - - Initialize the level to syslog severity mappings set on this appender. - - - - - - Translates a log4net level to a syslog severity. - - A log4net level. - A syslog severity. - - - Translates a log4net level to a syslog severity. - - - - - - Generate a syslog priority. - - The syslog facility. - The syslog severity. - A syslog priority. - - - Generate a syslog priority. - - - - - - The facility. The default facility is . - - - - - The message identity - - - - - Mapping from level object to syslog severity - - - - - Message identity - - - - An identifier is specified with each log message. This can be specified - by setting the property. The identity (also know - as the tag) must not contain white space. The default value for the - identity is the application name (from ). - - - - - - Syslog facility - - - Set to one of the values. The list of - facilities is predefined and cannot be extended. The default value - is . - - - - - syslog severities - - - - The syslog severities. - - - - - - system is unusable - - - - - action must be taken immediately - - - - - critical conditions - - - - - error conditions - - - - - warning conditions - - - - - normal but significant condition - - - - - informational - - - - - debug-level messages - - - - - syslog facilities - - - - The syslog facilities - - - - - - kernel messages - - - - - random user-level messages - - - - - mail system - - - - - system daemons - - - - - security/authorization messages - - - - - messages generated internally by syslogd - - - - - line printer subsystem - - - - - network news subsystem - - - - - UUCP subsystem - - - - - clock (cron/at) daemon - - - - - security/authorization messages (private) - - - - - ftp daemon - - - - - NTP subsystem - - - - - log audit - - - - - log alert - - - - - clock daemon - - - - - reserved for local use - - - - - reserved for local use - - - - - reserved for local use - - - - - reserved for local use - - - - - reserved for local use - - - - - reserved for local use - - - - - reserved for local use - - - - - reserved for local use - - - - - A class to act as a mapping between the level that a logging call is made at and - the syslog severity that is should be logged at. - - - - A class to act as a mapping between the level that a logging call is made at and - the syslog severity that is should be logged at. - - - - - - The mapped syslog severity for the specified level - - - - Required property. - The mapped syslog severity for the specified level - - - - - - Delivers logging events to a remote logging sink. - - - - This Appender is designed to deliver events to a remote sink. - That is any object that implements the - interface. It delivers the events using .NET remoting. The - object to deliver events to is specified by setting the - appenders property. - - The RemotingAppender buffers events before sending them. This allows it to - make more efficient use of the remoting infrastructure. - - Once the buffer is full the events are still not sent immediately. - They are scheduled to be sent using a pool thread. The effect is that - the send occurs asynchronously. This is very important for a - number of non obvious reasons. The remoting infrastructure will - flow thread local variables (stored in the ), - if they are marked as , across the - remoting boundary. If the server is not contactable then - the remoting infrastructure will clear the - objects from the . To prevent a logging failure from - having side effects on the calling application the remoting call must be made - from a separate thread to the one used by the application. A - thread is used for this. If no thread is available then - the events will block in the thread pool manager until a thread is available. - - Because the events are sent asynchronously using pool threads it is possible to close - this appender before all the queued events have been sent. - When closing the appender attempts to wait until all the queued events have been sent, but - this will timeout after 30 seconds regardless. - - If this appender is being closed because the - event has fired it may not be possible to send all the queued events. During process - exit the runtime limits the time that a - event handler is allowed to run for. If the runtime terminates the threads before - the queued events have been sent then they will be lost. To ensure that all events - are sent the appender must be closed before the application exits. See - for details on how to shutdown - log4net programmatically. - - - Nicko Cadell - Gert Driesen - Daniel Cazzulino - - - - Initializes a new instance of the class. - - - - Default constructor. - - - - - - Initialize the appender based on the options set - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - - - - Send the contents of the buffer to the remote sink. - - - The events are not sent immediately. They are scheduled to be sent - using a pool thread. The effect is that the send occurs asynchronously. - This is very important for a number of non obvious reasons. The remoting - infrastructure will flow thread local variables (stored in the ), - if they are marked as , across the - remoting boundary. If the server is not contactable then - the remoting infrastructure will clear the - objects from the . To prevent a logging failure from - having side effects on the calling application the remoting call must be made - from a separate thread to the one used by the application. A - thread is used for this. If no thread is available then - the events will block in the thread pool manager until a thread is available. - - The events to send. - - - - Override base class close. - - - - This method waits while there are queued work items. The events are - sent asynchronously using work items. These items - will be sent once a thread pool thread is available to send them, therefore - it is possible to close the appender before all the queued events have been - sent. - - This method attempts to wait until all the queued events have been sent, but this - method will timeout after 30 seconds regardless. - - If the appender is being closed because the - event has fired it may not be possible to send all the queued events. During process - exit the runtime limits the time that a - event handler is allowed to run for. - - - - - A work item is being queued into the thread pool - - - - - A work item from the thread pool has completed - - - - - Send the contents of the buffer to the remote sink. - - - This method is designed to be used with the . - This method expects to be passed an array of - objects in the state param. - - the logging events to send - - - - The URL of the remote sink. - - - - - The local proxy (.NET remoting) for the remote logging sink. - - - - - The number of queued callbacks currently waiting or executing - - - - - Event used to signal when there are no queued work items - - - This event is set when there are no queued work items. In this - state it is safe to close the appender. - - - - - Gets or sets the URL of the well-known object that will accept - the logging events. - - - The well-known URL of the remote sink. - - - - The URL of the remoting sink that will accept logging events. - The sink must implement the - interface. - - - - - - Interface used to deliver objects to a remote sink. - - - This interface must be implemented by a remoting sink - if the is to be used - to deliver logging events to the sink. - - - - - Delivers logging events to the remote sink - - Array of events to log. - - - Delivers logging events to the remote sink - - - - - - Appender that rolls log files based on size or date or both. - - - - RollingFileAppender can roll log files based on size or date or both - depending on the setting of the property. - When set to the log file will be rolled - once its size exceeds the . - When set to the log file will be rolled - once the date boundary specified in the property - is crossed. - When set to the log file will be - rolled once the date boundary specified in the property - is crossed, but within a date boundary the file will also be rolled - once its size exceeds the . - When set to the log file will be rolled when - the appender is configured. This effectively means that the log file can be - rolled once per program execution. - - - A of few additional optional features have been added: - - Attach date pattern for current log file - Backup number increments for newer files - Infinite number of backups by file size - - - - - - For large or infinite numbers of backup files a - greater than zero is highly recommended, otherwise all the backup files need - to be renamed each time a new backup is created. - - - When Date/Time based rolling is used setting - to will reduce the number of file renamings to few or none. - - - - - - Changing or without clearing - the log file directory of backup files will cause unexpected and unwanted side effects. - - - - - If Date/Time based rolling is enabled this appender will attempt to roll existing files - in the directory without a Date/Time tag based on the last write date of the base log file. - The appender only rolls the log file when a message is logged. If Date/Time based rolling - is enabled then the appender will not roll the log file at the Date/Time boundary but - at the point when the next message is logged after the boundary has been crossed. - - - - The extends the and - has the same behavior when opening the log file. - The appender will first try to open the file for writing when - is called. This will typically be during configuration. - If the file cannot be opened for writing the appender will attempt - to open the file again each time a message is logged to the appender. - If the file cannot be opened for writing when a message is logged then - the message will be discarded by this appender. - - - When rolling a backup file necessitates deleting an older backup file the - file to be deleted is moved to a temporary name before being deleted. - - - - - A maximum number of backup files when rolling on date/time boundaries is not supported. - - - - Nicko Cadell - Gert Driesen - Aspi Havewala - Douglas de la Torre - Edward Smit - - - - Initializes a new instance of the class. - - - - Default constructor. - - - - - - Sets the quiet writer being used. - - - This method can be overridden by sub classes. - - the writer to set - - - - Write out a logging event. - - the event to write to file. - - - Handles append time behavior for RollingFileAppender. This checks - if a roll over either by date (checked first) or time (checked second) - is need and then appends to the file last. - - - - - - Write out an array of logging events. - - the events to write to file. - - - Handles append time behavior for RollingFileAppender. This checks - if a roll over either by date (checked first) or time (checked second) - is need and then appends to the file last. - - - - - - Performs any required rolling before outputting the next event - - - - Handles append time behavior for RollingFileAppender. This checks - if a roll over either by date (checked first) or time (checked second) - is need and then appends to the file last. - - - - - - Creates and opens the file for logging. If - is false then the fully qualified name is determined and used. - - the name of the file to open - true to append to existing file - - This method will ensure that the directory structure - for the specified exists. - - - - - Get the current output file name - - the base file name - the output file name - - The output file name is based on the base fileName specified. - If is set then the output - file name is the same as the base file passed in. Otherwise - the output file depends on the date pattern, on the count - direction or both. - - - - - Determines curSizeRollBackups (only within the current roll point) - - - - - Generates a wildcard pattern that can be used to find all files - that are similar to the base file name. - - - - - - - Builds a list of filenames for all files matching the base filename plus a file - pattern. - - - - - - - Initiates a roll over if needed for crossing a date boundary since the last run. - - - - - Initializes based on existing conditions at time of . - - - - Initializes based on existing conditions at time of . - The following is done - - determine curSizeRollBackups (only within the current roll point) - initiates a roll over if needed for crossing a date boundary since the last run. - - - - - - - Does the work of bumping the 'current' file counter higher - to the highest count when an incremental file name is seen. - The highest count is either the first file (when count direction - is greater than 0) or the last file (when count direction less than 0). - In either case, we want to know the highest count that is present. - - - - - - - Takes a list of files and a base file name, and looks for - 'incremented' versions of the base file. Bumps the max - count up to the highest count seen. - - - - - - - Calculates the RollPoint for the datePattern supplied. - - the date pattern to calculate the check period for - The RollPoint that is most accurate for the date pattern supplied - - Essentially the date pattern is examined to determine what the - most suitable roll point is. The roll point chosen is the roll point - with the smallest period that can be detected using the date pattern - supplied. i.e. if the date pattern only outputs the year, month, day - and hour then the smallest roll point that can be detected would be - and hourly roll point as minutes could not be detected. - - - - - Initialize the appender based on the options set - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - Sets initial conditions including date/time roll over information, first check, - scheduledFilename, and calls to initialize - the current number of backups. - - - - - - Rollover the file(s) to date/time tagged file(s). - - set to true if the file to be rolled is currently open - - - Rollover the file(s) to date/time tagged file(s). - Resets curSizeRollBackups. - If fileIsOpen is set then the new file is opened (through SafeOpenFile). - - - - - - Renames file to file . - - Name of existing file to roll. - New name for file. - - - Renames file to file . It - also checks for existence of target file and deletes if it does. - - - - - - Test if a file exists at a specified path - - the path to the file - true if the file exists - - - Test if a file exists at a specified path - - - - - - Deletes the specified file if it exists. - - The file to delete. - - - Delete a file if is exists. - The file is first moved to a new filename then deleted. - This allows the file to be removed even when it cannot - be deleted, but it still can be moved. - - - - - - Implements file roll base on file size. - - - - If the maximum number of size based backups is reached - (curSizeRollBackups == maxSizeRollBackups) then the oldest - file is deleted -- its index determined by the sign of countDirection. - If countDirection < 0, then files - {File.1, ..., File.curSizeRollBackups -1} - are renamed to {File.2, ..., - File.curSizeRollBackups}. Moreover, File is - renamed File.1 and closed. - - - A new file is created to receive further log output. - - - If maxSizeRollBackups is equal to zero, then the - File is truncated with no backup files created. - - - If maxSizeRollBackups < 0, then File is - renamed if needed and no files are deleted. - - - - - - Implements file roll. - - the base name to rename - - - If the maximum number of size based backups is reached - (curSizeRollBackups == maxSizeRollBackups) then the oldest - file is deleted -- its index determined by the sign of countDirection. - If countDirection < 0, then files - {File.1, ..., File.curSizeRollBackups -1} - are renamed to {File.2, ..., - File.curSizeRollBackups}. - - - If maxSizeRollBackups is equal to zero, then the - File is truncated with no backup files created. - - - If maxSizeRollBackups < 0, then File is - renamed if needed and no files are deleted. - - - This is called by to rename the files. - - - - - - Get the start time of the next window for the current rollpoint - - the current date - the type of roll point we are working with - the start time for the next roll point an interval after the currentDateTime date - - - Returns the date of the next roll point after the currentDateTime date passed to the method. - - - The basic strategy is to subtract the time parts that are less significant - than the rollpoint from the current time. This should roll the time back to - the start of the time window for the current rollpoint. Then we add 1 window - worth of time and get the start time of the next window for the rollpoint. - - - - - - This object supplies the current date/time. Allows test code to plug in - a method to control this class when testing date/time based rolling. - - - - - The date pattern. By default, the pattern is set to ".yyyy-MM-dd" - meaning daily rollover. - - - - - The actual formatted filename that is currently being written to - or will be the file transferred to on roll over - (based on staticLogFileName). - - - - - The timestamp when we shall next recompute the filename. - - - - - Holds date of last roll over - - - - - The type of rolling done - - - - - The default maximum file size is 10MB - - - - - There is zero backup files by default - - - - - How many sized based backups have been made so far - - - - - The rolling file count direction. - - - - - The rolling mode used in this appender. - - - - - Cache flag set if we are rolling by date. - - - - - Cache flag set if we are rolling by size. - - - - - Value indicating whether to always log to the same file. - - - - - FileName provided in configuration. Used for rolling properly - - - - - The 1st of January 1970 in UTC - - - - - Gets or sets the date pattern to be used for generating file names - when rolling over on date. - - - The date pattern to be used for generating file names when rolling - over on date. - - - - Takes a string in the same format as expected by - . - - - This property determines the rollover schedule when rolling over - on date. - - - - - - Gets or sets the maximum number of backup files that are kept before - the oldest is erased. - - - The maximum number of backup files that are kept before the oldest is - erased. - - - - If set to zero, then there will be no backup files and the log file - will be truncated when it reaches . - - - If a negative number is supplied then no deletions will be made. Note - that this could result in very slow performance as a large number of - files are rolled over unless is used. - - - The maximum applies to each time based group of files and - not the total. - - - - - - Gets or sets the maximum size that the output file is allowed to reach - before being rolled over to backup files. - - - The maximum size in bytes that the output file is allowed to reach before being - rolled over to backup files. - - - - This property is equivalent to except - that it is required for differentiating the setter taking a - argument from the setter taking a - argument. - - - The default maximum file size is 10MB (10*1024*1024). - - - - - - Gets or sets the maximum size that the output file is allowed to reach - before being rolled over to backup files. - - - The maximum size that the output file is allowed to reach before being - rolled over to backup files. - - - - This property allows you to specify the maximum size with the - suffixes "KB", "MB" or "GB" so that the size is interpreted being - expressed respectively in kilobytes, megabytes or gigabytes. - - - For example, the value "10KB" will be interpreted as 10240 bytes. - - - The default maximum file size is 10MB. - - - If you have the option to set the maximum file size programmatically - consider using the property instead as this - allows you to set the size in bytes as a . - - - - - - Gets or sets the rolling file count direction. - - - The rolling file count direction. - - - - Indicates if the current file is the lowest numbered file or the - highest numbered file. - - - By default newer files have lower numbers ( < 0), - i.e. log.1 is most recent, log.5 is the 5th backup, etc... - - - >= 0 does the opposite i.e. - log.1 is the first backup made, log.5 is the 5th backup made, etc. - For infinite backups use >= 0 to reduce - rollover costs. - - The default file count direction is -1. - - - - - Gets or sets the rolling style. - - The rolling style. - - - The default rolling style is . - - - When set to this appender's - property is set to false, otherwise - the appender would append to a single file rather than rolling - the file each time it is opened. - - - - - - Gets or sets a value indicating whether to always log to - the same file. - - - true if always should be logged to the same file, otherwise false. - - - - By default file.log is always the current file. Optionally - file.log.yyyy-mm-dd for current formatted datePattern can by the currently - logging file (or file.log.curSizeRollBackup or even - file.log.yyyy-mm-dd.curSizeRollBackup). - - - This will make time based rollovers with a large number of backups - much faster as the appender it won't have to rename all the backups! - - - - - - Style of rolling to use - - - - Style of rolling to use - - - - - - Roll files once per program execution - - - - Roll files once per program execution. - Well really once each time this appender is - configured. - - - Setting this option also sets AppendToFile to - false on the RollingFileAppender, otherwise - this appender would just be a normal file appender. - - - - - - Roll files based only on the size of the file - - - - - Roll files based only on the date - - - - - Roll files based on both the size and date of the file - - - - - The code assumes that the following 'time' constants are in a increasing sequence. - - - - The code assumes that the following 'time' constants are in a increasing sequence. - - - - - - Roll the log not based on the date - - - - - Roll the log for each minute - - - - - Roll the log for each hour - - - - - Roll the log twice a day (midday and midnight) - - - - - Roll the log each day (midnight) - - - - - Roll the log each week - - - - - Roll the log each month - - - - - This interface is used to supply Date/Time information to the . - - - This interface is used to supply Date/Time information to the . - Used primarily to allow test classes to plug themselves in so they can - supply test date/times. - - - - - Gets the current time. - - The current time. - - - Gets the current time. - - - - - - Default implementation of that returns the current time. - - - - - Gets the current time. - - The current time. - - - Gets the current time. - - - - - - Send an e-mail when a specific logging event occurs, typically on errors - or fatal errors. - - - - The number of logging events delivered in this e-mail depend on - the value of option. The - keeps only the last - logging events in its - cyclic buffer. This keeps memory requirements at a reasonable level while - still delivering useful application context. - - - Authentication and setting the server Port are only available on the MS .NET 1.1 runtime. - For these features to be enabled you need to ensure that you are using a version of - the log4net assembly that is built against the MS .NET 1.1 framework and that you are - running the your application on the MS .NET 1.1 runtime. On all other platforms only sending - unauthenticated messages to a server listening on port 25 (the default) is supported. - - - Authentication is supported by setting the property to - either or . - If using authentication then the - and properties must also be set. - - - To set the SMTP server port use the property. The default port is 25. - - - Nicko Cadell - Gert Driesen - - - - Default constructor - - - - Default constructor - - - - - - Sends the contents of the cyclic buffer as an e-mail message. - - The logging events to send. - - - - Send the email message - - the body text to include in the mail - - - - Gets or sets a semicolon-delimited list of recipient e-mail addresses. - - - A semicolon-delimited list of e-mail addresses. - - - - A semicolon-delimited list of recipient e-mail addresses. - - - - - - Gets or sets the e-mail address of the sender. - - - The e-mail address of the sender. - - - - The e-mail address of the sender. - - - - - - Gets or sets the subject line of the e-mail message. - - - The subject line of the e-mail message. - - - - The subject line of the e-mail message. - - - - - - Gets or sets the name of the SMTP relay mail server to use to send - the e-mail messages. - - - The name of the e-mail relay server. If SmtpServer is not set, the - name of the local SMTP server is used. - - - - The name of the e-mail relay server. If SmtpServer is not set, the - name of the local SMTP server is used. - - - - - - Obsolete - - - Use the BufferingAppenderSkeleton Fix methods instead - - - - Obsolete property. - - - - - - The mode to use to authentication with the SMTP server - - - Authentication is only available on the MS .NET 1.1 runtime. - - Valid Authentication mode values are: , - , and . - The default value is . When using - you must specify the - and to use to authenticate. - When using the Windows credentials for the current - thread, if impersonating, or the process will be used to authenticate. - - - - - - The username to use to authenticate with the SMTP server - - - Authentication is only available on the MS .NET 1.1 runtime. - - A and must be specified when - is set to , - otherwise the username will be ignored. - - - - - - The password to use to authenticate with the SMTP server - - - Authentication is only available on the MS .NET 1.1 runtime. - - A and must be specified when - is set to , - otherwise the password will be ignored. - - - - - - The port on which the SMTP server is listening - - - Server Port is only available on the MS .NET 1.1 runtime. - - The port on which the SMTP server is listening. The default - port is 25. The Port can only be changed when running on - the MS .NET 1.1 runtime. - - - - - - Gets or sets the priority of the e-mail message - - - One of the values. - - - - Sets the priority of the e-mails generated by this - appender. The default priority is . - - - If you are using this appender to report errors then - you may want to set the priority to . - - - - - - This appender requires a to be set. - - true - - - This appender requires a to be set. - - - - - - Values for the property. - - - - SMTP authentication modes. - - - - - - No authentication - - - - - Basic authentication. - - - Requires a username and password to be supplied - - - - - Integrated authentication - - - Uses the Windows credentials from the current thread or process to authenticate. - - - - - Send an email when a specific logging event occurs, typically on errors - or fatal errors. Rather than sending via smtp it writes a file into the - directory specified by . This allows services such - as the IIS SMTP agent to manage sending the messages. - - - - The configuration for this appender is identical to that of the SMTPAppender, - except that instead of specifying the SMTPAppender.SMTPHost you specify - . - - - The number of logging events delivered in this e-mail depend on - the value of option. The - keeps only the last - logging events in its - cyclic buffer. This keeps memory requirements at a reasonable level while - still delivering useful application context. - - - Niall Daley - Nicko Cadell - - - - Default constructor - - - - Default constructor - - - - - - Sends the contents of the cyclic buffer as an e-mail message. - - The logging events to send. - - - Sends the contents of the cyclic buffer as an e-mail message. - - - - - - Activate the options on this appender. - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - - - - Convert a path into a fully qualified path. - - The path to convert. - The fully qualified path. - - - Converts the path specified to a fully - qualified path. If the path is relative it is - taken as relative from the application base - directory. - - - - - - The security context to use for privileged calls - - - - - Gets or sets a semicolon-delimited list of recipient e-mail addresses. - - - A semicolon-delimited list of e-mail addresses. - - - - A semicolon-delimited list of e-mail addresses. - - - - - - Gets or sets the e-mail address of the sender. - - - The e-mail address of the sender. - - - - The e-mail address of the sender. - - - - - - Gets or sets the subject line of the e-mail message. - - - The subject line of the e-mail message. - - - - The subject line of the e-mail message. - - - - - - Gets or sets the path to write the messages to. - - - - Gets or sets the path to write the messages to. This should be the same - as that used by the agent sending the messages. - - - - - - Gets or sets the used to write to the pickup directory. - - - The used to write to the pickup directory. - - - - Unless a specified here for this appender - the is queried for the - security context to use. The default behavior is to use the security context - of the current thread. - - - - - - This appender requires a to be set. - - true - - - This appender requires a to be set. - - - - - - Appender that allows clients to connect via Telnet to receive log messages - - - - The TelnetAppender accepts socket connections and streams logging messages - back to the client. - The output is provided in a telnet-friendly way so that a log can be monitored - over a TCP/IP socket. - This allows simple remote monitoring of application logging. - - - The default is 23 (the telnet port). - - - Keith Long - Nicko Cadell - - - - Default constructor - - - - Default constructor - - - - - - Overrides the parent method to close the socket handler - - - - Closes all the outstanding connections. - - - - - - Initialize the appender based on the options set. - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - Create the socket handler and wait for connections - - - - - - Writes the logging event to each connected client. - - The event to log. - - - Writes the logging event to each connected client. - - - - - - Gets or sets the TCP port number on which this will listen for connections. - - - An integer value in the range to - indicating the TCP port number on which this will listen for connections. - - - - The default value is 23 (the telnet port). - - - The value specified is less than - or greater than . - - - - This appender requires a to be set. - - true - - - This appender requires a to be set. - - - - - - Helper class to manage connected clients - - - - The SocketHandler class is used to accept connections from - clients. It is threaded so that clients can connect/disconnect - asynchronously. - - - - - - Opens a new server port on - - the local port to listen on for connections - - - Creates a socket handler on the specified local server port. - - - - - - Sends a string message to each of the connected clients - - the text to send - - - Sends a string message to each of the connected clients - - - - - - Add a client to the internal clients list - - client to add - - - - Remove a client from the internal clients list - - client to remove - - - - Callback used to accept a connection on the server socket - - The result of the asynchronous operation - - - On connection adds to the list of connections - if there are two many open connections you will be disconnected - - - - - - Close all network connections - - - - Make sure we close all network connections - - - - - - Test if this handler has active connections - - - true if this handler has active connections - - - - This property will be true while this handler has - active connections, that is at least one connection that - the handler will attempt to send a message to. - - - - - - Class that represents a client connected to this handler - - - - Class that represents a client connected to this handler - - - - - - Create this for the specified - - the client's socket - - - Opens a stream writer on the socket. - - - - - - Write a string to the client - - string to send - - - Write a string to the client - - - - - - Cleanup the clients connection - - - - Close the socket connection. - - - - - - Appends log events to the system. - - - - The application configuration file can be used to control what listeners - are actually used. See the MSDN documentation for the - class for details on configuring the - trace system. - - - Events are written using the System.Diagnostics.Trace.Write(string,string) - method. The event's logger name is passed as the value for the category name to the Write method. - - - Compact Framework
- The Compact Framework does not support the - class for any operation except Assert. When using the Compact Framework this - appender will write to the system rather than - the Trace system. This appender will therefore behave like the . -
-
- Douglas de la Torre - Nicko Cadell - Gert Driesen -
- - - Initializes a new instance of the . - - - - Default constructor. - - - - - - Initializes a new instance of the - with a specified layout. - - The layout to use with this appender. - - - Obsolete constructor. - - - - - - Writes the logging event to the system. - - The event to log. - - - Writes the logging event to the system. - - - - - - Immediate flush means that the underlying writer or output stream - will be flushed at the end of each append operation. - - - - Immediate flush is slower but ensures that each append request is - actually written. If is set to - false, then there is a good chance that the last few - logs events are not actually written to persistent media if and - when the application crashes. - - - The default value is true. - - - - - Gets or sets a value that indicates whether the appender will - flush at the end of each write. - - - The default behavior is to flush at the end of each - write. If the option is set tofalse, then the underlying - stream can defer writing to physical medium to a later time. - - - Avoiding the flush operation at the end of each append results - in a performance gain of 10 to 20 percent. However, there is safety - trade-off involved in skipping flushing. Indeed, when flushing is - skipped, then it is likely that the last few log events will not - be recorded on disk when the application exits. This is a high - price to pay even for a 20% performance gain. - - - - - - This appender requires a to be set. - - true - - - This appender requires a to be set. - - - - - - Assembly level attribute that specifies a domain to alias to this assembly's repository. - - - - AliasDomainAttribute is obsolete. Use AliasRepositoryAttribute instead of AliasDomainAttribute. - - - An assembly's logger repository is defined by its , - however this can be overridden by an assembly loaded before the target assembly. - - - An assembly can alias another assembly's domain to its repository by - specifying this attribute with the name of the target domain. - - - This attribute can only be specified on the assembly and may be used - as many times as necessary to alias all the required domains. - - - Nicko Cadell - Gert Driesen - - - - Assembly level attribute that specifies a repository to alias to this assembly's repository. - - - - An assembly's logger repository is defined by its , - however this can be overridden by an assembly loaded before the target assembly. - - - An assembly can alias another assembly's repository to its repository by - specifying this attribute with the name of the target repository. - - - This attribute can only be specified on the assembly and may be used - as many times as necessary to alias all the required repositories. - - - Nicko Cadell - Gert Driesen - - - - Initializes a new instance of the class with - the specified repository to alias to this assembly's repository. - - The repository to alias to this assemby's repository. - - - Initializes a new instance of the class with - the specified repository to alias to this assembly's repository. - - - - - - Gets or sets the repository to alias to this assemby's repository. - - - The repository to alias to this assemby's repository. - - - - The name of the repository to alias to this assemby's repository. - - - - - - Initializes a new instance of the class with - the specified domain to alias to this assembly's repository. - - The domain to alias to this assemby's repository. - - - Obsolete. Use instead of . - - - - - - Use this class to quickly configure a . - - - - Allows very simple programmatic configuration of log4net. - - - Only one appender can be configured using this configurator. - The appender is set at the root of the hierarchy and all logging - events will be delivered to that appender. - - - Appenders can also implement the interface. Therefore - they would require that the method - be called after the appenders properties have been configured. - - - Nicko Cadell - Gert Driesen - - - - Initializes a new instance of the class. - - - - Uses a private access modifier to prevent instantiation of this class. - - - - - - Initializes the log4net system with a default configuration. - - - - Initializes the log4net logging system using a - that will write to Console.Out. The log messages are - formatted using the layout object - with the - layout style. - - - - - - Initializes the log4net system using the specified appender. - - The appender to use to log all logging events. - - - Initializes the log4net system using the specified appender. - - - - - - Initializes the with a default configuration. - - The repository to configure. - - - Initializes the specified repository using a - that will write to Console.Out. The log messages are - formatted using the layout object - with the - layout style. - - - - - - Initializes the using the specified appender. - - The repository to configure. - The appender to use to log all logging events. - - - Initializes the using the specified appender. - - - - - - Base class for all log4net configuration attributes. - - - This is an abstract class that must be extended by - specific configurators. This attribute allows the - configurator to be parameterized by an assembly level - attribute. - - Nicko Cadell - Gert Driesen - - - - Constructor used by subclasses. - - the ordering priority for this configurator - - - The is used to order the configurator - attributes before they are invoked. Higher priority configurators are executed - before lower priority ones. - - - - - - Configures the for the specified assembly. - - The assembly that this attribute was defined on. - The repository to configure. - - - Abstract method implemented by a subclass. When this method is called - the subclass should configure the . - - - - - - Compare this instance to another ConfiguratorAttribute - - the object to compare to - see - - - Compares the priorities of the two instances. - Sorts by priority in descending order. Objects with the same priority are - randomly ordered. - - - - - - Assembly level attribute that specifies the logging domain for the assembly. - - - - DomainAttribute is obsolete. Use RepositoryAttribute instead of DomainAttribute. - - - Assemblies are mapped to logging domains. Each domain has its own - logging repository. This attribute specified on the assembly controls - the configuration of the domain. The property specifies the name - of the domain that this assembly is a part of. The - specifies the type of the repository objects to create for the domain. If - this attribute is not specified and a is not specified - then the assembly will be part of the default shared logging domain. - - - This attribute can only be specified on the assembly and may only be used - once per assembly. - - - Nicko Cadell - Gert Driesen - - - - Assembly level attribute that specifies the logging repository for the assembly. - - - - Assemblies are mapped to logging repository. This attribute specified - on the assembly controls - the configuration of the repository. The property specifies the name - of the repository that this assembly is a part of. The - specifies the type of the object - to create for the assembly. If this attribute is not specified or a - is not specified then the assembly will be part of the default shared logging repository. - - - This attribute can only be specified on the assembly and may only be used - once per assembly. - - - Nicko Cadell - Gert Driesen - - - - Initializes a new instance of the class. - - - - Default constructor. - - - - - - Initialize a new instance of the class - with the name of the repository. - - The name of the repository. - - - Initialize the attribute with the name for the assembly's repository. - - - - - - Gets or sets the name of the logging repository. - - - The string name to use as the name of the repository associated with this - assembly. - - - - This value does not have to be unique. Several assemblies can share the - same repository. They will share the logging configuration of the repository. - - - - - - Gets or sets the type of repository to create for this assembly. - - - The type of repository to create for this assembly. - - - - The type of the repository to create for the assembly. - The type must implement the - interface. - - - This will be the type of repository created when - the repository is created. If multiple assemblies reference the - same repository then the repository is only created once using the - of the first assembly to call into the - repository. - - - - - - Initializes a new instance of the class. - - - - Obsolete. Use RepositoryAttribute instead of DomainAttribute. - - - - - - Initialize a new instance of the class - with the name of the domain. - - The name of the domain. - - - Obsolete. Use RepositoryAttribute instead of DomainAttribute. - - - - - - Use this class to initialize the log4net environment using an Xml tree. - - - - DOMConfigurator is obsolete. Use XmlConfigurator instead of DOMConfigurator. - - - Configures a using an Xml tree. - - - Nicko Cadell - Gert Driesen - - - - Private constructor - - - - - Automatically configures the log4net system based on the - application's configuration settings. - - - - DOMConfigurator is obsolete. Use XmlConfigurator instead of DOMConfigurator. - - Each application has a configuration file. This has the - same name as the application with '.config' appended. - This file is XML and calling this function prompts the - configurator to look in that file for a section called - log4net that contains the configuration data. - - - - - Automatically configures the using settings - stored in the application's configuration file. - - - - DOMConfigurator is obsolete. Use XmlConfigurator instead of DOMConfigurator. - - Each application has a configuration file. This has the - same name as the application with '.config' appended. - This file is XML and calling this function prompts the - configurator to look in that file for a section called - log4net that contains the configuration data. - - The repository to configure. - - - - Configures log4net using a log4net element - - - - DOMConfigurator is obsolete. Use XmlConfigurator instead of DOMConfigurator. - - Loads the log4net configuration from the XML element - supplied as . - - The element to parse. - - - - Configures the using the specified XML - element. - - - - DOMConfigurator is obsolete. Use XmlConfigurator instead of DOMConfigurator. - - Loads the log4net configuration from the XML element - supplied as . - - The repository to configure. - The element to parse. - - - - Configures log4net using the specified configuration file. - - The XML file to load the configuration from. - - - DOMConfigurator is obsolete. Use XmlConfigurator instead of DOMConfigurator. - - - The configuration file must be valid XML. It must contain - at least one element called log4net that holds - the log4net configuration data. - - - The log4net configuration file can possible be specified in the application's - configuration file (either MyAppName.exe.config for a - normal application on Web.config for an ASP.NET application). - - - The following example configures log4net using a configuration file, of which the - location is stored in the application's configuration file : - - - using log4net.Config; - using System.IO; - using System.Configuration; - - ... - - DOMConfigurator.Configure(new FileInfo(ConfigurationSettings.AppSettings["log4net-config-file"])); - - - In the .config file, the path to the log4net can be specified like this : - - - - - - - - - - - - - Configures log4net using the specified configuration file. - - A stream to load the XML configuration from. - - - DOMConfigurator is obsolete. Use XmlConfigurator instead of DOMConfigurator. - - - The configuration data must be valid XML. It must contain - at least one element called log4net that holds - the log4net configuration data. - - - Note that this method will NOT close the stream parameter. - - - - - - Configures the using the specified configuration - file. - - The repository to configure. - The XML file to load the configuration from. - - - DOMConfigurator is obsolete. Use XmlConfigurator instead of DOMConfigurator. - - - The configuration file must be valid XML. It must contain - at least one element called log4net that holds - the configuration data. - - - The log4net configuration file can possible be specified in the application's - configuration file (either MyAppName.exe.config for a - normal application on Web.config for an ASP.NET application). - - - The following example configures log4net using a configuration file, of which the - location is stored in the application's configuration file : - - - using log4net.Config; - using System.IO; - using System.Configuration; - - ... - - DOMConfigurator.Configure(new FileInfo(ConfigurationSettings.AppSettings["log4net-config-file"])); - - - In the .config file, the path to the log4net can be specified like this : - - - - - - - - - - - - - Configures the using the specified configuration - file. - - The repository to configure. - The stream to load the XML configuration from. - - - DOMConfigurator is obsolete. Use XmlConfigurator instead of DOMConfigurator. - - - The configuration data must be valid XML. It must contain - at least one element called log4net that holds - the configuration data. - - - Note that this method will NOT close the stream parameter. - - - - - - Configures log4net using the file specified, monitors the file for changes - and reloads the configuration if a change is detected. - - The XML file to load the configuration from. - - - DOMConfigurator is obsolete. Use XmlConfigurator instead of DOMConfigurator. - - - The configuration file must be valid XML. It must contain - at least one element called log4net that holds - the configuration data. - - - The configuration file will be monitored using a - and depends on the behavior of that class. - - - For more information on how to configure log4net using - a separate configuration file, see . - - - - - - - Configures the using the file specified, - monitors the file for changes and reloads the configuration if a change - is detected. - - The repository to configure. - The XML file to load the configuration from. - - - DOMConfigurator is obsolete. Use XmlConfigurator instead of DOMConfigurator. - - - The configuration file must be valid XML. It must contain - at least one element called log4net that holds - the configuration data. - - - The configuration file will be monitored using a - and depends on the behavior of that class. - - - For more information on how to configure log4net using - a separate configuration file, see . - - - - - - - Assembly level attribute to configure the . - - - - AliasDomainAttribute is obsolete. Use AliasRepositoryAttribute instead of AliasDomainAttribute. - - - This attribute may only be used at the assembly scope and can only - be used once per assembly. - - - Use this attribute to configure the - without calling one of the - methods. - - - Nicko Cadell - Gert Driesen - - - - Assembly level attribute to configure the . - - - - This attribute may only be used at the assembly scope and can only - be used once per assembly. - - - Use this attribute to configure the - without calling one of the - methods. - - - If neither of the or - properties are set the configuration is loaded from the application's .config file. - If set the property takes priority over the - property. The property - specifies a path to a file to load the config from. The path is relative to the - application's base directory; . - The property is used as a postfix to the assembly file name. - The config file must be located in the application's base directory; . - For example in a console application setting the to - config has the same effect as not specifying the or - properties. - - - The property can be set to cause the - to watch the configuration file for changes. - - - - Log4net will only look for assembly level configuration attributes once. - When using the log4net assembly level attributes to control the configuration - of log4net you must ensure that the first call to any of the - methods is made from the assembly with the configuration - attributes. - - - If you cannot guarantee the order in which log4net calls will be made from - different assemblies you must use programmatic configuration instead, i.e. - call the method directly. - - - - Nicko Cadell - Gert Driesen - - - - Default constructor - - - - Default constructor - - - - - - Configures the for the specified assembly. - - The assembly that this attribute was defined on. - The repository to configure. - - - Configure the repository using the . - The specified must extend the - class otherwise the will not be able to - configure it. - - - The does not extend . - - - - Attempt to load configuration from the local file system - - The assembly that this attribute was defined on. - The repository to configure. - - - - Configure the specified repository using a - - The repository to configure. - the FileInfo pointing to the config file - - - - Attempt to load configuration from a URI - - The assembly that this attribute was defined on. - The repository to configure. - - - - Gets or sets the filename of the configuration file. - - - The filename of the configuration file. - - - - If specified, this is the name of the configuration file to use with - the . This file path is relative to the - application base directory (). - - - The takes priority over the . - - - - - - Gets or sets the extension of the configuration file. - - - The extension of the configuration file. - - - - If specified this is the extension for the configuration file. - The path to the config file is built by using the application - base directory (), - the assembly file name and the config file extension. - - - If the is set to MyExt then - possible config file names would be: MyConsoleApp.exe.MyExt or - MyClassLibrary.dll.MyExt. - - - The takes priority over the . - - - - - - Gets or sets a value indicating whether to watch the configuration file. - - - true if the configuration should be watched, false otherwise. - - - - If this flag is specified and set to true then the framework - will watch the configuration file and will reload the config each time - the file is modified. - - - The config file can only be watched if it is loaded from local disk. - In a No-Touch (Smart Client) deployment where the application is downloaded - from a web server the config file may not reside on the local disk - and therefore it may not be able to watch it. - - - Watching configuration is not supported on the SSCLI. - - - - - - Class to register for the log4net section of the configuration file - - - The log4net section of the configuration file needs to have a section - handler registered. This is the section handler used. It simply returns - the XML element that is the root of the section. - - - Example of registering the log4net section handler : - - - -
- - - log4net configuration XML goes here - - - - - Nicko Cadell - Gert Driesen - - - - Initializes a new instance of the class. - - - - Default constructor. - - - - - - Parses the configuration section. - - The configuration settings in a corresponding parent configuration section. - The configuration context when called from the ASP.NET configuration system. Otherwise, this parameter is reserved and is a null reference. - The for the log4net section. - The for the log4net section. - - - Returns the containing the configuration data, - - - - - - Assembly level attribute that specifies a plugin to attach to - the repository. - - - - Specifies the type of a plugin to create and attach to the - assembly's repository. The plugin type must implement the - interface. - - - Nicko Cadell - Gert Driesen - - - - Interface used to create plugins. - - - - Interface used to create a plugin. - - - Nicko Cadell - Gert Driesen - - - - Creates the plugin object. - - the new plugin instance - - - Create and return a new plugin instance. - - - - - - Initializes a new instance of the class - with the specified type. - - The type name of plugin to create. - - - Create the attribute with the plugin type specified. - - - Where possible use the constructor that takes a . - - - - - - Initializes a new instance of the class - with the specified type. - - The type of plugin to create. - - - Create the attribute with the plugin type specified. - - - - - - Creates the plugin object defined by this attribute. - - - - Creates the instance of the object as - specified by this attribute. - - - The plugin object. - - - - Returns a representation of the properties of this object. - - - - Overrides base class method to - return a representation of the properties of this object. - - - A representation of the properties of this object - - - - Gets or sets the type for the plugin. - - - The type for the plugin. - - - - The type for the plugin. - - - - - - Gets or sets the type name for the plugin. - - - The type name for the plugin. - - - - The type name for the plugin. - - - Where possible use the property instead. - - - - - - Assembly level attribute to configure the . - - - - This attribute may only be used at the assembly scope and can only - be used once per assembly. - - - Use this attribute to configure the - without calling one of the - methods. - - - Nicko Cadell - - - - Construct provider attribute with type specified - - the type of the provider to use - - - The provider specified must subclass the - class. - - - - - - Configures the SecurityContextProvider - - The assembly that this attribute was defined on. - The repository to configure. - - - Creates a provider instance from the specified. - Sets this as the default security context provider . - - - - - - Gets or sets the type of the provider to use. - - - the type of the provider to use. - - - - The provider specified must subclass the - class. - - - - - - Use this class to initialize the log4net environment using an Xml tree. - - - - Configures a using an Xml tree. - - - Nicko Cadell - Gert Driesen - - - - Private constructor - - - - - Automatically configures the log4net system based on the - application's configuration settings. - - - - Each application has a configuration file. This has the - same name as the application with '.config' appended. - This file is XML and calling this function prompts the - configurator to look in that file for a section called - log4net that contains the configuration data. - - - To use this method to configure log4net you must specify - the section - handler for the log4net configuration section. See the - for an example. - - - - - - - Automatically configures the using settings - stored in the application's configuration file. - - - - Each application has a configuration file. This has the - same name as the application with '.config' appended. - This file is XML and calling this function prompts the - configurator to look in that file for a section called - log4net that contains the configuration data. - - - To use this method to configure log4net you must specify - the section - handler for the log4net configuration section. See the - for an example. - - - The repository to configure. - - - - Configures log4net using a log4net element - - - - Loads the log4net configuration from the XML element - supplied as . - - - The element to parse. - - - - Configures the using the specified XML - element. - - - Loads the log4net configuration from the XML element - supplied as . - - The repository to configure. - The element to parse. - - - - Configures log4net using the specified configuration file. - - The XML file to load the configuration from. - - - The configuration file must be valid XML. It must contain - at least one element called log4net that holds - the log4net configuration data. - - - The log4net configuration file can possible be specified in the application's - configuration file (either MyAppName.exe.config for a - normal application on Web.config for an ASP.NET application). - - - The first element matching <configuration> will be read as the - configuration. If this file is also a .NET .config file then you must specify - a configuration section for the log4net element otherwise .NET will - complain. Set the type for the section handler to , for example: - - -
- - - - - The following example configures log4net using a configuration file, of which the - location is stored in the application's configuration file : - - - using log4net.Config; - using System.IO; - using System.Configuration; - - ... - - XmlConfigurator.Configure(new FileInfo(ConfigurationSettings.AppSettings["log4net-config-file"])); - - - In the .config file, the path to the log4net can be specified like this : - - - - - - - - - - - - - Configures log4net using the specified configuration URI. - - A URI to load the XML configuration from. - - - The configuration data must be valid XML. It must contain - at least one element called log4net that holds - the log4net configuration data. - - - The must support the URI scheme specified. - - - - - - Configures log4net using the specified configuration data stream. - - A stream to load the XML configuration from. - - - The configuration data must be valid XML. It must contain - at least one element called log4net that holds - the log4net configuration data. - - - Note that this method will NOT close the stream parameter. - - - - - - Configures the using the specified configuration - file. - - The repository to configure. - The XML file to load the configuration from. - - - The configuration file must be valid XML. It must contain - at least one element called log4net that holds - the configuration data. - - - The log4net configuration file can possible be specified in the application's - configuration file (either MyAppName.exe.config for a - normal application on Web.config for an ASP.NET application). - - - The first element matching <configuration> will be read as the - configuration. If this file is also a .NET .config file then you must specify - a configuration section for the log4net element otherwise .NET will - complain. Set the type for the section handler to , for example: - - -
- - - - - The following example configures log4net using a configuration file, of which the - location is stored in the application's configuration file : - - - using log4net.Config; - using System.IO; - using System.Configuration; - - ... - - XmlConfigurator.Configure(new FileInfo(ConfigurationSettings.AppSettings["log4net-config-file"])); - - - In the .config file, the path to the log4net can be specified like this : - - - - - - - - - - - - - Configures the using the specified configuration - URI. - - The repository to configure. - A URI to load the XML configuration from. - - - The configuration data must be valid XML. It must contain - at least one element called log4net that holds - the configuration data. - - - The must support the URI scheme specified. - - - - - - Configures the using the specified configuration - file. - - The repository to configure. - The stream to load the XML configuration from. - - - The configuration data must be valid XML. It must contain - at least one element called log4net that holds - the configuration data. - - - Note that this method will NOT close the stream parameter. - - - - - - Configures log4net using the file specified, monitors the file for changes - and reloads the configuration if a change is detected. - - The XML file to load the configuration from. - - - The configuration file must be valid XML. It must contain - at least one element called log4net that holds - the configuration data. - - - The configuration file will be monitored using a - and depends on the behavior of that class. - - - For more information on how to configure log4net using - a separate configuration file, see . - - - - - - - Configures the using the file specified, - monitors the file for changes and reloads the configuration if a change - is detected. - - The repository to configure. - The XML file to load the configuration from. - - - The configuration file must be valid XML. It must contain - at least one element called log4net that holds - the configuration data. - - - The configuration file will be monitored using a - and depends on the behavior of that class. - - - For more information on how to configure log4net using - a separate configuration file, see . - - - - - - - Configures the specified repository using a log4net element. - - The hierarchy to configure. - The element to parse. - - - Loads the log4net configuration from the XML element - supplied as . - - - This method is ultimately called by one of the Configure methods - to load the configuration from an . - - - - - - Class used to watch config files. - - - - Uses the to monitor - changes to a specified file. Because multiple change notifications - may be raised when the file is modified, a timer is used to - compress the notifications into a single event. The timer - waits for time before delivering - the event notification. If any further - change notifications arrive while the timer is waiting it - is reset and waits again for to - elapse. - - - - - - The default amount of time to wait after receiving notification - before reloading the config file. - - - - - Watch a specified config file used to configure a repository - - The repository to configure. - The configuration file to watch. - - - Watch a specified config file used to configure a repository - - - - - - Holds the FileInfo used to configure the XmlConfigurator - - - - - Holds the repository being configured. - - - - - The timer used to compress the notification events. - - - - - Initializes a new instance of the class. - - The repository to configure. - The configuration file to watch. - - - Initializes a new instance of the class. - - - - - - Event handler used by . - - The firing the event. - The argument indicates the file that caused the event to be fired. - - - This handler reloads the configuration from the file when the event is fired. - - - - - - Event handler used by . - - The firing the event. - The argument indicates the file that caused the event to be fired. - - - This handler reloads the configuration from the file when the event is fired. - - - - - - Called by the timer when the configuration has been updated. - - null - - - - The implementation of the interface suitable - for use with the compact framework - - - - This implementation is a simple - mapping between repository name and - object. - - - The .NET Compact Framework 1.0 does not support retrieving assembly - level attributes therefore unlike the DefaultRepositorySelector - this selector does not examine the calling assembly for attributes. - - - Nicko Cadell - - - - Interface used by the to select the . - - - - The uses a - to specify the policy for selecting the correct - to return to the caller. - - - Nicko Cadell - Gert Driesen - - - - Gets the for the specified assembly. - - The assembly to use to lookup to the - The for the assembly. - - - Gets the for the specified assembly. - - - How the association between and - is made is not defined. The implementation may choose any method for - this association. The results of this method must be repeatable, i.e. - when called again with the same arguments the result must be the - save value. - - - - - - Gets the named . - - The name to use to lookup to the . - The named - - Lookup a named . This is the repository created by - calling . - - - - - Creates a new repository for the assembly specified. - - The assembly to use to create the domain to associate with the . - The type of repository to create, must implement . - The repository created. - - - The created will be associated with the domain - specified such that a call to with the - same assembly specified will return the same repository instance. - - - How the association between and - is made is not defined. The implementation may choose any method for - this association. - - - - - - Creates a new repository with the name specified. - - The name to associate with the . - The type of repository to create, must implement . - The repository created. - - - The created will be associated with the name - specified such that a call to with the - same name will return the same repository instance. - - - - - - Test if a named repository exists - - the named repository to check - true if the repository exists - - - Test if a named repository exists. Use - to create a new repository and to retrieve - a repository. - - - - - - Gets an array of all currently defined repositories. - - - An array of the instances created by - this . - - - Gets an array of all of the repositories created by this selector. - - - - - - Event to notify that a logger repository has been created. - - - Event to notify that a logger repository has been created. - - - - Event raised when a new repository is created. - The event source will be this selector. The event args will - be a which - holds the newly created . - - - - - - Create a new repository selector - - the type of the repositories to create, must implement - - - Create an new compact repository selector. - The default type for repositories must be specified, - an appropriate value would be . - - - throw if is null - throw if does not implement - - - - Get the for the specified assembly - - not used - The default - - - The argument is not used. This selector does not create a - separate repository for each assembly. - - - As a named repository is not specified the default repository is - returned. The default repository is named log4net-default-repository. - - - - - - Get the named - - the name of the repository to lookup - The named - - - Get the named . The default - repository is log4net-default-repository. Other repositories - must be created using the . - If the named repository does not exist an exception is thrown. - - - throw if is null - throw if the does not exist - - - - Create a new repository for the assembly specified - - not used - the type of repository to create, must implement - the repository created - - - The argument is not used. This selector does not create a - separate repository for each assembly. - - - If the is null then the - default repository type specified to the constructor is used. - - - As a named repository is not specified the default repository is - returned. The default repository is named log4net-default-repository. - - - - - - Create a new repository for the repository specified - - the repository to associate with the - the type of repository to create, must implement . - If this param is null then the default repository type is used. - the repository created - - - The created will be associated with the repository - specified such that a call to with the - same repository specified will return the same repository instance. - - - If the named repository already exists an exception will be thrown. - - - If is null then the default - repository type specified to the constructor is used. - - - throw if is null - throw if the already exists - - - - Test if a named repository exists - - the named repository to check - true if the repository exists - - - Test if a named repository exists. Use - to create a new repository and to retrieve - a repository. - - - - - - Gets a list of objects - - an array of all known objects - - - Gets an array of all of the repositories created by this selector. - - - - - - Notify the registered listeners that the repository has been created - - The repository that has been created - - - Raises the LoggerRepositoryCreatedEvent - event. - - - - - - Event to notify that a logger repository has been created. - - - Event to notify that a logger repository has been created. - - - - Event raised when a new repository is created. - The event source will be this selector. The event args will - be a which - holds the newly created . - - - - - - The default implementation of the interface. - - - - Uses attributes defined on the calling assembly to determine how to - configure the hierarchy for the repository. - - - Nicko Cadell - Gert Driesen - - - - Creates a new repository selector. - - The type of the repositories to create, must implement - - - Create an new repository selector. - The default type for repositories must be specified, - an appropriate value would be . - - - is . - does not implement . - - - - Gets the for the specified assembly. - - The assembly use to lookup the . - - - The type of the created and the repository - to create can be overridden by specifying the - attribute on the . - - - The default values are to use the - implementation of the interface and to use the - as the name of the repository. - - - The created will be automatically configured using - any attributes defined on - the . - - - The for the assembly - is . - - - - Gets the for the specified repository. - - The repository to use to lookup the . - The for the specified repository. - - - Returns the named repository. If is null - a is thrown. If the repository - does not exist a is thrown. - - - Use to create a repository. - - - is . - does not exist. - - - - Create a new repository for the assembly specified - - the assembly to use to create the repository to associate with the . - The type of repository to create, must implement . - The repository created. - - - The created will be associated with the repository - specified such that a call to with the - same assembly specified will return the same repository instance. - - - The type of the created and - the repository to create can be overridden by specifying the - attribute on the - . The default values are to use the - implementation of the - interface and to use the - as the name of the repository. - - - The created will be automatically - configured using any - attributes defined on the . - - - If a repository for the already exists - that repository will be returned. An error will not be raised and that - repository may be of a different type to that specified in . - Also the attribute on the - assembly may be used to override the repository type specified in - . - - - is . - - - - Creates a new repository for the assembly specified. - - the assembly to use to create the repository to associate with the . - The type of repository to create, must implement . - The name to assign to the created repository - Set to true to read and apply the assembly attributes - The repository created. - - - The created will be associated with the repository - specified such that a call to with the - same assembly specified will return the same repository instance. - - - The type of the created and - the repository to create can be overridden by specifying the - attribute on the - . The default values are to use the - implementation of the - interface and to use the - as the name of the repository. - - - The created will be automatically - configured using any - attributes defined on the . - - - If a repository for the already exists - that repository will be returned. An error will not be raised and that - repository may be of a different type to that specified in . - Also the attribute on the - assembly may be used to override the repository type specified in - . - - - is . - - - - Creates a new repository for the specified repository. - - The repository to associate with the . - The type of repository to create, must implement . - If this param is then the default repository type is used. - The new repository. - - - The created will be associated with the repository - specified such that a call to with the - same repository specified will return the same repository instance. - - - is . - already exists. - - - - Test if a named repository exists - - the named repository to check - true if the repository exists - - - Test if a named repository exists. Use - to create a new repository and to retrieve - a repository. - - - - - - Gets a list of objects - - an array of all known objects - - - Gets an array of all of the repositories created by this selector. - - - - - - Aliases a repository to an existing repository. - - The repository to alias. - The repository that the repository is aliased to. - - - The repository specified will be aliased to the repository when created. - The repository must not already exist. - - - When the repository is created it must utilize the same repository type as - the repository it is aliased to, otherwise the aliasing will fail. - - - - is . - -or- - is . - - - - - Notifies the registered listeners that the repository has been created. - - The repository that has been created. - - - Raises the event. - - - - - - Gets the repository name and repository type for the specified assembly. - - The assembly that has a . - in/out param to hold the repository name to use for the assembly, caller should set this to the default value before calling. - in/out param to hold the type of the repository to create for the assembly, caller should set this to the default value before calling. - is . - - - - Configures the repository using information from the assembly. - - The assembly containing - attributes which define the configuration for the repository. - The repository to configure. - - is . - -or- - is . - - - - - Loads the attribute defined plugins on the assembly. - - The assembly that contains the attributes. - The repository to add the plugins to. - - is . - -or- - is . - - - - - Loads the attribute defined aliases on the assembly. - - The assembly that contains the attributes. - The repository to alias to. - - is . - -or- - is . - - - - - Event to notify that a logger repository has been created. - - - Event to notify that a logger repository has been created. - - - - Event raised when a new repository is created. - The event source will be this selector. The event args will - be a which - holds the newly created . - - - - - - Defined error codes that can be passed to the method. - - - - Values passed to the method. - - - Nicko Cadell - - - - A general error - - - - - Error while writing output - - - - - Failed to flush file - - - - - Failed to close file - - - - - Unable to open output file - - - - - No layout specified - - - - - Failed to parse address - - - - - Appenders may delegate their error handling to an . - - - - Error handling is a particularly tedious to get right because by - definition errors are hard to predict and to reproduce. - - - Nicko Cadell - Gert Driesen - - - - Handles the error and information about the error condition is passed as - a parameter. - - The message associated with the error. - The that was thrown when the error occurred. - The error code associated with the error. - - - Handles the error and information about the error condition is passed as - a parameter. - - - - - - Prints the error message passed as a parameter. - - The message associated with the error. - The that was thrown when the error occurred. - - - See . - - - - - - Prints the error message passed as a parameter. - - The message associated with the error. - - - See . - - - - - - Interface for objects that require fixing. - - - - Interface that indicates that the object requires fixing before it - can be taken outside the context of the appender's - method. - - - When objects that implement this interface are stored - in the context properties maps - and - are fixed - (see ) the - method will be called. - - - Nicko Cadell - - - - Get a portable version of this object - - the portable instance of this object - - - Get a portable instance object that represents the current - state of this object. The portable object can be stored - and logged from any thread with identical results. - - - - - - Interface that all loggers implement - - - - This interface supports logging events and testing if a level - is enabled for logging. - - - These methods will not throw exceptions. Note to implementor, ensure - that the implementation of these methods cannot allow an exception - to be thrown to the caller. - - - Nicko Cadell - Gert Driesen - - - - This generic form is intended to be used by wrappers. - - The declaring type of the method that is - the stack boundary into the logging system for this call. - The level of the message to be logged. - The message object to log. - the exception to log, including its stack trace. Pass null to not log an exception. - - - Generates a logging event for the specified using - the and . - - - - - - This is the most generic printing method that is intended to be used - by wrappers. - - The event being logged. - - - Logs the specified logging event through this logger. - - - - - - Checks if this logger is enabled for a given passed as parameter. - - The level to check. - - true if this logger is enabled for level, otherwise false. - - - - Test if this logger is going to log events of the specified . - - - - - - Gets the name of the logger. - - - The name of the logger. - - - - The name of this logger - - - - - - Gets the where this - Logger instance is attached to. - - - The that this logger belongs to. - - - - Gets the where this - Logger instance is attached to. - - - - - - Base interface for all wrappers - - - - Base interface for all wrappers. - - - All wrappers must implement this interface. - - - Nicko Cadell - - - - Get the implementation behind this wrapper object. - - - The object that in implementing this object. - - - - The object that in implementing this - object. The Logger object may not - be the same object as this object because of logger decorators. - This gets the actual underlying objects that is used to process - the log events. - - - - - - Delegate used to handle logger repository creation event notifications - - The which created the repository. - The event args - that holds the instance that has been created. - - - Delegate used to handle logger repository creation event notifications. - - - - - - Provides data for the event. - - - - A - event is raised every time a is created. - - - - - - The created - - - - - Construct instance using specified - - the that has been created - - - Construct instance using specified - - - - - - The that has been created - - - The that has been created - - - - The that has been created - - - - - - Test if an triggers an action - - - - Implementations of this interface allow certain appenders to decide - when to perform an appender specific action. - - - The action or behavior triggered is defined by the implementation. - - - Nicko Cadell - - - - Test if this event triggers the action - - The event to check - true if this event triggers the action, otherwise false - - - Return true if this event triggers the action - - - - - - Defines the default set of levels recognized by the system. - - - - Each has an associated . - - - Levels have a numeric that defines the relative - ordering between levels. Two Levels with the same - are deemed to be equivalent. - - - The levels that are recognized by log4net are set for each - and each repository can have different levels defined. The levels are stored - in the on the repository. Levels are - looked up by name from the . - - - When logging at level INFO the actual level used is not but - the value of LoggerRepository.LevelMap["INFO"]. The default value for this is - , but this can be changed by reconfiguring the level map. - - - Each level has a in addition to its . The - is the string that is written into the output log. By default - the display name is the same as the level name, but this can be used to alias levels - or to localize the log output. - - - Some of the predefined levels recognized by the system are: - - - - . - - - . - - - . - - - . - - - . - - - . - - - . - - - - Nicko Cadell - Gert Driesen - - - - Constructor - - Integer value for this level, higher values represent more severe levels. - The string name of this level. - The display name for this level. This may be localized or otherwise different from the name - - - Initializes a new instance of the class with - the specified level name and value. - - - - - - Constructor - - Integer value for this level, higher values represent more severe levels. - The string name of this level. - - - Initializes a new instance of the class with - the specified level name and value. - - - - - - Returns the representation of the current - . - - - A representation of the current . - - - - Returns the level . - - - - - - Compares levels. - - The object to compare against. - true if the objects are equal. - - - Compares the levels of instances, and - defers to base class if the target object is not a - instance. - - - - - - Returns a hash code - - A hash code for the current . - - - Returns a hash code suitable for use in hashing algorithms and data - structures like a hash table. - - - Returns the hash code of the level . - - - - - - Compares this instance to a specified object and returns an - indication of their relative values. - - A instance or to compare with this instance. - - A 32-bit signed integer that indicates the relative order of the - values compared. The return value has these meanings: - - - Value - Meaning - - - Less than zero - This instance is less than . - - - Zero - This instance is equal to . - - - Greater than zero - - This instance is greater than . - -or- - is . - - - - - - - must be an instance of - or ; otherwise, an exception is thrown. - - - is not a . - - - - Returns a value indicating whether a specified - is greater than another specified . - - A - A - - true if is greater than - ; otherwise, false. - - - - Compares two levels. - - - - - - Returns a value indicating whether a specified - is less than another specified . - - A - A - - true if is less than - ; otherwise, false. - - - - Compares two levels. - - - - - - Returns a value indicating whether a specified - is greater than or equal to another specified . - - A - A - - true if is greater than or equal to - ; otherwise, false. - - - - Compares two levels. - - - - - - Returns a value indicating whether a specified - is less than or equal to another specified . - - A - A - - true if is less than or equal to - ; otherwise, false. - - - - Compares two levels. - - - - - - Returns a value indicating whether two specified - objects have the same value. - - A or . - A or . - - true if the value of is the same as the - value of ; otherwise, false. - - - - Compares two levels. - - - - - - Returns a value indicating whether two specified - objects have different values. - - A or . - A or . - - true if the value of is different from - the value of ; otherwise, false. - - - - Compares two levels. - - - - - - Compares two specified instances. - - The first to compare. - The second to compare. - - A 32-bit signed integer that indicates the relative order of the - two values compared. The return value has these meanings: - - - Value - Meaning - - - Less than zero - is less than . - - - Zero - is equal to . - - - Greater than zero - is greater than . - - - - - - Compares two levels. - - - - - - The level designates a higher level than all the rest. - - - - - The level designates very severe error events. - System unusable, emergencies. - - - - - The level designates very severe error events - that will presumably lead the application to abort. - - - - - The level designates very severe error events. - Take immediate action, alerts. - - - - - The level designates very severe error events. - Critical condition, critical. - - - - - The level designates very severe error events. - - - - - The level designates error events that might - still allow the application to continue running. - - - - - The level designates potentially harmful - situations. - - - - - The level designates informational messages - that highlight the progress of the application at the highest level. - - - - - The level designates informational messages that - highlight the progress of the application at coarse-grained level. - - - - - The level designates fine-grained informational - events that are most useful to debug an application. - - - - - The level designates fine-grained informational - events that are most useful to debug an application. - - - - - The level designates fine-grained informational - events that are most useful to debug an application. - - - - - The level designates fine-grained informational - events that are most useful to debug an application. - - - - - The level designates fine-grained informational - events that are most useful to debug an application. - - - - - The level designates fine-grained informational - events that are most useful to debug an application. - - - - - The level designates the lowest level possible. - - - - - Gets the name of this level. - - - The name of this level. - - - - Gets the name of this level. - - - - - - Gets the value of this level. - - - The value of this level. - - - - Gets the value of this level. - - - - - - Gets the display name of this level. - - - The display name of this level. - - - - Gets the display name of this level. - - - - - - A strongly-typed collection of objects. - - Nicko Cadell - - - - Creates a read-only wrapper for a LevelCollection instance. - - list to create a readonly wrapper arround - - A LevelCollection wrapper that is read-only. - - - - - Initializes a new instance of the LevelCollection class - that is empty and has the default initial capacity. - - - - - Initializes a new instance of the LevelCollection class - that has the specified initial capacity. - - - The number of elements that the new LevelCollection is initially capable of storing. - - - - - Initializes a new instance of the LevelCollection class - that contains elements copied from the specified LevelCollection. - - The LevelCollection whose elements are copied to the new collection. - - - - Initializes a new instance of the LevelCollection class - that contains elements copied from the specified array. - - The array whose elements are copied to the new list. - - - - Initializes a new instance of the LevelCollection class - that contains elements copied from the specified collection. - - The collection whose elements are copied to the new list. - - - - Allow subclasses to avoid our default constructors - - - - - - Copies the entire LevelCollection to a one-dimensional - array. - - The one-dimensional array to copy to. - - - - Copies the entire LevelCollection to a one-dimensional - array, starting at the specified index of the target array. - - The one-dimensional array to copy to. - The zero-based index in at which copying begins. - - - - Adds a to the end of the LevelCollection. - - The to be added to the end of the LevelCollection. - The index at which the value has been added. - - - - Removes all elements from the LevelCollection. - - - - - Creates a shallow copy of the . - - A new with a shallow copy of the collection data. - - - - Determines whether a given is in the LevelCollection. - - The to check for. - true if is found in the LevelCollection; otherwise, false. - - - - Returns the zero-based index of the first occurrence of a - in the LevelCollection. - - The to locate in the LevelCollection. - - The zero-based index of the first occurrence of - in the entire LevelCollection, if found; otherwise, -1. - - - - - Inserts an element into the LevelCollection at the specified index. - - The zero-based index at which should be inserted. - The to insert. - - is less than zero - -or- - is equal to or greater than . - - - - - Removes the first occurrence of a specific from the LevelCollection. - - The to remove from the LevelCollection. - - The specified was not found in the LevelCollection. - - - - - Removes the element at the specified index of the LevelCollection. - - The zero-based index of the element to remove. - - is less than zero - -or- - is equal to or greater than . - - - - - Returns an enumerator that can iterate through the LevelCollection. - - An for the entire LevelCollection. - - - - Adds the elements of another LevelCollection to the current LevelCollection. - - The LevelCollection whose elements should be added to the end of the current LevelCollection. - The new of the LevelCollection. - - - - Adds the elements of a array to the current LevelCollection. - - The array whose elements should be added to the end of the LevelCollection. - The new of the LevelCollection. - - - - Adds the elements of a collection to the current LevelCollection. - - The collection whose elements should be added to the end of the LevelCollection. - The new of the LevelCollection. - - - - Sets the capacity to the actual number of elements. - - - - - is less than zero - -or- - is equal to or greater than . - - - - - is less than zero - -or- - is equal to or greater than . - - - - - Gets the number of elements actually contained in the LevelCollection. - - - - - Gets a value indicating whether access to the collection is synchronized (thread-safe). - - true if access to the ICollection is synchronized (thread-safe); otherwise, false. - - - - Gets an object that can be used to synchronize access to the collection. - - - - - Gets or sets the at the specified index. - - The zero-based index of the element to get or set. - - is less than zero - -or- - is equal to or greater than . - - - - - Gets a value indicating whether the collection has a fixed size. - - true if the collection has a fixed size; otherwise, false. The default is false - - - - Gets a value indicating whether the IList is read-only. - - true if the collection is read-only; otherwise, false. The default is false - - - - Gets or sets the number of elements the LevelCollection can contain. - - - - - Supports type-safe iteration over a . - - - - - Advances the enumerator to the next element in the collection. - - - true if the enumerator was successfully advanced to the next element; - false if the enumerator has passed the end of the collection. - - - The collection was modified after the enumerator was created. - - - - - Sets the enumerator to its initial position, before the first element in the collection. - - - - - Gets the current element in the collection. - - - - - Type visible only to our subclasses - Used to access protected constructor - - - - - A value - - - - - Supports simple iteration over a . - - - - - Initializes a new instance of the Enumerator class. - - - - - - Advances the enumerator to the next element in the collection. - - - true if the enumerator was successfully advanced to the next element; - false if the enumerator has passed the end of the collection. - - - The collection was modified after the enumerator was created. - - - - - Sets the enumerator to its initial position, before the first element in the collection. - - - - - Gets the current element in the collection. - - - - - An evaluator that triggers at a threshold level - - - - This evaluator will trigger if the level of the event - passed to - is equal to or greater than the - level. - - - Nicko Cadell - - - - The threshold for triggering - - - - - Create a new evaluator using the threshold. - - - - Create a new evaluator using the threshold. - - - This evaluator will trigger if the level of the event - passed to - is equal to or greater than the - level. - - - - - - Create a new evaluator using the specified threshold. - - the threshold to trigger at - - - Create a new evaluator using the specified threshold. - - - This evaluator will trigger if the level of the event - passed to - is equal to or greater than the - level. - - - - - - Is this the triggering event? - - The event to check - This method returns true, if the event level - is equal or higher than the . - Otherwise it returns false - - - This evaluator will trigger if the level of the event - passed to - is equal to or greater than the - level. - - - - - - the threshold to trigger at - - - The that will cause this evaluator to trigger - - - - This evaluator will trigger if the level of the event - passed to - is equal to or greater than the - level. - - - - - - Mapping between string name and Level object - - - - Mapping between string name and object. - This mapping is held separately for each . - The level name is case insensitive. - - - Nicko Cadell - - - - Mapping from level name to Level object. The - level name is case insensitive - - - - - Construct the level map - - - - Construct the level map. - - - - - - Clear the internal maps of all levels - - - - Clear the internal maps of all levels - - - - - - Create a new Level and add it to the map - - the string to display for the Level - the level value to give to the Level - - - Create a new Level and add it to the map - - - - - - - Create a new Level and add it to the map - - the string to display for the Level - the level value to give to the Level - the display name to give to the Level - - - Create a new Level and add it to the map - - - - - - Add a Level to the map - - the Level to add - - - Add a Level to the map - - - - - - Lookup a named level from the map - - the name of the level to lookup is taken from this level. - If the level is not set on the map then this level is added - the level in the map with the name specified - - - Lookup a named level from the map. The name of the level to lookup is taken - from the property of the - argument. - - - If no level with the specified name is found then the - argument is added to the level map - and returned. - - - - - - Lookup a by name - - The name of the Level to lookup - a Level from the map with the name specified - - - Returns the from the - map with the name specified. If the no level is - found then null is returned. - - - - - - Return all possible levels as a list of Level objects. - - all possible levels as a list of Level objects - - - Return all possible levels as a list of Level objects. - - - - - - The internal representation of caller location information. - - - - This class uses the System.Diagnostics.StackTrace class to generate - a call stack. The caller's information is then extracted from this stack. - - - The System.Diagnostics.StackTrace class is not supported on the - .NET Compact Framework 1.0 therefore caller location information is not - available on that framework. - - - The System.Diagnostics.StackTrace class has this to say about Release builds: - - - "StackTrace information will be most informative with Debug build configurations. - By default, Debug builds include debug symbols, while Release builds do not. The - debug symbols contain most of the file, method name, line number, and column - information used in constructing StackFrame and StackTrace objects. StackTrace - might not report as many method calls as expected, due to code transformations - that occur during optimization." - - - This means that in a Release build the caller information may be incomplete or may - not exist at all! Therefore caller location information cannot be relied upon in a Release build. - - - Nicko Cadell - Gert Driesen - - - - When location information is not available the constant - NA is returned. Current value of this string - constant is ?. - - - - - Constructor - - The declaring type of the method that is - the stack boundary into the logging system for this call. - - - Initializes a new instance of the - class based on the current thread. - - - - - - Constructor - - The fully qualified class name. - The method name. - The file name. - The line number of the method within the file. - - - Initializes a new instance of the - class with the specified data. - - - - - - Gets the fully qualified class name of the caller making the logging - request. - - - The fully qualified class name of the caller making the logging - request. - - - - Gets the fully qualified class name of the caller making the logging - request. - - - - - - Gets the file name of the caller. - - - The file name of the caller. - - - - Gets the file name of the caller. - - - - - - Gets the line number of the caller. - - - The line number of the caller. - - - - Gets the line number of the caller. - - - - - - Gets the method name of the caller. - - - The method name of the caller. - - - - Gets the method name of the caller. - - - - - - Gets all available caller information - - - All available caller information, in the format - fully.qualified.classname.of.caller.methodName(Filename:line) - - - - Gets all available caller information, in the format - fully.qualified.classname.of.caller.methodName(Filename:line) - - - - - - Static manager that controls the creation of repositories - - - - Static manager that controls the creation of repositories - - - This class is used by the wrapper managers (e.g. ) - to provide access to the objects. - - - This manager also holds the that is used to - lookup and create repositories. The selector can be set either programmatically using - the property, or by setting the log4net.RepositorySelector - AppSetting in the applications config file to the fully qualified type name of the - selector to use. - - - Nicko Cadell - Gert Driesen - - - - Private constructor to prevent instances. Only static methods should be used. - - - - Private constructor to prevent instances. Only static methods should be used. - - - - - - Hook the shutdown event - - - - On the full .NET runtime, the static constructor hooks up the - AppDomain.ProcessExit and AppDomain.DomainUnload> events. - These are used to shutdown the log4net system as the application exits. - - - - - - Register for ProcessExit and DomainUnload events on the AppDomain - - - - This needs to be in a separate method because the events make - a LinkDemand for the ControlAppDomain SecurityPermission. Because - this is a LinkDemand it is demanded at JIT time. Therefore we cannot - catch the exception in the method itself, we have to catch it in the - caller. - - - - - - Return the default instance. - - the repository to lookup in - Return the default instance - - - Gets the for the repository specified - by the argument. - - - - - - Returns the default instance. - - The assembly to use to lookup the repository. - The default instance. - - - - Return the default instance. - - the repository to lookup in - Return the default instance - - - Gets the for the repository specified - by the argument. - - - - - - Returns the default instance. - - The assembly to use to lookup the repository. - The default instance. - - - Returns the default instance. - - - - - - Returns the named logger if it exists. - - The repository to lookup in. - The fully qualified logger name to look for. - - The logger found, or null if the named logger does not exist in the - specified repository. - - - - If the named logger exists (in the specified repository) then it - returns a reference to the logger, otherwise it returns - null. - - - - - - Returns the named logger if it exists. - - The assembly to use to lookup the repository. - The fully qualified logger name to look for. - - The logger found, or null if the named logger does not exist in the - specified assembly's repository. - - - - If the named logger exists (in the specified assembly's repository) then it - returns a reference to the logger, otherwise it returns - null. - - - - - - Returns all the currently defined loggers in the specified repository. - - The repository to lookup in. - All the defined loggers. - - - The root logger is not included in the returned array. - - - - - - Returns all the currently defined loggers in the specified assembly's repository. - - The assembly to use to lookup the repository. - All the defined loggers. - - - The root logger is not included in the returned array. - - - - - - Retrieves or creates a named logger. - - The repository to lookup in. - The name of the logger to retrieve. - The logger with the name specified. - - - Retrieves a logger named as the - parameter. If the named logger already exists, then the - existing instance will be returned. Otherwise, a new instance is - created. - - - By default, loggers do not have a set level but inherit - it from the hierarchy. This is one of the central features of - log4net. - - - - - - Retrieves or creates a named logger. - - The assembly to use to lookup the repository. - The name of the logger to retrieve. - The logger with the name specified. - - - Retrieves a logger named as the - parameter. If the named logger already exists, then the - existing instance will be returned. Otherwise, a new instance is - created. - - - By default, loggers do not have a set level but inherit - it from the hierarchy. This is one of the central features of - log4net. - - - - - - Shorthand for . - - The repository to lookup in. - The of which the fullname will be used as the name of the logger to retrieve. - The logger with the name specified. - - - Gets the logger for the fully qualified name of the type specified. - - - - - - Shorthand for . - - the assembly to use to lookup the repository - The of which the fullname will be used as the name of the logger to retrieve. - The logger with the name specified. - - - Gets the logger for the fully qualified name of the type specified. - - - - - - Shuts down the log4net system. - - - - Calling this method will safely close and remove all - appenders in all the loggers including root contained in all the - default repositories. - - - Some appenders need to be closed before the application exists. - Otherwise, pending logging events might be lost. - - - The shutdown method is careful to close nested - appenders before closing regular appenders. This is allows - configurations where a regular appender is attached to a logger - and again to a nested appender. - - - - - - Shuts down the repository for the repository specified. - - The repository to shutdown. - - - Calling this method will safely close and remove all - appenders in all the loggers including root contained in the - repository for the specified. - - - Some appenders need to be closed before the application exists. - Otherwise, pending logging events might be lost. - - - The shutdown method is careful to close nested - appenders before closing regular appenders. This is allows - configurations where a regular appender is attached to a logger - and again to a nested appender. - - - - - - Shuts down the repository for the repository specified. - - The assembly to use to lookup the repository. - - - Calling this method will safely close and remove all - appenders in all the loggers including root contained in the - repository for the repository. The repository is looked up using - the specified. - - - Some appenders need to be closed before the application exists. - Otherwise, pending logging events might be lost. - - - The shutdown method is careful to close nested - appenders before closing regular appenders. This is allows - configurations where a regular appender is attached to a logger - and again to a nested appender. - - - - - - Resets all values contained in this repository instance to their defaults. - - The repository to reset. - - - Resets all values contained in the repository instance to their - defaults. This removes all appenders from all loggers, sets - the level of all non-root loggers to null, - sets their additivity flag to true and sets the level - of the root logger to . Moreover, - message disabling is set its default "off" value. - - - - - - Resets all values contained in this repository instance to their defaults. - - The assembly to use to lookup the repository to reset. - - - Resets all values contained in the repository instance to their - defaults. This removes all appenders from all loggers, sets - the level of all non-root loggers to null, - sets their additivity flag to true and sets the level - of the root logger to . Moreover, - message disabling is set its default "off" value. - - - - - - Creates a repository with the specified name. - - The name of the repository, this must be unique amongst repositories. - The created for the repository. - - - CreateDomain is obsolete. Use CreateRepository instead of CreateDomain. - - - Creates the default type of which is a - object. - - - The name must be unique. Repositories cannot be redefined. - An will be thrown if the repository already exists. - - - The specified repository already exists. - - - - Creates a repository with the specified name. - - The name of the repository, this must be unique amongst repositories. - The created for the repository. - - - Creates the default type of which is a - object. - - - The name must be unique. Repositories cannot be redefined. - An will be thrown if the repository already exists. - - - The specified repository already exists. - - - - Creates a repository with the specified name and repository type. - - The name of the repository, this must be unique to the repository. - A that implements - and has a no arg constructor. An instance of this type will be created to act - as the for the repository specified. - The created for the repository. - - - CreateDomain is obsolete. Use CreateRepository instead of CreateDomain. - - - The name must be unique. Repositories cannot be redefined. - An Exception will be thrown if the repository already exists. - - - The specified repository already exists. - - - - Creates a repository with the specified name and repository type. - - The name of the repository, this must be unique to the repository. - A that implements - and has a no arg constructor. An instance of this type will be created to act - as the for the repository specified. - The created for the repository. - - - The name must be unique. Repositories cannot be redefined. - An Exception will be thrown if the repository already exists. - - - The specified repository already exists. - - - - Creates a repository for the specified assembly and repository type. - - The assembly to use to get the name of the repository. - A that implements - and has a no arg constructor. An instance of this type will be created to act - as the for the repository specified. - The created for the repository. - - - CreateDomain is obsolete. Use CreateRepository instead of CreateDomain. - - - The created will be associated with the repository - specified such that a call to with the - same assembly specified will return the same repository instance. - - - - - - Creates a repository for the specified assembly and repository type. - - The assembly to use to get the name of the repository. - A that implements - and has a no arg constructor. An instance of this type will be created to act - as the for the repository specified. - The created for the repository. - - - The created will be associated with the repository - specified such that a call to with the - same assembly specified will return the same repository instance. - - - - - - Gets an array of all currently defined repositories. - - An array of all the known objects. - - - Gets an array of all currently defined repositories. - - - - - - Internal method to get pertinent version info. - - A string of version info. - - - - Called when the event fires - - the that is exiting - null - - - Called when the event fires. - - - When the event is triggered the log4net system is . - - - - - - Called when the event fires - - the that is exiting - null - - - Called when the event fires. - - - When the event is triggered the log4net system is . - - - - - - Initialize the default repository selector - - - - - Gets or sets the repository selector used by the . - - - The repository selector used by the . - - - - The repository selector () is used by - the to create and select repositories - (). - - - The caller to supplies either a string name - or an assembly (if not supplied the assembly is inferred using - ). - - - This context is used by the selector to lookup a specific repository. - - - For the full .NET Framework, the default repository is DefaultRepositorySelector; - for the .NET Compact Framework CompactRepositorySelector is the default - repository. - - - - - - Implementation of the interface. - - - - This class should be used as the base for all wrapper implementations. - - - Nicko Cadell - Gert Driesen - - - - Constructs a new wrapper for the specified logger. - - The logger to wrap. - - - Constructs a new wrapper for the specified logger. - - - - - - The logger that this object is wrapping - - - - - Gets the implementation behind this wrapper object. - - - The object that this object is implementing. - - - - The Logger object may not be the same object as this object - because of logger decorators. - - - This gets the actual underlying objects that is used to process - the log events. - - - - - - Portable data structure used by - - - - Portable data structure used by - - - Nicko Cadell - - - - The logger name. - - - - The logger name. - - - - - - Level of logging event. - - - - Level of logging event. Level cannot be Serializable - because it is a flyweight. Due to its special serialization it - cannot be declared final either. - - - - - - The application supplied message. - - - - The application supplied message of logging event. - - - - - - The name of thread - - - - The name of thread in which this logging event was generated - - - - - - The time the event was logged - - - - The TimeStamp is stored in the local time zone for this computer. - - - - - - Location information for the caller. - - - - Location information for the caller. - - - - - - String representation of the user - - - - String representation of the user's windows name, - like DOMAIN\username - - - - - - String representation of the identity. - - - - String representation of the current thread's principal identity. - - - - - - The string representation of the exception - - - - The string representation of the exception - - - - - - String representation of the AppDomain. - - - - String representation of the AppDomain. - - - - - - Additional event specific properties - - - - A logger or an appender may attach additional - properties to specific events. These properties - have a string key and an object value. - - - - - - Flags passed to the property - - - - Flags passed to the property - - - Nicko Cadell - - - - Fix the MDC - - - - - Fix the NDC - - - - - Fix the rendered message - - - - - Fix the thread name - - - - - Fix the callers location information - - - CAUTION: Very slow to generate - - - - - Fix the callers windows user name - - - CAUTION: Slow to generate - - - - - Fix the domain friendly name - - - - - Fix the callers principal name - - - CAUTION: May be slow to generate - - - - - Fix the exception text - - - - - Fix the event properties - - - - - No fields fixed - - - - - All fields fixed - - - - - Partial fields fixed - - - - This set of partial fields gives good performance. The following fields are fixed: - - - - - - - - - - - - - The internal representation of logging events. - - - - When an affirmative decision is made to log then a - instance is created. This instance - is passed around to the different log4net components. - - - This class is of concern to those wishing to extend log4net. - - - Some of the values in instances of - are considered volatile, that is the values are correct at the - time the event is delivered to appenders, but will not be consistent - at any time afterwards. If an event is to be stored and then processed - at a later time these volatile values must be fixed by calling - . There is a performance penalty - for incurred by calling but it - is essential to maintaining data consistency. - - - Nicko Cadell - Gert Driesen - Douglas de la Torre - Daniel Cazzulino - - - - The key into the Properties map for the host name value. - - - - - The key into the Properties map for the thread identity value. - - - - - The key into the Properties map for the user name value. - - - - - Initializes a new instance of the class - from the supplied parameters. - - The declaring type of the method that is - the stack boundary into the logging system for this call. - The repository this event is logged in. - The name of the logger of this event. - The level of this event. - The message of this event. - The exception for this event. - - - Except , and , - all fields of LoggingEvent are filled when actually needed. Call - to cache all data locally - to prevent inconsistencies. - - This method is called by the log4net framework - to create a logging event. - - - - - - Initializes a new instance of the class - using specific data. - - The declaring type of the method that is - the stack boundary into the logging system for this call. - The repository this event is logged in. - Data used to initialize the logging event. - The fields in the struct that have already been fixed. - - - This constructor is provided to allow a - to be created independently of the log4net framework. This can - be useful if you require a custom serialization scheme. - - - Use the method to obtain an - instance of the class. - - - The parameter should be used to specify which fields in the - struct have been preset. Fields not specified in the - will be captured from the environment if requested or fixed. - - - - - - Initializes a new instance of the class - using specific data. - - The declaring type of the method that is - the stack boundary into the logging system for this call. - The repository this event is logged in. - Data used to initialize the logging event. - - - This constructor is provided to allow a - to be created independently of the log4net framework. This can - be useful if you require a custom serialization scheme. - - - Use the method to obtain an - instance of the class. - - - This constructor sets this objects flags to , - this assumes that all the data relating to this event is passed in via the - parameter and no other data should be captured from the environment. - - - - - - Initializes a new instance of the class - using specific data. - - Data used to initialize the logging event. - - - This constructor is provided to allow a - to be created independently of the log4net framework. This can - be useful if you require a custom serialization scheme. - - - Use the method to obtain an - instance of the class. - - - This constructor sets this objects flags to , - this assumes that all the data relating to this event is passed in via the - parameter and no other data should be captured from the environment. - - - - - - Serialization constructor - - The that holds the serialized object data. - The that contains contextual information about the source or destination. - - - Initializes a new instance of the class - with serialized data. - - - - - - Ensure that the repository is set. - - the value for the repository - - - - Write the rendered message to a TextWriter - - the writer to write the message to - - - Unlike the property this method - does store the message data in the internal cache. Therefore - if called only once this method should be faster than the - property, however if the message is - to be accessed multiple times then the property will be more efficient. - - - - - - Serializes this object into the provided. - - The to populate with data. - The destination for this serialization. - - - The data in this event must be fixed before it can be serialized. - - - The method must be called during the - method call if this event - is to be used outside that method. - - - - - - Gets the portable data for this . - - The for this event. - - - A new can be constructed using a - instance. - - - Does a fix of the data - in the logging event before returning the event data. - - - - - - Gets the portable data for this . - - The set of data to ensure is fixed in the LoggingEventData - The for this event. - - - A new can be constructed using a - instance. - - - - - - Returns this event's exception's rendered using the - . - - - This event's exception's rendered using the . - - - - Obsolete. Use instead. - - - - - - Returns this event's exception's rendered using the - . - - - This event's exception's rendered using the . - - - - Returns this event's exception's rendered using the - . - - - - - - Fix instance fields that hold volatile data. - - - - Some of the values in instances of - are considered volatile, that is the values are correct at the - time the event is delivered to appenders, but will not be consistent - at any time afterwards. If an event is to be stored and then processed - at a later time these volatile values must be fixed by calling - . There is a performance penalty - incurred by calling but it - is essential to maintaining data consistency. - - - Calling is equivalent to - calling passing the parameter - false. - - - See for more - information. - - - - - - Fixes instance fields that hold volatile data. - - Set to true to not fix data that takes a long time to fix. - - - Some of the values in instances of - are considered volatile, that is the values are correct at the - time the event is delivered to appenders, but will not be consistent - at any time afterwards. If an event is to be stored and then processed - at a later time these volatile values must be fixed by calling - . There is a performance penalty - for incurred by calling but it - is essential to maintaining data consistency. - - - The param controls the data that - is fixed. Some of the data that can be fixed takes a long time to - generate, therefore if you do not require those settings to be fixed - they can be ignored by setting the param - to true. This setting will ignore the - and settings. - - - Set to false to ensure that all - settings are fixed. - - - - - - Fix the fields specified by the parameter - - the fields to fix - - - Only fields specified in the will be fixed. - Fields will not be fixed if they have previously been fixed. - It is not possible to 'unfix' a field. - - - - - - Lookup a composite property in this event - - the key for the property to lookup - the value for the property - - - This event has composite properties that combine together properties from - several different contexts in the following order: - - - this events properties - - This event has that can be set. These - properties are specific to this event only. - - - - the thread properties - - The that are set on the current - thread. These properties are shared by all events logged on this thread. - - - - the global properties - - The that are set globally. These - properties are shared by all the threads in the AppDomain. - - - - - - - - - Get all the composite properties in this event - - the containing all the properties - - - See for details of the composite properties - stored by the event. - - - This method returns a single containing all the - properties defined for this event. - - - - - - The internal logging event data. - - - - - The internal logging event data. - - - - - The internal logging event data. - - - - - The fully qualified Type of the calling - logger class in the stack frame (i.e. the declaring type of the method). - - - - - The application supplied message of logging event. - - - - - The exception that was thrown. - - - This is not serialized. The string representation - is serialized instead. - - - - - The repository that generated the logging event - - - This is not serialized. - - - - - The fix state for this event - - - These flags indicate which fields have been fixed. - Not serialized. - - - - - Indicated that the internal cache is updateable (ie not fixed) - - - This is a seperate flag to m_fixFlags as it allows incrementel fixing and simpler - changes in the caching strategy. - - - - - Gets the time when the current process started. - - - This is the time when this process started. - - - - The TimeStamp is stored in the local time zone for this computer. - - - Tries to get the start time for the current process. - Failing that it returns the time of the first call to - this property. - - - Note that AppDomains may be loaded and unloaded within the - same process without the process terminating and therefore - without the process start time being reset. - - - - - - Gets the of the logging event. - - - The of the logging event. - - - - Gets the of the logging event. - - - - - - Gets the time of the logging event. - - - The time of the logging event. - - - - The TimeStamp is stored in the local time zone for this computer. - - - - - - Gets the name of the logger that logged the event. - - - The name of the logger that logged the event. - - - - Gets the name of the logger that logged the event. - - - - - - Gets the location information for this logging event. - - - The location information for this logging event. - - - - The collected information is cached for future use. - - - See the class for more information on - supported frameworks and the different behavior in Debug and - Release builds. - - - - - - Gets the message object used to initialize this event. - - - The message object used to initialize this event. - - - - Gets the message object used to initialize this event. - Note that this event may not have a valid message object. - If the event is serialized the message object will not - be transferred. To get the text of the message the - property must be used - not this property. - - - If there is no defined message object for this event then - null will be returned. - - - - - - Gets the exception object used to initialize this event. - - - The exception object used to initialize this event. - - - - Gets the exception object used to initialize this event. - Note that this event may not have a valid exception object. - If the event is serialized the exception object will not - be transferred. To get the text of the exception the - method must be used - not this property. - - - If there is no defined exception object for this event then - null will be returned. - - - - - - The that this event was created in. - - - - The that this event was created in. - - - - - - Gets the message, rendered through the . - - - The message rendered through the . - - - - The collected information is cached for future use. - - - - - - Gets the name of the current thread. - - - The name of the current thread, or the thread ID when - the name is not available. - - - - The collected information is cached for future use. - - - - - - Gets the name of the current user. - - - The name of the current user, or NOT AVAILABLE when the - underlying runtime has no support for retrieving the name of the - current user. - - - - Calls WindowsIdentity.GetCurrent().Name to get the name of - the current windows user. - - - To improve performance, we could cache the string representation of - the name, and reuse that as long as the identity stayed constant. - Once the identity changed, we would need to re-assign and re-render - the string. - - - However, the WindowsIdentity.GetCurrent() call seems to - return different objects every time, so the current implementation - doesn't do this type of caching. - - - Timing for these operations: - - - - Method - Results - - - WindowsIdentity.GetCurrent() - 10000 loops, 00:00:00.2031250 seconds - - - WindowsIdentity.GetCurrent().Name - 10000 loops, 00:00:08.0468750 seconds - - - - This means we could speed things up almost 40 times by caching the - value of the WindowsIdentity.GetCurrent().Name property, since - this takes (8.04-0.20) = 7.84375 seconds. - - - - - - Gets the identity of the current thread principal. - - - The string name of the identity of the current thread principal. - - - - Calls System.Threading.Thread.CurrentPrincipal.Identity.Name to get - the name of the current thread principal. - - - - - - Gets the AppDomain friendly name. - - - The AppDomain friendly name. - - - - Gets the AppDomain friendly name. - - - - - - Additional event specific properties. - - - Additional event specific properties. - - - - A logger or an appender may attach additional - properties to specific events. These properties - have a string key and an object value. - - - This property is for events that have been added directly to - this event. The aggregate properties (which include these - event properties) can be retrieved using - and . - - - Once the properties have been fixed this property - returns the combined cached properties. This ensures that updates to - this property are always reflected in the underlying storage. When - returning the combined properties there may be more keys in the - Dictionary than expected. - - - - - - The fixed fields in this event - - - The set of fields that are fixed in this event - - - - Fields will not be fixed if they have previously been fixed. - It is not possible to 'unfix' a field. - - - - - - Implementation of wrapper interface. - - - - This implementation of the interface - forwards to the held by the base class. - - - This logger has methods to allow the caller to log at the following - levels: - - - - DEBUG - - The and methods log messages - at the DEBUG level. That is the level with that name defined in the - repositories . The default value - for this level is . The - property tests if this level is enabled for logging. - - - - INFO - - The and methods log messages - at the INFO level. That is the level with that name defined in the - repositories . The default value - for this level is . The - property tests if this level is enabled for logging. - - - - WARN - - The and methods log messages - at the WARN level. That is the level with that name defined in the - repositories . The default value - for this level is . The - property tests if this level is enabled for logging. - - - - ERROR - - The and methods log messages - at the ERROR level. That is the level with that name defined in the - repositories . The default value - for this level is . The - property tests if this level is enabled for logging. - - - - FATAL - - The and methods log messages - at the FATAL level. That is the level with that name defined in the - repositories . The default value - for this level is . The - property tests if this level is enabled for logging. - - - - - The values for these levels and their semantic meanings can be changed by - configuring the for the repository. - - - Nicko Cadell - Gert Driesen - - - - The ILog interface is use by application to log messages into - the log4net framework. - - - - Use the to obtain logger instances - that implement this interface. The - static method is used to get logger instances. - - - This class contains methods for logging at different levels and also - has properties for determining if those logging levels are - enabled in the current configuration. - - - This interface can be implemented in different ways. This documentation - specifies reasonable behavior that a caller can expect from the actual - implementation, however different implementations reserve the right to - do things differently. - - - Simple example of logging messages - - ILog log = LogManager.GetLogger("application-log"); - - log.Info("Application Start"); - log.Debug("This is a debug message"); - - if (log.IsDebugEnabled) - { - log.Debug("This is another debug message"); - } - - - - - Nicko Cadell - Gert Driesen - - - Log a message object with the level. - - Log a message object with the level. - - The message object to log. - - - This method first checks if this logger is DEBUG - enabled by comparing the level of this logger with the - level. If this logger is - DEBUG enabled, then it converts the message object - (passed as parameter) to a string by invoking the appropriate - . It then - proceeds to call all the registered appenders in this logger - and also higher in the hierarchy depending on the value of - the additivity flag. - - WARNING Note that passing an - to this method will print the name of the - but no stack trace. To print a stack trace use the - form instead. - - - - - - - - Log a message object with the level including - the stack trace of the passed - as a parameter. - - The message object to log. - The exception to log, including its stack trace. - - - See the form for more detailed information. - - - - - - - Log a formatted string with the level. - - Logs a formatted message string with the level. - - A String containing zero or more format items - An Object array containing zero or more objects to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - - Logs a formatted message string with the level. - - A String containing zero or more format items - An Object to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - - Logs a formatted message string with the level. - - A String containing zero or more format items - An Object to format - An Object to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - - Logs a formatted message string with the level. - - A String containing zero or more format items - An Object to format - An Object to format - An Object to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - - Logs a formatted message string with the level. - - An that supplies culture-specific formatting information - A String containing zero or more format items - An Object array containing zero or more objects to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - Log a message object with the level. - - Logs a message object with the level. - - - - This method first checks if this logger is INFO - enabled by comparing the level of this logger with the - level. If this logger is - INFO enabled, then it converts the message object - (passed as parameter) to a string by invoking the appropriate - . It then - proceeds to call all the registered appenders in this logger - and also higher in the hierarchy depending on the value of the - additivity flag. - - WARNING Note that passing an - to this method will print the name of the - but no stack trace. To print a stack trace use the - form instead. - - - The message object to log. - - - - - - Logs a message object with the INFO level including - the stack trace of the passed - as a parameter. - - The message object to log. - The exception to log, including its stack trace. - - - See the form for more detailed information. - - - - - - - Log a formatted message string with the level. - - Logs a formatted message string with the level. - - A String containing zero or more format items - An Object array containing zero or more objects to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - - Logs a formatted message string with the level. - - A String containing zero or more format items - An Object to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - - Logs a formatted message string with the level. - - A String containing zero or more format items - An Object to format - An Object to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - - Logs a formatted message string with the level. - - A String containing zero or more format items - An Object to format - An Object to format - An Object to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - - Logs a formatted message string with the level. - - An that supplies culture-specific formatting information - A String containing zero or more format items - An Object array containing zero or more objects to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - Log a message object with the level. - - Log a message object with the level. - - - - This method first checks if this logger is WARN - enabled by comparing the level of this logger with the - level. If this logger is - WARN enabled, then it converts the message object - (passed as parameter) to a string by invoking the appropriate - . It then - proceeds to call all the registered appenders in this logger - and also higher in the hierarchy depending on the value of the - additivity flag. - - WARNING Note that passing an - to this method will print the name of the - but no stack trace. To print a stack trace use the - form instead. - - - The message object to log. - - - - - - Log a message object with the level including - the stack trace of the passed - as a parameter. - - The message object to log. - The exception to log, including its stack trace. - - - See the form for more detailed information. - - - - - - - Log a formatted message string with the level. - - Logs a formatted message string with the level. - - A String containing zero or more format items - An Object array containing zero or more objects to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - - Logs a formatted message string with the level. - - A String containing zero or more format items - An Object to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - - Logs a formatted message string with the level. - - A String containing zero or more format items - An Object to format - An Object to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - - Logs a formatted message string with the level. - - A String containing zero or more format items - An Object to format - An Object to format - An Object to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - - Logs a formatted message string with the level. - - An that supplies culture-specific formatting information - A String containing zero or more format items - An Object array containing zero or more objects to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - Log a message object with the level. - - Logs a message object with the level. - - The message object to log. - - - This method first checks if this logger is ERROR - enabled by comparing the level of this logger with the - level. If this logger is - ERROR enabled, then it converts the message object - (passed as parameter) to a string by invoking the appropriate - . It then - proceeds to call all the registered appenders in this logger - and also higher in the hierarchy depending on the value of the - additivity flag. - - WARNING Note that passing an - to this method will print the name of the - but no stack trace. To print a stack trace use the - form instead. - - - - - - - - Log a message object with the level including - the stack trace of the passed - as a parameter. - - The message object to log. - The exception to log, including its stack trace. - - - See the form for more detailed information. - - - - - - - Log a formatted message string with the level. - - Logs a formatted message string with the level. - - A String containing zero or more format items - An Object array containing zero or more objects to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - - Logs a formatted message string with the level. - - A String containing zero or more format items - An Object to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - - Logs a formatted message string with the level. - - A String containing zero or more format items - An Object to format - An Object to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - - Logs a formatted message string with the level. - - A String containing zero or more format items - An Object to format - An Object to format - An Object to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - - Logs a formatted message string with the level. - - An that supplies culture-specific formatting information - A String containing zero or more format items - An Object array containing zero or more objects to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - Log a message object with the level. - - Log a message object with the level. - - - - This method first checks if this logger is FATAL - enabled by comparing the level of this logger with the - level. If this logger is - FATAL enabled, then it converts the message object - (passed as parameter) to a string by invoking the appropriate - . It then - proceeds to call all the registered appenders in this logger - and also higher in the hierarchy depending on the value of the - additivity flag. - - WARNING Note that passing an - to this method will print the name of the - but no stack trace. To print a stack trace use the - form instead. - - - The message object to log. - - - - - - Log a message object with the level including - the stack trace of the passed - as a parameter. - - The message object to log. - The exception to log, including its stack trace. - - - See the form for more detailed information. - - - - - - - Log a formatted message string with the level. - - Logs a formatted message string with the level. - - A String containing zero or more format items - An Object array containing zero or more objects to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - - Logs a formatted message string with the level. - - A String containing zero or more format items - An Object to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - - Logs a formatted message string with the level. - - A String containing zero or more format items - An Object to format - An Object to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - - Logs a formatted message string with the level. - - A String containing zero or more format items - An Object to format - An Object to format - An Object to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - - Logs a formatted message string with the level. - - An that supplies culture-specific formatting information - A String containing zero or more format items - An Object array containing zero or more objects to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - - Checks if this logger is enabled for the level. - - - true if this logger is enabled for events, false otherwise. - - - - This function is intended to lessen the computational cost of - disabled log debug statements. - - For some ILog interface log, when you write: - - log.Debug("This is entry number: " + i ); - - - You incur the cost constructing the message, string construction and concatenation in - this case, regardless of whether the message is logged or not. - - - If you are worried about speed (who isn't), then you should write: - - - if (log.IsDebugEnabled) - { - log.Debug("This is entry number: " + i ); - } - - - This way you will not incur the cost of parameter - construction if debugging is disabled for log. On - the other hand, if the log is debug enabled, you - will incur the cost of evaluating whether the logger is debug - enabled twice. Once in and once in - the . This is an insignificant overhead - since evaluating a logger takes about 1% of the time it - takes to actually log. This is the preferred style of logging. - - Alternatively if your logger is available statically then the is debug - enabled state can be stored in a static variable like this: - - - private static readonly bool isDebugEnabled = log.IsDebugEnabled; - - - Then when you come to log you can write: - - - if (isDebugEnabled) - { - log.Debug("This is entry number: " + i ); - } - - - This way the debug enabled state is only queried once - when the class is loaded. Using a private static readonly - variable is the most efficient because it is a run time constant - and can be heavily optimized by the JIT compiler. - - - Of course if you use a static readonly variable to - hold the enabled state of the logger then you cannot - change the enabled state at runtime to vary the logging - that is produced. You have to decide if you need absolute - speed or runtime flexibility. - - - - - - - - Checks if this logger is enabled for the level. - - - true if this logger is enabled for events, false otherwise. - - - For more information see . - - - - - - - - Checks if this logger is enabled for the level. - - - true if this logger is enabled for events, false otherwise. - - - For more information see . - - - - - - - - Checks if this logger is enabled for the level. - - - true if this logger is enabled for events, false otherwise. - - - For more information see . - - - - - - - - Checks if this logger is enabled for the level. - - - true if this logger is enabled for events, false otherwise. - - - For more information see . - - - - - - - - Construct a new wrapper for the specified logger. - - The logger to wrap. - - - Construct a new wrapper for the specified logger. - - - - - - Virtual method called when the configuration of the repository changes - - the repository holding the levels - - - Virtual method called when the configuration of the repository changes - - - - - - Logs a message object with the DEBUG level. - - The message object to log. - - - This method first checks if this logger is DEBUG - enabled by comparing the level of this logger with the - DEBUG level. If this logger is - DEBUG enabled, then it converts the message object - (passed as parameter) to a string by invoking the appropriate - . It then - proceeds to call all the registered appenders in this logger - and also higher in the hierarchy depending on the value of the - additivity flag. - - - WARNING Note that passing an - to this method will print the name of the - but no stack trace. To print a stack trace use the - form instead. - - - - - - Logs a message object with the DEBUG level - - The message object to log. - The exception to log, including its stack trace. - - - Logs a message object with the DEBUG level including - the stack trace of the passed - as a parameter. - - - See the form for more detailed information. - - - - - - - Logs a formatted message string with the DEBUG level. - - A String containing zero or more format items - An Object array containing zero or more objects to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - The string is formatted using the - format provider. To specify a localized provider use the - method. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Logs a formatted message string with the DEBUG level. - - A String containing zero or more format items - An Object to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - The string is formatted using the - format provider. To specify a localized provider use the - method. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Logs a formatted message string with the DEBUG level. - - A String containing zero or more format items - An Object to format - An Object to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - The string is formatted using the - format provider. To specify a localized provider use the - method. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Logs a formatted message string with the DEBUG level. - - A String containing zero or more format items - An Object to format - An Object to format - An Object to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - The string is formatted using the - format provider. To specify a localized provider use the - method. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Logs a formatted message string with the DEBUG level. - - An that supplies culture-specific formatting information - A String containing zero or more format items - An Object array containing zero or more objects to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Logs a message object with the INFO level. - - The message object to log. - - - This method first checks if this logger is INFO - enabled by comparing the level of this logger with the - INFO level. If this logger is - INFO enabled, then it converts the message object - (passed as parameter) to a string by invoking the appropriate - . It then - proceeds to call all the registered appenders in this logger - and also higher in the hierarchy depending on the value of - the additivity flag. - - - WARNING Note that passing an - to this method will print the name of the - but no stack trace. To print a stack trace use the - form instead. - - - - - - Logs a message object with the INFO level. - - The message object to log. - The exception to log, including its stack trace. - - - Logs a message object with the INFO level including - the stack trace of the - passed as a parameter. - - - See the form for more detailed information. - - - - - - - Logs a formatted message string with the INFO level. - - A String containing zero or more format items - An Object array containing zero or more objects to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - The string is formatted using the - format provider. To specify a localized provider use the - method. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Logs a formatted message string with the INFO level. - - A String containing zero or more format items - An Object to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - The string is formatted using the - format provider. To specify a localized provider use the - method. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Logs a formatted message string with the INFO level. - - A String containing zero or more format items - An Object to format - An Object to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - The string is formatted using the - format provider. To specify a localized provider use the - method. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Logs a formatted message string with the INFO level. - - A String containing zero or more format items - An Object to format - An Object to format - An Object to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - The string is formatted using the - format provider. To specify a localized provider use the - method. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Logs a formatted message string with the INFO level. - - An that supplies culture-specific formatting information - A String containing zero or more format items - An Object array containing zero or more objects to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Logs a message object with the WARN level. - - the message object to log - - - This method first checks if this logger is WARN - enabled by comparing the level of this logger with the - WARN level. If this logger is - WARN enabled, then it converts the message object - (passed as parameter) to a string by invoking the appropriate - . It then - proceeds to call all the registered appenders in this logger and - also higher in the hierarchy depending on the value of the - additivity flag. - - - WARNING Note that passing an to this - method will print the name of the but no - stack trace. To print a stack trace use the - form instead. - - - - - - Logs a message object with the WARN level - - The message object to log. - The exception to log, including its stack trace. - - - Logs a message object with the WARN level including - the stack trace of the - passed as a parameter. - - - See the form for more detailed information. - - - - - - - Logs a formatted message string with the WARN level. - - A String containing zero or more format items - An Object array containing zero or more objects to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - The string is formatted using the - format provider. To specify a localized provider use the - method. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Logs a formatted message string with the WARN level. - - A String containing zero or more format items - An Object to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - The string is formatted using the - format provider. To specify a localized provider use the - method. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Logs a formatted message string with the WARN level. - - A String containing zero or more format items - An Object to format - An Object to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - The string is formatted using the - format provider. To specify a localized provider use the - method. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Logs a formatted message string with the WARN level. - - A String containing zero or more format items - An Object to format - An Object to format - An Object to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - The string is formatted using the - format provider. To specify a localized provider use the - method. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Logs a formatted message string with the WARN level. - - An that supplies culture-specific formatting information - A String containing zero or more format items - An Object array containing zero or more objects to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Logs a message object with the ERROR level. - - The message object to log. - - - This method first checks if this logger is ERROR - enabled by comparing the level of this logger with the - ERROR level. If this logger is - ERROR enabled, then it converts the message object - (passed as parameter) to a string by invoking the appropriate - . It then - proceeds to call all the registered appenders in this logger and - also higher in the hierarchy depending on the value of the - additivity flag. - - - WARNING Note that passing an to this - method will print the name of the but no - stack trace. To print a stack trace use the - form instead. - - - - - - Logs a message object with the ERROR level - - The message object to log. - The exception to log, including its stack trace. - - - Logs a message object with the ERROR level including - the stack trace of the - passed as a parameter. - - - See the form for more detailed information. - - - - - - - Logs a formatted message string with the ERROR level. - - A String containing zero or more format items - An Object array containing zero or more objects to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - The string is formatted using the - format provider. To specify a localized provider use the - method. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Logs a formatted message string with the ERROR level. - - A String containing zero or more format items - An Object to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - The string is formatted using the - format provider. To specify a localized provider use the - method. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Logs a formatted message string with the ERROR level. - - A String containing zero or more format items - An Object to format - An Object to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - The string is formatted using the - format provider. To specify a localized provider use the - method. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Logs a formatted message string with the ERROR level. - - A String containing zero or more format items - An Object to format - An Object to format - An Object to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - The string is formatted using the - format provider. To specify a localized provider use the - method. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Logs a formatted message string with the ERROR level. - - An that supplies culture-specific formatting information - A String containing zero or more format items - An Object array containing zero or more objects to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Logs a message object with the FATAL level. - - The message object to log. - - - This method first checks if this logger is FATAL - enabled by comparing the level of this logger with the - FATAL level. If this logger is - FATAL enabled, then it converts the message object - (passed as parameter) to a string by invoking the appropriate - . It then - proceeds to call all the registered appenders in this logger and - also higher in the hierarchy depending on the value of the - additivity flag. - - - WARNING Note that passing an to this - method will print the name of the but no - stack trace. To print a stack trace use the - form instead. - - - - - - Logs a message object with the FATAL level - - The message object to log. - The exception to log, including its stack trace. - - - Logs a message object with the FATAL level including - the stack trace of the - passed as a parameter. - - - See the form for more detailed information. - - - - - - - Logs a formatted message string with the FATAL level. - - A String containing zero or more format items - An Object array containing zero or more objects to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - The string is formatted using the - format provider. To specify a localized provider use the - method. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Logs a formatted message string with the FATAL level. - - A String containing zero or more format items - An Object to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - The string is formatted using the - format provider. To specify a localized provider use the - method. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Logs a formatted message string with the FATAL level. - - A String containing zero or more format items - An Object to format - An Object to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - The string is formatted using the - format provider. To specify a localized provider use the - method. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Logs a formatted message string with the FATAL level. - - A String containing zero or more format items - An Object to format - An Object to format - An Object to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - The string is formatted using the - format provider. To specify a localized provider use the - method. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Logs a formatted message string with the FATAL level. - - An that supplies culture-specific formatting information - A String containing zero or more format items - An Object array containing zero or more objects to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Event handler for the event - - the repository - Empty - - - - The fully qualified name of this declaring type not the type of any subclass. - - - - - Checks if this logger is enabled for the DEBUG - level. - - - true if this logger is enabled for DEBUG events, - false otherwise. - - - - This function is intended to lessen the computational cost of - disabled log debug statements. - - - For some log Logger object, when you write: - - - log.Debug("This is entry number: " + i ); - - - You incur the cost constructing the message, concatenation in - this case, regardless of whether the message is logged or not. - - - If you are worried about speed, then you should write: - - - if (log.IsDebugEnabled()) - { - log.Debug("This is entry number: " + i ); - } - - - This way you will not incur the cost of parameter - construction if debugging is disabled for log. On - the other hand, if the log is debug enabled, you - will incur the cost of evaluating whether the logger is debug - enabled twice. Once in IsDebugEnabled and once in - the Debug. This is an insignificant overhead - since evaluating a logger takes about 1% of the time it - takes to actually log. - - - - - - Checks if this logger is enabled for the INFO level. - - - true if this logger is enabled for INFO events, - false otherwise. - - - - See for more information and examples - of using this method. - - - - - - - Checks if this logger is enabled for the WARN level. - - - true if this logger is enabled for WARN events, - false otherwise. - - - - See for more information and examples - of using this method. - - - - - - - Checks if this logger is enabled for the ERROR level. - - - true if this logger is enabled for ERROR events, - false otherwise. - - - - See for more information and examples of using this method. - - - - - - - Checks if this logger is enabled for the FATAL level. - - - true if this logger is enabled for FATAL events, - false otherwise. - - - - See for more information and examples of using this method. - - - - - - - A SecurityContext used by log4net when interacting with protected resources - - - - A SecurityContext used by log4net when interacting with protected resources - for example with operating system services. This can be used to impersonate - a principal that has been granted privileges on the system resources. - - - Nicko Cadell - - - - Impersonate this SecurityContext - - State supplied by the caller - An instance that will - revoke the impersonation of this SecurityContext, or null - - - Impersonate this security context. Further calls on the current - thread should now be made in the security context provided - by this object. When the result - method is called the security - context of the thread should be reverted to the state it was in - before was called. - - - - - - The providers default instances. - - - - A configured component that interacts with potentially protected system - resources uses a to provide the elevated - privileges required. If the object has - been not been explicitly provided to the component then the component - will request one from this . - - - By default the is - an instance of which returns only - objects. This is a reasonable default - where the privileges required are not know by the system. - - - This default behavior can be overridden by subclassing the - and overriding the method to return - the desired objects. The default provider - can be replaced by programmatically setting the value of the - property. - - - An alternative is to use the log4net.Config.SecurityContextProviderAttribute - This attribute can be applied to an assembly in the same way as the - log4net.Config.XmlConfiguratorAttribute". The attribute takes - the type to use as the as an argument. - - - Nicko Cadell - - - - The default provider - - - - - Protected default constructor to allow subclassing - - - - Protected default constructor to allow subclassing - - - - - - Create a SecurityContext for a consumer - - The consumer requesting the SecurityContext - An impersonation context - - - The default implementation is to return a . - - - Subclasses should override this method to provide their own - behavior. - - - - - - Gets or sets the default SecurityContextProvider - - - The default SecurityContextProvider - - - - The default provider is used by configured components that - require a and have not had one - given to them. - - - By default this is an instance of - that returns objects. - - - The default provider can be set programmatically by setting - the value of this property to a sub class of - that has the desired behavior. - - - - - - Delegate used to handle creation of new wrappers. - - The logger to wrap in a wrapper. - - - Delegate used to handle creation of new wrappers. This delegate - is called from the - method to construct the wrapper for the specified logger. - - - The delegate to use is supplied to the - constructor. - - - - - - Maps between logger objects and wrapper objects. - - - - This class maintains a mapping between objects and - objects. Use the method to - lookup the for the specified . - - - New wrapper instances are created by the - method. The default behavior is for this method to delegate construction - of the wrapper to the delegate supplied - to the constructor. This allows specialization of the behavior without - requiring subclassing of this type. - - - Nicko Cadell - Gert Driesen - - - - Initializes a new instance of the - - The handler to use to create the wrapper objects. - - - Initializes a new instance of the class with - the specified handler to create the wrapper objects. - - - - - - Gets the wrapper object for the specified logger. - - The wrapper object for the specified logger - - - If the logger is null then the corresponding wrapper is null. - - - Looks up the wrapper it it has previously been requested and - returns it. If the wrapper has never been requested before then - the virtual method is - called. - - - - - - Creates the wrapper object for the specified logger. - - The logger to wrap in a wrapper. - The wrapper object for the logger. - - - This implementation uses the - passed to the constructor to create the wrapper. This method - can be overridden in a subclass. - - - - - - Called when a monitored repository shutdown event is received. - - The that is shutting down - - - This method is called when a that this - is holding loggers for has signaled its shutdown - event . The default - behavior of this method is to release the references to the loggers - and their wrappers generated for this repository. - - - - - - Event handler for repository shutdown event. - - The sender of the event. - The event args. - - - - Map of logger repositories to hashtables of ILogger to ILoggerWrapper mappings - - - - - The handler to use to create the extension wrapper objects. - - - - - Internal reference to the delegate used to register for repository shutdown events. - - - - - Gets the map of logger repositories. - - - Map of logger repositories. - - - - Gets the hashtable that is keyed on . The - values are hashtables keyed on with the - value being the corresponding . - - - - - - Formats a as "HH:mm:ss,fff". - - - - Formats a in the format "HH:mm:ss,fff" for example, "15:49:37,459". - - - Nicko Cadell - Gert Driesen - - - - Render a as a string. - - - - Interface to abstract the rendering of a - instance into a string. - - - The method is used to render the - date to a text writer. - - - Nicko Cadell - Gert Driesen - - - - Formats the specified date as a string. - - The date to format. - The writer to write to. - - - Format the as a string and write it - to the provided. - - - - - - String constant used to specify AbsoluteTimeDateFormat in layouts. Current value is ABSOLUTE. - - - - - String constant used to specify DateTimeDateFormat in layouts. Current value is DATE. - - - - - String constant used to specify ISO8601DateFormat in layouts. Current value is ISO8601. - - - - - Renders the date into a string. Format is "HH:mm:ss". - - The date to render into a string. - The string builder to write to. - - - Subclasses should override this method to render the date - into a string using a precision up to the second. This method - will be called at most once per second and the result will be - reused if it is needed again during the same second. - - - - - - Renders the date into a string. Format is "HH:mm:ss,fff". - - The date to render into a string. - The writer to write to. - - - Uses the method to generate the - time string up to the seconds and then appends the current - milliseconds. The results from are - cached and is called at most once - per second. - - - Sub classes should override - rather than . - - - - - - Last stored time with precision up to the second. - - - - - Last stored time with precision up to the second, formatted - as a string. - - - - - Last stored time with precision up to the second, formatted - as a string. - - - - - Formats a as "dd MMM yyyy HH:mm:ss,fff" - - - - Formats a in the format - "dd MMM yyyy HH:mm:ss,fff" for example, - "06 Nov 1994 15:49:37,459". - - - Nicko Cadell - Gert Driesen - Angelika Schnagl - - - - Default constructor. - - - - Initializes a new instance of the class. - - - - - - Formats the date without the milliseconds part - - The date to format. - The string builder to write to. - - - Formats a DateTime in the format "dd MMM yyyy HH:mm:ss" - for example, "06 Nov 1994 15:49:37". - - - The base class will append the ",fff" milliseconds section. - This method will only be called at most once per second. - - - - - - The format info for the invariant culture. - - - - - Formats the as "yyyy-MM-dd HH:mm:ss,fff". - - - - Formats the specified as a string: "yyyy-MM-dd HH:mm:ss,fff". - - - Nicko Cadell - Gert Driesen - - - - Default constructor - - - - Initializes a new instance of the class. - - - - - - Formats the date without the milliseconds part - - The date to format. - The string builder to write to. - - - Formats the date specified as a string: "yyyy-MM-dd HH:mm:ss". - - - The base class will append the ",fff" milliseconds section. - This method will only be called at most once per second. - - - - - - Formats the using the method. - - - - Formats the using the method. - - - Nicko Cadell - Gert Driesen - - - - Constructor - - The format string. - - - Initializes a new instance of the class - with the specified format string. - - - The format string must be compatible with the options - that can be supplied to . - - - - - - Formats the date using . - - The date to convert to a string. - The writer to write to. - - - Uses the date format string supplied to the constructor to call - the method to format the date. - - - - - - The format string used to format the . - - - - The format string must be compatible with the options - that can be supplied to . - - - - - - This filter drops all . - - - - You can add this filter to the end of a filter chain to - switch from the default "accept all unless instructed otherwise" - filtering behavior to a "deny all unless instructed otherwise" - behavior. - - - Nicko Cadell - Gert Driesen - - - - Subclass this type to implement customized logging event filtering - - - - Users should extend this class to implement customized logging - event filtering. Note that and - , the parent class of all standard - appenders, have built-in filtering rules. It is suggested that you - first use and understand the built-in rules before rushing to write - your own custom filters. - - - This abstract class assumes and also imposes that filters be - organized in a linear chain. The - method of each filter is called sequentially, in the order of their - addition to the chain. - - - The method must return one - of the integer constants , - or . - - - If the value is returned, then the log event is dropped - immediately without consulting with the remaining filters. - - - If the value is returned, then the next filter - in the chain is consulted. If there are no more filters in the - chain, then the log event is logged. Thus, in the presence of no - filters, the default behavior is to log all logging events. - - - If the value is returned, then the log - event is logged without consulting the remaining filters. - - - The philosophy of log4net filters is largely inspired from the - Linux ipchains. - - - Nicko Cadell - Gert Driesen - - - - Implement this interface to provide customized logging event filtering - - - - Users should implement this interface to implement customized logging - event filtering. Note that and - , the parent class of all standard - appenders, have built-in filtering rules. It is suggested that you - first use and understand the built-in rules before rushing to write - your own custom filters. - - - This abstract class assumes and also imposes that filters be - organized in a linear chain. The - method of each filter is called sequentially, in the order of their - addition to the chain. - - - The method must return one - of the integer constants , - or . - - - If the value is returned, then the log event is dropped - immediately without consulting with the remaining filters. - - - If the value is returned, then the next filter - in the chain is consulted. If there are no more filters in the - chain, then the log event is logged. Thus, in the presence of no - filters, the default behavior is to log all logging events. - - - If the value is returned, then the log - event is logged without consulting the remaining filters. - - - The philosophy of log4net filters is largely inspired from the - Linux ipchains. - - - Nicko Cadell - Gert Driesen - - - - Decide if the logging event should be logged through an appender. - - The LoggingEvent to decide upon - The decision of the filter - - - If the decision is , then the event will be - dropped. If the decision is , then the next - filter, if any, will be invoked. If the decision is then - the event will be logged without consulting with other filters in - the chain. - - - - - - Property to get and set the next filter - - - The next filter in the chain - - - - Filters are typically composed into chains. This property allows the next filter in - the chain to be accessed. - - - - - - Points to the next filter in the filter chain. - - - - See for more information. - - - - - - Initialize the filter with the options set - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - Typically filter's options become active immediately on set, - however this method must still be called. - - - - - - Decide if the should be logged through an appender. - - The to decide upon - The decision of the filter - - - If the decision is , then the event will be - dropped. If the decision is , then the next - filter, if any, will be invoked. If the decision is then - the event will be logged without consulting with other filters in - the chain. - - - This method is marked abstract and must be implemented - in a subclass. - - - - - - Property to get and set the next filter - - - The next filter in the chain - - - - Filters are typically composed into chains. This property allows the next filter in - the chain to be accessed. - - - - - - Default constructor - - - - - Always returns the integer constant - - the LoggingEvent to filter - Always returns - - - Ignores the event being logged and just returns - . This can be used to change the default filter - chain behavior from to . This filter - should only be used as the last filter in the chain - as any further filters will be ignored! - - - - - - The return result from - - - - The return result from - - - - - - The log event must be dropped immediately without - consulting with the remaining filters, if any, in the chain. - - - - - This filter is neutral with respect to the log event. - The remaining filters, if any, should be consulted for a final decision. - - - - - The log event must be logged immediately without - consulting with the remaining filters, if any, in the chain. - - - - - This is a very simple filter based on matching. - - - - The filter admits two options and - . If there is an exact match between the value - of the option and the of the - , then the method returns in - case the option value is set - to true, if it is false then - is returned. If the does not match then - the result will be . - - - Nicko Cadell - Gert Driesen - - - - flag to indicate if the filter should on a match - - - - - the to match against - - - - - Default constructor - - - - - Tests if the of the logging event matches that of the filter - - the event to filter - see remarks - - - If the of the event matches the level of the - filter then the result of the function depends on the - value of . If it is true then - the function will return , it it is false then it - will return . If the does not match then - the result will be . - - - - - - when matching - - - - The property is a flag that determines - the behavior when a matching is found. If the - flag is set to true then the filter will the - logging event, otherwise it will the event. - - - The default is true i.e. to the event. - - - - - - The that the filter will match - - - - The level that this filter will attempt to match against the - level. If a match is found then - the result depends on the value of . - - - - - - This is a simple filter based on matching. - - - - The filter admits three options and - that determine the range of priorities that are matched, and - . If there is a match between the range - of priorities and the of the , then the - method returns in case the - option value is set to true, if it is false - then is returned. If there is no match, is returned. - - - Nicko Cadell - Gert Driesen - - - - Flag to indicate the behavior when matching a - - - - - the minimum value to match - - - - - the maximum value to match - - - - - Default constructor - - - - - Check if the event should be logged. - - the logging event to check - see remarks - - - If the of the logging event is outside the range - matched by this filter then - is returned. If the is matched then the value of - is checked. If it is true then - is returned, otherwise - is returned. - - - - - - when matching and - - - - The property is a flag that determines - the behavior when a matching is found. If the - flag is set to true then the filter will the - logging event, otherwise it will the event. - - - The default is true i.e. to the event. - - - - - - Set the minimum matched - - - - The minimum level that this filter will attempt to match against the - level. If a match is found then - the result depends on the value of . - - - - - - Sets the maximum matched - - - - The maximum level that this filter will attempt to match against the - level. If a match is found then - the result depends on the value of . - - - - - - Simple filter to match a string in the event's logger name. - - - - The works very similar to the . It admits two - options and . If the - of the starts - with the value of the option, then the - method returns in - case the option value is set to true, - if it is false then is returned. - - - Daniel Cazzulino - - - - Flag to indicate the behavior when we have a match - - - - - The logger name string to substring match against the event - - - - - Default constructor - - - - - Check if this filter should allow the event to be logged - - the event being logged - see remarks - - - The rendered message is matched against the . - If the equals the beginning of - the incoming () - then a match will have occurred. If no match occurs - this function will return - allowing other filters to check the event. If a match occurs then - the value of is checked. If it is - true then is returned otherwise - is returned. - - - - - - when matching - - - - The property is a flag that determines - the behavior when a matching is found. If the - flag is set to true then the filter will the - logging event, otherwise it will the event. - - - The default is true i.e. to the event. - - - - - - The that the filter will match - - - - This filter will attempt to match this value against logger name in - the following way. The match will be done against the beginning of the - logger name (using ). The match is - case sensitive. If a match is found then - the result depends on the value of . - - - - - - Simple filter to match a keyed string in the - - - - Simple filter to match a keyed string in the - - - As the MDC has been replaced with layered properties the - should be used instead. - - - Nicko Cadell - Gert Driesen - - - - Simple filter to match a string an event property - - - - Simple filter to match a string in the value for a - specific event property - - - Nicko Cadell - - - - Simple filter to match a string in the rendered message - - - - Simple filter to match a string in the rendered message - - - Nicko Cadell - Gert Driesen - - - - Flag to indicate the behavior when we have a match - - - - - The string to substring match against the message - - - - - A string regex to match - - - - - A regex object to match (generated from m_stringRegexToMatch) - - - - - Default constructor - - - - - Initialize and precompile the Regex if required - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - - - - Check if this filter should allow the event to be logged - - the event being logged - see remarks - - - The rendered message is matched against the . - If the occurs as a substring within - the message then a match will have occurred. If no match occurs - this function will return - allowing other filters to check the event. If a match occurs then - the value of is checked. If it is - true then is returned otherwise - is returned. - - - - - - when matching or - - - - The property is a flag that determines - the behavior when a matching is found. If the - flag is set to true then the filter will the - logging event, otherwise it will the event. - - - The default is true i.e. to the event. - - - - - - Sets the static string to match - - - - The string that will be substring matched against - the rendered message. If the message contains this - string then the filter will match. If a match is found then - the result depends on the value of . - - - One of or - must be specified. - - - - - - Sets the regular expression to match - - - - The regular expression pattern that will be matched against - the rendered message. If the message matches this - pattern then the filter will match. If a match is found then - the result depends on the value of . - - - One of or - must be specified. - - - - - - The key to use to lookup the string from the event properties - - - - - Default constructor - - - - - Check if this filter should allow the event to be logged - - the event being logged - see remarks - - - The event property for the is matched against - the . - If the occurs as a substring within - the property value then a match will have occurred. If no match occurs - this function will return - allowing other filters to check the event. If a match occurs then - the value of is checked. If it is - true then is returned otherwise - is returned. - - - - - - The key to lookup in the event properties and then match against. - - - - The key name to use to lookup in the properties map of the - . The match will be performed against - the value of this property if it exists. - - - - - - Simple filter to match a string in the - - - - Simple filter to match a string in the - - - As the MDC has been replaced with named stacks stored in the - properties collections the should - be used instead. - - - Nicko Cadell - Gert Driesen - - - - Default constructor - - - - Sets the to "NDC". - - - - - - Write the event appdomain name to the output - - - - Writes the to the output writer. - - - Daniel Cazzulino - Nicko Cadell - - - - Abstract class that provides the formatting functionality that - derived classes need. - - - Conversion specifiers in a conversion patterns are parsed to - individual PatternConverters. Each of which is responsible for - converting a logging event in a converter specific manner. - - Nicko Cadell - - - - Abstract class that provides the formatting functionality that - derived classes need. - - - - Conversion specifiers in a conversion patterns are parsed to - individual PatternConverters. Each of which is responsible for - converting a logging event in a converter specific manner. - - - Nicko Cadell - Gert Driesen - - - - Initial buffer size - - - - - Maximum buffer size before it is recycled - - - - - Protected constructor - - - - Initializes a new instance of the class. - - - - - - Evaluate this pattern converter and write the output to a writer. - - that will receive the formatted result. - The state object on which the pattern converter should be executed. - - - Derived pattern converters must override this method in order to - convert conversion specifiers in the appropriate way. - - - - - - Set the next pattern converter in the chains - - the pattern converter that should follow this converter in the chain - the next converter - - - The PatternConverter can merge with its neighbor during this method (or a sub class). - Therefore the return value may or may not be the value of the argument passed in. - - - - - - Write the pattern converter to the writer with appropriate formatting - - that will receive the formatted result. - The state object on which the pattern converter should be executed. - - - This method calls to allow the subclass to perform - appropriate conversion of the pattern converter. If formatting options have - been specified via the then this method will - apply those formattings before writing the output. - - - - - - Fast space padding method. - - to which the spaces will be appended. - The number of spaces to be padded. - - - Fast space padding method. - - - - - - The option string to the converter - - - - - Write an dictionary to a - - the writer to write to - a to use for object conversion - the value to write to the writer - - - Writes the to a writer in the form: - - - {key1=value1, key2=value2, key3=value3} - - - If the specified - is not null then it is used to render the key and value to text, otherwise - the object's ToString method is called. - - - - - - Write an object to a - - the writer to write to - a to use for object conversion - the value to write to the writer - - - Writes the Object to a writer. If the specified - is not null then it is used to render the object to text, otherwise - the object's ToString method is called. - - - - - - Get the next pattern converter in the chain - - - the next pattern converter in the chain - - - - Get the next pattern converter in the chain - - - - - - Gets or sets the formatting info for this converter - - - The formatting info for this converter - - - - Gets or sets the formatting info for this converter - - - - - - Gets or sets the option value for this converter - - - The option for this converter - - - - Gets or sets the option value for this converter - - - - - - Initializes a new instance of the class. - - - - - Derived pattern converters must override this method in order to - convert conversion specifiers in the correct way. - - that will receive the formatted result. - The on which the pattern converter should be executed. - - - - Derived pattern converters must override this method in order to - convert conversion specifiers in the correct way. - - that will receive the formatted result. - The state object on which the pattern converter should be executed. - - - - Flag indicating if this converter handles exceptions - - - false if this converter handles exceptions - - - - - Flag indicating if this converter handles the logging event exception - - false if this converter handles the logging event exception - - - If this converter handles the exception object contained within - , then this property should be set to - false. Otherwise, if the layout ignores the exception - object, then the property should be set to true. - - - Set this value to override a this default setting. The default - value is true, this converter does not handle the exception. - - - - - - Write the event appdomain name to the output - - that will receive the formatted result. - the event being logged - - - Writes the to the output . - - - - - - Date pattern converter, uses a to format - the date of a . - - - - Render the to the writer as a string. - - - The value of the determines - the formatting of the date. The following values are allowed: - - - Option value - Output - - - ISO8601 - - Uses the formatter. - Formats using the "yyyy-MM-dd HH:mm:ss,fff" pattern. - - - - DATE - - Uses the formatter. - Formats using the "dd MMM yyyy HH:mm:ss,fff" for example, "06 Nov 1994 15:49:37,459". - - - - ABSOLUTE - - Uses the formatter. - Formats using the "HH:mm:ss,yyyy" for example, "15:49:37,459". - - - - other - - Any other pattern string uses the formatter. - This formatter passes the pattern string to the - method. - For details on valid patterns see - DateTimeFormatInfo Class. - - - - - - The is in the local time zone and is rendered in that zone. - To output the time in Universal time see . - - - Nicko Cadell - - - - The used to render the date to a string - - - - The used to render the date to a string - - - - - - Initialize the converter pattern based on the property. - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - - - - Convert the pattern into the rendered message - - that will receive the formatted result. - the event being logged - - - Pass the to the - for it to render it to the writer. - - - The passed is in the local time zone. - - - - - - Write the exception text to the output - - - - If an exception object is stored in the logging event - it will be rendered into the pattern output with a - trailing newline. - - - If there is no exception then nothing will be output - and no trailing newline will be appended. - It is typical to put a newline before the exception - and to have the exception as the last data in the pattern. - - - Nicko Cadell - - - - Default constructor - - - - - Write the exception text to the output - - that will receive the formatted result. - the event being logged - - - If an exception object is stored in the logging event - it will be rendered into the pattern output with a - trailing newline. - - - If there is no exception then nothing will be output - and no trailing newline will be appended. - It is typical to put a newline before the exception - and to have the exception as the last data in the pattern. - - - - - - Writes the caller location file name to the output - - - - Writes the value of the for - the event to the output writer. - - - Nicko Cadell - - - - Write the caller location file name to the output - - that will receive the formatted result. - the event being logged - - - Writes the value of the for - the to the output . - - - - - - Write the caller location info to the output - - - - Writes the to the output writer. - - - Nicko Cadell - - - - Write the caller location info to the output - - that will receive the formatted result. - the event being logged - - - Writes the to the output writer. - - - - - - Writes the event identity to the output - - - - Writes the value of the to - the output writer. - - - Daniel Cazzulino - Nicko Cadell - - - - Writes the event identity to the output - - that will receive the formatted result. - the event being logged - - - Writes the value of the - to - the output . - - - - - - Write the event level to the output - - - - Writes the display name of the event - to the writer. - - - Nicko Cadell - - - - Write the event level to the output - - that will receive the formatted result. - the event being logged - - - Writes the of the - to the . - - - - - - Write the caller location line number to the output - - - - Writes the value of the for - the event to the output writer. - - - Nicko Cadell - - - - Write the caller location line number to the output - - that will receive the formatted result. - the event being logged - - - Writes the value of the for - the to the output . - - - - - - Converter for logger name - - - - Outputs the of the event. - - - Nicko Cadell - - - - Converter to output and truncate '.' separated strings - - - - This abstract class supports truncating a '.' separated string - to show a specified number of elements from the right hand side. - This is used to truncate class names that are fully qualified. - - - Subclasses should override the method to - return the fully qualified string. - - - Nicko Cadell - - - - Initialize the converter - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - - - - Get the fully qualified string data - - the event being logged - the fully qualified name - - - Overridden by subclasses to get the fully qualified name before the - precision is applied to it. - - - Return the fully qualified '.' (dot/period) separated string. - - - - - - Convert the pattern to the rendered message - - that will receive the formatted result. - the event being logged - - Render the to the precision - specified by the property. - - - - - Gets the fully qualified name of the logger - - the event being logged - The fully qualified logger name - - - Returns the of the . - - - - - - Writes the event message to the output - - - - Uses the method - to write out the event message. - - - Nicko Cadell - - - - Writes the event message to the output - - that will receive the formatted result. - the event being logged - - - Uses the method - to write out the event message. - - - - - - Write the method name to the output - - - - Writes the caller location to - the output. - - - Nicko Cadell - - - - Write the method name to the output - - that will receive the formatted result. - the event being logged - - - Writes the caller location to - the output. - - - - - - Converter to include event NDC - - - - Outputs the value of the event property named NDC. - - - The should be used instead. - - - Nicko Cadell - - - - Write the event NDC to the output - - that will receive the formatted result. - the event being logged - - - As the thread context stacks are now stored in named event properties - this converter simply looks up the value of the NDC property. - - - The should be used instead. - - - - - - Property pattern converter - - - - Writes out the value of a named property. The property name - should be set in the - property. - - - If the is set to null - then all the properties are written as key value pairs. - - - Nicko Cadell - - - - Write the property value to the output - - that will receive the formatted result. - the event being logged - - - Writes out the value of a named property. The property name - should be set in the - property. - - - If the is set to null - then all the properties are written as key value pairs. - - - - - - Converter to output the relative time of the event - - - - Converter to output the time of the event relative to the start of the program. - - - Nicko Cadell - - - - Write the relative time to the output - - that will receive the formatted result. - the event being logged - - - Writes out the relative time of the event in milliseconds. - That is the number of milliseconds between the event - and the . - - - - - - Helper method to get the time difference between two DateTime objects - - start time (in the current local time zone) - end time (in the current local time zone) - the time difference in milliseconds - - - - Converter to include event thread name - - - - Writes the to the output. - - - Nicko Cadell - - - - Write the ThreadName to the output - - that will receive the formatted result. - the event being logged - - - Writes the to the . - - - - - - Pattern converter for the class name - - - - Outputs the of the event. - - - Nicko Cadell - - - - Gets the fully qualified name of the class - - the event being logged - The fully qualified type name for the caller location - - - Returns the of the . - - - - - - Converter to include event user name - - Douglas de la Torre - Nicko Cadell - - - - Convert the pattern to the rendered message - - that will receive the formatted result. - the event being logged - - - - Write the TimeStamp to the output - - - - Date pattern converter, uses a to format - the date of a . - - - Uses a to format the - in Universal time. - - - See the for details on the date pattern syntax. - - - - Nicko Cadell - - - - Write the TimeStamp to the output - - that will receive the formatted result. - the event being logged - - - Pass the to the - for it to render it to the writer. - - - The passed is in the local time zone, this is converted - to Universal time before it is rendered. - - - - - - - A Layout that renders only the Exception text from the logging event - - - - A Layout that renders only the Exception text from the logging event. - - - This Layout should only be used with appenders that utilize multiple - layouts (e.g. ). - - - Nicko Cadell - Gert Driesen - - - - Extend this abstract class to create your own log layout format. - - - - This is the base implementation of the - interface. Most layout objects should extend this class. - - - - - - Subclasses must implement the - method. - - - Subclasses should set the in their default - constructor. - - - - Nicko Cadell - Gert Driesen - - - - Interface implemented by layout objects - - - - An object is used to format a - as text. The method is called by an - appender to transform the into a string. - - - The layout can also supply and - text that is appender before any events and after all the events respectively. - - - Nicko Cadell - Gert Driesen - - - - Implement this method to create your own layout format. - - The TextWriter to write the formatted event to - The event to format - - - This method is called by an appender to format - the as text and output to a writer. - - - If the caller does not have a and prefers the - event to be formatted as a then the following - code can be used to format the event into a . - - - StringWriter writer = new StringWriter(); - Layout.Format(writer, loggingEvent); - string formattedEvent = writer.ToString(); - - - - - - The content type output by this layout. - - The content type - - - The content type output by this layout. - - - This is a MIME type e.g. "text/plain". - - - - - - The header for the layout format. - - the layout header - - - The Header text will be appended before any logging events - are formatted and appended. - - - - - - The footer for the layout format. - - the layout footer - - - The Footer text will be appended after all the logging events - have been formatted and appended. - - - - - - Flag indicating if this layout handle exceptions - - false if this layout handles exceptions - - - If this layout handles the exception object contained within - , then the layout should return - false. Otherwise, if the layout ignores the exception - object, then the layout should return true. - - - - - - The header text - - - - See for more information. - - - - - - The footer text - - - - See for more information. - - - - - - Flag indicating if this layout handles exceptions - - - - false if this layout handles exceptions - - - - - - Empty default constructor - - - - Empty default constructor - - - - - - Activate component options - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - This method must be implemented by the subclass. - - - - - - Implement this method to create your own layout format. - - The TextWriter to write the formatted event to - The event to format - - - This method is called by an appender to format - the as text. - - - - - - The content type output by this layout. - - The content type is "text/plain" - - - The content type output by this layout. - - - This base class uses the value "text/plain". - To change this value a subclass must override this - property. - - - - - - The header for the layout format. - - the layout header - - - The Header text will be appended before any logging events - are formatted and appended. - - - - - - The footer for the layout format. - - the layout footer - - - The Footer text will be appended after all the logging events - have been formatted and appended. - - - - - - Flag indicating if this layout handles exceptions - - false if this layout handles exceptions - - - If this layout handles the exception object contained within - , then the layout should return - false. Otherwise, if the layout ignores the exception - object, then the layout should return true. - - - Set this value to override a this default setting. The default - value is true, this layout does not handle the exception. - - - - - - Default constructor - - - - Constructs a ExceptionLayout - - - - - - Activate component options - - - - Part of the component activation - framework. - - - This method does nothing as options become effective immediately. - - - - - - Gets the exception text from the logging event - - The TextWriter to write the formatted event to - the event being logged - - - Write the exception string to the . - The exception string is retrieved from . - - - - - - Interface for raw layout objects - - - - Interface used to format a - to an object. - - - This interface should not be confused with the - interface. This interface is used in - only certain specialized situations where a raw object is - required rather than a formatted string. The - is not generally useful than this interface. - - - Nicko Cadell - Gert Driesen - - - - Implement this method to create your own layout format. - - The event to format - returns the formatted event - - - Implement this method to create your own layout format. - - - - - - Adapts any to a - - - - Where an is required this adapter - allows a to be specified. - - - Nicko Cadell - Gert Driesen - - - - The layout to adapt - - - - - Construct a new adapter - - the layout to adapt - - - Create the adapter for the specified . - - - - - - Format the logging event as an object. - - The event to format - returns the formatted event - - - Format the logging event as an object. - - - Uses the object supplied to - the constructor to perform the formatting. - - - - - - A flexible layout configurable with pattern string. - - - - The goal of this class is to a - as a string. The results - depend on the conversion pattern. - - - The conversion pattern is closely related to the conversion - pattern of the printf function in C. A conversion pattern is - composed of literal text and format control expressions called - conversion specifiers. - - - You are free to insert any literal text within the conversion - pattern. - - - Each conversion specifier starts with a percent sign (%) and is - followed by optional format modifiers and a conversion - pattern name. The conversion pattern name specifies the type of - data, e.g. logger, level, date, thread name. The format - modifiers control such things as field width, padding, left and - right justification. The following is a simple example. - - - Let the conversion pattern be "%-5level [%thread]: %message%newline" and assume - that the log4net environment was set to use a PatternLayout. Then the - statements - - - ILog log = LogManager.GetLogger(typeof(TestApp)); - log.Debug("Message 1"); - log.Warn("Message 2"); - - would yield the output - - DEBUG [main]: Message 1 - WARN [main]: Message 2 - - - Note that there is no explicit separator between text and - conversion specifiers. The pattern parser knows when it has reached - the end of a conversion specifier when it reads a conversion - character. In the example above the conversion specifier - %-5level means the level of the logging event should be left - justified to a width of five characters. - - - The recognized conversion pattern names are: - - - - Conversion Pattern Name - Effect - - - a - Equivalent to appdomain - - - appdomain - - Used to output the friendly name of the AppDomain where the - logging event was generated. - - - - c - Equivalent to logger - - - C - Equivalent to type - - - class - Equivalent to type - - - d - Equivalent to date - - - date - - - Used to output the date of the logging event in the local time zone. - To output the date in universal time use the %utcdate pattern. - The date conversion - specifier may be followed by a date format specifier enclosed - between braces. For example, %date{HH:mm:ss,fff} or - %date{dd MMM yyyy HH:mm:ss,fff}. If no date format specifier is - given then ISO8601 format is - assumed (). - - - The date format specifier admits the same syntax as the - time pattern string of the . - - - For better results it is recommended to use the log4net date - formatters. These can be specified using one of the strings - "ABSOLUTE", "DATE" and "ISO8601" for specifying - , - and respectively - . For example, - %date{ISO8601} or %date{ABSOLUTE}. - - - These dedicated date formatters perform significantly - better than . - - - - - exception - - - Used to output the exception passed in with the log message. - - - If an exception object is stored in the logging event - it will be rendered into the pattern output with a - trailing newline. - If there is no exception then nothing will be output - and no trailing newline will be appended. - It is typical to put a newline before the exception - and to have the exception as the last data in the pattern. - - - - - F - Equivalent to file - - - file - - - Used to output the file name where the logging request was - issued. - - - WARNING Generating caller location information is - extremely slow. Its use should be avoided unless execution speed - is not an issue. - - - See the note below on the availability of caller location information. - - - - - identity - - - Used to output the user name for the currently active user - (Principal.Identity.Name). - - - WARNING Generating caller information is - extremely slow. Its use should be avoided unless execution speed - is not an issue. - - - - - l - Equivalent to location - - - L - Equivalent to line - - - location - - - Used to output location information of the caller which generated - the logging event. - - - The location information depends on the CLI implementation but - usually consists of the fully qualified name of the calling - method followed by the callers source the file name and line - number between parentheses. - - - The location information can be very useful. However, its - generation is extremely slow. Its use should be avoided - unless execution speed is not an issue. - - - See the note below on the availability of caller location information. - - - - - level - - - Used to output the level of the logging event. - - - - - line - - - Used to output the line number from where the logging request - was issued. - - - WARNING Generating caller location information is - extremely slow. Its use should be avoided unless execution speed - is not an issue. - - - See the note below on the availability of caller location information. - - - - - logger - - - Used to output the logger of the logging event. The - logger conversion specifier can be optionally followed by - precision specifier, that is a decimal constant in - brackets. - - - If a precision specifier is given, then only the corresponding - number of right most components of the logger name will be - printed. By default the logger name is printed in full. - - - For example, for the logger name "a.b.c" the pattern - %logger{2} will output "b.c". - - - - - m - Equivalent to message - - - M - Equivalent to method - - - message - - - Used to output the application supplied message associated with - the logging event. - - - - - mdc - - - The MDC (old name for the ThreadContext.Properties) is now part of the - combined event properties. This pattern is supported for compatibility - but is equivalent to property. - - - - - method - - - Used to output the method name where the logging request was - issued. - - - WARNING Generating caller location information is - extremely slow. Its use should be avoided unless execution speed - is not an issue. - - - See the note below on the availability of caller location information. - - - - - n - Equivalent to newline - - - newline - - - Outputs the platform dependent line separator character or - characters. - - - This conversion pattern offers the same performance as using - non-portable line separator strings such as "\n", or "\r\n". - Thus, it is the preferred way of specifying a line separator. - - - - - ndc - - - Used to output the NDC (nested diagnostic context) associated - with the thread that generated the logging event. - - - - - p - Equivalent to level - - - P - Equivalent to property - - - properties - Equivalent to property - - - property - - - Used to output the an event specific property. The key to - lookup must be specified within braces and directly following the - pattern specifier, e.g. %property{user} would include the value - from the property that is keyed by the string 'user'. Each property value - that is to be included in the log must be specified separately. - Properties are added to events by loggers or appenders. By default - the log4net:HostName property is set to the name of machine on - which the event was originally logged. - - - If no key is specified, e.g. %property then all the keys and their - values are printed in a comma separated list. - - - The properties of an event are combined from a number of different - contexts. These are listed below in the order in which they are searched. - - - - the event properties - - The event has that can be set. These - properties are specific to this event only. - - - - the thread properties - - The that are set on the current - thread. These properties are shared by all events logged on this thread. - - - - the global properties - - The that are set globally. These - properties are shared by all the threads in the AppDomain. - - - - - - - - r - Equivalent to timestamp - - - t - Equivalent to thread - - - timestamp - - - Used to output the number of milliseconds elapsed since the start - of the application until the creation of the logging event. - - - - - thread - - - Used to output the name of the thread that generated the - logging event. Uses the thread number if no name is available. - - - - - type - - - Used to output the fully qualified type name of the caller - issuing the logging request. This conversion specifier - can be optionally followed by precision specifier, that - is a decimal constant in brackets. - - - If a precision specifier is given, then only the corresponding - number of right most components of the class name will be - printed. By default the class name is output in fully qualified form. - - - For example, for the class name "log4net.Layout.PatternLayout", the - pattern %type{1} will output "PatternLayout". - - - WARNING Generating the caller class information is - slow. Thus, its use should be avoided unless execution speed is - not an issue. - - - See the note below on the availability of caller location information. - - - - - u - Equivalent to identity - - - username - - - Used to output the WindowsIdentity for the currently - active user. - - - WARNING Generating caller WindowsIdentity information is - extremely slow. Its use should be avoided unless execution speed - is not an issue. - - - - - utcdate - - - Used to output the date of the logging event in universal time. - The date conversion - specifier may be followed by a date format specifier enclosed - between braces. For example, %utcdate{HH:mm:ss,fff} or - %utcdate{dd MMM yyyy HH:mm:ss,fff}. If no date format specifier is - given then ISO8601 format is - assumed (). - - - The date format specifier admits the same syntax as the - time pattern string of the . - - - For better results it is recommended to use the log4net date - formatters. These can be specified using one of the strings - "ABSOLUTE", "DATE" and "ISO8601" for specifying - , - and respectively - . For example, - %utcdate{ISO8601} or %utcdate{ABSOLUTE}. - - - These dedicated date formatters perform significantly - better than . - - - - - w - Equivalent to username - - - x - Equivalent to ndc - - - X - Equivalent to mdc - - - % - - - The sequence %% outputs a single percent sign. - - - - - - The single letter patterns are deprecated in favor of the - longer more descriptive pattern names. - - - By default the relevant information is output as is. However, - with the aid of format modifiers it is possible to change the - minimum field width, the maximum field width and justification. - - - The optional format modifier is placed between the percent sign - and the conversion pattern name. - - - The first optional format modifier is the left justification - flag which is just the minus (-) character. Then comes the - optional minimum field width modifier. This is a decimal - constant that represents the minimum number of characters to - output. If the data item requires fewer characters, it is padded on - either the left or the right until the minimum width is - reached. The default is to pad on the left (right justify) but you - can specify right padding with the left justification flag. The - padding character is space. If the data item is larger than the - minimum field width, the field is expanded to accommodate the - data. The value is never truncated. - - - This behavior can be changed using the maximum field - width modifier which is designated by a period followed by a - decimal constant. If the data item is longer than the maximum - field, then the extra characters are removed from the - beginning of the data item and not from the end. For - example, it the maximum field width is eight and the data item is - ten characters long, then the first two characters of the data item - are dropped. This behavior deviates from the printf function in C - where truncation is done from the end. - - - Below are various format modifier examples for the logger - conversion specifier. - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Format modifierleft justifyminimum widthmaximum widthcomment
%20loggerfalse20none - - Left pad with spaces if the logger name is less than 20 - characters long. - -
%-20loggertrue20none - - Right pad with spaces if the logger - name is less than 20 characters long. - -
%.30loggerNAnone30 - - Truncate from the beginning if the logger - name is longer than 30 characters. - -
%20.30loggerfalse2030 - - Left pad with spaces if the logger name is shorter than 20 - characters. However, if logger name is longer than 30 characters, - then truncate from the beginning. - -
%-20.30loggertrue2030 - - Right pad with spaces if the logger name is shorter than 20 - characters. However, if logger name is longer than 30 characters, - then truncate from the beginning. - -
-
- - Note about caller location information.
- The following patterns %type %file %line %method %location %class %C %F %L %l %M - all generate caller location information. - Location information uses the System.Diagnostics.StackTrace class to generate - a call stack. The caller's information is then extracted from this stack. -
- - - The System.Diagnostics.StackTrace class is not supported on the - .NET Compact Framework 1.0 therefore caller location information is not - available on that framework. - - - - - The System.Diagnostics.StackTrace class has this to say about Release builds: - - - "StackTrace information will be most informative with Debug build configurations. - By default, Debug builds include debug symbols, while Release builds do not. The - debug symbols contain most of the file, method name, line number, and column - information used in constructing StackFrame and StackTrace objects. StackTrace - might not report as many method calls as expected, due to code transformations - that occur during optimization." - - - This means that in a Release build the caller information may be incomplete or may - not exist at all! Therefore caller location information cannot be relied upon in a Release build. - - - - Additional pattern converters may be registered with a specific - instance using the method. - -
- - This is a more detailed pattern. - %timestamp [%thread] %level %logger %ndc - %message%newline - - - A similar pattern except that the relative time is - right padded if less than 6 digits, thread name is right padded if - less than 15 characters and truncated if longer and the logger - name is left padded if shorter than 30 characters and truncated if - longer. - %-6timestamp [%15.15thread] %-5level %30.30logger %ndc - %message%newline - - Nicko Cadell - Gert Driesen - Douglas de la Torre - Daniel Cazzulino -
- - - Default pattern string for log output. - - - - Default pattern string for log output. - Currently set to the string "%message%newline" - which just prints the application supplied message. - - - - - - A detailed conversion pattern - - - - A conversion pattern which includes Time, Thread, Logger, and Nested Context. - Current value is %timestamp [%thread] %level %logger %ndc - %message%newline. - - - - - - Internal map of converter identifiers to converter types. - - - - This static map is overridden by the m_converterRegistry instance map - - - - - - the pattern - - - - - the head of the pattern converter chain - - - - - patterns defined on this PatternLayout only - - - - - Initialize the global registry - - - - Defines the builtin global rules. - - - - - - Constructs a PatternLayout using the DefaultConversionPattern - - - - The default pattern just produces the application supplied message. - - - Note to Inheritors: This constructor calls the virtual method - . If you override this method be - aware that it will be called before your is called constructor. - - - As per the contract the - method must be called after the properties on this object have been - configured. - - - - - - Constructs a PatternLayout using the supplied conversion pattern - - the pattern to use - - - Note to Inheritors: This constructor calls the virtual method - . If you override this method be - aware that it will be called before your is called constructor. - - - When using this constructor the method - need not be called. This may not be the case when using a subclass. - - - - - - Create the pattern parser instance - - the pattern to parse - The that will format the event - - - Creates the used to parse the conversion string. Sets the - global and instance rules on the . - - - - - - Initialize layout options - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - - - - Produces a formatted string as specified by the conversion pattern. - - the event being logged - The TextWriter to write the formatted event to - - - Parse the using the patter format - specified in the property. - - - - - - Add a converter to this PatternLayout - - the converter info - - - This version of the method is used by the configurator. - Programmatic users should use the alternative method. - - - - - - Add a converter to this PatternLayout - - the name of the conversion pattern for this converter - the type of the converter - - - Add a named pattern converter to this instance. This - converter will be used in the formatting of the event. - This method must be called before . - - - The specified must extend the - type. - - - - - - The pattern formatting string - - - - The ConversionPattern option. This is the string which - controls formatting and consists of a mix of literal content and - conversion specifiers. - - - - - - Wrapper class used to map converter names to converter types - - - - Pattern converter info class used during configuration to - pass to the - method. - - - - - - default constructor - - - - - Gets or sets the name of the conversion pattern - - - - The name of the pattern in the format string - - - - - - Gets or sets the type of the converter - - - - The value specified must extend the - type. - - - - - - Type converter for the interface - - - - Used to convert objects to the interface. - Supports converting from the interface to - the interface using the . - - - Nicko Cadell - Gert Driesen - - - - Interface supported by type converters - - - - This interface supports conversion from arbitrary types - to a single target type. See . - - - Nicko Cadell - Gert Driesen - - - - Can the source type be converted to the type supported by this object - - the type to convert - true if the conversion is possible - - - Test if the can be converted to the - type supported by this converter. - - - - - - Convert the source object to the type supported by this object - - the object to convert - the converted object - - - Converts the to the type supported - by this converter. - - - - - - Can the sourceType be converted to an - - the source to be to be converted - true if the source type can be converted to - - - Test if the can be converted to a - . Only is supported - as the . - - - - - - Convert the value to a object - - the value to convert - the object - - - Convert the object to a - object. If the object - is a then the - is used to adapt between the two interfaces, otherwise an - exception is thrown. - - - - - - Extract the value of a property from the - - - - Extract the value of a property from the - - - Nicko Cadell - - - - Constructs a RawPropertyLayout - - - - - Lookup the property for - - The event to format - returns property value - - - Looks up and returns the object value of the property - named . If there is no property defined - with than name then null will be returned. - - - - - - The name of the value to lookup in the LoggingEvent Properties collection. - - - Value to lookup in the LoggingEvent Properties collection - - - - String name of the property to lookup in the . - - - - - - Extract the date from the - - - - Extract the date from the - - - Nicko Cadell - Gert Driesen - - - - Constructs a RawTimeStampLayout - - - - - Gets the as a . - - The event to format - returns the time stamp - - - Gets the as a . - - - The time stamp is in local time. To format the time stamp - in universal time use . - - - - - - Extract the date from the - - - - Extract the date from the - - - Nicko Cadell - Gert Driesen - - - - Constructs a RawUtcTimeStampLayout - - - - - Gets the as a . - - The event to format - returns the time stamp - - - Gets the as a . - - - The time stamp is in universal time. To format the time stamp - in local time use . - - - - - - A very simple layout - - - - SimpleLayout consists of the level of the log statement, - followed by " - " and then the log message itself. For example, - - DEBUG - Hello world - - - - Nicko Cadell - Gert Driesen - - - - Constructs a SimpleLayout - - - - - Initialize layout options - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - - - - Produces a simple formatted output. - - the event being logged - The TextWriter to write the formatted event to - - - Formats the event as the level of the even, - followed by " - " and then the log message itself. The - output is terminated by a newline. - - - - - - Layout that formats the log events as XML elements. - - - - The output of the consists of a series of - log4net:event elements. It does not output a complete well-formed XML - file. The output is designed to be included as an external entity - in a separate file to form a correct XML file. - - - For example, if abc is the name of the file where - the output goes, then a well-formed XML file would - be: - - - <?xml version="1.0" ?> - - <!DOCTYPE log4net:events SYSTEM "log4net-events.dtd" [<!ENTITY data SYSTEM "abc">]> - - <log4net:events version="1.2" xmlns:log4net="http://logging.apache.org/log4net/schemas/log4net-events-1.2> - &data; - </log4net:events> - - - This approach enforces the independence of the - and the appender where it is embedded. - - - The version attribute helps components to correctly - interpret output generated by . The value of - this attribute should be "1.2" for release 1.2 and later. - - - Alternatively the Header and Footer properties can be - configured to output the correct XML header, open tag and close tag. - When setting the Header and Footer properties it is essential - that the underlying data store not be appendable otherwise the data - will become invalid XML. - - - Nicko Cadell - Gert Driesen - - - - Layout that formats the log events as XML elements. - - - - This is an abstract class that must be subclassed by an implementation - to conform to a specific schema. - - - Deriving classes must implement the method. - - - Nicko Cadell - Gert Driesen - - - - Protected constructor to support subclasses - - - - Initializes a new instance of the class - with no location info. - - - - - - Protected constructor to support subclasses - - - - The parameter determines whether - location information will be output by the layout. If - is set to true, then the - file name and line number of the statement at the origin of the log - statement will be output. - - - If you are embedding this layout within an SMTPAppender - then make sure to set the LocationInfo option of that - appender as well. - - - - - - Initialize layout options - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - - - - Produces a formatted string. - - The event being logged. - The TextWriter to write the formatted event to - - - Format the and write it to the . - - - This method creates an that writes to the - . The is passed - to the method. Subclasses should override the - method rather than this method. - - - - - - Does the actual writing of the XML. - - The writer to use to output the event to. - The event to write. - - - Subclasses should override this method to format - the as XML. - - - - - - Flag to indicate if location information should be included in - the XML events. - - - - - Writer adapter that ignores Close - - - - - The string to replace invalid chars with - - - - - Gets a value indicating whether to include location information in - the XML events. - - - true if location information should be included in the XML - events; otherwise, false. - - - - If is set to true, then the file - name and line number of the statement at the origin of the log - statement will be output. - - - If you are embedding this layout within an SMTPAppender - then make sure to set the LocationInfo option of that - appender as well. - - - - - - The string to replace characters that can not be expressed in XML with. - - - Not all characters may be expressed in XML. This property contains the - string to replace those that can not with. This defaults to a ?. Set it - to the empty string to simply remove offending characters. For more - details on the allowed character ranges see http://www.w3.org/TR/REC-xml/#charsets - Character replacement will occur in the log message, the property names - and the property values. - - - - - - - Gets the content type output by this layout. - - - As this is the XML layout, the value is always "text/xml". - - - - As this is the XML layout, the value is always "text/xml". - - - - - - Constructs an XmlLayout - - - - - Constructs an XmlLayout. - - - - The LocationInfo option takes a boolean value. By - default, it is set to false which means there will be no location - information output by this layout. If the the option is set to - true, then the file name and line number of the statement - at the origin of the log statement will be output. - - - If you are embedding this layout within an SmtpAppender - then make sure to set the LocationInfo option of that - appender as well. - - - - - - Initialize layout options - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - Builds a cache of the element names - - - - - - Does the actual writing of the XML. - - The writer to use to output the event to. - The event to write. - - - Override the base class method - to write the to the . - - - - - - The prefix to use for all generated element names - - - - - The prefix to use for all element names - - - - The default prefix is log4net. Set this property - to change the prefix. If the prefix is set to an empty string - then no prefix will be written. - - - - - - Set whether or not to base64 encode the message. - - - - By default the log message will be written as text to the xml - output. This can cause problems when the message contains binary - data. By setting this to true the contents of the message will be - base64 encoded. If this is set then invalid character replacement - (see ) will not be performed - on the log message. - - - - - - Set whether or not to base64 encode the property values. - - - - By default the properties will be written as text to the xml - output. This can cause problems when one or more properties contain - binary data. By setting this to true the values of the properties - will be base64 encoded. If this is set then invalid character replacement - (see ) will not be performed - on the property values. - - - - - - Layout that formats the log events as XML elements compatible with the log4j schema - - - - Formats the log events according to the http://logging.apache.org/log4j schema. - - - Nicko Cadell - - - - The 1st of January 1970 in UTC - - - - - Constructs an XMLLayoutSchemaLog4j - - - - - Constructs an XMLLayoutSchemaLog4j. - - - - The LocationInfo option takes a boolean value. By - default, it is set to false which means there will be no location - information output by this layout. If the the option is set to - true, then the file name and line number of the statement - at the origin of the log statement will be output. - - - If you are embedding this layout within an SMTPAppender - then make sure to set the LocationInfo option of that - appender as well. - - - - - - Actually do the writing of the xml - - the writer to use - the event to write - - - Generate XML that is compatible with the log4j schema. - - - - - - The version of the log4j schema to use. - - - - Only version 1.2 of the log4j schema is supported. - - - - - - The default object Renderer. - - - - The default renderer supports rendering objects and collections to strings. - - - See the method for details of the output. - - - Nicko Cadell - Gert Driesen - - - - Implement this interface in order to render objects as strings - - - - Certain types require special case conversion to - string form. This conversion is done by an object renderer. - Object renderers implement the - interface. - - - Nicko Cadell - Gert Driesen - - - - Render the object to a string - - The map used to lookup renderers - The object to render - The writer to render to - - - Render the object to a - string. - - - The parameter is - provided to lookup and render other objects. This is - very useful where contains - nested objects of unknown type. The - method can be used to render these objects. - - - - - - Default constructor - - - - Default constructor - - - - - - Render the object to a string - - The map used to lookup renderers - The object to render - The writer to render to - - - Render the object to a string. - - - The parameter is - provided to lookup and render other objects. This is - very useful where contains - nested objects of unknown type. The - method can be used to render these objects. - - - The default renderer supports rendering objects to strings as follows: - - - - Value - Rendered String - - - null - - "(null)" - - - - - - - For a one dimensional array this is the - array type name, an open brace, followed by a comma - separated list of the elements (using the appropriate - renderer), followed by a close brace. - - - For example: int[] {1, 2, 3}. - - - If the array is not one dimensional the - Array.ToString() is returned. - - - - - , & - - - Rendered as an open brace, followed by a comma - separated list of the elements (using the appropriate - renderer), followed by a close brace. - - - For example: {a, b, c}. - - - All collection classes that implement its subclasses, - or generic equivalents all implement the interface. - - - - - - - - Rendered as the key, an equals sign ('='), and the value (using the appropriate - renderer). - - - For example: key=value. - - - - - other - - Object.ToString() - - - - - - - - Render the array argument into a string - - The map used to lookup renderers - the array to render - The writer to render to - - - For a one dimensional array this is the - array type name, an open brace, followed by a comma - separated list of the elements (using the appropriate - renderer), followed by a close brace. For example: - int[] {1, 2, 3}. - - - If the array is not one dimensional the - Array.ToString() is returned. - - - - - - Render the enumerator argument into a string - - The map used to lookup renderers - the enumerator to render - The writer to render to - - - Rendered as an open brace, followed by a comma - separated list of the elements (using the appropriate - renderer), followed by a close brace. For example: - {a, b, c}. - - - - - - Render the DictionaryEntry argument into a string - - The map used to lookup renderers - the DictionaryEntry to render - The writer to render to - - - Render the key, an equals sign ('='), and the value (using the appropriate - renderer). For example: key=value. - - - - - - Map class objects to an . - - - - Maintains a mapping between types that require special - rendering and the that - is used to render them. - - - The method is used to render an - object using the appropriate renderers defined in this map. - - - Nicko Cadell - Gert Driesen - - - - Default Constructor - - - - Default constructor. - - - - - - Render using the appropriate renderer. - - the object to render to a string - the object rendered as a string - - - This is a convenience method used to render an object to a string. - The alternative method - should be used when streaming output to a . - - - - - - Render using the appropriate renderer. - - the object to render to a string - The writer to render to - - - Find the appropriate renderer for the type of the - parameter. This is accomplished by calling the - method. Once a renderer is found, it is - applied on the object and the result is returned - as a . - - - - - - Gets the renderer for the specified object type - - the object to lookup the renderer for - the renderer for - - - Gets the renderer for the specified object type. - - - Syntactic sugar method that calls - with the type of the object parameter. - - - - - - Gets the renderer for the specified type - - the type to lookup the renderer for - the renderer for the specified type - - - Returns the renderer for the specified type. - If no specific renderer has been defined the - will be returned. - - - - - - Internal function to recursively search interfaces - - the type to lookup the renderer for - the renderer for the specified type - - - - Clear the map of renderers - - - - Clear the custom renderers defined by using - . The - cannot be removed. - - - - - - Register an for . - - the type that will be rendered by - the renderer for - - - Register an object renderer for a specific source type. - This renderer will be returned from a call to - specifying the same as an argument. - - - - - - Get the default renderer instance - - the default renderer - - - Get the default renderer - - - - - - Interface implemented by logger repository plugins. - - - - Plugins define additional behavior that can be associated - with a . - The held by the - property is used to store the plugins for a repository. - - - The log4net.Config.PluginAttribute can be used to - attach plugins to repositories created using configuration - attributes. - - - Nicko Cadell - Gert Driesen - - - - Attaches the plugin to the specified . - - The that this plugin should be attached to. - - - A plugin may only be attached to a single repository. - - - This method is called when the plugin is attached to the repository. - - - - - - Is called when the plugin is to shutdown. - - - - This method is called to notify the plugin that - it should stop operating and should detach from - the repository. - - - - - - Gets the name of the plugin. - - - The name of the plugin. - - - - Plugins are stored in the - keyed by name. Each plugin instance attached to a - repository must be a unique name. - - - - - - A strongly-typed collection of objects. - - Nicko Cadell - - - - Creates a read-only wrapper for a PluginCollection instance. - - list to create a readonly wrapper arround - - A PluginCollection wrapper that is read-only. - - - - - Initializes a new instance of the PluginCollection class - that is empty and has the default initial capacity. - - - - - Initializes a new instance of the PluginCollection class - that has the specified initial capacity. - - - The number of elements that the new PluginCollection is initially capable of storing. - - - - - Initializes a new instance of the PluginCollection class - that contains elements copied from the specified PluginCollection. - - The PluginCollection whose elements are copied to the new collection. - - - - Initializes a new instance of the PluginCollection class - that contains elements copied from the specified array. - - The array whose elements are copied to the new list. - - - - Initializes a new instance of the PluginCollection class - that contains elements copied from the specified collection. - - The collection whose elements are copied to the new list. - - - - Allow subclasses to avoid our default constructors - - - - - - - Copies the entire PluginCollection to a one-dimensional - array. - - The one-dimensional array to copy to. - - - - Copies the entire PluginCollection to a one-dimensional - array, starting at the specified index of the target array. - - The one-dimensional array to copy to. - The zero-based index in at which copying begins. - - - - Adds a to the end of the PluginCollection. - - The to be added to the end of the PluginCollection. - The index at which the value has been added. - - - - Removes all elements from the PluginCollection. - - - - - Creates a shallow copy of the . - - A new with a shallow copy of the collection data. - - - - Determines whether a given is in the PluginCollection. - - The to check for. - true if is found in the PluginCollection; otherwise, false. - - - - Returns the zero-based index of the first occurrence of a - in the PluginCollection. - - The to locate in the PluginCollection. - - The zero-based index of the first occurrence of - in the entire PluginCollection, if found; otherwise, -1. - - - - - Inserts an element into the PluginCollection at the specified index. - - The zero-based index at which should be inserted. - The to insert. - - is less than zero - -or- - is equal to or greater than . - - - - - Removes the first occurrence of a specific from the PluginCollection. - - The to remove from the PluginCollection. - - The specified was not found in the PluginCollection. - - - - - Removes the element at the specified index of the PluginCollection. - - The zero-based index of the element to remove. - - is less than zero. - -or- - is equal to or greater than . - - - - - Returns an enumerator that can iterate through the PluginCollection. - - An for the entire PluginCollection. - - - - Adds the elements of another PluginCollection to the current PluginCollection. - - The PluginCollection whose elements should be added to the end of the current PluginCollection. - The new of the PluginCollection. - - - - Adds the elements of a array to the current PluginCollection. - - The array whose elements should be added to the end of the PluginCollection. - The new of the PluginCollection. - - - - Adds the elements of a collection to the current PluginCollection. - - The collection whose elements should be added to the end of the PluginCollection. - The new of the PluginCollection. - - - - Sets the capacity to the actual number of elements. - - - - - is less than zero. - -or- - is equal to or greater than . - - - - - is less than zero. - -or- - is equal to or greater than . - - - - - Gets the number of elements actually contained in the PluginCollection. - - - - - Gets a value indicating whether access to the collection is synchronized (thread-safe). - - true if access to the ICollection is synchronized (thread-safe); otherwise, false. - - - - Gets an object that can be used to synchronize access to the collection. - - - An object that can be used to synchronize access to the collection. - - - - - Gets or sets the at the specified index. - - - The at the specified index. - - The zero-based index of the element to get or set. - - is less than zero. - -or- - is equal to or greater than . - - - - - Gets a value indicating whether the collection has a fixed size. - - true if the collection has a fixed size; otherwise, false. The default is false. - - - - Gets a value indicating whether the IList is read-only. - - true if the collection is read-only; otherwise, false. The default is false. - - - - Gets or sets the number of elements the PluginCollection can contain. - - - The number of elements the PluginCollection can contain. - - - - - Supports type-safe iteration over a . - - - - - - Advances the enumerator to the next element in the collection. - - - true if the enumerator was successfully advanced to the next element; - false if the enumerator has passed the end of the collection. - - - The collection was modified after the enumerator was created. - - - - - Sets the enumerator to its initial position, before the first element in the collection. - - - - - Gets the current element in the collection. - - - - - Type visible only to our subclasses - Used to access protected constructor - - - - - - A value - - - - - Supports simple iteration over a . - - - - - - Initializes a new instance of the Enumerator class. - - - - - - Advances the enumerator to the next element in the collection. - - - true if the enumerator was successfully advanced to the next element; - false if the enumerator has passed the end of the collection. - - - The collection was modified after the enumerator was created. - - - - - Sets the enumerator to its initial position, before the first element in the collection. - - - - - Gets the current element in the collection. - - - The current element in the collection. - - - - - - - - Map of repository plugins. - - - - This class is a name keyed map of the plugins that are - attached to a repository. - - - Nicko Cadell - Gert Driesen - - - - Constructor - - The repository that the plugins should be attached to. - - - Initialize a new instance of the class with a - repository that the plugins should be attached to. - - - - - - Adds a to the map. - - The to add to the map. - - - The will be attached to the repository when added. - - - If there already exists a plugin with the same name - attached to the repository then the old plugin will - be and replaced with - the new plugin. - - - - - - Removes a from the map. - - The to remove from the map. - - - Remove a specific plugin from this map. - - - - - - Gets a by name. - - The name of the to lookup. - - The from the map with the name specified, or - null if no plugin is found. - - - - Lookup a plugin by name. If the plugin is not found null - will be returned. - - - - - - Gets all possible plugins as a list of objects. - - All possible plugins as a list of objects. - - - Get a collection of all the plugins defined in this map. - - - - - - Base implementation of - - - - Default abstract implementation of the - interface. This base class can be used by implementors - of the interface. - - - Nicko Cadell - Gert Driesen - - - - Constructor - - the name of the plugin - - Initializes a new Plugin with the specified name. - - - - - Attaches this plugin to a . - - The that this plugin should be attached to. - - - A plugin may only be attached to a single repository. - - - This method is called when the plugin is attached to the repository. - - - - - - Is called when the plugin is to shutdown. - - - - This method is called to notify the plugin that - it should stop operating and should detach from - the repository. - - - - - - The name of this plugin. - - - - - The repository this plugin is attached to. - - - - - Gets or sets the name of the plugin. - - - The name of the plugin. - - - - Plugins are stored in the - keyed by name. Each plugin instance attached to a - repository must be a unique name. - - - The name of the plugin must not change one the - plugin has been attached to a repository. - - - - - - The repository for this plugin - - - The that this plugin is attached to. - - - - Gets or sets the that this plugin is - attached to. - - - - - - Plugin that listens for events from the - - - - This plugin publishes an instance of - on a specified . This listens for logging events delivered from - a remote . - - - When an event is received it is relogged within the attached repository - as if it had been raised locally. - - - Nicko Cadell - Gert Driesen - - - - Default constructor - - - - Initializes a new instance of the class. - - - The property must be set. - - - - - - Construct with sink Uri. - - The name to publish the sink under in the remoting infrastructure. - See for more details. - - - Initializes a new instance of the class - with specified name. - - - - - - Attaches this plugin to a . - - The that this plugin should be attached to. - - - A plugin may only be attached to a single repository. - - - This method is called when the plugin is attached to the repository. - - - - - - Is called when the plugin is to shutdown. - - - - When the plugin is shutdown the remote logging - sink is disconnected. - - - - - - Gets or sets the URI of this sink. - - - The URI of this sink. - - - - This is the name under which the object is marshaled. - - - - - - - Delivers objects to a remote sink. - - - - Internal class used to listen for logging events - and deliver them to the local repository. - - - - - - Constructor - - The repository to log to. - - - Initializes a new instance of the for the - specified . - - - - - - Logs the events to the repository. - - The events to log. - - - The events passed are logged to the - - - - - - Obtains a lifetime service object to control the lifetime - policy for this instance. - - null to indicate that this instance should live forever. - - - Obtains a lifetime service object to control the lifetime - policy for this instance. This object should live forever - therefore this implementation returns null. - - - - - - The underlying that events should - be logged to. - - - - - Default implementation of - - - - This default implementation of the - interface is used to create the default subclass - of the object. - - - Nicko Cadell - Gert Driesen - - - - Interface abstracts creation of instances - - - - This interface is used by the to - create new objects. - - - The method is called - to create a named . - - - Implement this interface to create new subclasses of . - - - Nicko Cadell - Gert Driesen - - - - Create a new instance - - The name of the . - The instance for the specified name. - - - Create a new instance with the - specified name. - - - Called by the to create - new named instances. - - - If the is null then the root logger - must be returned. - - - - - - Default constructor - - - - Initializes a new instance of the class. - - - - - - Create a new instance - - The name of the . - The instance for the specified name. - - - Create a new instance with the - specified name. - - - Called by the to create - new named instances. - - - If the is null then the root logger - must be returned. - - - - - - Default internal subclass of - - - - This subclass has no additional behavior over the - class but does allow instances - to be created. - - - - - - Implementation of used by - - - - Internal class used to provide implementation of - interface. Applications should use to get - logger instances. - - - This is one of the central classes in the log4net implementation. One of the - distinctive features of log4net are hierarchical loggers and their - evaluation. The organizes the - instances into a rooted tree hierarchy. - - - The class is abstract. Only concrete subclasses of - can be created. The - is used to create instances of this type for the . - - - Nicko Cadell - Gert Driesen - Aspi Havewala - Douglas de la Torre - - - - This constructor created a new instance and - sets its name. - - The name of the . - - - This constructor is protected and designed to be used by - a subclass that is not abstract. - - - Loggers are constructed by - objects. See for the default - logger creator. - - - - - - Add to the list of appenders of this - Logger instance. - - An appender to add to this logger - - - Add to the list of appenders of this - Logger instance. - - - If is already in the list of - appenders, then it won't be added again. - - - - - - Look for the appender named as name - - The name of the appender to lookup - The appender with the name specified, or null. - - - Returns the named appender, or null if the appender is not found. - - - - - - Remove all previously added appenders from this Logger instance. - - - - Remove all previously added appenders from this Logger instance. - - - This is useful when re-reading configuration information. - - - - - - Remove the appender passed as parameter form the list of appenders. - - The appender to remove - The appender removed from the list - - - Remove the appender passed as parameter form the list of appenders. - The appender removed is not closed. - If you are discarding the appender you must call - on the appender removed. - - - - - - Remove the appender passed as parameter form the list of appenders. - - The name of the appender to remove - The appender removed from the list - - - Remove the named appender passed as parameter form the list of appenders. - The appender removed is not closed. - If you are discarding the appender you must call - on the appender removed. - - - - - - This generic form is intended to be used by wrappers. - - The declaring type of the method that is - the stack boundary into the logging system for this call. - The level of the message to be logged. - The message object to log. - The exception to log, including its stack trace. - - - Generate a logging event for the specified using - the and . - - - This method must not throw any exception to the caller. - - - - - - This is the most generic printing method that is intended to be used - by wrappers. - - The event being logged. - - - Logs the specified logging event through this logger. - - - This method must not throw any exception to the caller. - - - - - - Checks if this logger is enabled for a given passed as parameter. - - The level to check. - - true if this logger is enabled for level, otherwise false. - - - - Test if this logger is going to log events of the specified . - - - This method must not throw any exception to the caller. - - - - - - Deliver the to the attached appenders. - - The event to log. - - - Call the appenders in the hierarchy starting at - this. If no appenders could be found, emit a - warning. - - - This method calls all the appenders inherited from the - hierarchy circumventing any evaluation of whether to log or not - to log the particular log request. - - - - - - Closes all attached appenders implementing the interface. - - - - Used to ensure that the appenders are correctly shutdown. - - - - - - This is the most generic printing method. This generic form is intended to be used by wrappers - - The level of the message to be logged. - The message object to log. - The exception to log, including its stack trace. - - - Generate a logging event for the specified using - the . - - - - - - Creates a new logging event and logs the event without further checks. - - The declaring type of the method that is - the stack boundary into the logging system for this call. - The level of the message to be logged. - The message object to log. - The exception to log, including its stack trace. - - - Generates a logging event and delivers it to the attached - appenders. - - - - - - Creates a new logging event and logs the event without further checks. - - The event being logged. - - - Delivers the logging event to the attached appenders. - - - - - - The fully qualified type of the Logger class. - - - - - The name of this logger. - - - - - The assigned level of this logger. - - - - The level variable need not be - assigned a value in which case it is inherited - form the hierarchy. - - - - - - The parent of this logger. - - - - The parent of this logger. - All loggers have at least one ancestor which is the root logger. - - - - - - Loggers need to know what Hierarchy they are in. - - - - Loggers need to know what Hierarchy they are in. - The hierarchy that this logger is a member of is stored - here. - - - - - - Helper implementation of the interface - - - - - Flag indicating if child loggers inherit their parents appenders - - - - Additivity is set to true by default, that is children inherit - the appenders of their ancestors by default. If this variable is - set to false then the appenders found in the - ancestors of this logger are not used. However, the children - of this logger will inherit its appenders, unless the children - have their additivity flag set to false too. See - the user manual for more details. - - - - - - Lock to protect AppenderAttachedImpl variable m_appenderAttachedImpl - - - - - Gets or sets the parent logger in the hierarchy. - - - The parent logger in the hierarchy. - - - - Part of the Composite pattern that makes the hierarchy. - The hierarchy is parent linked rather than child linked. - - - - - - Gets or sets a value indicating if child loggers inherit their parent's appenders. - - - true if child loggers inherit their parent's appenders. - - - - Additivity is set to true by default, that is children inherit - the appenders of their ancestors by default. If this variable is - set to false then the appenders found in the - ancestors of this logger are not used. However, the children - of this logger will inherit its appenders, unless the children - have their additivity flag set to false too. See - the user manual for more details. - - - - - - Gets the effective level for this logger. - - The nearest level in the logger hierarchy. - - - Starting from this logger, searches the logger hierarchy for a - non-null level and returns it. Otherwise, returns the level of the - root logger. - - The Logger class is designed so that this method executes as - quickly as possible. - - - - - Gets or sets the where this - Logger instance is attached to. - - The hierarchy that this logger belongs to. - - - This logger must be attached to a single . - - - - - - Gets or sets the assigned , if any, for this Logger. - - - The of this logger. - - - - The assigned can be null. - - - - - - Get the appenders contained in this logger as an - . - - A collection of the appenders in this logger - - - Get the appenders contained in this logger as an - . If no appenders - can be found, then a is returned. - - - - - - Gets the logger name. - - - The name of the logger. - - - - The name of this logger - - - - - - Gets the where this - Logger instance is attached to. - - - The that this logger belongs to. - - - - Gets the where this - Logger instance is attached to. - - - - - - Construct a new Logger - - the name of the logger - - - Initializes a new instance of the class - with the specified name. - - - - - - Delegate used to handle logger creation event notifications. - - The in which the has been created. - The event args that hold the instance that has been created. - - - Delegate used to handle logger creation event notifications. - - - - - - Provides data for the event. - - - - A event is raised every time a - is created. - - - - - - The created - - - - - Constructor - - The that has been created. - - - Initializes a new instance of the event argument - class,with the specified . - - - - - - Gets the that has been created. - - - The that has been created. - - - - The that has been created. - - - - - - Hierarchical organization of loggers - - - - The casual user should not have to deal with this class - directly. - - - This class is specialized in retrieving loggers by name and - also maintaining the logger hierarchy. Implements the - interface. - - - The structure of the logger hierarchy is maintained by the - method. The hierarchy is such that children - link to their parent but parents do not have any references to their - children. Moreover, loggers can be instantiated in any order, in - particular descendant before ancestor. - - - In case a descendant is created before a particular ancestor, - then it creates a provision node for the ancestor and adds itself - to the provision node. Other descendants of the same ancestor add - themselves to the previously created provision node. - - - Nicko Cadell - Gert Driesen - - - - Base implementation of - - - - Default abstract implementation of the interface. - - - Skeleton implementation of the interface. - All types can extend this type. - - - Nicko Cadell - Gert Driesen - - - - Interface implemented by logger repositories. - - - - This interface is implemented by logger repositories. e.g. - . - - - This interface is used by the - to obtain interfaces. - - - Nicko Cadell - Gert Driesen - - - - Check if the named logger exists in the repository. If so return - its reference, otherwise returns null. - - The name of the logger to lookup - The Logger object with the name specified - - - If the names logger exists it is returned, otherwise - null is returned. - - - - - - Returns all the currently defined loggers as an Array. - - All the defined loggers - - - Returns all the currently defined loggers as an Array. - - - - - - Returns a named logger instance - - The name of the logger to retrieve - The logger object with the name specified - - - Returns a named logger instance. - - - If a logger of that name already exists, then it will be - returned. Otherwise, a new logger will be instantiated and - then linked with its existing ancestors as well as children. - - - - - Shutdown the repository - - - Shutting down a repository will safely close and remove - all appenders in all loggers including the root logger. - - - Some appenders need to be closed before the - application exists. Otherwise, pending logging events might be - lost. - - - The method is careful to close nested - appenders before closing regular appenders. This is allows - configurations where a regular appender is attached to a logger - and again to a nested appender. - - - - - - Reset the repositories configuration to a default state - - - - Reset all values contained in this instance to their - default state. - - - Existing loggers are not removed. They are just reset. - - - This method should be used sparingly and with care as it will - block all logging until it is completed. - - - - - - Log the through this repository. - - the event to log - - - This method should not normally be used to log. - The interface should be used - for routine logging. This interface can be obtained - using the method. - - - The logEvent is delivered to the appropriate logger and - that logger is then responsible for logging the event. - - - - - - Returns all the Appenders that are configured as an Array. - - All the Appenders - - - Returns all the Appenders that are configured as an Array. - - - - - - The name of the repository - - - The name of the repository - - - - The name of the repository. - - - - - - RendererMap accesses the object renderer map for this repository. - - - RendererMap accesses the object renderer map for this repository. - - - - RendererMap accesses the object renderer map for this repository. - - - The RendererMap holds a mapping between types and - objects. - - - - - - The plugin map for this repository. - - - The plugin map for this repository. - - - - The plugin map holds the instances - that have been attached to this repository. - - - - - - Get the level map for the Repository. - - - - Get the level map for the Repository. - - - The level map defines the mappings between - level names and objects in - this repository. - - - - - - The threshold for all events in this repository - - - The threshold for all events in this repository - - - - The threshold for all events in this repository. - - - - - - Flag indicates if this repository has been configured. - - - Flag indicates if this repository has been configured. - - - - Flag indicates if this repository has been configured. - - - - - - Event to notify that the repository has been shutdown. - - - Event to notify that the repository has been shutdown. - - - - Event raised when the repository has been shutdown. - - - - - - Event to notify that the repository has had its configuration reset. - - - Event to notify that the repository has had its configuration reset. - - - - Event raised when the repository's configuration has been - reset to default. - - - - - - Event to notify that the repository has had its configuration changed. - - - Event to notify that the repository has had its configuration changed. - - - - Event raised when the repository's configuration has been changed. - - - - - - Repository specific properties - - - Repository specific properties - - - - These properties can be specified on a repository specific basis. - - - - - - Default Constructor - - - - Initializes the repository with default (empty) properties. - - - - - - Construct the repository using specific properties - - the properties to set for this repository - - - Initializes the repository with specified properties. - - - - - - Test if logger exists - - The name of the logger to lookup - The Logger object with the name specified - - - Check if the named logger exists in the repository. If so return - its reference, otherwise returns null. - - - - - - Returns all the currently defined loggers in the repository - - All the defined loggers - - - Returns all the currently defined loggers in the repository as an Array. - - - - - - Return a new logger instance - - The name of the logger to retrieve - The logger object with the name specified - - - Return a new logger instance. - - - If a logger of that name already exists, then it will be - returned. Otherwise, a new logger will be instantiated and - then linked with its existing ancestors as well as children. - - - - - - Shutdown the repository - - - - Shutdown the repository. Can be overridden in a subclass. - This base class implementation notifies the - listeners and all attached plugins of the shutdown event. - - - - - - Reset the repositories configuration to a default state - - - - Reset all values contained in this instance to their - default state. - - - Existing loggers are not removed. They are just reset. - - - This method should be used sparingly and with care as it will - block all logging until it is completed. - - - - - - Log the logEvent through this repository. - - the event to log - - - This method should not normally be used to log. - The interface should be used - for routine logging. This interface can be obtained - using the method. - - - The logEvent is delivered to the appropriate logger and - that logger is then responsible for logging the event. - - - - - - Returns all the Appenders that are configured as an Array. - - All the Appenders - - - Returns all the Appenders that are configured as an Array. - - - - - - Adds an object renderer for a specific class. - - The type that will be rendered by the renderer supplied. - The object renderer used to render the object. - - - Adds an object renderer for a specific class. - - - - - - Notify the registered listeners that the repository is shutting down - - Empty EventArgs - - - Notify any listeners that this repository is shutting down. - - - - - - Notify the registered listeners that the repository has had its configuration reset - - Empty EventArgs - - - Notify any listeners that this repository's configuration has been reset. - - - - - - Notify the registered listeners that the repository has had its configuration changed - - Empty EventArgs - - - Notify any listeners that this repository's configuration has changed. - - - - - - Raise a configuration changed event on this repository - - EventArgs.Empty - - - Applications that programmatically change the configuration of the repository should - raise this event notification to notify listeners. - - - - - - The name of the repository - - - The string name of the repository - - - - The name of this repository. The name is - used to store and lookup the repositories - stored by the . - - - - - - The threshold for all events in this repository - - - The threshold for all events in this repository - - - - The threshold for all events in this repository - - - - - - RendererMap accesses the object renderer map for this repository. - - - RendererMap accesses the object renderer map for this repository. - - - - RendererMap accesses the object renderer map for this repository. - - - The RendererMap holds a mapping between types and - objects. - - - - - - The plugin map for this repository. - - - The plugin map for this repository. - - - - The plugin map holds the instances - that have been attached to this repository. - - - - - - Get the level map for the Repository. - - - - Get the level map for the Repository. - - - The level map defines the mappings between - level names and objects in - this repository. - - - - - - Flag indicates if this repository has been configured. - - - Flag indicates if this repository has been configured. - - - - Flag indicates if this repository has been configured. - - - - - - Event to notify that the repository has been shutdown. - - - Event to notify that the repository has been shutdown. - - - - Event raised when the repository has been shutdown. - - - - - - Event to notify that the repository has had its configuration reset. - - - Event to notify that the repository has had its configuration reset. - - - - Event raised when the repository's configuration has been - reset to default. - - - - - - Event to notify that the repository has had its configuration changed. - - - Event to notify that the repository has had its configuration changed. - - - - Event raised when the repository's configuration has been changed. - - - - - - Repository specific properties - - - Repository specific properties - - - These properties can be specified on a repository specific basis - - - - - Basic Configurator interface for repositories - - - - Interface used by basic configurator to configure a - with a default . - - - A should implement this interface to support - configuration by the . - - - Nicko Cadell - Gert Driesen - - - - Initialize the repository using the specified appender - - the appender to use to log all logging events - - - Configure the repository to route all logging events to the - specified appender. - - - - - - Configure repository using XML - - - - Interface used by Xml configurator to configure a . - - - A should implement this interface to support - configuration by the . - - - Nicko Cadell - Gert Driesen - - - - Initialize the repository using the specified config - - the element containing the root of the config - - - The schema for the XML configuration data is defined by - the implementation. - - - - - - Default constructor - - - - Initializes a new instance of the class. - - - - - - Construct with properties - - The properties to pass to this repository. - - - Initializes a new instance of the class. - - - - - - Construct with a logger factory - - The factory to use to create new logger instances. - - - Initializes a new instance of the class with - the specified . - - - - - - Construct with properties and a logger factory - - The properties to pass to this repository. - The factory to use to create new logger instances. - - - Initializes a new instance of the class with - the specified . - - - - - - Test if a logger exists - - The name of the logger to lookup - The Logger object with the name specified - - - Check if the named logger exists in the hierarchy. If so return - its reference, otherwise returns null. - - - - - - Returns all the currently defined loggers in the hierarchy as an Array - - All the defined loggers - - - Returns all the currently defined loggers in the hierarchy as an Array. - The root logger is not included in the returned - enumeration. - - - - - - Return a new logger instance named as the first parameter using - the default factory. - - - - Return a new logger instance named as the first parameter using - the default factory. - - - If a logger of that name already exists, then it will be - returned. Otherwise, a new logger will be instantiated and - then linked with its existing ancestors as well as children. - - - The name of the logger to retrieve - The logger object with the name specified - - - - Shutting down a hierarchy will safely close and remove - all appenders in all loggers including the root logger. - - - - Shutting down a hierarchy will safely close and remove - all appenders in all loggers including the root logger. - - - Some appenders need to be closed before the - application exists. Otherwise, pending logging events might be - lost. - - - The Shutdown method is careful to close nested - appenders before closing regular appenders. This is allows - configurations where a regular appender is attached to a logger - and again to a nested appender. - - - - - - Reset all values contained in this hierarchy instance to their default. - - - - Reset all values contained in this hierarchy instance to their - default. This removes all appenders from all loggers, sets - the level of all non-root loggers to null, - sets their additivity flag to true and sets the level - of the root logger to . Moreover, - message disabling is set its default "off" value. - - - Existing loggers are not removed. They are just reset. - - - This method should be used sparingly and with care as it will - block all logging until it is completed. - - - - - - Log the logEvent through this hierarchy. - - the event to log - - - This method should not normally be used to log. - The interface should be used - for routine logging. This interface can be obtained - using the method. - - - The logEvent is delivered to the appropriate logger and - that logger is then responsible for logging the event. - - - - - - Returns all the Appenders that are currently configured - - An array containing all the currently configured appenders - - - Returns all the instances that are currently configured. - All the loggers are searched for appenders. The appenders may also be containers - for appenders and these are also searched for additional loggers. - - - The list returned is unordered but does not contain duplicates. - - - - - - Collect the appenders from an . - The appender may also be a container. - - - - - - - Collect the appenders from an container - - - - - - - Initialize the log4net system using the specified appender - - the appender to use to log all logging events - - - - Initialize the log4net system using the specified appender - - the appender to use to log all logging events - - - This method provides the same functionality as the - method implemented - on this object, but it is protected and therefore can be called by subclasses. - - - - - - Initialize the log4net system using the specified config - - the element containing the root of the config - - - - Initialize the log4net system using the specified config - - the element containing the root of the config - - - This method provides the same functionality as the - method implemented - on this object, but it is protected and therefore can be called by subclasses. - - - - - - Test if this hierarchy is disabled for the specified . - - The level to check against. - - true if the repository is disabled for the level argument, false otherwise. - - - - If this hierarchy has not been configured then this method will - always return true. - - - This method will return true if this repository is - disabled for level object passed as parameter and - false otherwise. - - - See also the property. - - - - - - Clear all logger definitions from the internal hashtable - - - - This call will clear all logger definitions from the internal - hashtable. Invoking this method will irrevocably mess up the - logger hierarchy. - - - You should really know what you are doing before - invoking this method. - - - - - - Return a new logger instance named as the first parameter using - . - - The name of the logger to retrieve - The factory that will make the new logger instance - The logger object with the name specified - - - If a logger of that name already exists, then it will be - returned. Otherwise, a new logger will be instantiated by the - parameter and linked with its existing - ancestors as well as children. - - - - - - Sends a logger creation event to all registered listeners - - The newly created logger - - Raises the logger creation event. - - - - - Updates all the parents of the specified logger - - The logger to update the parents for - - - This method loops through all the potential parents of - . There 3 possible cases: - - - - No entry for the potential parent of exists - - We create a ProvisionNode for this potential - parent and insert in that provision node. - - - - The entry is of type Logger for the potential parent. - - The entry is 's nearest existing parent. We - update 's parent field with this entry. We also break from - he loop because updating our parent's parent is our parent's - responsibility. - - - - The entry is of type ProvisionNode for this potential parent. - - We add to the list of children for this - potential parent. - - - - - - - - Replace a with a in the hierarchy. - - - - - - We update the links for all the children that placed themselves - in the provision node 'pn'. The second argument 'log' is a - reference for the newly created Logger, parent of all the - children in 'pn'. - - - We loop on all the children 'c' in 'pn'. - - - If the child 'c' has been already linked to a child of - 'log' then there is no need to update 'c'. - - - Otherwise, we set log's parent field to c's parent and set - c's parent field to log. - - - - - - Define or redefine a Level using the values in the argument - - the level values - - - Define or redefine a Level using the values in the argument - - - Supports setting levels via the configuration file. - - - - - - Set a Property using the values in the argument - - the property value - - - Set a Property using the values in the argument. - - - Supports setting property values via the configuration file. - - - - - - Event used to notify that a logger has been created. - - - - Event raised when a logger is created. - - - - - - Has no appender warning been emitted - - - - Flag to indicate if we have already issued a warning - about not having an appender warning. - - - - - - Get the root of this hierarchy - - - - Get the root of this hierarchy. - - - - - - Gets or sets the default instance. - - The default - - - The logger factory is used to create logger instances. - - - - - - A class to hold the value, name and display name for a level - - - - A class to hold the value, name and display name for a level - - - - - - Override Object.ToString to return sensible debug info - - string info about this object - - - - Value of the level - - - - If the value is not set (defaults to -1) the value will be looked - up for the current level with the same name. - - - - - - Name of the level - - - The name of the level - - - - The name of the level. - - - - - - Display name for the level - - - The display name of the level - - - - The display name of the level. - - - - - - A class to hold the key and data for a property set in the config file - - - - A class to hold the key and data for a property set in the config file - - - - - - Override Object.ToString to return sensible debug info - - string info about this object - - - - Property Key - - - Property Key - - - - Property Key. - - - - - - Property Value - - - Property Value - - - - Property Value. - - - - - - Used internally to accelerate hash table searches. - - - - Internal class used to improve performance of - string keyed hashtables. - - - The hashcode of the string is cached for reuse. - The string is stored as an interned value. - When comparing two objects for equality - the reference equality of the interned strings is compared. - - - Nicko Cadell - Gert Driesen - - - - Construct key with string name - - - - Initializes a new instance of the class - with the specified name. - - - Stores the hashcode of the string and interns - the string key to optimize comparisons. - - - The Compact Framework 1.0 the - method does not work. On the Compact Framework - the string keys are not interned nor are they - compared by reference. - - - The name of the logger. - - - - Returns a hash code for the current instance. - - A hash code for the current instance. - - - Returns the cached hashcode. - - - - - - Determines whether two instances - are equal. - - The to compare with the current . - - true if the specified is equal to the current ; otherwise, false. - - - - Compares the references of the interned strings. - - - - - - Provision nodes are used where no logger instance has been specified - - - - instances are used in the - when there is no specified - for that node. - - - A provision node holds a list of child loggers on behalf of - a logger that does not exist. - - - Nicko Cadell - Gert Driesen - - - - Create a new provision node with child node - - A child logger to add to this node. - - - Initializes a new instance of the class - with the specified child logger. - - - - - - The sits at the root of the logger hierarchy tree. - - - - The is a regular except - that it provides several guarantees. - - - First, it cannot be assigned a null - level. Second, since the root logger cannot have a parent, the - property always returns the value of the - level field without walking the hierarchy. - - - Nicko Cadell - Gert Driesen - - - - Construct a - - The level to assign to the root logger. - - - Initializes a new instance of the class with - the specified logging level. - - - The root logger names itself as "root". However, the root - logger cannot be retrieved by name. - - - - - - Gets the assigned level value without walking the logger hierarchy. - - The assigned level value without walking the logger hierarchy. - - - Because the root logger cannot have a parent and its level - must not be null this property just returns the - value of . - - - - - - Gets or sets the assigned for the root logger. - - - The of the root logger. - - - - Setting the level of the root logger to a null reference - may have catastrophic results. We prevent this here. - - - - - - Initializes the log4net environment using an XML DOM. - - - - Configures a using an XML DOM. - - - Nicko Cadell - Gert Driesen - - - - Construct the configurator for a hierarchy - - The hierarchy to build. - - - Initializes a new instance of the class - with the specified . - - - - - - Configure the hierarchy by parsing a DOM tree of XML elements. - - The root element to parse. - - - Configure the hierarchy by parsing a DOM tree of XML elements. - - - - - - Parse appenders by IDREF. - - The appender ref element. - The instance of the appender that the ref refers to. - - - Parse an XML element that represents an appender and return - the appender. - - - - - - Parses an appender element. - - The appender element. - The appender instance or null when parsing failed. - - - Parse an XML element that represents an appender and return - the appender instance. - - - - - - Parses a logger element. - - The logger element. - - - Parse an XML element that represents a logger. - - - - - - Parses the root logger element. - - The root element. - - - Parse an XML element that represents the root logger. - - - - - - Parses the children of a logger element. - - The category element. - The logger instance. - Flag to indicate if the logger is the root logger. - - - Parse the child elements of a <logger> element. - - - - - - Parses an object renderer. - - The renderer element. - - - Parse an XML element that represents a renderer. - - - - - - Parses a level element. - - The level element. - The logger object to set the level on. - Flag to indicate if the logger is the root logger. - - - Parse an XML element that represents a level. - - - - - - Sets a parameter on an object. - - The parameter element. - The object to set the parameter on. - - The parameter name must correspond to a writable property - on the object. The value of the parameter is a string, - therefore this function will attempt to set a string - property first. If unable to set a string property it - will inspect the property and its argument type. It will - attempt to call a static method called Parse on the - type of the property. This method will take a single - string argument and return a value that can be used to - set the property. - - - - - Test if an element has no attributes or child elements - - the element to inspect - true if the element has any attributes or child elements, false otherwise - - - - Test if a is constructible with Activator.CreateInstance. - - the type to inspect - true if the type is creatable using a default constructor, false otherwise - - - - Look for a method on the that matches the supplied - - the type that has the method - the name of the method - the method info found - - - The method must be a public instance method on the . - The method must be named or "Add" followed by . - The method must take a single parameter. - - - - - - Converts a string value to a target type. - - The type of object to convert the string to. - The string value to use as the value of the object. - - - An object of type with value or - null when the conversion could not be performed. - - - - - - Creates an object as specified in XML. - - The XML element that contains the definition of the object. - The object type to use if not explicitly specified. - The type that the returned object must be or must inherit from. - The object or null - - - Parse an XML element and create an object instance based on the configuration - data. - - - The type of the instance may be specified in the XML. If not - specified then the is used - as the type. However the type is specified it must support the - type. - - - - - - key: appenderName, value: appender. - - - - - The Hierarchy being configured. - - - - - Delegate used to handle logger repository shutdown event notifications - - The that is shutting down. - Empty event args - - - Delegate used to handle logger repository shutdown event notifications. - - - - - - Delegate used to handle logger repository configuration reset event notifications - - The that has had its configuration reset. - Empty event args - - - Delegate used to handle logger repository configuration reset event notifications. - - - - - - Delegate used to handle event notifications for logger repository configuration changes. - - The that has had its configuration changed. - Empty event arguments. - - - Delegate used to handle event notifications for logger repository configuration changes. - - - - - - Write the name of the current AppDomain to the output - - - - Write the name of the current AppDomain to the output writer - - - Nicko Cadell - - - - Write the name of the current AppDomain to the output - - the writer to write to - null, state is not set - - - Writes name of the current AppDomain to the output . - - - - - - Write the current date to the output - - - - Date pattern converter, uses a to format - the current date and time to the writer as a string. - - - The value of the determines - the formatting of the date. The following values are allowed: - - - Option value - Output - - - ISO8601 - - Uses the formatter. - Formats using the "yyyy-MM-dd HH:mm:ss,fff" pattern. - - - - DATE - - Uses the formatter. - Formats using the "dd MMM yyyy HH:mm:ss,fff" for example, "06 Nov 1994 15:49:37,459". - - - - ABSOLUTE - - Uses the formatter. - Formats using the "HH:mm:ss,fff" for example, "15:49:37,459". - - - - other - - Any other pattern string uses the formatter. - This formatter passes the pattern string to the - method. - For details on valid patterns see - DateTimeFormatInfo Class. - - - - - - The date and time is in the local time zone and is rendered in that zone. - To output the time in Universal time see . - - - Nicko Cadell - - - - The used to render the date to a string - - - - The used to render the date to a string - - - - - - Initialize the converter options - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - - - - Write the current date to the output - - that will receive the formatted result. - null, state is not set - - - Pass the current date and time to the - for it to render it to the writer. - - - The date and time passed is in the local time zone. - - - - - - Write an environment variable to the output - - - - Write an environment variable to the output writer. - The value of the determines - the name of the variable to output. - - - Nicko Cadell - - - - Write an environment variable to the output - - the writer to write to - null, state is not set - - - Writes the environment variable to the output . - The name of the environment variable to output must be set - using the - property. - - - - - - Write the current thread identity to the output - - - - Write the current thread identity to the output writer - - - Nicko Cadell - - - - Write the current thread identity to the output - - the writer to write to - null, state is not set - - - Writes the current thread identity to the output . - - - - - - Pattern converter for literal string instances in the pattern - - - - Writes the literal string value specified in the - property to - the output. - - - Nicko Cadell - - - - Set the next converter in the chain - - The next pattern converter in the chain - The next pattern converter - - - Special case the building of the pattern converter chain - for instances. Two adjacent - literals in the pattern can be represented by a single combined - pattern converter. This implementation detects when a - is added to the chain - after this converter and combines its value with this converter's - literal value. - - - - - - Write the literal to the output - - the writer to write to - null, not set - - - Override the formatting behavior to ignore the FormattingInfo - because we have a literal instead. - - - Writes the value of - to the output . - - - - - - Convert this pattern into the rendered message - - that will receive the formatted result. - null, not set - - - This method is not used. - - - - - - Writes a newline to the output - - - - Writes the system dependent line terminator to the output. - This behavior can be overridden by setting the : - - - - Option Value - Output - - - DOS - DOS or Windows line terminator "\r\n" - - - UNIX - UNIX line terminator "\n" - - - - Nicko Cadell - - - - Initialize the converter - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - - - - Write the current process ID to the output - - - - Write the current process ID to the output writer - - - Nicko Cadell - - - - Write the current process ID to the output - - the writer to write to - null, state is not set - - - Write the current process ID to the output . - - - - - - Property pattern converter - - - - This pattern converter reads the thread and global properties. - The thread properties take priority over global properties. - See for details of the - thread properties. See for - details of the global properties. - - - If the is specified then that will be used to - lookup a single property. If no is specified - then all properties will be dumped as a list of key value pairs. - - - Nicko Cadell - - - - Write the property value to the output - - that will receive the formatted result. - null, state is not set - - - Writes out the value of a named property. The property name - should be set in the - property. - - - If the is set to null - then all the properties are written as key value pairs. - - - - - - A Pattern converter that generates a string of random characters - - - - The converter generates a string of random characters. By default - the string is length 4. This can be changed by setting the - to the string value of the length required. - - - The random characters in the string are limited to uppercase letters - and numbers only. - - - The random number generator used by this class is not cryptographically secure. - - - Nicko Cadell - - - - Shared random number generator - - - - - Length of random string to generate. Default length 4. - - - - - Initialize the converter options - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - - - - Write a randoim string to the output - - the writer to write to - null, state is not set - - - Write a randoim string to the output . - - - - - - Write the current threads username to the output - - - - Write the current threads username to the output writer - - - Nicko Cadell - - - - Write the current threads username to the output - - the writer to write to - null, state is not set - - - Write the current threads username to the output . - - - - - - Write the UTC date time to the output - - - - Date pattern converter, uses a to format - the current date and time in Universal time. - - - See the for details on the date pattern syntax. - - - - Nicko Cadell - - - - Write the current date and time to the output - - that will receive the formatted result. - null, state is not set - - - Pass the current date and time to the - for it to render it to the writer. - - - The date is in Universal time when it is rendered. - - - - - - - Type converter for Boolean. - - - - Supports conversion from string to bool type. - - - - - - Nicko Cadell - Gert Driesen - - - - Can the source type be converted to the type supported by this object - - the type to convert - true if the conversion is possible - - - Returns true if the is - the type. - - - - - - Convert the source object to the type supported by this object - - the object to convert - the converted object - - - Uses the method to convert the - argument to a . - - - - The object cannot be converted to the - target type. To check for this condition use the - method. - - - - - Exception base type for conversion errors. - - - - This type extends . It - does not add any new functionality but does differentiate the - type of exception being thrown. - - - Nicko Cadell - Gert Driesen - - - - Constructor - - - - Initializes a new instance of the class. - - - - - - Constructor - - A message to include with the exception. - - - Initializes a new instance of the class - with the specified message. - - - - - - Constructor - - A message to include with the exception. - A nested exception to include. - - - Initializes a new instance of the class - with the specified message and inner exception. - - - - - - Serialization constructor - - The that holds the serialized object data about the exception being thrown. - The that contains contextual information about the source or destination. - - - Initializes a new instance of the class - with serialized data. - - - - - - Creates a new instance of the class. - - The conversion destination type. - The value to convert. - An instance of the . - - - Creates a new instance of the class. - - - - - - Creates a new instance of the class. - - The conversion destination type. - The value to convert. - A nested exception to include. - An instance of the . - - - Creates a new instance of the class. - - - - - - Register of type converters for specific types. - - - - Maintains a registry of type converters used to convert between - types. - - - Use the and - methods to register new converters. - The and methods - lookup appropriate converters to use. - - - - - Nicko Cadell - Gert Driesen - - - - Private constructor - - - Initializes a new instance of the class. - - - - - Static constructor. - - - - This constructor defines the intrinsic type converters. - - - - - - Adds a converter for a specific type. - - The type being converted to. - The type converter to use to convert to the destination type. - - - Adds a converter instance for a specific type. - - - - - - Adds a converter for a specific type. - - The type being converted to. - The type of the type converter to use to convert to the destination type. - - - Adds a converter for a specific type. - - - - - - Gets the type converter to use to convert values to the destination type. - - The type being converted from. - The type being converted to. - - The type converter instance to use for type conversions or null - if no type converter is found. - - - - Gets the type converter to use to convert values to the destination type. - - - - - - Gets the type converter to use to convert values to the destination type. - - The type being converted to. - - The type converter instance to use for type conversions or null - if no type converter is found. - - - - Gets the type converter to use to convert values to the destination type. - - - - - - Lookups the type converter to use as specified by the attributes on the - destination type. - - The type being converted to. - - The type converter instance to use for type conversions or null - if no type converter is found. - - - - - Creates the instance of the type converter. - - The type of the type converter. - - The type converter instance to use for type conversions or null - if no type converter is found. - - - - The type specified for the type converter must implement - the or interfaces - and must have a public default (no argument) constructor. - - - - - - Mapping from to type converter. - - - - - Supports conversion from string to type. - - - - Supports conversion from string to type. - - - - - - Nicko Cadell - Gert Driesen - - - - Can the source type be converted to the type supported by this object - - the type to convert - true if the conversion is possible - - - Returns true if the is - the type. - - - - - - Overrides the ConvertFrom method of IConvertFrom. - - the object to convert to an encoding - the encoding - - - Uses the method to - convert the argument to an . - - - - The object cannot be converted to the - target type. To check for this condition use the - method. - - - - - Interface supported by type converters - - - - This interface supports conversion from a single type to arbitrary types. - See . - - - Nicko Cadell - - - - Returns whether this converter can convert the object to the specified type - - A Type that represents the type you want to convert to - true if the conversion is possible - - - Test if the type supported by this converter can be converted to the - . - - - - - - Converts the given value object to the specified type, using the arguments - - the object to convert - The Type to convert the value parameter to - the converted object - - - Converts the (which must be of the type supported - by this converter) to the specified.. - - - - - - Supports conversion from string to type. - - - - Supports conversion from string to type. - - - - - Nicko Cadell - - - - Can the source type be converted to the type supported by this object - - the type to convert - true if the conversion is possible - - - Returns true if the is - the type. - - - - - - Overrides the ConvertFrom method of IConvertFrom. - - the object to convert to an IPAddress - the IPAddress - - - Uses the method to convert the - argument to an . - If that fails then the string is resolved as a DNS hostname. - - - - The object cannot be converted to the - target type. To check for this condition use the - method. - - - - - Valid characters in an IPv4 or IPv6 address string. (Does not support subnets) - - - - - Supports conversion from string to type. - - - - Supports conversion from string to type. - - - The string is used as the - of the . - - - - - - Nicko Cadell - - - - Can the source type be converted to the type supported by this object - - the type to convert - true if the conversion is possible - - - Returns true if the is - the type. - - - - - - Overrides the ConvertFrom method of IConvertFrom. - - the object to convert to a PatternLayout - the PatternLayout - - - Creates and returns a new using - the as the - . - - - - The object cannot be converted to the - target type. To check for this condition use the - method. - - - - - Convert between string and - - - - Supports conversion from string to type, - and from a type to a string. - - - The string is used as the - of the . - - - - - - Nicko Cadell - - - - Can the target type be converted to the type supported by this object - - A that represents the type you want to convert to - true if the conversion is possible - - - Returns true if the is - assignable from a type. - - - - - - Converts the given value object to the specified type, using the arguments - - the object to convert - The Type to convert the value parameter to - the converted object - - - Uses the method to convert the - argument to a . - - - - The object cannot be converted to the - . To check for this condition use the - method. - - - - - Can the source type be converted to the type supported by this object - - the type to convert - true if the conversion is possible - - - Returns true if the is - the type. - - - - - - Overrides the ConvertFrom method of IConvertFrom. - - the object to convert to a PatternString - the PatternString - - - Creates and returns a new using - the as the - . - - - - The object cannot be converted to the - target type. To check for this condition use the - method. - - - - - Supports conversion from string to type. - - - - Supports conversion from string to type. - - - - - - Nicko Cadell - - - - Can the source type be converted to the type supported by this object - - the type to convert - true if the conversion is possible - - - Returns true if the is - the type. - - - - - - Overrides the ConvertFrom method of IConvertFrom. - - the object to convert to a Type - the Type - - - Uses the method to convert the - argument to a . - Additional effort is made to locate partially specified types - by searching the loaded assemblies. - - - - The object cannot be converted to the - target type. To check for this condition use the - method. - - - - - Attribute used to associate a type converter - - - - Class and Interface level attribute that specifies a type converter - to use with the associated type. - - - To associate a type converter with a target type apply a - TypeConverterAttribute to the target type. Specify the - type of the type converter on the attribute. - - - Nicko Cadell - Gert Driesen - - - - The string type name of the type converter - - - - - Default constructor - - - - Default constructor - - - - - - Create a new type converter attribute for the specified type name - - The string type name of the type converter - - - The type specified must implement the - or the interfaces. - - - - - - Create a new type converter attribute for the specified type - - The type of the type converter - - - The type specified must implement the - or the interfaces. - - - - - - The string type name of the type converter - - - The string type name of the type converter - - - - The type specified must implement the - or the interfaces. - - - - - - A straightforward implementation of the interface. - - - - This is the default implementation of the - interface. Implementors of the interface - should aggregate an instance of this type. - - - Nicko Cadell - Gert Driesen - - - - Constructor - - - - Initializes a new instance of the class. - - - - - - Append on on all attached appenders. - - The event being logged. - The number of appenders called. - - - Calls the method on all - attached appenders. - - - - - - Append on on all attached appenders. - - The array of events being logged. - The number of appenders called. - - - Calls the method on all - attached appenders. - - - - - - Calls the DoAppende method on the with - the objects supplied. - - The appender - The events - - - If the supports the - interface then the will be passed - through using that interface. Otherwise the - objects in the array will be passed one at a time. - - - - - - Attaches an appender. - - The appender to add. - - - If the appender is already in the list it won't be added again. - - - - - - Gets an attached appender with the specified name. - - The name of the appender to get. - - The appender with the name specified, or null if no appender with the - specified name is found. - - - - Lookup an attached appender by name. - - - - - - Removes all attached appenders. - - - - Removes and closes all attached appenders - - - - - - Removes the specified appender from the list of attached appenders. - - The appender to remove. - The appender removed from the list - - - The appender removed is not closed. - If you are discarding the appender you must call - on the appender removed. - - - - - - Removes the appender with the specified name from the list of appenders. - - The name of the appender to remove. - The appender removed from the list - - - The appender removed is not closed. - If you are discarding the appender you must call - on the appender removed. - - - - - - List of appenders - - - - - Array of appenders, used to cache the m_appenderList - - - - - Gets all attached appenders. - - - A collection of attached appenders, or null if there - are no attached appenders. - - - - The read only collection of all currently attached appenders. - - - - - - This class aggregates several PropertiesDictionary collections together. - - - - Provides a dictionary style lookup over an ordered list of - collections. - - - Nicko Cadell - - - - Constructor - - - - Initializes a new instance of the class. - - - - - - Add a Properties Dictionary to this composite collection - - the properties to add - - - Properties dictionaries added first take precedence over dictionaries added - later. - - - - - - Flatten this composite collection into a single properties dictionary - - the flattened dictionary - - - Reduces the collection of ordered dictionaries to a single dictionary - containing the resultant values for the keys. - - - - - - Gets the value of a property - - - The value for the property with the specified key - - - - Looks up the value for the specified. - The collections are searched - in the order in which they were added to this collection. The value - returned is the value held by the first collection that contains - the specified key. - - - If none of the collections contain the specified key then - null is returned. - - - - - - Base class for Context Properties implementations - - - - This class defines a basic property get set accessor - - - Nicko Cadell - - - - Gets or sets the value of a property - - - The value for the property with the specified key - - - - Gets or sets the value of a property - - - - - - Subclass of that maintains a count of - the number of bytes written. - - - - This writer counts the number of bytes written. - - - Nicko Cadell - Gert Driesen - - - - that does not leak exceptions - - - - does not throw exceptions when things go wrong. - Instead, it delegates error handling to its . - - - Nicko Cadell - Gert Driesen - - - - Adapter that extends and forwards all - messages to an instance of . - - - - Adapter that extends and forwards all - messages to an instance of . - - - Nicko Cadell - - - - The writer to forward messages to - - - - - Create an instance of that forwards all - messages to a . - - The to forward to - - - Create an instance of that forwards all - messages to a . - - - - - - Closes the writer and releases any system resources associated with the writer - - - - - - - - - Dispose this writer - - flag indicating if we are being disposed - - - Dispose this writer - - - - - - Flushes any buffered output - - - - Clears all buffers for the writer and causes any buffered data to be written - to the underlying device - - - - - - Writes a character to the wrapped TextWriter - - the value to write to the TextWriter - - - Writes a character to the wrapped TextWriter - - - - - - Writes a character buffer to the wrapped TextWriter - - the data buffer - the start index - the number of characters to write - - - Writes a character buffer to the wrapped TextWriter - - - - - - Writes a string to the wrapped TextWriter - - the value to write to the TextWriter - - - Writes a string to the wrapped TextWriter - - - - - - Gets or sets the underlying . - - - The underlying . - - - - Gets or sets the underlying . - - - - - - The Encoding in which the output is written - - - The - - - - The Encoding in which the output is written - - - - - - Gets an object that controls formatting - - - The format provider - - - - Gets an object that controls formatting - - - - - - Gets or sets the line terminator string used by the TextWriter - - - The line terminator to use - - - - Gets or sets the line terminator string used by the TextWriter - - - - - - Constructor - - the writer to actually write to - the error handler to report error to - - - Create a new QuietTextWriter using a writer and error handler - - - - - - Writes a character to the underlying writer - - the char to write - - - Writes a character to the underlying writer - - - - - - Writes a buffer to the underlying writer - - the buffer to write - the start index to write from - the number of characters to write - - - Writes a buffer to the underlying writer - - - - - - Writes a string to the output. - - The string data to write to the output. - - - Writes a string to the output. - - - - - - Closes the underlying output writer. - - - - Closes the underlying output writer. - - - - - - The error handler instance to pass all errors to - - - - - Flag to indicate if this writer is closed - - - - - Gets or sets the error handler that all errors are passed to. - - - The error handler that all errors are passed to. - - - - Gets or sets the error handler that all errors are passed to. - - - - - - Gets a value indicating whether this writer is closed. - - - true if this writer is closed, otherwise false. - - - - Gets a value indicating whether this writer is closed. - - - - - - Constructor - - The to actually write to. - The to report errors to. - - - Creates a new instance of the class - with the specified and . - - - - - - Writes a character to the underlying writer and counts the number of bytes written. - - the char to write - - - Overrides implementation of . Counts - the number of bytes written. - - - - - - Writes a buffer to the underlying writer and counts the number of bytes written. - - the buffer to write - the start index to write from - the number of characters to write - - - Overrides implementation of . Counts - the number of bytes written. - - - - - - Writes a string to the output and counts the number of bytes written. - - The string data to write to the output. - - - Overrides implementation of . Counts - the number of bytes written. - - - - - - Total number of bytes written. - - - - - Gets or sets the total number of bytes written. - - - The total number of bytes written. - - - - Gets or sets the total number of bytes written. - - - - - - A fixed size rolling buffer of logging events. - - - - An array backed fixed size leaky bucket. - - - Nicko Cadell - Gert Driesen - - - - Constructor - - The maximum number of logging events in the buffer. - - - Initializes a new instance of the class with - the specified maximum number of buffered logging events. - - - The argument is not a positive integer. - - - - Appends a to the buffer. - - The event to append to the buffer. - The event discarded from the buffer, if the buffer is full, otherwise null. - - - Append an event to the buffer. If the buffer still contains free space then - null is returned. If the buffer is full then an event will be dropped - to make space for the new event, the event dropped is returned. - - - - - - Get and remove the oldest event in the buffer. - - The oldest logging event in the buffer - - - Gets the oldest (first) logging event in the buffer and removes it - from the buffer. - - - - - - Pops all the logging events from the buffer into an array. - - An array of all the logging events in the buffer. - - - Get all the events in the buffer and clear the buffer. - - - - - - Clear the buffer - - - - Clear the buffer of all events. The events in the buffer are lost. - - - - - - Gets the th oldest event currently in the buffer. - - The th oldest event currently in the buffer. - - - If is outside the range 0 to the number of events - currently in the buffer, then null is returned. - - - - - - Gets the maximum size of the buffer. - - The maximum size of the buffer. - - - Gets the maximum size of the buffer - - - - - - Gets the number of logging events in the buffer. - - The number of logging events in the buffer. - - - This number is guaranteed to be in the range 0 to - (inclusive). - - - - - - An always empty . - - - - A singleton implementation of the - interface that always represents an empty collection. - - - Nicko Cadell - Gert Driesen - - - - Initializes a new instance of the class. - - - - Uses a private access modifier to enforce the singleton pattern. - - - - - - Copies the elements of the to an - , starting at a particular Array index. - - The one-dimensional - that is the destination of the elements copied from - . The Array must have zero-based - indexing. - The zero-based index in array at which - copying begins. - - - As the collection is empty no values are copied into the array. - - - - - - Returns an enumerator that can iterate through a collection. - - - An that can be used to - iterate through the collection. - - - - As the collection is empty a is returned. - - - - - - The singleton instance of the empty collection. - - - - - Gets the singleton instance of the empty collection. - - The singleton instance of the empty collection. - - - Gets the singleton instance of the empty collection. - - - - - - Gets a value indicating if access to the is synchronized (thread-safe). - - - true if access to the is synchronized (thread-safe); otherwise, false. - - - - For the this property is always true. - - - - - - Gets the number of elements contained in the . - - - The number of elements contained in the . - - - - As the collection is empty the is always 0. - - - - - - Gets an object that can be used to synchronize access to the . - - - An object that can be used to synchronize access to the . - - - - As the collection is empty and thread safe and synchronized this instance is also - the object. - - - - - - An always empty . - - - - A singleton implementation of the - interface that always represents an empty collection. - - - Nicko Cadell - Gert Driesen - - - - Initializes a new instance of the class. - - - - Uses a private access modifier to enforce the singleton pattern. - - - - - - Copies the elements of the to an - , starting at a particular Array index. - - The one-dimensional - that is the destination of the elements copied from - . The Array must have zero-based - indexing. - The zero-based index in array at which - copying begins. - - - As the collection is empty no values are copied into the array. - - - - - - Returns an enumerator that can iterate through a collection. - - - An that can be used to - iterate through the collection. - - - - As the collection is empty a is returned. - - - - - - Adds an element with the provided key and value to the - . - - The to use as the key of the element to add. - The to use as the value of the element to add. - - - As the collection is empty no new values can be added. A - is thrown if this method is called. - - - This dictionary is always empty and cannot be modified. - - - - Removes all elements from the . - - - - As the collection is empty no values can be removed. A - is thrown if this method is called. - - - This dictionary is always empty and cannot be modified. - - - - Determines whether the contains an element - with the specified key. - - The key to locate in the . - false - - - As the collection is empty the method always returns false. - - - - - - Returns an enumerator that can iterate through a collection. - - - An that can be used to - iterate through the collection. - - - - As the collection is empty a is returned. - - - - - - Removes the element with the specified key from the . - - The key of the element to remove. - - - As the collection is empty no values can be removed. A - is thrown if this method is called. - - - This dictionary is always empty and cannot be modified. - - - - The singleton instance of the empty dictionary. - - - - - Gets the singleton instance of the . - - The singleton instance of the . - - - Gets the singleton instance of the . - - - - - - Gets a value indicating if access to the is synchronized (thread-safe). - - - true if access to the is synchronized (thread-safe); otherwise, false. - - - - For the this property is always true. - - - - - - Gets the number of elements contained in the - - - The number of elements contained in the . - - - - As the collection is empty the is always 0. - - - - - - Gets an object that can be used to synchronize access to the . - - - An object that can be used to synchronize access to the . - - - - As the collection is empty and thread safe and synchronized this instance is also - the object. - - - - - - Gets a value indicating whether the has a fixed size. - - true - - - As the collection is empty always returns true. - - - - - - Gets a value indicating whether the is read-only. - - true - - - As the collection is empty always returns true. - - - - - - Gets an containing the keys of the . - - An containing the keys of the . - - - As the collection is empty a is returned. - - - - - - Gets an containing the values of the . - - An containing the values of the . - - - As the collection is empty a is returned. - - - - - - Gets or sets the element with the specified key. - - The key of the element to get or set. - null - - - As the collection is empty no values can be looked up or stored. - If the index getter is called then null is returned. - A is thrown if the setter is called. - - - This dictionary is always empty and cannot be modified. - - - - Contain the information obtained when parsing formatting modifiers - in conversion modifiers. - - - - Holds the formatting information extracted from the format string by - the . This is used by the - objects when rendering the output. - - - Nicko Cadell - Gert Driesen - - - - Defaut Constructor - - - - Initializes a new instance of the class. - - - - - - Constructor - - - - Initializes a new instance of the class - with the specified parameters. - - - - - - Gets or sets the minimum value. - - - The minimum value. - - - - Gets or sets the minimum value. - - - - - - Gets or sets the maximum value. - - - The maximum value. - - - - Gets or sets the maximum value. - - - - - - Gets or sets a flag indicating whether left align is enabled - or not. - - - A flag indicating whether left align is enabled or not. - - - - Gets or sets a flag indicating whether left align is enabled or not. - - - - - - Implementation of Properties collection for the - - - - This class implements a properties collection that is thread safe and supports both - storing properties and capturing a read only copy of the current propertied. - - - This class is optimized to the scenario where the properties are read frequently - and are modified infrequently. - - - Nicko Cadell - - - - The read only copy of the properties. - - - - This variable is declared volatile to prevent the compiler and JIT from - reordering reads and writes of this thread performed on different threads. - - - - - - Lock object used to synchronize updates within this instance - - - - - Constructor - - - - Initializes a new instance of the class. - - - - - - Remove a property from the global context - - the key for the entry to remove - - - Removing an entry from the global context properties is relatively expensive compared - with reading a value. - - - - - - Clear the global context properties - - - - - Get a readonly immutable copy of the properties - - the current global context properties - - - This implementation is fast because the GlobalContextProperties class - stores a readonly copy of the properties. - - - - - - Gets or sets the value of a property - - - The value for the property with the specified key - - - - Reading the value for a key is faster than setting the value. - When the value is written a new read only copy of - the properties is created. - - - - - - Manages a mapping from levels to - - - - Manages an ordered mapping from instances - to subclasses. - - - Nicko Cadell - - - - Default constructor - - - - Initialise a new instance of . - - - - - - Add a to this mapping - - the entry to add - - - If a has previously been added - for the same then that entry will be - overwritten. - - - - - - Lookup the mapping for the specified level - - the level to lookup - the for the level or null if no mapping found - - - Lookup the value for the specified level. Finds the nearest - mapping value for the level that is equal to or less than the - specified. - - - If no mapping could be found then null is returned. - - - - - - Initialize options - - - - Caches the sorted list of in an array - - - - - - Implementation of Properties collection for the - - - - Class implements a collection of properties that is specific to each thread. - The class is not synchronized as each thread has its own . - - - Nicko Cadell - - - - Constructor - - - - Initializes a new instance of the class. - - - - - - Remove a property - - the key for the entry to remove - - - Remove the value for the specified from the context. - - - - - - Clear all the context properties - - - - Clear all the context properties - - - - - - Get the PropertiesDictionary stored in the LocalDataStoreSlot for this thread. - - create the dictionary if it does not exist, otherwise return null if is does not exist - the properties for this thread - - - The collection returned is only to be used on the calling thread. If the - caller needs to share the collection between different threads then the - caller must clone the collection before doings so. - - - - - - Gets or sets the value of a property - - - The value for the property with the specified key - - - - Get or set the property value for the specified. - - - - - - Outputs log statements from within the log4net assembly. - - - - Log4net components cannot make log4net logging calls. However, it is - sometimes useful for the user to learn about what log4net is - doing. - - - All log4net internal debug calls go to the standard output stream - whereas internal error messages are sent to the standard error output - stream. - - - Nicko Cadell - Gert Driesen - - - - Initializes a new instance of the class. - - - - Uses a private access modifier to prevent instantiation of this class. - - - - - - Static constructor that initializes logging by reading - settings from the application configuration file. - - - - The log4net.Internal.Debug application setting - controls internal debugging. This setting should be set - to true to enable debugging. - - - The log4net.Internal.Quiet application setting - suppresses all internal logging including error messages. - This setting should be set to true to enable message - suppression. - - - - - - Writes log4net internal debug messages to the - standard output stream. - - The message to log. - - - All internal debug messages are prepended with - the string "log4net: ". - - - - - - Writes log4net internal debug messages to the - standard output stream. - - The message to log. - An exception to log. - - - All internal debug messages are prepended with - the string "log4net: ". - - - - - - Writes log4net internal warning messages to the - standard error stream. - - The message to log. - - - All internal warning messages are prepended with - the string "log4net:WARN ". - - - - - - Writes log4net internal warning messages to the - standard error stream. - - The message to log. - An exception to log. - - - All internal warning messages are prepended with - the string "log4net:WARN ". - - - - - - Writes log4net internal error messages to the - standard error stream. - - The message to log. - - - All internal error messages are prepended with - the string "log4net:ERROR ". - - - - - - Writes log4net internal error messages to the - standard error stream. - - The message to log. - An exception to log. - - - All internal debug messages are prepended with - the string "log4net:ERROR ". - - - - - - Writes output to the standard output stream. - - The message to log. - - - Writes to both Console.Out and System.Diagnostics.Trace. - Note that the System.Diagnostics.Trace is not supported - on the Compact Framework. - - - If the AppDomain is not configured with a config file then - the call to System.Diagnostics.Trace may fail. This is only - an issue if you are programmatically creating your own AppDomains. - - - - - - Writes output to the standard error stream. - - The message to log. - - - Writes to both Console.Error and System.Diagnostics.Trace. - Note that the System.Diagnostics.Trace is not supported - on the Compact Framework. - - - If the AppDomain is not configured with a config file then - the call to System.Diagnostics.Trace may fail. This is only - an issue if you are programmatically creating your own AppDomains. - - - - - - Default debug level - - - - - In quietMode not even errors generate any output. - - - - - Gets or sets a value indicating whether log4net internal logging - is enabled or disabled. - - - true if log4net internal logging is enabled, otherwise - false. - - - - When set to true, internal debug level logging will be - displayed. - - - This value can be set by setting the application setting - log4net.Internal.Debug in the application configuration - file. - - - The default value is false, i.e. debugging is - disabled. - - - - - The following example enables internal debugging using the - application configuration file : - - - - - - - - - - - - - Gets or sets a value indicating whether log4net should generate no output - from internal logging, not even for errors. - - - true if log4net should generate no output at all from internal - logging, otherwise false. - - - - When set to true will cause internal logging at all levels to be - suppressed. This means that no warning or error reports will be logged. - This option overrides the setting and - disables all debug also. - - This value can be set by setting the application setting - log4net.Internal.Quiet in the application configuration file. - - - The default value is false, i.e. internal logging is not - disabled. - - - - The following example disables internal logging using the - application configuration file : - - - - - - - - - - - - Test if LogLog.Debug is enabled for output. - - - true if Debug is enabled - - - - Test if LogLog.Debug is enabled for output. - - - - - - Test if LogLog.Warn is enabled for output. - - - true if Warn is enabled - - - - Test if LogLog.Warn is enabled for output. - - - - - - Test if LogLog.Error is enabled for output. - - - true if Error is enabled - - - - Test if LogLog.Error is enabled for output. - - - - - - Represents a native error code and message. - - - - Represents a Win32 platform native error. - - - Nicko Cadell - Gert Driesen - - - - Create an instance of the class with the specified - error number and message. - - The number of the native error. - The message of the native error. - - - Create an instance of the class with the specified - error number and message. - - - - - - Create a new instance of the class for the last Windows error. - - - An instance of the class for the last windows error. - - - - The message for the error number is lookup up using the - native Win32 FormatMessage function. - - - - - - Create a new instance of the class. - - the error number for the native error - - An instance of the class for the specified - error number. - - - - The message for the specified error number is lookup up using the - native Win32 FormatMessage function. - - - - - - Retrieves the message corresponding with a Win32 message identifier. - - Message identifier for the requested message. - - The message corresponding with the specified message identifier. - - - - The message will be searched for in system message-table resource(s) - using the native FormatMessage function. - - - - - - Return error information string - - error information string - - - Return error information string - - - - - - Formats a message string. - - Formatting options, and how to interpret the parameter. - Location of the message definition. - Message identifier for the requested message. - Language identifier for the requested message. - If includes FORMAT_MESSAGE_ALLOCATE_BUFFER, the function allocates a buffer using the LocalAlloc function, and places the pointer to the buffer at the address specified in . - If the FORMAT_MESSAGE_ALLOCATE_BUFFER flag is not set, this parameter specifies the maximum number of TCHARs that can be stored in the output buffer. If FORMAT_MESSAGE_ALLOCATE_BUFFER is set, this parameter specifies the minimum number of TCHARs to allocate for an output buffer. - Pointer to an array of values that are used as insert values in the formatted message. - - - The function requires a message definition as input. The message definition can come from a - buffer passed into the function. It can come from a message table resource in an - already-loaded module. Or the caller can ask the function to search the system's message - table resource(s) for the message definition. The function finds the message definition - in a message table resource based on a message identifier and a language identifier. - The function copies the formatted message text to an output buffer, processing any embedded - insert sequences if requested. - - - To prevent the usage of unsafe code, this stub does not support inserting values in the formatted message. - - - - - If the function succeeds, the return value is the number of TCHARs stored in the output - buffer, excluding the terminating null character. - - - If the function fails, the return value is zero. To get extended error information, - call . - - - - - - Gets the number of the native error. - - - The number of the native error. - - - - Gets the number of the native error. - - - - - - Gets the message of the native error. - - - The message of the native error. - - - - - Gets the message of the native error. - - - - - An always empty . - - - - A singleton implementation of the over a collection - that is empty and not modifiable. - - - Nicko Cadell - Gert Driesen - - - - Initializes a new instance of the class. - - - - Uses a private access modifier to enforce the singleton pattern. - - - - - - Test if the enumerator can advance, if so advance. - - false as the cannot advance. - - - As the enumerator is over an empty collection its - value cannot be moved over a valid position, therefore - will always return false. - - - - - - Resets the enumerator back to the start. - - - - As the enumerator is over an empty collection does nothing. - - - - - - The singleton instance of the . - - - - - Gets the singleton instance of the . - - The singleton instance of the . - - - Gets the singleton instance of the . - - - - - - Gets the current object from the enumerator. - - - Throws an because the - never has a current value. - - - - As the enumerator is over an empty collection its - value cannot be moved over a valid position, therefore - will throw an . - - - The collection is empty and - cannot be positioned over a valid location. - - - - Gets the current key from the enumerator. - - - Throws an exception because the - never has a current value. - - - - As the enumerator is over an empty collection its - value cannot be moved over a valid position, therefore - will throw an . - - - The collection is empty and - cannot be positioned over a valid location. - - - - Gets the current value from the enumerator. - - The current value from the enumerator. - - Throws an because the - never has a current value. - - - - As the enumerator is over an empty collection its - value cannot be moved over a valid position, therefore - will throw an . - - - The collection is empty and - cannot be positioned over a valid location. - - - - Gets the current entry from the enumerator. - - - Throws an because the - never has a current entry. - - - - As the enumerator is over an empty collection its - value cannot be moved over a valid position, therefore - will throw an . - - - The collection is empty and - cannot be positioned over a valid location. - - - - An always empty . - - - - A singleton implementation of the over a collection - that is empty and not modifiable. - - - Nicko Cadell - Gert Driesen - - - - Initializes a new instance of the class. - - - - Uses a private access modifier to enforce the singleton pattern. - - - - - - Test if the enumerator can advance, if so advance - - false as the cannot advance. - - - As the enumerator is over an empty collection its - value cannot be moved over a valid position, therefore - will always return false. - - - - - - Resets the enumerator back to the start. - - - - As the enumerator is over an empty collection does nothing. - - - - - - The singleton instance of the . - - - - - Get the singleton instance of the . - - The singleton instance of the . - - - Gets the singleton instance of the . - - - - - - Gets the current object from the enumerator. - - - Throws an because the - never has a current value. - - - - As the enumerator is over an empty collection its - value cannot be moved over a valid position, therefore - will throw an . - - - The collection is empty and - cannot be positioned over a valid location. - - - - A SecurityContext used when a SecurityContext is not required - - - - The is a no-op implementation of the - base class. It is used where a - is required but one has not been provided. - - - Nicko Cadell - - - - Singleton instance of - - - - Singleton instance of - - - - - - Private constructor - - - - Private constructor for singleton pattern. - - - - - - Impersonate this SecurityContext - - State supplied by the caller - null - - - No impersonation is done and null is always returned. - - - - - - Implements log4net's default error handling policy which consists - of emitting a message for the first error in an appender and - ignoring all subsequent errors. - - - - The error message is printed on the standard error output stream. - - - This policy aims at protecting an otherwise working application - from being flooded with error messages when logging fails. - - - Nicko Cadell - Gert Driesen - - - - Default Constructor - - - - Initializes a new instance of the class. - - - - - - Constructor - - The prefix to use for each message. - - - Initializes a new instance of the class - with the specified prefix. - - - - - - Log an Error - - The error message. - The exception. - The internal error code. - - - Prints the message and the stack trace of the exception on the standard - error output stream. - - - - - - Log an Error - - The error message. - The exception. - - - Prints the message and the stack trace of the exception on the standard - error output stream. - - - - - - Log an error - - The error message. - - - Print a the error message passed as parameter on the standard - error output stream. - - - - - - Flag to indicate if it is the first error - - - - - String to prefix each message with - - - - - Is error logging enabled - - - - Is error logging enabled. Logging is only enabled for the - first error delivered to the . - - - - - - A convenience class to convert property values to specific types. - - - - Utility functions for converting types and parsing values. - - - Nicko Cadell - Gert Driesen - - - - Initializes a new instance of the class. - - - - Uses a private access modifier to prevent instantiation of this class. - - - - - - Converts a string to a value. - - String to convert. - The default value. - The value of . - - - If is "true", then true is returned. - If is "false", then false is returned. - Otherwise, is returned. - - - - - - Parses a file size into a number. - - String to parse. - The default value. - The value of . - - - Parses a file size of the form: number[KB|MB|GB] into a - long value. It is scaled with the appropriate multiplier. - - - is returned when - cannot be converted to a value. - - - - - - Converts a string to an object. - - The target type to convert to. - The string to convert to an object. - - The object converted from a string or null when the - conversion failed. - - - - Converts a string to an object. Uses the converter registry to try - to convert the string value into the specified target type. - - - - - - Checks if there is an appropriate type conversion from the source type to the target type. - - The type to convert from. - The type to convert to. - true if there is a conversion from the source type to the target type. - - Checks if there is an appropriate type conversion from the source type to the target type. - - - - - - - Converts an object to the target type. - - The object to convert to the target type. - The type to convert to. - The converted object. - - - Converts an object to the target type. - - - - - - Instantiates an object given a class name. - - The fully qualified class name of the object to instantiate. - The class to which the new object should belong. - The object to return in case of non-fulfillment. - - An instance of the or - if the object could not be instantiated. - - - - Checks that the is a subclass of - . If that test fails or the object could - not be instantiated, then is returned. - - - - - - Performs variable substitution in string from the - values of keys found in . - - The string on which variable substitution is performed. - The dictionary to use to lookup variables. - The result of the substitutions. - - - The variable substitution delimiters are ${ and }. - - - For example, if props contains key=value, then the call - - - - string s = OptionConverter.SubstituteVariables("Value of key is ${key}."); - - - - will set the variable s to "Value of key is value.". - - - If no value could be found for the specified key, then substitution - defaults to an empty string. - - - For example, if system properties contains no value for the key - "nonExistentKey", then the call - - - - string s = OptionConverter.SubstituteVariables("Value of nonExistentKey is [${nonExistentKey}]"); - - - - will set s to "Value of nonExistentKey is []". - - - An Exception is thrown if contains a start - delimiter "${" which is not balanced by a stop delimiter "}". - - - - - - Converts the string representation of the name or numeric value of one or - more enumerated constants to an equivalent enumerated object. - - The type to convert to. - The enum string value. - If true, ignore case; otherwise, regard case. - An object of type whose value is represented by . - - - - Most of the work of the class - is delegated to the PatternParser class. - - - - The PatternParser processes a pattern string and - returns a chain of objects. - - - Nicko Cadell - Gert Driesen - - - - Constructor - - The pattern to parse. - - - Initializes a new instance of the class - with the specified pattern string. - - - - - - Parses the pattern into a chain of pattern converters. - - The head of a chain of pattern converters. - - - Parses the pattern into a chain of pattern converters. - - - - - - Build the unified cache of converters from the static and instance maps - - the list of all the converter names - - - Build the unified cache of converters from the static and instance maps - - - - - - Internal method to parse the specified pattern to find specified matches - - the pattern to parse - the converter names to match in the pattern - - - The matches param must be sorted such that longer strings come before shorter ones. - - - - - - Process a parsed literal - - the literal text - - - - Process a parsed converter pattern - - the name of the converter - the optional option for the converter - the formatting info for the converter - - - - Resets the internal state of the parser and adds the specified pattern converter - to the chain. - - The pattern converter to add. - - - - The first pattern converter in the chain - - - - - the last pattern converter in the chain - - - - - The pattern - - - - - Internal map of converter identifiers to converter types - - - - This map overrides the static s_globalRulesRegistry map. - - - - - - Get the converter registry used by this parser - - - The converter registry used by this parser - - - - Get the converter registry used by this parser - - - - - - Sort strings by length - - - - that orders strings by string length. - The longest strings are placed first - - - - - - This class implements a patterned string. - - - - This string has embedded patterns that are resolved and expanded - when the string is formatted. - - - This class functions similarly to the - in that it accepts a pattern and renders it to a string. Unlike the - however the PatternString - does not render the properties of a specific but - of the process in general. - - - The recognized conversion pattern names are: - - - - Conversion Pattern Name - Effect - - - appdomain - - - Used to output the friendly name of the current AppDomain. - - - - - date - - - Used to output the date of the logging event in the local time zone. - To output the date in universal time use the %utcdate pattern. - The date conversion - specifier may be followed by a date format specifier enclosed - between braces. For example, %date{HH:mm:ss,fff} or - %date{dd MMM yyyy HH:mm:ss,fff}. If no date format specifier is - given then ISO8601 format is - assumed (). - - - The date format specifier admits the same syntax as the - time pattern string of the . - - - For better results it is recommended to use the log4net date - formatters. These can be specified using one of the strings - "ABSOLUTE", "DATE" and "ISO8601" for specifying - , - and respectively - . For example, - %date{ISO8601} or %date{ABSOLUTE}. - - - These dedicated date formatters perform significantly - better than . - - - - - env - - - Used to output the a specific environment variable. The key to - lookup must be specified within braces and directly following the - pattern specifier, e.g. %env{COMPUTERNAME} would include the value - of the COMPUTERNAME environment variable. - - - The env pattern is not supported on the .NET Compact Framework. - - - - - identity - - - Used to output the user name for the currently active user - (Principal.Identity.Name). - - - - - newline - - - Outputs the platform dependent line separator character or - characters. - - - This conversion pattern name offers the same performance as using - non-portable line separator strings such as "\n", or "\r\n". - Thus, it is the preferred way of specifying a line separator. - - - - - processid - - - Used to output the system process ID for the current process. - - - - - property - - - Used to output a specific context property. The key to - lookup must be specified within braces and directly following the - pattern specifier, e.g. %property{user} would include the value - from the property that is keyed by the string 'user'. Each property value - that is to be included in the log must be specified separately. - Properties are stored in logging contexts. By default - the log4net:HostName property is set to the name of machine on - which the event was originally logged. - - - If no key is specified, e.g. %property then all the keys and their - values are printed in a comma separated list. - - - The properties of an event are combined from a number of different - contexts. These are listed below in the order in which they are searched. - - - - the thread properties - - The that are set on the current - thread. These properties are shared by all events logged on this thread. - - - - the global properties - - The that are set globally. These - properties are shared by all the threads in the AppDomain. - - - - - - - random - - - Used to output a random string of characters. The string is made up of - uppercase letters and numbers. By default the string is 4 characters long. - The length of the string can be specified within braces directly following the - pattern specifier, e.g. %random{8} would output an 8 character string. - - - - - username - - - Used to output the WindowsIdentity for the currently - active user. - - - - - utcdate - - - Used to output the date of the logging event in universal time. - The date conversion - specifier may be followed by a date format specifier enclosed - between braces. For example, %utcdate{HH:mm:ss,fff} or - %utcdate{dd MMM yyyy HH:mm:ss,fff}. If no date format specifier is - given then ISO8601 format is - assumed (). - - - The date format specifier admits the same syntax as the - time pattern string of the . - - - For better results it is recommended to use the log4net date - formatters. These can be specified using one of the strings - "ABSOLUTE", "DATE" and "ISO8601" for specifying - , - and respectively - . For example, - %utcdate{ISO8601} or %utcdate{ABSOLUTE}. - - - These dedicated date formatters perform significantly - better than . - - - - - % - - - The sequence %% outputs a single percent sign. - - - - - - Additional pattern converters may be registered with a specific - instance using or - . - - - See the for details on the - format modifiers supported by the patterns. - - - Nicko Cadell - - - - Internal map of converter identifiers to converter types. - - - - - the pattern - - - - - the head of the pattern converter chain - - - - - patterns defined on this PatternString only - - - - - Initialize the global registry - - - - - Default constructor - - - - Initialize a new instance of - - - - - - Constructs a PatternString - - The pattern to use with this PatternString - - - Initialize a new instance of with the pattern specified. - - - - - - Initialize object options - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - - - - Create the used to parse the pattern - - the pattern to parse - The - - - Returns PatternParser used to parse the conversion string. Subclasses - may override this to return a subclass of PatternParser which recognize - custom conversion pattern name. - - - - - - Produces a formatted string as specified by the conversion pattern. - - The TextWriter to write the formatted event to - - - Format the pattern to the . - - - - - - Format the pattern as a string - - the pattern formatted as a string - - - Format the pattern to a string. - - - - - - Add a converter to this PatternString - - the converter info - - - This version of the method is used by the configurator. - Programmatic users should use the alternative method. - - - - - - Add a converter to this PatternString - - the name of the conversion pattern for this converter - the type of the converter - - - Add a converter to this PatternString - - - - - - Gets or sets the pattern formatting string - - - The pattern formatting string - - - - The ConversionPattern option. This is the string which - controls formatting and consists of a mix of literal content and - conversion specifiers. - - - - - - Wrapper class used to map converter names to converter types - - - - Wrapper class used to map converter names to converter types - - - - - - default constructor - - - - - Gets or sets the name of the conversion pattern - - - The name of the conversion pattern - - - - Gets or sets the name of the conversion pattern - - - - - - Gets or sets the type of the converter - - - The type of the converter - - - - Gets or sets the type of the converter - - - - - - String keyed object map. - - - - While this collection is serializable only member - objects that are serializable will - be serialized along with this collection. - - - Nicko Cadell - Gert Driesen - - - - String keyed object map that is read only. - - - - This collection is readonly and cannot be modified. - - - While this collection is serializable only member - objects that are serializable will - be serialized along with this collection. - - - Nicko Cadell - Gert Driesen - - - - The Hashtable used to store the properties data - - - - - Constructor - - - - Initializes a new instance of the class. - - - - - - Copy Constructor - - properties to copy - - - Initializes a new instance of the class. - - - - - - Deserialization constructor - - The that holds the serialized object data. - The that contains contextual information about the source or destination. - - - Initializes a new instance of the class - with serialized data. - - - - - - Gets the key names. - - An array of all the keys. - - - Gets the key names. - - - - - - Test if the dictionary contains a specified key - - the key to look for - true if the dictionary contains the specified key - - - Test if the dictionary contains a specified key - - - - - - Serializes this object into the provided. - - The to populate with data. - The destination for this serialization. - - - Serializes this object into the provided. - - - - - - See - - - - - See - - - - - - See - - - - - - - Remove all properties from the properties collection - - - - - See - - - - - - - See - - - - - - - See - - - - - Gets or sets the value of the property with the specified key. - - - The value of the property with the specified key. - - The key of the property to get or set. - - - The property value will only be serialized if it is serializable. - If it cannot be serialized it will be silently ignored if - a serialization operation is performed. - - - - - - The hashtable used to store the properties - - - The internal collection used to store the properties - - - - The hashtable used to store the properties - - - - - - See - - - - - See - - - - - See - - - - - See - - - - - See - - - - - See - - - - - The number of properties in this collection - - - - - See - - - - - Constructor - - - - Initializes a new instance of the class. - - - - - - Constructor - - properties to copy - - - Initializes a new instance of the class. - - - - - - Initializes a new instance of the class - with serialized data. - - The that holds the serialized object data. - The that contains contextual information about the source or destination. - - - Because this class is sealed the serialization constructor is private. - - - - - - Remove the entry with the specified key from this dictionary - - the key for the entry to remove - - - Remove the entry with the specified key from this dictionary - - - - - - See - - an enumerator - - - Returns a over the contest of this collection. - - - - - - See - - the key to remove - - - Remove the entry with the specified key from this dictionary - - - - - - See - - the key to lookup in the collection - true if the collection contains the specified key - - - Test if this collection contains a specified key. - - - - - - Remove all properties from the properties collection - - - - Remove all properties from the properties collection - - - - - - See - - the key - the value to store for the key - - - Store a value for the specified . - - - Thrown if the is not a string - - - - See - - - - - - - See - - - - - Gets or sets the value of the property with the specified key. - - - The value of the property with the specified key. - - The key of the property to get or set. - - - The property value will only be serialized if it is serializable. - If it cannot be serialized it will be silently ignored if - a serialization operation is performed. - - - - - - See - - - false - - - - This collection is modifiable. This property always - returns false. - - - - - - See - - - The value for the key specified. - - - - Get or set a value for the specified . - - - Thrown if the is not a string - - - - See - - - - - See - - - - - See - - - - - See - - - - - See - - - - - A that ignores the message - - - - This writer is used in special cases where it is necessary - to protect a writer from being closed by a client. - - - Nicko Cadell - - - - Constructor - - the writer to actually write to - - - Create a new ProtectCloseTextWriter using a writer - - - - - - Attach this instance to a different underlying - - the writer to attach to - - - Attach this instance to a different underlying - - - - - - Does not close the underlying output writer. - - - - Does not close the underlying output writer. - This method does nothing. - - - - - - Defines a lock that supports single writers and multiple readers - - - - ReaderWriterLock is used to synchronize access to a resource. - At any given time, it allows either concurrent read access for - multiple threads, or write access for a single thread. In a - situation where a resource is changed infrequently, a - ReaderWriterLock provides better throughput than a simple - one-at-a-time lock, such as . - - - If a platform does not support a System.Threading.ReaderWriterLock - implementation then all readers and writers are serialized. Therefore - the caller must not rely on multiple simultaneous readers. - - - Nicko Cadell - - - - Constructor - - - - Initializes a new instance of the class. - - - - - - Acquires a reader lock - - - - blocks if a different thread has the writer - lock, or if at least one thread is waiting for the writer lock. - - - - - - Decrements the lock count - - - - decrements the lock count. When the count - reaches zero, the lock is released. - - - - - - Acquires the writer lock - - - - This method blocks if another thread has a reader lock or writer lock. - - - - - - Decrements the lock count on the writer lock - - - - ReleaseWriterLock decrements the writer lock count. - When the count reaches zero, the writer lock is released. - - - - - - A that can be and reused - - - - A that can be and reused. - This uses a single buffer for string operations. - - - Nicko Cadell - - - - Create an instance of - - the format provider to use - - - Create an instance of - - - - - - Override Dispose to prevent closing of writer - - flag - - - Override Dispose to prevent closing of writer - - - - - - Reset this string writer so that it can be reused. - - the maximum buffer capacity before it is trimmed - the default size to make the buffer - - - Reset this string writer so that it can be reused. - The internal buffers are cleared and reset. - - - - - - Utility class for system specific information. - - - - Utility class of static methods for system specific information. - - - Nicko Cadell - Gert Driesen - Alexey Solofnenko - - - - Private constructor to prevent instances. - - - - Only static methods are exposed from this type. - - - - - - Initialize default values for private static fields. - - - - Only static methods are exposed from this type. - - - - - - Gets the assembly location path for the specified assembly. - - The assembly to get the location for. - The location of the assembly. - - - This method does not guarantee to return the correct path - to the assembly. If only tries to give an indication as to - where the assembly was loaded from. - - - - - - Gets the fully qualified name of the , including - the name of the assembly from which the was - loaded. - - The to get the fully qualified name for. - The fully qualified name for the . - - - This is equivalent to the Type.AssemblyQualifiedName property, - but this method works on the .NET Compact Framework 1.0 as well as - the full .NET runtime. - - - - - - Gets the short name of the . - - The to get the name for. - The short name of the . - - - The short name of the assembly is the - without the version, culture, or public key. i.e. it is just the - assembly's file name without the extension. - - - Use this rather than Assembly.GetName().Name because that - is not available on the Compact Framework. - - - Because of a FileIOPermission security demand we cannot do - the obvious Assembly.GetName().Name. We are allowed to get - the of the assembly so we - start from there and strip out just the assembly name. - - - - - - Gets the file name portion of the , including the extension. - - The to get the file name for. - The file name of the assembly. - - - Gets the file name portion of the , including the extension. - - - - - - Loads the type specified in the type string. - - A sibling type to use to load the type. - The name of the type to load. - Flag set to true to throw an exception if the type cannot be loaded. - true to ignore the case of the type name; otherwise, false - The type loaded or null if it could not be loaded. - - - If the type name is fully qualified, i.e. if contains an assembly name in - the type name, the type will be loaded from the system using - . - - - If the type name is not fully qualified, it will be loaded from the assembly - containing the specified relative type. If the type is not found in the assembly - then all the loaded assemblies will be searched for the type. - - - - - - Loads the type specified in the type string. - - The name of the type to load. - Flag set to true to throw an exception if the type cannot be loaded. - true to ignore the case of the type name; otherwise, false - The type loaded or null if it could not be loaded. - - - If the type name is fully qualified, i.e. if contains an assembly name in - the type name, the type will be loaded from the system using - . - - - If the type name is not fully qualified it will be loaded from the - assembly that is directly calling this method. If the type is not found - in the assembly then all the loaded assemblies will be searched for the type. - - - - - - Loads the type specified in the type string. - - An assembly to load the type from. - The name of the type to load. - Flag set to true to throw an exception if the type cannot be loaded. - true to ignore the case of the type name; otherwise, false - The type loaded or null if it could not be loaded. - - - If the type name is fully qualified, i.e. if contains an assembly name in - the type name, the type will be loaded from the system using - . - - - If the type name is not fully qualified it will be loaded from the specified - assembly. If the type is not found in the assembly then all the loaded assemblies - will be searched for the type. - - - - - - Generate a new guid - - A new Guid - - - Generate a new guid - - - - - - Create an - - The name of the parameter that caused the exception - The value of the argument that causes this exception - The message that describes the error - the ArgumentOutOfRangeException object - - - Create a new instance of the class - with a specified error message, the parameter name, and the value - of the argument. - - - The Compact Framework does not support the 3 parameter constructor for the - type. This method provides an - implementation that works for all platforms. - - - - - - Parse a string into an value - - the string to parse - out param where the parsed value is placed - true if the string was able to be parsed into an integer - - - Attempts to parse the string into an integer. If the string cannot - be parsed then this method returns false. The method does not throw an exception. - - - - - - Parse a string into an value - - the string to parse - out param where the parsed value is placed - true if the string was able to be parsed into an integer - - - Attempts to parse the string into an integer. If the string cannot - be parsed then this method returns false. The method does not throw an exception. - - - - - - Lookup an application setting - - the application settings key to lookup - the value for the key, or null - - - Configuration APIs are not supported under the Compact Framework - - - - - - Convert a path into a fully qualified local file path. - - The path to convert. - The fully qualified path. - - - Converts the path specified to a fully - qualified path. If the path is relative it is - taken as relative from the application base - directory. - - - The path specified must be a local file path, a URI is not supported. - - - - - - Creates a new case-insensitive instance of the class with the default initial capacity. - - A new case-insensitive instance of the class with the default initial capacity - - - The new Hashtable instance uses the default load factor, the CaseInsensitiveHashCodeProvider, and the CaseInsensitiveComparer. - - - - - - Gets an empty array of types. - - - - The Type.EmptyTypes field is not available on - the .NET Compact Framework 1.0. - - - - - - Cache the host name for the current machine - - - - - Cache the application friendly name - - - - - Text to output when a null is encountered. - - - - - Text to output when an unsupported feature is requested. - - - - - Start time for the current process. - - - - - Gets the system dependent line terminator. - - - The system dependent line terminator. - - - - Gets the system dependent line terminator. - - - - - - Gets the base directory for this . - - The base directory path for the current . - - - Gets the base directory for this . - - - The value returned may be either a local file path or a URI. - - - - - - Gets the path to the configuration file for the current . - - The path to the configuration file for the current . - - - The .NET Compact Framework 1.0 does not have a concept of a configuration - file. For this runtime, we use the entry assembly location as the root for - the configuration file name. - - - The value returned may be either a local file path or a URI. - - - - - - Gets the path to the file that first executed in the current . - - The path to the entry assembly. - - - Gets the path to the file that first executed in the current . - - - - - - Gets the ID of the current thread. - - The ID of the current thread. - - - On the .NET framework, the AppDomain.GetCurrentThreadId method - is used to obtain the thread ID for the current thread. This is the - operating system ID for the thread. - - - On the .NET Compact Framework 1.0 it is not possible to get the - operating system thread ID for the current thread. The native method - GetCurrentThreadId is implemented inline in a header file - and cannot be called. - - - On the .NET Framework 2.0 the Thread.ManagedThreadId is used as this - gives a stable id unrelated to the operating system thread ID which may - change if the runtime is using fibers. - - - - - - Get the host name or machine name for the current machine - - - The hostname or machine name - - - - Get the host name or machine name for the current machine - - - The host name () or - the machine name (Environment.MachineName) for - the current machine, or if neither of these are available - then NOT AVAILABLE is returned. - - - - - - Get this application's friendly name - - - The friendly name of this application as a string - - - - If available the name of the application is retrieved from - the AppDomain using AppDomain.CurrentDomain.FriendlyName. - - - Otherwise the file name of the entry assembly is used. - - - - - - Get the start time for the current process. - - - - This is the time at which the log4net library was loaded into the - AppDomain. Due to reports of a hang in the call to System.Diagnostics.Process.StartTime - this is not the start time for the current process. - - - The log4net library should be loaded by an application early during its - startup, therefore this start time should be a good approximation for - the actual start time. - - - Note that AppDomains may be loaded and unloaded within the - same process without the process terminating, however this start time - will be set per AppDomain. - - - - - - Text to output when a null is encountered. - - - - Use this value to indicate a null has been encountered while - outputting a string representation of an item. - - - The default value is (null). This value can be overridden by specifying - a value for the log4net.NullText appSetting in the application's - .config file. - - - - - - Text to output when an unsupported feature is requested. - - - - Use this value when an unsupported feature is requested. - - - The default value is NOT AVAILABLE. This value can be overridden by specifying - a value for the log4net.NotAvailableText appSetting in the application's - .config file. - - - - - - Utility class that represents a format string. - - - - Utility class that represents a format string. - - - Nicko Cadell - - - - Initialise the - - An that supplies culture-specific formatting information. - A containing zero or more format items. - An array containing zero or more objects to format. - - - - Format the string and arguments - - the formatted string - - - - Replaces the format item in a specified with the text equivalent - of the value of a corresponding instance in a specified array. - A specified parameter supplies culture-specific formatting information. - - An that supplies culture-specific formatting information. - A containing zero or more format items. - An array containing zero or more objects to format. - - A copy of format in which the format items have been replaced by the - equivalent of the corresponding instances of in args. - - - - This method does not throw exceptions. If an exception thrown while formatting the result the - exception and arguments are returned in the result string. - - - - - - Process an error during StringFormat - - - - - Dump the contents of an array into a string builder - - - - - Dump an object to a string - - - - - Implementation of Properties collection for the - - - - Class implements a collection of properties that is specific to each thread. - The class is not synchronized as each thread has its own . - - - Nicko Cadell - - - - The thread local data slot to use to store a PropertiesDictionary. - - - - - Internal constructor - - - - Initializes a new instance of the class. - - - - - - Remove a property - - the key for the entry to remove - - - Remove a property - - - - - - Clear all properties - - - - Clear all properties - - - - - - Get the PropertiesDictionary for this thread. - - create the dictionary if it does not exist, otherwise return null if is does not exist - the properties for this thread - - - The collection returned is only to be used on the calling thread. If the - caller needs to share the collection between different threads then the - caller must clone the collection before doing so. - - - - - - Gets or sets the value of a property - - - The value for the property with the specified key - - - - Gets or sets the value of a property - - - - - - Implementation of Stack for the - - - - Implementation of Stack for the - - - Nicko Cadell - - - - The stack store. - - - - - Internal constructor - - - - Initializes a new instance of the class. - - - - - - Clears all the contextual information held in this stack. - - - - Clears all the contextual information held in this stack. - Only call this if you think that this tread is being reused after - a previous call execution which may not have completed correctly. - You do not need to use this method if you always guarantee to call - the method of the - returned from even in exceptional circumstances, - for example by using the using(log4net.ThreadContext.Stacks["NDC"].Push("Stack_Message")) - syntax. - - - - - - Removes the top context from this stack. - - The message in the context that was removed from the top of this stack. - - - Remove the top context from this stack, and return - it to the caller. If this stack is empty then an - empty string (not ) is returned. - - - - - - Pushes a new context message into this stack. - - The new context message. - - An that can be used to clean up the context stack. - - - - Pushes a new context onto this stack. An - is returned that can be used to clean up this stack. This - can be easily combined with the using keyword to scope the - context. - - - Simple example of using the Push method with the using keyword. - - using(log4net.ThreadContext.Stacks["NDC"].Push("Stack_Message")) - { - log.Warn("This should have an ThreadContext Stack message"); - } - - - - - - Gets the current context information for this stack. - - The current context information. - - - - Gets the current context information for this stack. - - Gets the current context information - - - Gets the current context information for this stack. - - - - - - Get a portable version of this object - - the portable instance of this object - - - Get a cross thread portable version of this object - - - - - - The number of messages in the stack - - - The current number of messages in the stack - - - - The current number of messages in the stack. That is - the number of times has been called - minus the number of times has been called. - - - - - - Gets and sets the internal stack used by this - - The internal storage stack - - - This property is provided only to support backward compatability - of the . Tytpically the internal stack should not - be modified. - - - - - - Inner class used to represent a single context frame in the stack. - - - - Inner class used to represent a single context frame in the stack. - - - - - - Constructor - - The message for this context. - The parent context in the chain. - - - Initializes a new instance of the class - with the specified message and parent context. - - - - - - Get the message. - - The message. - - - Get the message. - - - - - - Gets the full text of the context down to the root level. - - - The full text of the context down to the root level. - - - - Gets the full text of the context down to the root level. - - - - - - Struct returned from the method. - - - - This struct implements the and is designed to be used - with the pattern to remove the stack frame at the end of the scope. - - - - - - The ThreadContextStack internal stack - - - - - The depth to trim the stack to when this instance is disposed - - - - - Constructor - - The internal stack used by the ThreadContextStack. - The depth to return the stack to when this object is disposed. - - - Initializes a new instance of the class with - the specified stack and return depth. - - - - - - Returns the stack to the correct depth. - - - - Returns the stack to the correct depth. - - - - - - Implementation of Stacks collection for the - - - - Implementation of Stacks collection for the - - - Nicko Cadell - - - - Internal constructor - - - - Initializes a new instance of the class. - - - - - - Gets the named thread context stack - - - The named stack - - - - Gets the named thread context stack - - - - - - Utility class for transforming strings. - - - - Utility class for transforming strings. - - - Nicko Cadell - Gert Driesen - - - - Initializes a new instance of the class. - - - - Uses a private access modifier to prevent instantiation of this class. - - - - - - Write a string to an - - the writer to write to - the string to write - The string to replace non XML compliant chars with - - - The test is escaped either using XML escape entities - or using CDATA sections. - - - - - - Replace invalid XML characters in text string - - the XML text input string - the string to use in place of invalid characters - A string that does not contain invalid XML characters. - - - Certain Unicode code points are not allowed in the XML InfoSet, for - details see: http://www.w3.org/TR/REC-xml/#charsets. - - - This method replaces any illegal characters in the input string - with the mask string specified. - - - - - - Count the number of times that the substring occurs in the text - - the text to search - the substring to find - the number of times the substring occurs in the text - - - The substring is assumed to be non repeating within itself. - - - - - - Impersonate a Windows Account - - - - This impersonates a Windows account. - - - How the impersonation is done depends on the value of . - This allows the context to either impersonate a set of user credentials specified - using username, domain name and password or to revert to the process credentials. - - - - - - Default constructor - - - - Default constructor - - - - - - Initialize the SecurityContext based on the options set. - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - The security context will try to Logon the specified user account and - capture a primary token for impersonation. - - - The required , - or properties were not specified. - - - - Impersonate the Windows account specified by the and properties. - - caller provided state - - An instance that will revoke the impersonation of this SecurityContext - - - - Depending on the property either - impersonate a user using credentials supplied or revert - to the process credentials. - - - - - - Create a given the userName, domainName and password. - - the user name - the domain name - the password - the for the account specified - - - Uses the Windows API call LogonUser to get a principal token for the account. This - token is used to initialize the WindowsIdentity. - - - - - - Gets or sets the impersonation mode for this security context - - - The impersonation mode for this security context - - - - Impersonate either a user with user credentials or - revert this thread to the credentials of the process. - The value is one of the - enum. - - - The default value is - - - When the mode is set to - the user's credentials are established using the - , and - values. - - - When the mode is set to - no other properties need to be set. If the calling thread is - impersonating then it will be reverted back to the process credentials. - - - - - - Gets or sets the Windows username for this security context - - - The Windows username for this security context - - - - This property must be set if - is set to (the default setting). - - - - - - Gets or sets the Windows domain name for this security context - - - The Windows domain name for this security context - - - - The default value for is the local machine name - taken from the property. - - - This property must be set if - is set to (the default setting). - - - - - - Sets the password for the Windows account specified by the and properties. - - - The password for the Windows account specified by the and properties. - - - - This property must be set if - is set to (the default setting). - - - - - - The impersonation modes for the - - - - See the property for - details. - - - - - - Impersonate a user using the credentials supplied - - - - - Revert this the thread to the credentials of the process - - - - - Adds to - - - - Helper class to expose the - through the interface. - - - - - - Constructor - - the impersonation context being wrapped - - - Constructor - - - - - - Revert the impersonation - - - - Revert the impersonation - - - - - - The log4net Global Context. - - - - The GlobalContext provides a location for global debugging - information to be stored. - - - The global context has a properties map and these properties can - be included in the output of log messages. The - supports selecting and outputing these properties. - - - By default the log4net:HostName property is set to the name of - the current machine. - - - - - GlobalContext.Properties["hostname"] = Environment.MachineName; - - - - Nicko Cadell - - - - Private Constructor. - - - Uses a private access modifier to prevent instantiation of this class. - - - - - The global context properties instance - - - - - The global properties map. - - - The global properties map. - - - - The global properties map. - - - - - - The log4net Logical Thread Context. - - - - The LogicalThreadContext provides a location for specific debugging - information to be stored. - The LogicalThreadContext properties override any or - properties with the same name. - - - The Logical Thread Context has a properties map and a stack. - The properties and stack can - be included in the output of log messages. The - supports selecting and outputting these properties. - - - The Logical Thread Context provides a diagnostic context for the current call context. - This is an instrument for distinguishing interleaved log - output from different sources. Log output is typically interleaved - when a server handles multiple clients near-simultaneously. - - - The Logical Thread Context is managed on a per basis. - - - Example of using the thread context properties to store a username. - - LogicalThreadContext.Properties["user"] = userName; - log.Info("This log message has a LogicalThreadContext Property called 'user'"); - - - Example of how to push a message into the context stack - - using(LogicalThreadContext.Stacks["LDC"].Push("my context message")) - { - log.Info("This log message has a LogicalThreadContext Stack message that includes 'my context message'"); - - } // at the end of the using block the message is automatically popped - - - - Nicko Cadell - - - - Private Constructor. - - - - Uses a private access modifier to prevent instantiation of this class. - - - - - - The thread context properties instance - - - - - The thread context stacks instance - - - - - The thread properties map - - - The thread properties map - - - - The LogicalThreadContext properties override any - or properties with the same name. - - - - - - The thread stacks - - - stack map - - - - The logical thread stacks. - - - - - - This class is used by client applications to request logger instances. - - - - This class has static methods that are used by a client to request - a logger instance. The method is - used to retrieve a logger. - - - See the interface for more details. - - - Simple example of logging messages - - ILog log = LogManager.GetLogger("application-log"); - - log.Info("Application Start"); - log.Debug("This is a debug message"); - - if (log.IsDebugEnabled) - { - log.Debug("This is another debug message"); - } - - - - - Nicko Cadell - Gert Driesen - - - - Initializes a new instance of the class. - - - Uses a private access modifier to prevent instantiation of this class. - - - - Returns the named logger if it exists. - - Returns the named logger if it exists. - - - - If the named logger exists (in the default repository) then it - returns a reference to the logger, otherwise it returns null. - - - The fully qualified logger name to look for. - The logger found, or null if no logger could be found. - - - - Returns the named logger if it exists. - - - - If the named logger exists (in the specified repository) then it - returns a reference to the logger, otherwise it returns - null. - - - The repository to lookup in. - The fully qualified logger name to look for. - - The logger found, or null if the logger doesn't exist in the specified - repository. - - - - - Returns the named logger if it exists. - - - - If the named logger exists (in the repository for the specified assembly) then it - returns a reference to the logger, otherwise it returns - null. - - - The assembly to use to lookup the repository. - The fully qualified logger name to look for. - - The logger, or null if the logger doesn't exist in the specified - assembly's repository. - - - - Get the currently defined loggers. - - Returns all the currently defined loggers in the default repository. - - - The root logger is not included in the returned array. - - All the defined loggers. - - - - Returns all the currently defined loggers in the specified repository. - - The repository to lookup in. - - The root logger is not included in the returned array. - - All the defined loggers. - - - - Returns all the currently defined loggers in the specified assembly's repository. - - The assembly to use to lookup the repository. - - The root logger is not included in the returned array. - - All the defined loggers. - - - Get or create a logger. - - Retrieves or creates a named logger. - - - - Retrieves a logger named as the - parameter. If the named logger already exists, then the - existing instance will be returned. Otherwise, a new instance is - created. - - By default, loggers do not have a set level but inherit - it from the hierarchy. This is one of the central features of - log4net. - - - The name of the logger to retrieve. - The logger with the name specified. - - - - Retrieves or creates a named logger. - - - - Retrieve a logger named as the - parameter. If the named logger already exists, then the - existing instance will be returned. Otherwise, a new instance is - created. - - - By default, loggers do not have a set level but inherit - it from the hierarchy. This is one of the central features of - log4net. - - - The repository to lookup in. - The name of the logger to retrieve. - The logger with the name specified. - - - - Retrieves or creates a named logger. - - - - Retrieve a logger named as the - parameter. If the named logger already exists, then the - existing instance will be returned. Otherwise, a new instance is - created. - - - By default, loggers do not have a set level but inherit - it from the hierarchy. This is one of the central features of - log4net. - - - The assembly to use to lookup the repository. - The name of the logger to retrieve. - The logger with the name specified. - - - - Shorthand for . - - - Get the logger for the fully qualified name of the type specified. - - The full name of will be used as the name of the logger to retrieve. - The logger with the name specified. - - - - Shorthand for . - - - Gets the logger for the fully qualified name of the type specified. - - The repository to lookup in. - The full name of will be used as the name of the logger to retrieve. - The logger with the name specified. - - - - Shorthand for . - - - Gets the logger for the fully qualified name of the type specified. - - The assembly to use to lookup the repository. - The full name of will be used as the name of the logger to retrieve. - The logger with the name specified. - - - - Shuts down the log4net system. - - - - Calling this method will safely close and remove all - appenders in all the loggers including root contained in all the - default repositories. - - - Some appenders need to be closed before the application exists. - Otherwise, pending logging events might be lost. - - The shutdown method is careful to close nested - appenders before closing regular appenders. This is allows - configurations where a regular appender is attached to a logger - and again to a nested appender. - - - - - Shutdown a logger repository. - - Shuts down the default repository. - - - - Calling this method will safely close and remove all - appenders in all the loggers including root contained in the - default repository. - - Some appenders need to be closed before the application exists. - Otherwise, pending logging events might be lost. - - The shutdown method is careful to close nested - appenders before closing regular appenders. This is allows - configurations where a regular appender is attached to a logger - and again to a nested appender. - - - - - - Shuts down the repository for the repository specified. - - - - Calling this method will safely close and remove all - appenders in all the loggers including root contained in the - specified. - - - Some appenders need to be closed before the application exists. - Otherwise, pending logging events might be lost. - - The shutdown method is careful to close nested - appenders before closing regular appenders. This is allows - configurations where a regular appender is attached to a logger - and again to a nested appender. - - - The repository to shutdown. - - - - Shuts down the repository specified. - - - - Calling this method will safely close and remove all - appenders in all the loggers including root contained in the - repository. The repository is looked up using - the specified. - - - Some appenders need to be closed before the application exists. - Otherwise, pending logging events might be lost. - - - The shutdown method is careful to close nested - appenders before closing regular appenders. This is allows - configurations where a regular appender is attached to a logger - and again to a nested appender. - - - The assembly to use to lookup the repository. - - - Reset the configuration of a repository - - Resets all values contained in this repository instance to their defaults. - - - - Resets all values contained in the repository instance to their - defaults. This removes all appenders from all loggers, sets - the level of all non-root loggers to null, - sets their additivity flag to true and sets the level - of the root logger to . Moreover, - message disabling is set to its default "off" value. - - - - - - Resets all values contained in this repository instance to their defaults. - - - - Reset all values contained in the repository instance to their - defaults. This removes all appenders from all loggers, sets - the level of all non-root loggers to null, - sets their additivity flag to true and sets the level - of the root logger to . Moreover, - message disabling is set to its default "off" value. - - - The repository to reset. - - - - Resets all values contained in this repository instance to their defaults. - - - - Reset all values contained in the repository instance to their - defaults. This removes all appenders from all loggers, sets - the level of all non-root loggers to null, - sets their additivity flag to true and sets the level - of the root logger to . Moreover, - message disabling is set to its default "off" value. - - - The assembly to use to lookup the repository to reset. - - - Get the logger repository. - - Returns the default instance. - - - - Gets the for the repository specified - by the callers assembly (). - - - The instance for the default repository. - - - - Returns the default instance. - - The default instance. - - - Gets the for the repository specified - by the argument. - - - The repository to lookup in. - - - - Returns the default instance. - - The default instance. - - - Gets the for the repository specified - by the argument. - - - The assembly to use to lookup the repository. - - - Get a logger repository. - - Returns the default instance. - - - - Gets the for the repository specified - by the callers assembly (). - - - The instance for the default repository. - - - - Returns the default instance. - - The default instance. - - - Gets the for the repository specified - by the argument. - - - The repository to lookup in. - - - - Returns the default instance. - - The default instance. - - - Gets the for the repository specified - by the argument. - - - The assembly to use to lookup the repository. - - - Create a domain - - Creates a repository with the specified repository type. - - - - CreateDomain is obsolete. Use CreateRepository instead of CreateDomain. - - - The created will be associated with the repository - specified such that a call to will return - the same repository instance. - - - A that implements - and has a no arg constructor. An instance of this type will be created to act - as the for the repository specified. - The created for the repository. - - - Create a logger repository. - - Creates a repository with the specified repository type. - - A that implements - and has a no arg constructor. An instance of this type will be created to act - as the for the repository specified. - The created for the repository. - - - The created will be associated with the repository - specified such that a call to will return - the same repository instance. - - - - - - Creates a repository with the specified name. - - - - CreateDomain is obsolete. Use CreateRepository instead of CreateDomain. - - - Creates the default type of which is a - object. - - - The name must be unique. Repositories cannot be redefined. - An will be thrown if the repository already exists. - - - The name of the repository, this must be unique amongst repositories. - The created for the repository. - The specified repository already exists. - - - - Creates a repository with the specified name. - - - - Creates the default type of which is a - object. - - - The name must be unique. Repositories cannot be redefined. - An will be thrown if the repository already exists. - - - The name of the repository, this must be unique amongst repositories. - The created for the repository. - The specified repository already exists. - - - - Creates a repository with the specified name and repository type. - - - - CreateDomain is obsolete. Use CreateRepository instead of CreateDomain. - - - The name must be unique. Repositories cannot be redefined. - An will be thrown if the repository already exists. - - - The name of the repository, this must be unique to the repository. - A that implements - and has a no arg constructor. An instance of this type will be created to act - as the for the repository specified. - The created for the repository. - The specified repository already exists. - - - - Creates a repository with the specified name and repository type. - - - - The name must be unique. Repositories cannot be redefined. - An will be thrown if the repository already exists. - - - The name of the repository, this must be unique to the repository. - A that implements - and has a no arg constructor. An instance of this type will be created to act - as the for the repository specified. - The created for the repository. - The specified repository already exists. - - - - Creates a repository for the specified assembly and repository type. - - - - CreateDomain is obsolete. Use CreateRepository instead of CreateDomain. - - - The created will be associated with the repository - specified such that a call to with the - same assembly specified will return the same repository instance. - - - The assembly to use to get the name of the repository. - A that implements - and has a no arg constructor. An instance of this type will be created to act - as the for the repository specified. - The created for the repository. - - - - Creates a repository for the specified assembly and repository type. - - - - The created will be associated with the repository - specified such that a call to with the - same assembly specified will return the same repository instance. - - - The assembly to use to get the name of the repository. - A that implements - and has a no arg constructor. An instance of this type will be created to act - as the for the repository specified. - The created for the repository. - - - - Gets the list of currently defined repositories. - - - - Get an array of all the objects that have been created. - - - An array of all the known objects. - - - - Looks up the wrapper object for the logger specified. - - The logger to get the wrapper for. - The wrapper for the logger specified. - - - - Looks up the wrapper objects for the loggers specified. - - The loggers to get the wrappers for. - The wrapper objects for the loggers specified. - - - - Create the objects used by - this manager. - - The logger to wrap. - The wrapper for the logger specified. - - - - The wrapper map to use to hold the objects. - - - - - Implementation of Mapped Diagnostic Contexts. - - - - - The MDC is deprecated and has been replaced by the . - The current MDC implementation forwards to the ThreadContext.Properties. - - - - The MDC class is similar to the class except that it is - based on a map instead of a stack. It provides mapped - diagnostic contexts. A Mapped Diagnostic Context, or - MDC in short, is an instrument for distinguishing interleaved log - output from different sources. Log output is typically interleaved - when a server handles multiple clients near-simultaneously. - - - The MDC is managed on a per thread basis. - - - - Nicko Cadell - Gert Driesen - - - - Initializes a new instance of the class. - - - Uses a private access modifier to prevent instantiation of this class. - - - - - Gets the context value identified by the parameter. - - The key to lookup in the MDC. - The string value held for the key, or a null reference if no corresponding value is found. - - - - The MDC is deprecated and has been replaced by the . - The current MDC implementation forwards to the ThreadContext.Properties. - - - - If the parameter does not look up to a - previously defined context then null will be returned. - - - - - - Add an entry to the MDC - - The key to store the value under. - The value to store. - - - - The MDC is deprecated and has been replaced by the . - The current MDC implementation forwards to the ThreadContext.Properties. - - - - Puts a context value (the parameter) as identified - with the parameter into the current thread's - context map. - - - If a value is already defined for the - specified then the value will be replaced. If the - is specified as null then the key value mapping will be removed. - - - - - - Removes the key value mapping for the key specified. - - The key to remove. - - - - The MDC is deprecated and has been replaced by the . - The current MDC implementation forwards to the ThreadContext.Properties. - - - - Remove the specified entry from this thread's MDC - - - - - - Clear all entries in the MDC - - - - - The MDC is deprecated and has been replaced by the . - The current MDC implementation forwards to the ThreadContext.Properties. - - - - Remove all the entries from this thread's MDC - - - - - - Implementation of Nested Diagnostic Contexts. - - - - - The NDC is deprecated and has been replaced by the . - The current NDC implementation forwards to the ThreadContext.Stacks["NDC"]. - - - - A Nested Diagnostic Context, or NDC in short, is an instrument - to distinguish interleaved log output from different sources. Log - output is typically interleaved when a server handles multiple - clients near-simultaneously. - - - Interleaved log output can still be meaningful if each log entry - from different contexts had a distinctive stamp. This is where NDCs - come into play. - - - Note that NDCs are managed on a per thread basis. The NDC class - is made up of static methods that operate on the context of the - calling thread. - - - How to push a message into the context - - using(NDC.Push("my context message")) - { - ... all log calls will have 'my context message' included ... - - } // at the end of the using block the message is automatically removed - - - - Nicko Cadell - Gert Driesen - - - - Initializes a new instance of the class. - - - Uses a private access modifier to prevent instantiation of this class. - - - - - Clears all the contextual information held on the current thread. - - - - - The NDC is deprecated and has been replaced by the . - The current NDC implementation forwards to the ThreadContext.Stacks["NDC"]. - - - - Clears the stack of NDC data held on the current thread. - - - - - - Creates a clone of the stack of context information. - - A clone of the context info for this thread. - - - - The NDC is deprecated and has been replaced by the . - The current NDC implementation forwards to the ThreadContext.Stacks["NDC"]. - - - - The results of this method can be passed to the - method to allow child threads to inherit the context of their - parent thread. - - - - - - Inherits the contextual information from another thread. - - The context stack to inherit. - - - - The NDC is deprecated and has been replaced by the . - The current NDC implementation forwards to the ThreadContext.Stacks["NDC"]. - - - - This thread will use the context information from the stack - supplied. This can be used to initialize child threads with - the same contextual information as their parent threads. These - contexts will NOT be shared. Any further contexts that - are pushed onto the stack will not be visible to the other. - Call to obtain a stack to pass to - this method. - - - - - - Removes the top context from the stack. - - - The message in the context that was removed from the top - of the stack. - - - - - The NDC is deprecated and has been replaced by the . - The current NDC implementation forwards to the ThreadContext.Stacks["NDC"]. - - - - Remove the top context from the stack, and return - it to the caller. If the stack is empty then an - empty string (not null) is returned. - - - - - - Pushes a new context message. - - The new context message. - - An that can be used to clean up - the context stack. - - - - - The NDC is deprecated and has been replaced by the . - The current NDC implementation forwards to the ThreadContext.Stacks["NDC"]. - - - - Pushes a new context onto the context stack. An - is returned that can be used to clean up the context stack. This - can be easily combined with the using keyword to scope the - context. - - - Simple example of using the Push method with the using keyword. - - using(log4net.NDC.Push("NDC_Message")) - { - log.Warn("This should have an NDC message"); - } - - - - - - Removes the context information for this thread. It is - not required to call this method. - - - - - The NDC is deprecated and has been replaced by the . - The current NDC implementation forwards to the ThreadContext.Stacks["NDC"]. - - - - This method is not implemented. - - - - - - Forces the stack depth to be at most . - - The maximum depth of the stack - - - - The NDC is deprecated and has been replaced by the . - The current NDC implementation forwards to the ThreadContext.Stacks["NDC"]. - - - - Forces the stack depth to be at most . - This may truncate the head of the stack. This only affects the - stack in the current thread. Also it does not prevent it from - growing, it only sets the maximum depth at the time of the - call. This can be used to return to a known context depth. - - - - - - Gets the current context depth. - - The current context depth. - - - - The NDC is deprecated and has been replaced by the . - The current NDC implementation forwards to the ThreadContext.Stacks["NDC"]. - - - - The number of context values pushed onto the context stack. - - - Used to record the current depth of the context. This can then - be restored using the method. - - - - - - - The log4net Thread Context. - - - - The ThreadContext provides a location for thread specific debugging - information to be stored. - The ThreadContext properties override any - properties with the same name. - - - The thread context has a properties map and a stack. - The properties and stack can - be included in the output of log messages. The - supports selecting and outputting these properties. - - - The Thread Context provides a diagnostic context for the current thread. - This is an instrument for distinguishing interleaved log - output from different sources. Log output is typically interleaved - when a server handles multiple clients near-simultaneously. - - - The Thread Context is managed on a per thread basis. - - - Example of using the thread context properties to store a username. - - ThreadContext.Properties["user"] = userName; - log.Info("This log message has a ThreadContext Property called 'user'"); - - - Example of how to push a message into the context stack - - using(ThreadContext.Stacks["NDC"].Push("my context message")) - { - log.Info("This log message has a ThreadContext Stack message that includes 'my context message'"); - - } // at the end of the using block the message is automatically popped - - - - Nicko Cadell - - - - Private Constructor. - - - - Uses a private access modifier to prevent instantiation of this class. - - - - - - The thread context properties instance - - - - - The thread context stacks instance - - - - - The thread properties map - - - The thread properties map - - - - The ThreadContext properties override any - properties with the same name. - - - - - - The thread stacks - - - stack map - - - - The thread local stacks. - - - - - diff --git a/lib/NHibernate21/net/4.0/Antlr3.Runtime.dll b/lib/NHibernate21/net/4.0/Antlr3.Runtime.dll deleted file mode 100644 index 637fc3e3..00000000 Binary files a/lib/NHibernate21/net/4.0/Antlr3.Runtime.dll and /dev/null differ diff --git a/lib/NHibernate21/net/4.0/Iesi.Collections.dll b/lib/NHibernate21/net/4.0/Iesi.Collections.dll deleted file mode 100644 index 32f2332f..00000000 Binary files a/lib/NHibernate21/net/4.0/Iesi.Collections.dll and /dev/null differ diff --git a/lib/NHibernate21/net/4.0/Iesi.Collections.license.txt b/lib/NHibernate21/net/4.0/Iesi.Collections.license.txt deleted file mode 100644 index 66c4a8dc..00000000 --- a/lib/NHibernate21/net/4.0/Iesi.Collections.license.txt +++ /dev/null @@ -1,9 +0,0 @@ -Copyright © 2002-2004 by Aidant Systems, Inc., and by Jason Smith. - -Copied from http://www.codeproject.com/csharp/sets.asp#xx703510xx that was posted by JasonSmith 12:13 2 Jan '04 - -Feel free to use this code any way you want to. As a favor to me, you can leave the copyright in there. You never know when someone might recognize your name! - -If you do use the code in a commercial product, I would appreciate hearing about it. This message serves as legal notice that I won't be suing you for royalties! The code is in the public domain. - -On the other hand, I don't provide support. The code is actually simple enough that it shouldn't need it. diff --git a/lib/NHibernate21/net/4.0/Iesi.Collections.xml b/lib/NHibernate21/net/4.0/Iesi.Collections.xml deleted file mode 100644 index 22ebfdec..00000000 --- a/lib/NHibernate21/net/4.0/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/NHibernate21/net/4.0/LinFu.DynamicProxy.dll b/lib/NHibernate21/net/4.0/LinFu.DynamicProxy.dll deleted file mode 100644 index 22225220..00000000 Binary files a/lib/NHibernate21/net/4.0/LinFu.DynamicProxy.dll and /dev/null differ diff --git a/lib/NHibernate21/net/4.0/NHibernate.DomainModel.dll b/lib/NHibernate21/net/4.0/NHibernate.DomainModel.dll deleted file mode 100644 index aed3dd7c..00000000 Binary files a/lib/NHibernate21/net/4.0/NHibernate.DomainModel.dll and /dev/null differ diff --git a/lib/NHibernate21/net/4.0/NHibernate.Test.dll b/lib/NHibernate21/net/4.0/NHibernate.Test.dll deleted file mode 100644 index bdf5b28a..00000000 Binary files a/lib/NHibernate21/net/4.0/NHibernate.Test.dll and /dev/null differ diff --git a/lib/NHibernate21/net/4.0/NHibernate.dll b/lib/NHibernate21/net/4.0/NHibernate.dll deleted file mode 100644 index f8b0bc26..00000000 Binary files a/lib/NHibernate21/net/4.0/NHibernate.dll and /dev/null differ diff --git a/lib/NHibernate21/net/4.0/NHibernate.license.txt b/lib/NHibernate21/net/4.0/NHibernate.license.txt deleted file mode 100644 index 8a88d148..00000000 --- a/lib/NHibernate21/net/4.0/NHibernate.license.txt +++ /dev/null @@ -1,460 +0,0 @@ - GNU LESSER GENERAL PUBLIC LICENSE - Version 2.1, February 1999 - - Copyright (C) 1991, 1999 Free Software Foundation, Inc. - 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - -[This is the first released version of the Lesser GPL. It also counts - as the successor of the GNU Library Public License, version 2, hence - the version number 2.1.] - - Preamble - - The licenses for most software are designed to take away your -freedom to share and change it. By contrast, the GNU General Public -Licenses are intended to guarantee your freedom to share and change -free software--to make sure the software is free for all its users. - - This license, the Lesser General Public License, applies to some -specially designated software packages--typically libraries--of the -Free Software Foundation and other authors who decide to use it. You -can use it too, but we suggest you first think carefully about whether -this license or the ordinary General Public License is the better -strategy to use in any particular case, based on the explanations below. - - When we speak of free software, we are referring to freedom of use, -not price. Our General Public Licenses are designed to make sure that -you have the freedom to distribute copies of free software (and charge -for this service if you wish); that you receive source code or can get -it if you want it; that you can change the software and use pieces of -it in new free programs; and that you are informed that you can do -these things. - - To protect your rights, we need to make restrictions that forbid -distributors to deny you these rights or to ask you to surrender these -rights. These restrictions translate to certain responsibilities for -you if you distribute copies of the library or if you modify it. - - For example, if you distribute copies of the library, whether gratis -or for a fee, you must give the recipients all the rights that we gave -you. You must make sure that they, too, receive or can get the source -code. If you link other code with the library, you must provide -complete object files to the recipients, so that they can relink them -with the library after making changes to the library and recompiling -it. And you must show them these terms so they know their rights. - - We protect your rights with a two-step method: (1) we copyright the -library, and (2) we offer you this license, which gives you legal -permission to copy, distribute and/or modify the library. - - To protect each distributor, we want to make it very clear that -there is no warranty for the free library. Also, if the library is -modified by someone else and passed on, the recipients should know -that what they have is not the original version, so that the original -author's reputation will not be affected by problems that might be -introduced by others. - - Finally, software patents pose a constant threat to the existence of -any free program. We wish to make sure that a company cannot -effectively restrict the users of a free program by obtaining a -restrictive license from a patent holder. Therefore, we insist that -any patent license obtained for a version of the library must be -consistent with the full freedom of use specified in this license. - - Most GNU software, including some libraries, is covered by the -ordinary GNU General Public License. This license, the GNU Lesser -General Public License, applies to certain designated libraries, and -is quite different from the ordinary General Public License. We use -this license for certain libraries in order to permit linking those -libraries into non-free programs. - - When a program is linked with a library, whether statically or using -a shared library, the combination of the two is legally speaking a -combined work, a derivative of the original library. The ordinary -General Public License therefore permits such linking only if the -entire combination fits its criteria of freedom. The Lesser General -Public License permits more lax criteria for linking other code with -the library. - - We call this license the "Lesser" General Public License because it -does Less to protect the user's freedom than the ordinary General -Public License. It also provides other free software developers Less -of an advantage over competing non-free programs. These disadvantages -are the reason we use the ordinary General Public License for many -libraries. However, the Lesser license provides advantages in certain -special circumstances. - - For example, on rare occasions, there may be a special need to -encourage the widest possible use of a certain library, so that it becomes -a de-facto standard. To achieve this, non-free programs must be -allowed to use the library. A more frequent case is that a free -library does the same job as widely used non-free libraries. In this -case, there is little to gain by limiting the free library to free -software only, so we use the Lesser General Public License. - - In other cases, permission to use a particular library in non-free -programs enables a greater number of people to use a large body of -free software. For example, permission to use the GNU C Library in -non-free programs enables many more people to use the whole GNU -operating system, as well as its variant, the GNU/Linux operating -system. - - Although the Lesser General Public License is Less protective of the -users' freedom, it does ensure that the user of a program that is -linked with the Library has the freedom and the wherewithal to run -that program using a modified version of the Library. - - The precise terms and conditions for copying, distribution and -modification follow. Pay close attention to the difference between a -"work based on the library" and a "work that uses the library". The -former contains code derived from the library, whereas the latter must -be combined with the library in order to run. - - GNU LESSER GENERAL PUBLIC LICENSE - TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - - 0. This License Agreement applies to any software library or other -program which contains a notice placed by the copyright holder or -other authorized party saying it may be distributed under the terms of -this Lesser General Public License (also called "this License"). -Each licensee is addressed as "you". - - A "library" means a collection of software functions and/or data -prepared so as to be conveniently linked with application programs -(which use some of those functions and data) to form executables. - - The "Library", below, refers to any such software library or work -which has been distributed under these terms. A "work based on the -Library" means either the Library or any derivative work under -copyright law: that is to say, a work containing the Library or a -portion of it, either verbatim or with modifications and/or translated -straightforwardly into another language. (Hereinafter, translation is -included without limitation in the term "modification".) - - "Source code" for a work means the preferred form of the work for -making modifications to it. For a library, complete source code means -all the source code for all modules it contains, plus any associated -interface definition files, plus the scripts used to control compilation -and installation of the library. - - Activities other than copying, distribution and modification are not -covered by this License; they are outside its scope. The act of -running a program using the Library is not restricted, and output from -such a program is covered only if its contents constitute a work based -on the Library (independent of the use of the Library in a tool for -writing it). Whether that is true depends on what the Library does -and what the program that uses the Library does. - - 1. You may copy and distribute verbatim copies of the Library's -complete source code as you receive it, in any medium, provided that -you conspicuously and appropriately publish on each copy an -appropriate copyright notice and disclaimer of warranty; keep intact -all the notices that refer to this License and to the absence of any -warranty; and distribute a copy of this License along with the -Library. - - You may charge a fee for the physical act of transferring a copy, -and you may at your option offer warranty protection in exchange for a -fee. - - 2. You may modify your copy or copies of the Library or any portion -of it, thus forming a work based on the Library, and copy and -distribute such modifications or work under the terms of Section 1 -above, provided that you also meet all of these conditions: - - a) The modified work must itself be a software library. - - b) You must cause the files modified to carry prominent notices - stating that you changed the files and the date of any change. - - c) You must cause the whole of the work to be licensed at no - charge to all third parties under the terms of this License. - - d) If a facility in the modified Library refers to a function or a - table of data to be supplied by an application program that uses - the facility, other than as an argument passed when the facility - is invoked, then you must make a good faith effort to ensure that, - in the event an application does not supply such function or - table, the facility still operates, and performs whatever part of - its purpose remains meaningful. - - (For example, a function in a library to compute square roots has - a purpose that is entirely well-defined independent of the - application. Therefore, Subsection 2d requires that any - application-supplied function or table used by this function must - be optional: if the application does not supply it, the square - root function must still compute square roots.) - -These requirements apply to the modified work as a whole. If -identifiable sections of that work are not derived from the Library, -and can be reasonably considered independent and separate works in -themselves, then this License, and its terms, do not apply to those -sections when you distribute them as separate works. But when you -distribute the same sections as part of a whole which is a work based -on the Library, the distribution of the whole must be on the terms of -this License, whose permissions for other licensees extend to the -entire whole, and thus to each and every part regardless of who wrote -it. - -Thus, it is not the intent of this section to claim rights or contest -your rights to work written entirely by you; rather, the intent is to -exercise the right to control the distribution of derivative or -collective works based on the Library. - -In addition, mere aggregation of another work not based on the Library -with the Library (or with a work based on the Library) on a volume of -a storage or distribution medium does not bring the other work under -the scope of this License. - - 3. You may opt to apply the terms of the ordinary GNU General Public -License instead of this License to a given copy of the Library. To do -this, you must alter all the notices that refer to this License, so -that they refer to the ordinary GNU General Public License, version 2, -instead of to this License. (If a newer version than version 2 of the -ordinary GNU General Public License has appeared, then you can specify -that version instead if you wish.) Do not make any other change in -these notices. - - Once this change is made in a given copy, it is irreversible for -that copy, so the ordinary GNU General Public License applies to all -subsequent copies and derivative works made from that copy. - - This option is useful when you wish to copy part of the code of -the Library into a program that is not a library. - - 4. You may copy and distribute the Library (or a portion or -derivative of it, under Section 2) in object code or executable form -under the terms of Sections 1 and 2 above provided that you accompany -it with the complete corresponding machine-readable source code, which -must be distributed under the terms of Sections 1 and 2 above on a -medium customarily used for software interchange. - - If distribution of object code is made by offering access to copy -from a designated place, then offering equivalent access to copy the -source code from the same place satisfies the requirement to -distribute the source code, even though third parties are not -compelled to copy the source along with the object code. - - 5. A program that contains no derivative of any portion of the -Library, but is designed to work with the Library by being compiled or -linked with it, is called a "work that uses the Library". Such a -work, in isolation, is not a derivative work of the Library, and -therefore falls outside the scope of this License. - - However, linking a "work that uses the Library" with the Library -creates an executable that is a derivative of the Library (because it -contains portions of the Library), rather than a "work that uses the -library". The executable is therefore covered by this License. -Section 6 states terms for distribution of such executables. - - When a "work that uses the Library" uses material from a header file -that is part of the Library, the object code for the work may be a -derivative work of the Library even though the source code is not. -Whether this is true is especially significant if the work can be -linked without the Library, or if the work is itself a library. The -threshold for this to be true is not precisely defined by law. - - If such an object file uses only numerical parameters, data -structure layouts and accessors, and small macros and small inline -functions (ten lines or less in length), then the use of the object -file is unrestricted, regardless of whether it is legally a derivative -work. (Executables containing this object code plus portions of the -Library will still fall under Section 6.) - - Otherwise, if the work is a derivative of the Library, you may -distribute the object code for the work under the terms of Section 6. -Any executables containing that work also fall under Section 6, -whether or not they are linked directly with the Library itself. - - 6. As an exception to the Sections above, you may also combine or -link a "work that uses the Library" with the Library to produce a -work containing portions of the Library, and distribute that work -under terms of your choice, provided that the terms permit -modification of the work for the customer's own use and reverse -engineering for debugging such modifications. - - You must give prominent notice with each copy of the work that the -Library is used in it and that the Library and its use are covered by -this License. You must supply a copy of this License. If the work -during execution displays copyright notices, you must include the -copyright notice for the Library among them, as well as a reference -directing the user to the copy of this License. Also, you must do one -of these things: - - a) Accompany the work with the complete corresponding - machine-readable source code for the Library including whatever - changes were used in the work (which must be distributed under - Sections 1 and 2 above); and, if the work is an executable linked - with the Library, with the complete machine-readable "work that - uses the Library", as object code and/or source code, so that the - user can modify the Library and then relink to produce a modified - executable containing the modified Library. (It is understood - that the user who changes the contents of definitions files in the - Library will not necessarily be able to recompile the application - to use the modified definitions.) - - b) Use a suitable shared library mechanism for linking with the - Library. A suitable mechanism is one that (1) uses at run time a - copy of the library already present on the user's computer system, - rather than copying library functions into the executable, and (2) - will operate properly with a modified version of the library, if - the user installs one, as long as the modified version is - interface-compatible with the version that the work was made with. - - c) Accompany the work with a written offer, valid for at - least three years, to give the same user the materials - specified in Subsection 6a, above, for a charge no more - than the cost of performing this distribution. - - d) If distribution of the work is made by offering access to copy - from a designated place, offer equivalent access to copy the above - specified materials from the same place. - - e) Verify that the user has already received a copy of these - materials or that you have already sent this user a copy. - - For an executable, the required form of the "work that uses the -Library" must include any data and utility programs needed for -reproducing the executable from it. However, as a special exception, -the materials to be distributed need not include anything that is -normally distributed (in either source or binary form) with the major -components (compiler, kernel, and so on) of the operating system on -which the executable runs, unless that component itself accompanies -the executable. - - It may happen that this requirement contradicts the license -restrictions of other proprietary libraries that do not normally -accompany the operating system. Such a contradiction means you cannot -use both them and the Library together in an executable that you -distribute. - - 7. You may place library facilities that are a work based on the -Library side-by-side in a single library together with other library -facilities not covered by this License, and distribute such a combined -library, provided that the separate distribution of the work based on -the Library and of the other library facilities is otherwise -permitted, and provided that you do these two things: - - a) Accompany the combined library with a copy of the same work - based on the Library, uncombined with any other library - facilities. This must be distributed under the terms of the - Sections above. - - b) Give prominent notice with the combined library of the fact - that part of it is a work based on the Library, and explaining - where to find the accompanying uncombined form of the same work. - - 8. You may not copy, modify, sublicense, link with, or distribute -the Library except as expressly provided under this License. Any -attempt otherwise to copy, modify, sublicense, link with, or -distribute the Library is void, and will automatically terminate your -rights under this License. However, parties who have received copies, -or rights, from you under this License will not have their licenses -terminated so long as such parties remain in full compliance. - - 9. You are not required to accept this License, since you have not -signed it. However, nothing else grants you permission to modify or -distribute the Library or its derivative works. These actions are -prohibited by law if you do not accept this License. Therefore, by -modifying or distributing the Library (or any work based on the -Library), you indicate your acceptance of this License to do so, and -all its terms and conditions for copying, distributing or modifying -the Library or works based on it. - - 10. Each time you redistribute the Library (or any work based on the -Library), the recipient automatically receives a license from the -original licensor to copy, distribute, link with or modify the Library -subject to these terms and conditions. You may not impose any further -restrictions on the recipients' exercise of the rights granted herein. -You are not responsible for enforcing compliance by third parties with -this License. - - 11. If, as a consequence of a court judgment or allegation of patent -infringement or for any other reason (not limited to patent issues), -conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot -distribute so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you -may not distribute the Library at all. For example, if a patent -license would not permit royalty-free redistribution of the Library by -all those who receive copies directly or indirectly through you, then -the only way you could satisfy both it and this License would be to -refrain entirely from distribution of the Library. - -If any portion of this section is held invalid or unenforceable under any -particular circumstance, the balance of the section is intended to apply, -and the section as a whole is intended to apply in other circumstances. - -It is not the purpose of this section to induce you to infringe any -patents or other property right claims or to contest validity of any -such claims; this section has the sole purpose of protecting the -integrity of the free software distribution system which is -implemented by public license practices. Many people have made -generous contributions to the wide range of software distributed -through that system in reliance on consistent application of that -system; it is up to the author/donor to decide if he or she is willing -to distribute software through any other system and a licensee cannot -impose that choice. - -This section is intended to make thoroughly clear what is believed to -be a consequence of the rest of this License. - - 12. If the distribution and/or use of the Library is restricted in -certain countries either by patents or by copyrighted interfaces, the -original copyright holder who places the Library under this License may add -an explicit geographical distribution limitation excluding those countries, -so that distribution is permitted only in or among countries not thus -excluded. In such case, this License incorporates the limitation as if -written in the body of this License. - - 13. The Free Software Foundation may publish revised and/or new -versions of the Lesser General Public License from time to time. -Such new versions will be similar in spirit to the present version, -but may differ in detail to address new problems or concerns. - -Each version is given a distinguishing version number. If the Library -specifies a version number of this License which applies to it and -"any later version", you have the option of following the terms and -conditions either of that version or of any later version published by -the Free Software Foundation. If the Library does not specify a -license version number, you may choose any version ever published by -the Free Software Foundation. - - 14. If you wish to incorporate parts of the Library into other free -programs whose distribution conditions are incompatible with these, -write to the author to ask for permission. For software which is -copyrighted by the Free Software Foundation, write to the Free -Software Foundation; we sometimes make exceptions for this. Our -decision will be guided by the two goals of preserving the free status -of all derivatives of our free software and of promoting the sharing -and reuse of software generally. - - NO WARRANTY - - 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO -WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. -EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR -OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY -KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE -LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME -THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. - - 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN -WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY -AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU -FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR -CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE -LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING -RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A -FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF -SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGES. - - END OF TERMS AND CONDITIONS - diff --git a/lib/NHibernate21/net/4.0/NHibernate.xml b/lib/NHibernate21/net/4.0/NHibernate.xml deleted file mode 100644 index a9e6f2e5..00000000 --- a/lib/NHibernate21/net/4.0/NHibernate.xml +++ /dev/null @@ -1,40555 +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 - - - - Do we need to retain this instance until after the transaction completes? - - - False if this class defines a no-op has after transaction completion. - - - - Called after the transaction completes - - - - What spaces (tables) are affected by 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 - - - - Do we need to retain this instance until after the transaction completes? - - - False if this class defines a no-op has after transaction completion. - - - - Called after the transaction completes - - - - 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. - - - - 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. - - - - - 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. - - - - - 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 - - - - - Marker interface, denoting a client-visible "soft lock" on a cached item. - - - - - 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 . - for invalid values. - - - See for allowed values. - - - - - 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. - - - - - Convert a string to . - - The string that represent . - - The converted to . - - If the values is invalid. - - See for allowed values. - - - - - Values for class-cache and collection-cache strategy. - - - - Xml value: read-only - - - Xml value: read-write - - - Xml value: nonstrict-read-write - - - Xml value: transactional - - - - 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. - - - - - Initializes a new instance of the class. - - The session factory name. Null or empty string are allowed. - - - - 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. - - - - - 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 . - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - A base class for HBM schema classes that provides helper methods. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 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 - - - - - 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 - - - - - The XML Namespace for the nhibernate-mapping - - - 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. - - - - 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 ebedded 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. - - - - - 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 - - - - - - - - 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. - - - - - 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 . - Works only with Web Applications. - - - - - 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 each . Works only with web applications. - - - - - 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 - - - - - 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 - - - - - 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? - - - - - 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. - - - - - 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 - - - - - 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 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 - - - - When adding values to the query string it is imperative that they are reported via this function back to the query builder. - Do not report the same item multiple times as it will be assumed to be a separate parameter. - - - - - 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. - - - - - Constructor for Order. - - - - - - - Constructor for Order. - - - - - - - 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 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 - - - - - 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 - - - - - 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 - - - - - Delegate the values to a real type - - - The real return type of Cast is know only after the Cast is parsed. - This class was created in NH to remove the responsibility of the parser about know the - real return type. - - - - - 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. - - - - 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. - - - - - 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 - - - - - - - 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 - - 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. - - - - - 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 is not zero - A new SqlString 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 of. - 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 with the LIMIT clause applied. - - The LIMIT SQL will look like - - - SELECT - TOP last (columns) - FROM - (SELECT (columns), ROW_NUMBER() OVER(ORDER BY {original order by, with un-aliased column names) as __hibernate_sort_row - {original from}) as query - WHERE query.__hibernate_sort_row > offset - ORDER BY query.__hibernate_sort_row - - - - Note that we need to add 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 - - - - 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. - - - - - 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 - - - - - - - - - - - - - - - - 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. - - - - - - - - - - - - - - - - - - - - - - - - - - - - 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 - - - - - - - - - - - - - - Offset of the first row to process in the result set is non-zero - - - - 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. - - - - This is a subclass of SybaseDialect for sybase 11 databases (specifically tested against 11.9.2). 11.9.2 does not support ANSI JOINs - therefore we have to provide a special join fragment for left/right joins (*= and =* respectively). - - - - - An SQL dialect compatible with Sybase. - - -

- 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 SybaseDialect defaults the following configuration properties: - - - Property - Default Value - - - use_outer_join - - - - connection.driver_class - - - - prepare_sql - - - -
-
- - - - - - Sybase does not support quoted aliases, this function thus returns - aliasName as is. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - This class is basically a port of the hibernate 3.2 Sybase 11 join fragment. It uses concepts from that join fragment and the Oracle join fragment in NHibernate - - - - - Represents a SQL JOIN - - - - - An SQL dialect compatible with Sybase. - - -

- 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 SybaseDialect defaults the following configuration properties: - - - Property - Default Value - - - use_outer_join - - - - connection.driver_class - - - - prepare_sql - - - -
-
- - - - - - Sybase does not support quoted aliases, this function thus returns - aliasName as is. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - An SQL dialect for Sybase Adaptive Server Anywhere 9.0/10.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 SybaseAnywhereDialect defaults the following configuration properties: - - - Property - Default Value - - - use_outer_join - - - - 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 - - - - - 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. - - - - 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 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. - - - - - 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. - - - - - The SybaseClientDriver Driver provides a database driver for Sybase. - - - It has been reported to work with the . - - - - - Initializes a new instance of the class. - - - Thrown when the Sybase.Data.AseClient assembly can not be loaded. - - - - - Sybase.Data.AseClient uses named parameters in the sql. - - - Sybase uses @ in the sql. - - - - - - - Sybase.Data.AseClient use the @ to locate parameters in sql. - - @ is used to locate parameters in sql. - - - - The SybaseClientDriver Driver provides a database driver for Sybase. - - - It has been reported to work with the . - - - - - Initializes a new instance of the class. - - - Thrown when the Sybase.Data.AseClient assembly can not be loaded. - - - - - Sybase.Data.AseClient uses named parameters in the sql. - - - Sybase uses @ in the sql. - - - - - - - Sybase.Data.AseClient use the @ to locate parameters in sql. - - @ is used to locate parameters in sql. - - - - 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. - - - - 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. - - - - - 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 - - - - - - - - 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 - - - - Execute a query - - A query expressed in Hibernate's query language - A distinct list of instances - See for implications of cache usage. - - - - Execute a query, binding a value to a "?" parameter in the query string. - - The query string - A value to be bound to a "?" placeholder - The Hibernate type of the value - A distinct list of instances - See for implications of cache usage. - - - - Execute a query, binding an array of values to a "?" parameters in the query string. - - The query string - An array of values to be bound to the "?" placeholders - An array of Hibernate types of the values - A distinct list of instances - See for implications of cache usage. - - - - Execute a query and return the results in an interator. - - - - If the query has multiple return values, values will be returned in an array of - type object[]. - - - Entities returned as results are initialized on demand. The first SQL query returns - identifiers only. So Enumerator() is usually a less efficient way to retrieve - object than List(). - - - The query string - An enumerator - - - - Execute a query and return the results in an interator, - binding a value to a "?" parameter in the query string. - - - - If the query has multiple return values, values will be returned in an array of - type object[]. - - - Entities returned as results are initialized on demand. The first SQL query returns - identifiers only. So Enumerator() is usually a less efficient way to retrieve - object than List(). - - - The query string - A value to be written to a "?" placeholder in the query string - The hibernate type of the value - An enumerator - - - - Execute a query and return the results in an interator, - binding the values to "?"s parameters in the query string. - - - - If the query has multiple return values, values will be returned in an array of - type object[]. - - - Entities returned as results are initialized on demand. The first SQL query returns - identifiers only. So Enumerator() is usually a less efficient way to retrieve - object than List(). - - - The query string - A list of values to be written to "?" placeholders in the query - A list of hibernate types of the values - An enumerator - - - - Apply a filter to a persistent collection. - - - A filter is a Hibernate query that may refer to this, the collection element. - Filters allow efficient access to very large lazy collections. (Executing the filter - does not initialize the collection.) - - A persistent collection to filter - A filter query string - The resulting collection - - - - Apply a filter to a persistent collection, binding the given parameter to a "?" placeholder - - - A filter is a Hibernate query that may refer to this, the collection element. - Filters allow efficient access to very large lazy collections. (Executing the filter - does not initialize the collection.) - - A persistent collection to filter - A filter query string - A value to be written to a "?" placeholder in the query - The hibernate type of value - A collection - - - - Apply a filter to a persistent collection, binding the given parameters to "?" placeholders. - - - A filter is a Hibernate query that may refer to this, the collection element. - Filters allow efficient access to very large lazy collections. (Executing the filter - does not initialize the collection.) - - A persistent collection to filter - A filter query string - The values to be written to "?" placeholders in the query - The hibernate types of the values - A collection - - - - 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 - - - - 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 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 IQuery for the given SQL string. - - a query expressed in SQL - a table alias that appears inside {} in the SQL string - the returned persistent class - An from the SQL string - - - - Create a new instance of for the given SQL string. - - a query expressed in SQL - an array of table aliases that appear inside {} in the SQL string - the returned persistent classes - An from the SQL string - - - - 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. - - - - of - - - - 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. - - - - - Construct a instance - capable of translating an HQL query string. - - - 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 string to be translated - Currently enabled filters - The session factory - An appropriate translator. - - - - Construct a instance capable of - translating an HQL filter string. - - - 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 string 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 - - - - - 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 particulare 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 Hibernate 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 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. - - 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 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 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. The Hibernate 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 - Hibernate 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 Hibernate 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) - - - - 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" - - - - 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. - - - - Error handling in this case will only kick in if we cannot set values on the TLS - this is usally the case if we are called from the finalizer, since this is something - that we do only for logging, we ignore the error. - - - - - 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 - - - - - - Executes the batch - - - This seems to be returning the total number of affected rows in all queries - - - - - Return the batch command to be executed - - - - - The number of commands batched in this instance - - - - - 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 - - - - - 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. - - - - - - - - - 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 - - - - - 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. - - - - Combines sevaral queries into a single database 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. - - - - - Add the specified HQL query to the multi query. The result will be contained in a - - - - - Add the specified HQL query to the multi query, and associate it with the given key. The result will be contained in a - - - - - - - - Add the specified HQL Query to the multi query, and associate it with the given key. The result will be contained in a - - - - - - - - Add the specified HQL query to the multi query. The result will be contained in a - - - - - Add a named query to the multi query. The result will be contained in a - - - - - Add a named query to the multi query, and associate it with the given key. The result will be contained in a - - - - - - - - Add the specified HQL query to the multi query, and associate it with the given key - - - - - - - - Add the specified HQL query to the multi query - - - - - Add the specified HQL Query to the multi query, and associate it with the given key - - - - - - - - Add the specified HQL query to the multi query - - - - - Add a named query to the multi query - - - - - Add a named query to the multi query, and associate it with the given key - - - - - - - - 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 - - - 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 timeout for the underlying ADO query - - - - - - Bind a value to a named query parameter - - The name of the parameter - The possibly null parameter value - The NHibernate . - - - - 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 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 a named parameter - using an NHibernate . - - The name of the parameter - A non-null instance of a array. - - - - 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 name of the parameter - 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 . - - A non-null instance of a . - The name of the parameter - - - - 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 name of the parameter - A non-null instance of a . - - - - 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 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 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 name of the parameter - 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 name of the parameter - 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 name of the parameter - An 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 name of the parameter - A non-null 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. - - - - - Returns the result of one of the Criteria based on the key - - The key - - - - - 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) - - - - Retrieve a list of persistent objects using a Hibernate query - - - - - - - - - - - - - - - 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. - - - Is the entity considered dirty? - True if the entity is dirty; otherwise false. - - - Is the entity to which we are bound completely initialized? - - - 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 - - - - 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 - - - - - - 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 - - - - - 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. - - - - - - - - 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 used only by dialects that rearrange the query, unfortunately, - the MS SQL 2005 dialect have to re shuffle the query (and ruin positional parameter - support) because the SQL 2005 and 2008 SQL dialects have a completely broken - support for paging, which is just a tad less important than SELECT. - See NH-1528 - - - - - 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 - - - - 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. - - - - 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 - - - - - Implementors define a strategy for transforming criteria query - results into the actual application-visible query result list. - - - - - - - - - - - - - - - - - - - - - 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. - - - - - 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. - - - - - 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 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Summary description for CompositeCustomType. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 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 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 - - - - - - - - - - - - - - Maps a Property to a - - - - - - - - Maps the Year, Month, and Day of a Property to a - column - - - - - - - - - - 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. - - - - 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 - - - - Determine if any of the given field values are dirty, - returning an array containing indexes of - the dirty fields or null if no fields are dirty. - - - - - Determine if any of the given field values are modified, - returning an array containing indexes of - the dirty fields or null if no fields are modified. - - - - - - - - - - - - - - Apply the {@link Type#disassemble} 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. - - - - - 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. - - - - - - - - - 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. - - - - 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. - - - - - 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 . - - - - - Try to find a method in a serie of given types. - - The serie of types where find. - 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 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 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/NHibernate21/net/4.0/log4net.dll b/lib/NHibernate21/net/4.0/log4net.dll deleted file mode 100644 index ffc57e11..00000000 Binary files a/lib/NHibernate21/net/4.0/log4net.dll and /dev/null differ diff --git a/lib/NHibernate21/net/4.0/log4net.license.txt b/lib/NHibernate21/net/4.0/log4net.license.txt deleted file mode 100644 index 29f81d81..00000000 --- a/lib/NHibernate21/net/4.0/log4net.license.txt +++ /dev/null @@ -1,201 +0,0 @@ - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. diff --git a/lib/NHibernate21/net/4.0/log4net.xml b/lib/NHibernate21/net/4.0/log4net.xml deleted file mode 100644 index fab7af26..00000000 --- a/lib/NHibernate21/net/4.0/log4net.xml +++ /dev/null @@ -1,28655 +0,0 @@ - - - - log4net - - - - - Appender that logs to a database. - - - - appends logging events to a table within a - database. The appender can be configured to specify the connection - string by setting the property. - The connection type (provider) can be specified by setting the - property. For more information on database connection strings for - your specific database see http://www.connectionstrings.com/. - - - Records are written into the database either using a prepared - statement or a stored procedure. The property - is set to (System.Data.CommandType.Text) to specify a prepared statement - or to (System.Data.CommandType.StoredProcedure) to specify a stored - procedure. - - - The prepared statement text or the name of the stored procedure - must be set in the property. - - - The prepared statement or stored procedure can take a number - of parameters. Parameters are added using the - method. This adds a single to the - ordered list of parameters. The - type may be subclassed if required to provide database specific - functionality. The specifies - the parameter name, database type, size, and how the value should - be generated using a . - - - - An example of a SQL Server table that could be logged to: - - CREATE TABLE [dbo].[Log] ( - [ID] [int] IDENTITY (1, 1) NOT NULL , - [Date] [datetime] NOT NULL , - [Thread] [varchar] (255) NOT NULL , - [Level] [varchar] (20) NOT NULL , - [Logger] [varchar] (255) NOT NULL , - [Message] [varchar] (4000) NOT NULL - ) ON [PRIMARY] - - - - An example configuration to log to the above table: - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Julian Biddle - Nicko Cadell - Gert Driesen - Lance Nehring - - - - Abstract base class implementation of that - buffers events in a fixed size buffer. - - - - This base class should be used by appenders that need to buffer a - number of events before logging them. For example the - buffers events and then submits the entire contents of the buffer to - the underlying database in one go. - - - Subclasses should override the - method to deliver the buffered events. - - The BufferingAppenderSkeleton maintains a fixed size cyclic - buffer of events. The size of the buffer is set using - the property. - - A is used to inspect - each event as it arrives in the appender. If the - triggers, then the current buffer is sent immediately - (see ). Otherwise the event - is stored in the buffer. For example, an evaluator can be used to - deliver the events immediately when an ERROR event arrives. - - - The buffering appender can be configured in a mode. - By default the appender is NOT lossy. When the buffer is full all - the buffered events are sent with . - If the property is set to true then the - buffer will not be sent when it is full, and new events arriving - in the appender will overwrite the oldest event in the buffer. - In lossy mode the buffer will only be sent when the - triggers. This can be useful behavior when you need to know about - ERROR events but not about events with a lower level, configure an - evaluator that will trigger when an ERROR event arrives, the whole - buffer will be sent which gives a history of events leading up to - the ERROR event. - - - Nicko Cadell - Gert Driesen - - - - Abstract base class implementation of . - - - - This class provides the code for common functionality, such - as support for threshold filtering and support for general filters. - - - Appenders can also implement the interface. Therefore - they would require that the method - be called after the appenders properties have been configured. - - - Nicko Cadell - Gert Driesen - - - - Implement this interface for your own strategies for printing log statements. - - - - Implementors should consider extending the - class which provides a default implementation of this interface. - - - Appenders can also implement the interface. Therefore - they would require that the method - be called after the appenders properties have been configured. - - - Nicko Cadell - Gert Driesen - - - - Closes the appender and releases resources. - - - - Releases any resources allocated within the appender such as file handles, - network connections, etc. - - - It is a programming error to append to a closed appender. - - - - - - Log the logging event in Appender specific way. - - The event to log - - - This method is called to log a message into this appender. - - - - - - Gets or sets the name of this appender. - - The name of the appender. - - The name uniquely identifies the appender. - - - - - Interface for appenders that support bulk logging. - - - - This interface extends the interface to - support bulk logging of objects. Appenders - should only implement this interface if they can bulk log efficiently. - - - Nicko Cadell - - - - Log the array of logging events in Appender specific way. - - The events to log - - - This method is called to log an array of events into this appender. - - - - - - Interface used to delay activate a configured object. - - - - This allows an object to defer activation of its options until all - options have been set. This is required for components which have - related options that remain ambiguous until all are set. - - - If a component implements this interface then the method - must be called by the container after its all the configured properties have been set - and before the component can be used. - - - Nicko Cadell - - - - Activate the options that were previously set with calls to properties. - - - - This allows an object to defer activation of its options until all - options have been set. This is required for components which have - related options that remain ambiguous until all are set. - - - If a component implements this interface then this method must be called - after its properties have been set before the component can be used. - - - - - - Initial buffer size - - - - - Maximum buffer size before it is recycled - - - - - Default constructor - - - Empty default constructor - - - - - Finalizes this appender by calling the implementation's - method. - - - - If this appender has not been closed then the Finalize method - will call . - - - - - - Initialize the appender based on the options set - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - - - - Closes the appender and release resources. - - - - Release any resources allocated within the appender such as file handles, - network connections, etc. - - - It is a programming error to append to a closed appender. - - - This method cannot be overridden by subclasses. This method - delegates the closing of the appender to the - method which must be overridden in the subclass. - - - - - - Performs threshold checks and invokes filters before - delegating actual logging to the subclasses specific - method. - - The event to log. - - - This method cannot be overridden by derived classes. A - derived class should override the method - which is called by this method. - - - The implementation of this method is as follows: - - - - - - Checks that the severity of the - is greater than or equal to the of this - appender. - - - - Checks that the chain accepts the - . - - - - - Calls and checks that - it returns true. - - - - - If all of the above steps succeed then the - will be passed to the abstract method. - - - - - - Performs threshold checks and invokes filters before - delegating actual logging to the subclasses specific - method. - - The array of events to log. - - - This method cannot be overridden by derived classes. A - derived class should override the method - which is called by this method. - - - The implementation of this method is as follows: - - - - - - Checks that the severity of the - is greater than or equal to the of this - appender. - - - - Checks that the chain accepts the - . - - - - - Calls and checks that - it returns true. - - - - - If all of the above steps succeed then the - will be passed to the method. - - - - - - Test if the logging event should we output by this appender - - the event to test - true if the event should be output, false if the event should be ignored - - - This method checks the logging event against the threshold level set - on this appender and also against the filters specified on this - appender. - - - The implementation of this method is as follows: - - - - - - Checks that the severity of the - is greater than or equal to the of this - appender. - - - - Checks that the chain accepts the - . - - - - - - - - - Adds a filter to the end of the filter chain. - - the filter to add to this appender - - - The Filters are organized in a linked list. - - - Setting this property causes the new filter to be pushed onto the - back of the filter chain. - - - - - - Clears the filter list for this appender. - - - - Clears the filter list for this appender. - - - - - - Checks if the message level is below this appender's threshold. - - to test against. - - - If there is no threshold set, then the return value is always true. - - - - true if the meets the - requirements of this appender. - - - - - Is called when the appender is closed. Derived classes should override - this method if resources need to be released. - - - - Releases any resources allocated within the appender such as file handles, - network connections, etc. - - - It is a programming error to append to a closed appender. - - - - - - Subclasses of should implement this method - to perform actual logging. - - The event to append. - - - A subclass must implement this method to perform - logging of the . - - This method will be called by - if all the conditions listed for that method are met. - - - To restrict the logging of events in the appender - override the method. - - - - - - Append a bulk array of logging events. - - the array of logging events - - - This base class implementation calls the - method for each element in the bulk array. - - - A sub class that can better process a bulk array of events should - override this method in addition to . - - - - - - Called before as a precondition. - - - - This method is called by - before the call to the abstract method. - - - This method can be overridden in a subclass to extend the checks - made before the event is passed to the method. - - - A subclass should ensure that they delegate this call to - this base class if it is overridden. - - - true if the call to should proceed. - - - - Renders the to a string. - - The event to render. - The event rendered as a string. - - - Helper method to render a to - a string. This appender must have a - set to render the to - a string. - - If there is exception data in the logging event and - the layout does not process the exception, this method - will append the exception text to the rendered string. - - - Where possible use the alternative version of this method - . - That method streams the rendering onto an existing Writer - which can give better performance if the caller already has - a open and ready for writing. - - - - - - Renders the to a string. - - The event to render. - The TextWriter to write the formatted event to - - - Helper method to render a to - a string. This appender must have a - set to render the to - a string. - - If there is exception data in the logging event and - the layout does not process the exception, this method - will append the exception text to the rendered string. - - - Use this method in preference to - where possible. If, however, the caller needs to render the event - to a string then does - provide an efficient mechanism for doing so. - - - - - - The layout of this appender. - - - See for more information. - - - - - The name of this appender. - - - See for more information. - - - - - The level threshold of this appender. - - - - There is no level threshold filtering by default. - - - See for more information. - - - - - - It is assumed and enforced that errorHandler is never null. - - - - It is assumed and enforced that errorHandler is never null. - - - See for more information. - - - - - - The first filter in the filter chain. - - - - Set to null initially. - - - See for more information. - - - - - - The last filter in the filter chain. - - - See for more information. - - - - - Flag indicating if this appender is closed. - - - See for more information. - - - - - The guard prevents an appender from repeatedly calling its own DoAppend method - - - - - StringWriter used to render events - - - - - Gets or sets the threshold of this appender. - - - The threshold of the appender. - - - - All log events with lower level than the threshold level are ignored - by the appender. - - - In configuration files this option is specified by setting the - value of the option to a level - string, such as "DEBUG", "INFO" and so on. - - - - - - Gets or sets the for this appender. - - The of the appender - - - The provides a default - implementation for the property. - - - - - - The filter chain. - - The head of the filter chain filter chain. - - - Returns the head Filter. The Filters are organized in a linked list - and so all Filters on this Appender are available through the result. - - - - - - Gets or sets the for this appender. - - The layout of the appender. - - - See for more information. - - - - - - - Gets or sets the name of this appender. - - The name of the appender. - - - The name uniquely identifies the appender. - - - - - - Tests if this appender requires a to be set. - - - - In the rather exceptional case, where the appender - implementation admits a layout but can also work without it, - then the appender should return true. - - - This default implementation always returns true. - - - - true if the appender requires a layout object, otherwise false. - - - - - The default buffer size. - - - The default size of the cyclic buffer used to store events. - This is set to 512 by default. - - - - - Initializes a new instance of the class. - - - - Protected default constructor to allow subclassing. - - - - - - Initializes a new instance of the class. - - the events passed through this appender must be - fixed by the time that they arrive in the derived class' SendBuffer method. - - - Protected constructor to allow subclassing. - - - The should be set if the subclass - expects the events delivered to be fixed even if the - is set to zero, i.e. when no buffering occurs. - - - - - - Flush the currently buffered events - - - - Flushes any events that have been buffered. - - - If the appender is buffering in mode then the contents - of the buffer will NOT be flushed to the appender. - - - - - - Flush the currently buffered events - - set to true to flush the buffer of lossy events - - - Flushes events that have been buffered. If is - false then events will only be flushed if this buffer is non-lossy mode. - - - If the appender is buffering in mode then the contents - of the buffer will only be flushed if is true. - In this case the contents of the buffer will be tested against the - and if triggering will be output. All other buffered - events will be discarded. - - - If is true then the buffer will always - be emptied by calling this method. - - - - - - Initialize the appender based on the options set - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - - - - Close this appender instance. - - - - Close this appender instance. If this appender is marked - as not then the remaining events in - the buffer must be sent when the appender is closed. - - - - - - This method is called by the method. - - the event to log - - - Stores the in the cyclic buffer. - - - The buffer will be sent (i.e. passed to the - method) if one of the following conditions is met: - - - - The cyclic buffer is full and this appender is - marked as not lossy (see ) - - - An is set and - it is triggered for the - specified. - - - - Before the event is stored in the buffer it is fixed - (see ) to ensure that - any data referenced by the event will be valid when the buffer - is processed. - - - - - - Sends the contents of the buffer. - - The first logging event. - The buffer containing the events that need to be send. - - - The subclass must override . - - - - - - Sends the events. - - The events that need to be send. - - - The subclass must override this method to process the buffered events. - - - - - - The size of the cyclic buffer used to hold the logging events. - - - Set to by default. - - - - - The cyclic buffer used to store the logging events. - - - - - The triggering event evaluator that causes the buffer to be sent immediately. - - - The object that is used to determine if an event causes the entire - buffer to be sent immediately. This field can be null, which - indicates that event triggering is not to be done. The evaluator - can be set using the property. If this appender - has the ( property) set to - true then an must be set. - - - - - Indicates if the appender should overwrite events in the cyclic buffer - when it becomes full, or if the buffer should be flushed when the - buffer is full. - - - If this field is set to true then an must - be set. - - - - - The triggering event evaluator filters discarded events. - - - The object that is used to determine if an event that is discarded should - really be discarded or if it should be sent to the appenders. - This field can be null, which indicates that all discarded events will - be discarded. - - - - - Value indicating which fields in the event should be fixed - - - By default all fields are fixed - - - - - The events delivered to the subclass must be fixed. - - - - - Gets or sets a value that indicates whether the appender is lossy. - - - true if the appender is lossy, otherwise false. The default is false. - - - - This appender uses a buffer to store logging events before - delivering them. A triggering event causes the whole buffer - to be send to the remote sink. If the buffer overruns before - a triggering event then logging events could be lost. Set - to false to prevent logging events - from being lost. - - If is set to true then an - must be specified. - - - - - Gets or sets the size of the cyclic buffer used to hold the - logging events. - - - The size of the cyclic buffer used to hold the logging events. - - - - The option takes a positive integer - representing the maximum number of logging events to collect in - a cyclic buffer. When the is reached, - oldest events are deleted as new events are added to the - buffer. By default the size of the cyclic buffer is 512 events. - - - If the is set to a value less than - or equal to 1 then no buffering will occur. The logging event - will be delivered synchronously (depending on the - and properties). Otherwise the event will - be buffered. - - - - - - Gets or sets the that causes the - buffer to be sent immediately. - - - The that causes the buffer to be - sent immediately. - - - - The evaluator will be called for each event that is appended to this - appender. If the evaluator triggers then the current buffer will - immediately be sent (see ). - - If is set to true then an - must be specified. - - - - - Gets or sets the value of the to use. - - - The value of the to use. - - - - The evaluator will be called for each event that is discarded from this - appender. If the evaluator triggers then the current buffer will immediately - be sent (see ). - - - - - - Gets or sets a value indicating if only part of the logging event data - should be fixed. - - - true if the appender should only fix part of the logging event - data, otherwise false. The default is false. - - - - Setting this property to true will cause only part of the - event data to be fixed and serialized. This will improve performance. - - - See for more information. - - - - - - Gets or sets a the fields that will be fixed in the event - - - The event fields that will be fixed before the event is buffered - - - - The logging event needs to have certain thread specific values - captured before it can be buffered. See - for details. - - - - - - - Initializes a new instance of the class. - - - Public default constructor to initialize a new instance of this class. - - - - - Initialize the appender based on the options set - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - - - - Override the parent method to close the database - - - - Closes the database command and database connection. - - - - - - Inserts the events into the database. - - The events to insert into the database. - - - Insert all the events specified in the - array into the database. - - - - - - Adds a parameter to the command. - - The parameter to add to the command. - - - Adds a parameter to the ordered list of command parameters. - - - - - - Writes the events to the database using the transaction specified. - - The transaction that the events will be executed under. - The array of events to insert into the database. - - - The transaction argument can be null if the appender has been - configured not to use transactions. See - property for more information. - - - - - - Formats the log message into database statement text. - - The event being logged. - - This method can be overridden by subclasses to provide - more control over the format of the database statement. - - - Text that can be passed to a . - - - - - Connects to the database. - - - - - Retrieves the class type of the ADO.NET provider. - - - - Gets the Type of the ADO.NET provider to use to connect to the - database. This method resolves the type specified in the - property. - - - Subclasses can override this method to return a different type - if necessary. - - - The of the ADO.NET provider - - - - Prepares the database command and initialize the parameters. - - - - - Flag to indicate if we are using a command object - - - - Set to true when the appender is to use a prepared - statement or stored procedure to insert into the database. - - - - - - The list of objects. - - - - The list of objects. - - - - - - The security context to use for privileged calls - - - - - The that will be used - to insert logging events into a database. - - - - - The database command. - - - - - Database connection string. - - - - - String type name of the type name. - - - - - The text of the command. - - - - - The command type. - - - - - Indicates whether to use transactions when writing to the database. - - - - - Indicates whether to use transactions when writing to the database. - - - - - Gets or sets the database connection string that is used to connect to - the database. - - - The database connection string used to connect to the database. - - - - The connections string is specific to the connection type. - See for more information. - - - Connection string for MS Access via ODBC: - "DSN=MS Access Database;UID=admin;PWD=;SystemDB=C:\data\System.mdw;SafeTransactions = 0;FIL=MS Access;DriverID = 25;DBQ=C:\data\train33.mdb" - - Another connection string for MS Access via ODBC: - "Driver={Microsoft Access Driver (*.mdb)};DBQ=C:\Work\cvs_root\log4net-1.2\access.mdb;UID=;PWD=;" - - Connection string for MS Access via OLE DB: - "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Work\cvs_root\log4net-1.2\access.mdb;User Id=;Password=;" - - - - - Gets or sets the type name of the connection - that should be created. - - - The type name of the connection. - - - - The type name of the ADO.NET provider to use. - - - The default is to use the OLE DB provider. - - - Use the OLE DB Provider. This is the default value. - System.Data.OleDb.OleDbConnection, System.Data, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - Use the MS SQL Server Provider. - System.Data.SqlClient.SqlConnection, System.Data, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - Use the ODBC Provider. - Microsoft.Data.Odbc.OdbcConnection,Microsoft.Data.Odbc,version=1.0.3300.0,publicKeyToken=b77a5c561934e089,culture=neutral - This is an optional package that you can download from - http://msdn.microsoft.com/downloads - search for ODBC .NET Data Provider. - - Use the Oracle Provider. - System.Data.OracleClient.OracleConnection, System.Data.OracleClient, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - This is an optional package that you can download from - http://msdn.microsoft.com/downloads - search for .NET Managed Provider for Oracle. - - - - - Gets or sets the command text that is used to insert logging events - into the database. - - - The command text used to insert logging events into the database. - - - - Either the text of the prepared statement or the - name of the stored procedure to execute to write into - the database. - - - The property determines if - this text is a prepared statement or a stored procedure. - - - - - - Gets or sets the command type to execute. - - - The command type to execute. - - - - This value may be either (System.Data.CommandType.Text) to specify - that the is a prepared statement to execute, - or (System.Data.CommandType.StoredProcedure) to specify that the - property is the name of a stored procedure - to execute. - - - The default value is (System.Data.CommandType.Text). - - - - - - Should transactions be used to insert logging events in the database. - - - true if transactions should be used to insert logging events in - the database, otherwise false. The default value is true. - - - - Gets or sets a value that indicates whether transactions should be used - to insert logging events in the database. - - - When set a single transaction will be used to insert the buffered events - into the database. Otherwise each event will be inserted without using - an explicit transaction. - - - - - - Gets or sets the used to call the NetSend method. - - - The used to call the NetSend method. - - - - Unless a specified here for this appender - the is queried for the - security context to use. The default behavior is to use the security context - of the current thread. - - - - - - Should this appender try to reconnect to the database on error. - - - true if the appender should try to reconnect to the database after an - error has occurred, otherwise false. The default value is false, - i.e. not to try to reconnect. - - - - The default behaviour is for the appender not to try to reconnect to the - database if an error occurs. Subsequent logging events are discarded. - - - To force the appender to attempt to reconnect to the database set this - property to true. - - - When the appender attempts to connect to the database there may be a - delay of up to the connection timeout specified in the connection string. - This delay will block the calling application's thread. - Until the connection can be reestablished this potential delay may occur multiple times. - - - - - - Gets or sets the underlying . - - - The underlying . - - - creates a to insert - logging events into a database. Classes deriving from - can use this property to get or set this . Use the - underlying returned from if - you require access beyond that which provides. - - - - - Parameter type used by the . - - - - This class provides the basic database parameter properties - as defined by the interface. - - This type can be subclassed to provide database specific - functionality. The two methods that are called externally are - and . - - - - - - Initializes a new instance of the class. - - - Default constructor for the AdoNetAppenderParameter class. - - - - - Prepare the specified database command object. - - The command to prepare. - - - Prepares the database command object by adding - this parameter to its collection of parameters. - - - - - - Renders the logging event and set the parameter value in the command. - - The command containing the parameter. - The event to be rendered. - - - Renders the logging event using this parameters layout - object. Sets the value of the parameter on the command object. - - - - - - The name of this parameter. - - - - - The database type for this parameter. - - - - - Flag to infer type rather than use the DbType - - - - - The precision for this parameter. - - - - - The scale for this parameter. - - - - - The size for this parameter. - - - - - The to use to render the - logging event into an object for this parameter. - - - - - Gets or sets the name of this parameter. - - - The name of this parameter. - - - - The name of this parameter. The parameter name - must match up to a named parameter to the SQL stored procedure - or prepared statement. - - - - - - Gets or sets the database type for this parameter. - - - The database type for this parameter. - - - - The database type for this parameter. This property should - be set to the database type from the - enumeration. See . - - - This property is optional. If not specified the ADO.NET provider - will attempt to infer the type from the value. - - - - - - - Gets or sets the precision for this parameter. - - - The precision for this parameter. - - - - The maximum number of digits used to represent the Value. - - - This property is optional. If not specified the ADO.NET provider - will attempt to infer the precision from the value. - - - - - - - Gets or sets the scale for this parameter. - - - The scale for this parameter. - - - - The number of decimal places to which Value is resolved. - - - This property is optional. If not specified the ADO.NET provider - will attempt to infer the scale from the value. - - - - - - - Gets or sets the size for this parameter. - - - The size for this parameter. - - - - The maximum size, in bytes, of the data within the column. - - - This property is optional. If not specified the ADO.NET provider - will attempt to infer the size from the value. - - - - - - - Gets or sets the to use to - render the logging event into an object for this - parameter. - - - The used to render the - logging event into an object for this parameter. - - - - The that renders the value for this - parameter. - - - The can be used to adapt - any into a - for use in the property. - - - - - - Appends logging events to the terminal using ANSI color escape sequences. - - - - AnsiColorTerminalAppender appends log events to the standard output stream - or the error output stream using a layout specified by the - user. It also allows the color of a specific level of message to be set. - - - This appender expects the terminal to understand the VT100 control set - in order to interpret the color codes. If the terminal or console does not - understand the control codes the behavior is not defined. - - - By default, all output is written to the console's standard output stream. - The property can be set to direct the output to the - error stream. - - - NOTE: This appender writes each message to the System.Console.Out or - System.Console.Error that is set at the time the event is appended. - Therefore it is possible to programmatically redirect the output of this appender - (for example NUnit does this to capture program output). While this is the desired - behavior of this appender it may have security implications in your application. - - - When configuring the ANSI colored terminal appender, a mapping should be - specified to map a logging level to a color. For example: - - - - - - - - - - - - - - - The Level is the standard log4net logging level and ForeColor and BackColor can be any - of the following values: - - Blue - Green - Red - White - Yellow - Purple - Cyan - - These color values cannot be combined together to make new colors. - - - The attributes can be any combination of the following: - - Brightforeground is brighter - Dimforeground is dimmer - Underscoremessage is underlined - Blinkforeground is blinking (does not work on all terminals) - Reverseforeground and background are reversed - Hiddenoutput is hidden - Strikethroughmessage has a line through it - - While any of these attributes may be combined together not all combinations - work well together, for example setting both Bright and Dim attributes makes - no sense. - - - Patrick Wagstrom - Nicko Cadell - - - - The to use when writing to the Console - standard output stream. - - - - The to use when writing to the Console - standard output stream. - - - - - - The to use when writing to the Console - standard error output stream. - - - - The to use when writing to the Console - standard error output stream. - - - - - - Ansi code to reset terminal - - - - - Initializes a new instance of the class. - - - The instance of the class is set up to write - to the standard output stream. - - - - - Add a mapping of level to color - - The mapping to add - - - Add a mapping to this appender. - Each mapping defines the foreground and background colours - for a level. - - - - - - This method is called by the method. - - The event to log. - - - Writes the event to the console. - - - The format of the output will depend on the appender's layout. - - - - - - Initialize the options for this appender - - - - Initialize the level to color mappings set on this appender. - - - - - - Flag to write output to the error stream rather than the standard output stream - - - - - Mapping from level object to color value - - - - - Target is the value of the console output stream. - - - Target is the value of the console output stream. - This is either "Console.Out" or "Console.Error". - - - - Target is the value of the console output stream. - This is either "Console.Out" or "Console.Error". - - - - - - This appender requires a to be set. - - true - - - This appender requires a to be set. - - - - - - The enum of possible display attributes - - - - The following flags can be combined together to - form the ANSI color attributes. - - - - - - - text is bright - - - - - text is dim - - - - - text is underlined - - - - - text is blinking - - - Not all terminals support this attribute - - - - - text and background colors are reversed - - - - - text is hidden - - - - - text is displayed with a strikethrough - - - - - The enum of possible foreground or background color values for - use with the color mapping method - - - - The output can be in one for the following ANSI colors. - - - - - - - color is black - - - - - color is red - - - - - color is green - - - - - color is yellow - - - - - color is blue - - - - - color is magenta - - - - - color is cyan - - - - - color is white - - - - - A class to act as a mapping between the level that a logging call is made at and - the color it should be displayed as. - - - - Defines the mapping between a level and the color it should be displayed in. - - - - - - An entry in the - - - - This is an abstract base class for types that are stored in the - object. - - - Nicko Cadell - - - - Default protected constructor - - - - Default protected constructor - - - - - - Initialize any options defined on this entry - - - - Should be overridden by any classes that need to initialise based on their options - - - - - - The level that is the key for this mapping - - - The that is the key for this mapping - - - - Get or set the that is the key for this - mapping subclass. - - - - - - Initialize the options for the object - - - - Combine the and together - and append the attributes. - - - - - - The mapped foreground color for the specified level - - - - Required property. - The mapped foreground color for the specified level - - - - - - The mapped background color for the specified level - - - - Required property. - The mapped background color for the specified level - - - - - - The color attributes for the specified level - - - - Required property. - The color attributes for the specified level - - - - - - The combined , and - suitable for setting the ansi terminal color. - - - - - A strongly-typed collection of objects. - - Nicko Cadell - - - - Creates a read-only wrapper for a AppenderCollection instance. - - list to create a readonly wrapper arround - - An AppenderCollection wrapper that is read-only. - - - - - An empty readonly static AppenderCollection - - - - - Initializes a new instance of the AppenderCollection class - that is empty and has the default initial capacity. - - - - - Initializes a new instance of the AppenderCollection class - that has the specified initial capacity. - - - The number of elements that the new AppenderCollection is initially capable of storing. - - - - - Initializes a new instance of the AppenderCollection class - that contains elements copied from the specified AppenderCollection. - - The AppenderCollection whose elements are copied to the new collection. - - - - Initializes a new instance of the AppenderCollection class - that contains elements copied from the specified array. - - The array whose elements are copied to the new list. - - - - Initializes a new instance of the AppenderCollection class - that contains elements copied from the specified collection. - - The collection whose elements are copied to the new list. - - - - Allow subclasses to avoid our default constructors - - - - - - - Copies the entire AppenderCollection to a one-dimensional - array. - - The one-dimensional array to copy to. - - - - Copies the entire AppenderCollection to a one-dimensional - array, starting at the specified index of the target array. - - The one-dimensional array to copy to. - The zero-based index in at which copying begins. - - - - Adds a to the end of the AppenderCollection. - - The to be added to the end of the AppenderCollection. - The index at which the value has been added. - - - - Removes all elements from the AppenderCollection. - - - - - Creates a shallow copy of the . - - A new with a shallow copy of the collection data. - - - - Determines whether a given is in the AppenderCollection. - - The to check for. - true if is found in the AppenderCollection; otherwise, false. - - - - Returns the zero-based index of the first occurrence of a - in the AppenderCollection. - - The to locate in the AppenderCollection. - - The zero-based index of the first occurrence of - in the entire AppenderCollection, if found; otherwise, -1. - - - - - Inserts an element into the AppenderCollection at the specified index. - - The zero-based index at which should be inserted. - The to insert. - - is less than zero - -or- - is equal to or greater than . - - - - - Removes the first occurrence of a specific from the AppenderCollection. - - The to remove from the AppenderCollection. - - The specified was not found in the AppenderCollection. - - - - - Removes the element at the specified index of the AppenderCollection. - - The zero-based index of the element to remove. - - is less than zero - -or- - is equal to or greater than . - - - - - Returns an enumerator that can iterate through the AppenderCollection. - - An for the entire AppenderCollection. - - - - Adds the elements of another AppenderCollection to the current AppenderCollection. - - The AppenderCollection whose elements should be added to the end of the current AppenderCollection. - The new of the AppenderCollection. - - - - Adds the elements of a array to the current AppenderCollection. - - The array whose elements should be added to the end of the AppenderCollection. - The new of the AppenderCollection. - - - - Adds the elements of a collection to the current AppenderCollection. - - The collection whose elements should be added to the end of the AppenderCollection. - The new of the AppenderCollection. - - - - Sets the capacity to the actual number of elements. - - - - - Return the collection elements as an array - - the array - - - - is less than zero - -or- - is equal to or greater than . - - - - - is less than zero - -or- - is equal to or greater than . - - - - - Gets the number of elements actually contained in the AppenderCollection. - - - - - Gets a value indicating whether access to the collection is synchronized (thread-safe). - - true if access to the ICollection is synchronized (thread-safe); otherwise, false. - - - - Gets an object that can be used to synchronize access to the collection. - - - - - Gets or sets the at the specified index. - - The zero-based index of the element to get or set. - - is less than zero - -or- - is equal to or greater than . - - - - - Gets a value indicating whether the collection has a fixed size. - - true if the collection has a fixed size; otherwise, false. The default is false - - - - Gets a value indicating whether the IList is read-only. - - true if the collection is read-only; otherwise, false. The default is false - - - - Gets or sets the number of elements the AppenderCollection can contain. - - - - - Supports type-safe iteration over a . - - - - - - Advances the enumerator to the next element in the collection. - - - true if the enumerator was successfully advanced to the next element; - false if the enumerator has passed the end of the collection. - - - The collection was modified after the enumerator was created. - - - - - Sets the enumerator to its initial position, before the first element in the collection. - - - - - Gets the current element in the collection. - - - - - Type visible only to our subclasses - Used to access protected constructor - - - - - - A value - - - - - Supports simple iteration over a . - - - - - - Initializes a new instance of the Enumerator class. - - - - - - Advances the enumerator to the next element in the collection. - - - true if the enumerator was successfully advanced to the next element; - false if the enumerator has passed the end of the collection. - - - The collection was modified after the enumerator was created. - - - - - Sets the enumerator to its initial position, before the first element in the collection. - - - - - Gets the current element in the collection. - - - - - - - - - Appends log events to the ASP.NET system. - - - - - Diagnostic information and tracing messages that you specify are appended to the output - of the page that is sent to the requesting browser. Optionally, you can view this information - from a separate trace viewer (Trace.axd) that displays trace information for every page in a - given application. - - - Trace statements are processed and displayed only when tracing is enabled. You can control - whether tracing is displayed to a page, to the trace viewer, or both. - - - The logging event is passed to the or - method depending on the level of the logging event. - - - Nicko Cadell - Gert Driesen - - - - Initializes a new instance of the class. - - - - Default constructor. - - - - - - Write the logging event to the ASP.NET trace - - the event to log - - - Write the logging event to the ASP.NET trace - HttpContext.Current.Trace - (). - - - - - - This appender requires a to be set. - - true - - - This appender requires a to be set. - - - - - - Buffers events and then forwards them to attached appenders. - - - - The events are buffered in this appender until conditions are - met to allow the appender to deliver the events to the attached - appenders. See for the - conditions that cause the buffer to be sent. - - The forwarding appender can be used to specify different - thresholds and filters for the same appender at different locations - within the hierarchy. - - - Nicko Cadell - Gert Driesen - - - - Interface for attaching appenders to objects. - - - - Interface for attaching, removing and retrieving appenders. - - - Nicko Cadell - Gert Driesen - - - - Attaches an appender. - - The appender to add. - - - Add the specified appender. The implementation may - choose to allow or deny duplicate appenders. - - - - - - Gets an attached appender with the specified name. - - The name of the appender to get. - - The appender with the name specified, or null if no appender with the - specified name is found. - - - - Returns an attached appender with the specified. - If no appender with the specified name is found null will be - returned. - - - - - - Removes all attached appenders. - - - - Removes and closes all attached appenders - - - - - - Removes the specified appender from the list of attached appenders. - - The appender to remove. - The appender removed from the list - - - The appender removed is not closed. - If you are discarding the appender you must call - on the appender removed. - - - - - - Removes the appender with the specified name from the list of appenders. - - The name of the appender to remove. - The appender removed from the list - - - The appender removed is not closed. - If you are discarding the appender you must call - on the appender removed. - - - - - - Gets all attached appenders. - - - A collection of attached appenders. - - - - Gets a collection of attached appenders. - If there are no attached appenders the - implementation should return an empty - collection rather than null. - - - - - - Initializes a new instance of the class. - - - - Default constructor. - - - - - - Closes the appender and releases resources. - - - - Releases any resources allocated within the appender such as file handles, - network connections, etc. - - - It is a programming error to append to a closed appender. - - - - - - Send the events. - - The events that need to be send. - - - Forwards the events to the attached appenders. - - - - - - Adds an to the list of appenders of this - instance. - - The to add to this appender. - - - If the specified is already in the list of - appenders, then it won't be added again. - - - - - - Looks for the appender with the specified name. - - The name of the appender to lookup. - - The appender with the specified name, or null. - - - - Get the named appender attached to this buffering appender. - - - - - - Removes all previously added appenders from this appender. - - - - This is useful when re-reading configuration information. - - - - - - Removes the specified appender from the list of appenders. - - The appender to remove. - The appender removed from the list - - The appender removed is not closed. - If you are discarding the appender you must call - on the appender removed. - - - - - Removes the appender with the specified name from the list of appenders. - - The name of the appender to remove. - The appender removed from the list - - The appender removed is not closed. - If you are discarding the appender you must call - on the appender removed. - - - - - Implementation of the interface - - - - - Gets the appenders contained in this appender as an - . - - - If no appenders can be found, then an - is returned. - - - A collection of the appenders in this appender. - - - - - Appends logging events to the console. - - - - ColoredConsoleAppender appends log events to the standard output stream - or the error output stream using a layout specified by the - user. It also allows the color of a specific type of message to be set. - - - By default, all output is written to the console's standard output stream. - The property can be set to direct the output to the - error stream. - - - NOTE: This appender writes directly to the application's attached console - not to the System.Console.Out or System.Console.Error TextWriter. - The System.Console.Out and System.Console.Error streams can be - programmatically redirected (for example NUnit does this to capture program output). - This appender will ignore these redirections because it needs to use Win32 - API calls to colorize the output. To respect these redirections the - must be used. - - - When configuring the colored console appender, mapping should be - specified to map a logging level to a color. For example: - - - - - - - - - - - - - - The Level is the standard log4net logging level and ForeColor and BackColor can be any - combination of the following values: - - Blue - Green - Red - White - Yellow - Purple - Cyan - HighIntensity - - - - Rick Hobbs - Nicko Cadell - - - - The to use when writing to the Console - standard output stream. - - - - The to use when writing to the Console - standard output stream. - - - - - - The to use when writing to the Console - standard error output stream. - - - - The to use when writing to the Console - standard error output stream. - - - - - - Initializes a new instance of the class. - - - The instance of the class is set up to write - to the standard output stream. - - - - - Initializes a new instance of the class - with the specified layout. - - the layout to use for this appender - - The instance of the class is set up to write - to the standard output stream. - - - - - Initializes a new instance of the class - with the specified layout. - - the layout to use for this appender - flag set to true to write to the console error stream - - When is set to true, output is written to - the standard error output stream. Otherwise, output is written to the standard - output stream. - - - - - Add a mapping of level to color - done by the config file - - The mapping to add - - - Add a mapping to this appender. - Each mapping defines the foreground and background colors - for a level. - - - - - - This method is called by the method. - - The event to log. - - - Writes the event to the console. - - - The format of the output will depend on the appender's layout. - - - - - - Initialize the options for this appender - - - - Initialize the level to color mappings set on this appender. - - - - - - Flag to write output to the error stream rather than the standard output stream - - - - - Mapping from level object to color value - - - - - The console output stream writer to write to - - - - This writer is not thread safe. - - - - - - Target is the value of the console output stream. - This is either "Console.Out" or "Console.Error". - - - Target is the value of the console output stream. - This is either "Console.Out" or "Console.Error". - - - - Target is the value of the console output stream. - This is either "Console.Out" or "Console.Error". - - - - - - This appender requires a to be set. - - true - - - This appender requires a to be set. - - - - - - The enum of possible color values for use with the color mapping method - - - - The following flags can be combined together to - form the colors. - - - - - - - color is blue - - - - - color is green - - - - - color is red - - - - - color is white - - - - - color is yellow - - - - - color is purple - - - - - color is cyan - - - - - color is intensified - - - - - A class to act as a mapping between the level that a logging call is made at and - the color it should be displayed as. - - - - Defines the mapping between a level and the color it should be displayed in. - - - - - - Initialize the options for the object - - - - Combine the and together. - - - - - - The mapped foreground color for the specified level - - - - Required property. - The mapped foreground color for the specified level. - - - - - - The mapped background color for the specified level - - - - Required property. - The mapped background color for the specified level. - - - - - - The combined and suitable for - setting the console color. - - - - - Appends logging events to the console. - - - - ConsoleAppender appends log events to the standard output stream - or the error output stream using a layout specified by the - user. - - - By default, all output is written to the console's standard output stream. - The property can be set to direct the output to the - error stream. - - - NOTE: This appender writes each message to the System.Console.Out or - System.Console.Error that is set at the time the event is appended. - Therefore it is possible to programmatically redirect the output of this appender - (for example NUnit does this to capture program output). While this is the desired - behavior of this appender it may have security implications in your application. - - - Nicko Cadell - Gert Driesen - - - - The to use when writing to the Console - standard output stream. - - - - The to use when writing to the Console - standard output stream. - - - - - - The to use when writing to the Console - standard error output stream. - - - - The to use when writing to the Console - standard error output stream. - - - - - - Initializes a new instance of the class. - - - The instance of the class is set up to write - to the standard output stream. - - - - - Initializes a new instance of the class - with the specified layout. - - the layout to use for this appender - - The instance of the class is set up to write - to the standard output stream. - - - - - Initializes a new instance of the class - with the specified layout. - - the layout to use for this appender - flag set to true to write to the console error stream - - When is set to true, output is written to - the standard error output stream. Otherwise, output is written to the standard - output stream. - - - - - This method is called by the method. - - The event to log. - - - Writes the event to the console. - - - The format of the output will depend on the appender's layout. - - - - - - Target is the value of the console output stream. - This is either "Console.Out" or "Console.Error". - - - Target is the value of the console output stream. - This is either "Console.Out" or "Console.Error". - - - - Target is the value of the console output stream. - This is either "Console.Out" or "Console.Error". - - - - - - This appender requires a to be set. - - true - - - This appender requires a to be set. - - - - - - Appends log events to the system. - - - - The application configuration file can be used to control what listeners - are actually used. See the MSDN documentation for the - class for details on configuring the - debug system. - - - Events are written using the - method. The event's logger name is passed as the value for the category name to the Write method. - - - Nicko Cadell - - - - Initializes a new instance of the . - - - - Default constructor. - - - - - - Initializes a new instance of the - with a specified layout. - - The layout to use with this appender. - - - Obsolete constructor. - - - - - - Writes the logging event to the system. - - The event to log. - - - Writes the logging event to the system. - If is true then the - is called. - - - - - - Immediate flush means that the underlying writer or output stream - will be flushed at the end of each append operation. - - - - Immediate flush is slower but ensures that each append request is - actually written. If is set to - false, then there is a good chance that the last few - logs events are not actually written to persistent media if and - when the application crashes. - - - The default value is true. - - - - - Gets or sets a value that indicates whether the appender will - flush at the end of each write. - - - The default behavior is to flush at the end of each - write. If the option is set tofalse, then the underlying - stream can defer writing to physical medium to a later time. - - - Avoiding the flush operation at the end of each append results - in a performance gain of 10 to 20 percent. However, there is safety - trade-off involved in skipping flushing. Indeed, when flushing is - skipped, then it is likely that the last few log events will not - be recorded on disk when the application exits. This is a high - price to pay even for a 20% performance gain. - - - - - - This appender requires a to be set. - - true - - - This appender requires a to be set. - - - - - - Writes events to the system event log. - - - - The EventID of the event log entry can be - set using the EventLogEventID property () - on the . - - - There is a limit of 32K characters for an event log message - - - When configuring the EventLogAppender a mapping can be - specified to map a logging level to an event log entry type. For example: - - - <mapping> - <level value="ERROR" /> - <eventLogEntryType value="Error" /> - </mapping> - <mapping> - <level value="DEBUG" /> - <eventLogEntryType value="Information" /> - </mapping> - - - The Level is the standard log4net logging level and eventLogEntryType can be any value - from the enum, i.e.: - - Erroran error event - Warninga warning event - Informationan informational event - - - - Aspi Havewala - Douglas de la Torre - Nicko Cadell - Gert Driesen - Thomas Voss - - - - Initializes a new instance of the class. - - - - Default constructor. - - - - - - Initializes a new instance of the class - with the specified . - - The to use with this appender. - - - Obsolete constructor. - - - - - - Add a mapping of level to - done by the config file - - The mapping to add - - - Add a mapping to this appender. - Each mapping defines the event log entry type for a level. - - - - - - Initialize the appender based on the options set - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - - - - Create an event log source - - - Uses different API calls under NET_2_0 - - - - - This method is called by the - method. - - the event to log - - Writes the event to the system event log using the - . - - If the event has an EventID property (see ) - set then this integer will be used as the event log event id. - - - There is a limit of 32K characters for an event log message - - - - - - Get the equivalent for a - - the Level to convert to an EventLogEntryType - The equivalent for a - - Because there are fewer applicable - values to use in logging levels than there are in the - this is a one way mapping. There is - a loss of information during the conversion. - - - - - The log name is the section in the event logs where the messages - are stored. - - - - - Name of the application to use when logging. This appears in the - application column of the event log named by . - - - - - The name of the machine which holds the event log. This is - currently only allowed to be '.' i.e. the current machine. - - - - - Mapping from level object to EventLogEntryType - - - - - The security context to use for privileged calls - - - - - The name of the log where messages will be stored. - - - The string name of the log where messages will be stored. - - - This is the name of the log as it appears in the Event Viewer - tree. The default value is to log into the Application - log, this is where most applications write their events. However - if you need a separate log for your application (or applications) - then you should set the appropriately. - This should not be used to distinguish your event log messages - from those of other applications, the - property should be used to distinguish events. This property should be - used to group together events into a single log. - - - - - - Property used to set the Application name. This appears in the - event logs when logging. - - - The string used to distinguish events from different sources. - - - Sets the event log source property. - - - - - This property is used to return the name of the computer to use - when accessing the event logs. Currently, this is the current - computer, denoted by a dot "." - - - The string name of the machine holding the event log that - will be logged into. - - - This property cannot be changed. It is currently set to '.' - i.e. the local machine. This may be changed in future. - - - - - Gets or sets the used to write to the EventLog. - - - The used to write to the EventLog. - - - - The system security context used to write to the EventLog. - - - Unless a specified here for this appender - the is queried for the - security context to use. The default behavior is to use the security context - of the current thread. - - - - - - This appender requires a to be set. - - true - - - This appender requires a to be set. - - - - - - A class to act as a mapping between the level that a logging call is made at and - the color it should be displayed as. - - - - Defines the mapping between a level and its event log entry type. - - - - - - The for this entry - - - - Required property. - The for this entry - - - - - - Appends logging events to a file. - - - - Logging events are sent to the file specified by - the property. - - - The file can be opened in either append or overwrite mode - by specifying the property. - If the file path is relative it is taken as relative from - the application base directory. The file encoding can be - specified by setting the property. - - - The layout's and - values will be written each time the file is opened and closed - respectively. If the property is - then the file may contain multiple copies of the header and footer. - - - This appender will first try to open the file for writing when - is called. This will typically be during configuration. - If the file cannot be opened for writing the appender will attempt - to open the file again each time a message is logged to the appender. - If the file cannot be opened for writing when a message is logged then - the message will be discarded by this appender. - - - The supports pluggable file locking models via - the property. - The default behavior, implemented by - is to obtain an exclusive write lock on the file until this appender is closed. - The alternative model, , only holds a - write lock while the appender is writing a logging event. - - - Nicko Cadell - Gert Driesen - Rodrigo B. de Oliveira - Douglas de la Torre - Niall Daley - - - - Sends logging events to a . - - - - An Appender that writes to a . - - - This appender may be used stand alone if initialized with an appropriate - writer, however it is typically used as a base class for an appender that - can open a to write to. - - - Nicko Cadell - Gert Driesen - Douglas de la Torre - - - - Initializes a new instance of the class. - - - - Default constructor. - - - - - - Initializes a new instance of the class and - sets the output destination to a new initialized - with the specified . - - The layout to use with this appender. - The to output to. - - - Obsolete constructor. - - - - - - Initializes a new instance of the class and sets - the output destination to the specified . - - The layout to use with this appender - The to output to - - The must have been previously opened. - - - - Obsolete constructor. - - - - - - This method determines if there is a sense in attempting to append. - - - - This method checked if an output target has been set and if a - layout has been set. - - - false if any of the preconditions fail. - - - - This method is called by the - method. - - The event to log. - - - Writes a log statement to the output stream if the output stream exists - and is writable. - - - The format of the output will depend on the appender's layout. - - - - - - This method is called by the - method. - - The array of events to log. - - - This method writes all the bulk logged events to the output writer - before flushing the stream. - - - - - - Close this appender instance. The underlying stream or writer is also closed. - - - Closed appenders cannot be reused. - - - - - Writes the footer and closes the underlying . - - - - Writes the footer and closes the underlying . - - - - - - Closes the underlying . - - - - Closes the underlying . - - - - - - Clears internal references to the underlying - and other variables. - - - - Subclasses can override this method for an alternate closing behavior. - - - - - - Writes a footer as produced by the embedded layout's property. - - - - Writes a footer as produced by the embedded layout's property. - - - - - - Writes a header produced by the embedded layout's property. - - - - Writes a header produced by the embedded layout's property. - - - - - - Called to allow a subclass to lazily initialize the writer - - - - This method is called when an event is logged and the or - have not been set. This allows a subclass to - attempt to initialize the writer multiple times. - - - - - - This is the where logging events - will be written to. - - - - - Immediate flush means that the underlying - or output stream will be flushed at the end of each append operation. - - - - Immediate flush is slower but ensures that each append request is - actually written. If is set to - false, then there is a good chance that the last few - logging events are not actually persisted if and when the application - crashes. - - - The default value is true. - - - - - - Gets or set whether the appender will flush at the end - of each append operation. - - - - The default behavior is to flush at the end of each - append operation. - - - If this option is set to false, then the underlying - stream can defer persisting the logging event to a later - time. - - - - Avoiding the flush operation at the end of each append results in - a performance gain of 10 to 20 percent. However, there is safety - trade-off involved in skipping flushing. Indeed, when flushing is - skipped, then it is likely that the last few log events will not - be recorded on disk when the application exits. This is a high - price to pay even for a 20% performance gain. - - - - - Sets the where the log output will go. - - - - The specified must be open and writable. - - - The will be closed when the appender - instance is closed. - - - Note: Logging to an unopened will fail. - - - - - - Gets or set the and the underlying - , if any, for this appender. - - - The for this appender. - - - - - This appender requires a to be set. - - true - - - This appender requires a to be set. - - - - - - Gets or sets the where logging events - will be written to. - - - The where logging events are written. - - - - This is the where logging events - will be written to. - - - - - - Default constructor - - - - Default constructor - - - - - - Construct a new appender using the layout, file and append mode. - - the layout to use with this appender - the full path to the file to write to - flag to indicate if the file should be appended to - - - Obsolete constructor. - - - - - - Construct a new appender using the layout and file specified. - The file will be appended to. - - the layout to use with this appender - the full path to the file to write to - - - Obsolete constructor. - - - - - - Activate the options on the file appender. - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - This will cause the file to be opened. - - - - - - Closes any previously opened file and calls the parent's . - - - - Resets the filename and the file stream. - - - - - - Called to initialize the file writer - - - - Will be called for each logged message until the file is - successfully opened. - - - - - - This method is called by the - method. - - The event to log. - - - Writes a log statement to the output stream if the output stream exists - and is writable. - - - The format of the output will depend on the appender's layout. - - - - - - This method is called by the - method. - - The array of events to log. - - - Acquires the output file locks once before writing all the events to - the stream. - - - - - - Writes a footer as produced by the embedded layout's property. - - - - Writes a footer as produced by the embedded layout's property. - - - - - - Writes a header produced by the embedded layout's property. - - - - Writes a header produced by the embedded layout's property. - - - - - - Closes the underlying . - - - - Closes the underlying . - - - - - - Closes the previously opened file. - - - - Writes the to the file and then - closes the file. - - - - - - Sets and opens the file where the log output will go. The specified file must be writable. - - The path to the log file. Must be a fully qualified path. - If true will append to fileName. Otherwise will truncate fileName - - - Calls but guarantees not to throw an exception. - Errors are passed to the . - - - - - - Sets and opens the file where the log output will go. The specified file must be writable. - - The path to the log file. Must be a fully qualified path. - If true will append to fileName. Otherwise will truncate fileName - - - If there was already an opened file, then the previous file - is closed first. - - - This method will ensure that the directory structure - for the specified exists. - - - - - - Sets the quiet writer used for file output - - the file stream that has been opened for writing - - - This implementation of creates a - over the and passes it to the - method. - - - This method can be overridden by sub classes that want to wrap the - in some way, for example to encrypt the output - data using a System.Security.Cryptography.CryptoStream. - - - - - - Sets the quiet writer being used. - - the writer over the file stream that has been opened for writing - - - This method can be overridden by sub classes that want to - wrap the in some way. - - - - - - Convert a path into a fully qualified path. - - The path to convert. - The fully qualified path. - - - Converts the path specified to a fully - qualified path. If the path is relative it is - taken as relative from the application base - directory. - - - - - - Flag to indicate if we should append to the file - or overwrite the file. The default is to append. - - - - - The name of the log file. - - - - - The encoding to use for the file stream. - - - - - The security context to use for privileged calls - - - - - The stream to log to. Has added locking semantics - - - - - The locking model to use - - - - - Gets or sets the path to the file that logging will be written to. - - - The path to the file that logging will be written to. - - - - If the path is relative it is taken as relative from - the application base directory. - - - - - - Gets or sets a flag that indicates whether the file should be - appended to or overwritten. - - - Indicates whether the file should be appended to or overwritten. - - - - If the value is set to false then the file will be overwritten, if - it is set to true then the file will be appended to. - - The default value is true. - - - - - Gets or sets used to write to the file. - - - The used to write to the file. - - - - The default encoding set is - which is the encoding for the system's current ANSI code page. - - - - - - Gets or sets the used to write to the file. - - - The used to write to the file. - - - - Unless a specified here for this appender - the is queried for the - security context to use. The default behavior is to use the security context - of the current thread. - - - - - - Gets or sets the used to handle locking of the file. - - - The used to lock the file. - - - - Gets or sets the used to handle locking of the file. - - - There are two built in locking models, and . - The former locks the file from the start of logging to the end and the - later lock only for the minimal amount of time when logging each message. - - - The default locking model is the . - - - - - - Write only that uses the - to manage access to an underlying resource. - - - - - True asynchronous writes are not supported, the implementation forces a synchronous write. - - - - - Exception base type for log4net. - - - - This type extends . It - does not add any new functionality but does differentiate the - type of exception being thrown. - - - Nicko Cadell - Gert Driesen - - - - Constructor - - - - Initializes a new instance of the class. - - - - - - Constructor - - A message to include with the exception. - - - Initializes a new instance of the class with - the specified message. - - - - - - Constructor - - A message to include with the exception. - A nested exception to include. - - - Initializes a new instance of the class - with the specified message and inner exception. - - - - - - Serialization constructor - - The that holds the serialized object data about the exception being thrown. - The that contains contextual information about the source or destination. - - - Initializes a new instance of the class - with serialized data. - - - - - - Locking model base class - - - - Base class for the locking models available to the derived loggers. - - - - - - Open the output file - - The filename to use - Whether to append to the file, or overwrite - The encoding to use - - - Open the file specified and prepare for logging. - No writes will be made until is called. - Must be called before any calls to , - and . - - - - - - Close the file - - - - Close the file. No further writes will be made. - - - - - - Acquire the lock on the file - - A stream that is ready to be written to. - - - Acquire the lock on the file in preparation for writing to it. - Return a stream pointing to the file. - must be called to release the lock on the output file. - - - - - - Release the lock on the file - - - - Release the lock on the file. No further writes will be made to the - stream until is called again. - - - - - - Gets or sets the for this LockingModel - - - The for this LockingModel - - - - The file appender this locking model is attached to and working on - behalf of. - - - The file appender is used to locate the security context and the error handler to use. - - - The value of this property will be set before is - called. - - - - - - Hold an exclusive lock on the output file - - - - Open the file once for writing and hold it open until is called. - Maintains an exclusive lock on the file during this time. - - - - - - Open the file specified and prepare for logging. - - The filename to use - Whether to append to the file, or overwrite - The encoding to use - - - Open the file specified and prepare for logging. - No writes will be made until is called. - Must be called before any calls to , - and . - - - - - - Close the file - - - - Close the file. No further writes will be made. - - - - - - Acquire the lock on the file - - A stream that is ready to be written to. - - - Does nothing. The lock is already taken - - - - - - Release the lock on the file - - - - Does nothing. The lock will be released when the file is closed. - - - - - - Acquires the file lock for each write - - - - Opens the file once for each / cycle, - thus holding the lock for the minimal amount of time. This method of locking - is considerably slower than but allows - other processes to move/delete the log file whilst logging continues. - - - - - - Prepares to open the file when the first message is logged. - - The filename to use - Whether to append to the file, or overwrite - The encoding to use - - - Open the file specified and prepare for logging. - No writes will be made until is called. - Must be called before any calls to , - and . - - - - - - Close the file - - - - Close the file. No further writes will be made. - - - - - - Acquire the lock on the file - - A stream that is ready to be written to. - - - Acquire the lock on the file in preparation for writing to it. - Return a stream pointing to the file. - must be called to release the lock on the output file. - - - - - - Release the lock on the file - - - - Release the lock on the file. No further writes will be made to the - stream until is called again. - - - - - - This appender forwards logging events to attached appenders. - - - - The forwarding appender can be used to specify different thresholds - and filters for the same appender at different locations within the hierarchy. - - - Nicko Cadell - Gert Driesen - - - - Initializes a new instance of the class. - - - - Default constructor. - - - - - - Closes the appender and releases resources. - - - - Releases any resources allocated within the appender such as file handles, - network connections, etc. - - - It is a programming error to append to a closed appender. - - - - - - Forward the logging event to the attached appenders - - The event to log. - - - Delivers the logging event to all the attached appenders. - - - - - - Forward the logging events to the attached appenders - - The array of events to log. - - - Delivers the logging events to all the attached appenders. - - - - - - Adds an to the list of appenders of this - instance. - - The to add to this appender. - - - If the specified is already in the list of - appenders, then it won't be added again. - - - - - - Looks for the appender with the specified name. - - The name of the appender to lookup. - - The appender with the specified name, or null. - - - - Get the named appender attached to this appender. - - - - - - Removes all previously added appenders from this appender. - - - - This is useful when re-reading configuration information. - - - - - - Removes the specified appender from the list of appenders. - - The appender to remove. - The appender removed from the list - - The appender removed is not closed. - If you are discarding the appender you must call - on the appender removed. - - - - - Removes the appender with the specified name from the list of appenders. - - The name of the appender to remove. - The appender removed from the list - - The appender removed is not closed. - If you are discarding the appender you must call - on the appender removed. - - - - - Implementation of the interface - - - - - Gets the appenders contained in this appender as an - . - - - If no appenders can be found, then an - is returned. - - - A collection of the appenders in this appender. - - - - - Logs events to a local syslog service. - - - - This appender uses the POSIX libc library functions openlog, syslog, and closelog. - If these functions are not available on the local system then this appender will not work! - - - The functions openlog, syslog, and closelog are specified in SUSv2 and - POSIX 1003.1-2001 standards. These are used to log messages to the local syslog service. - - - This appender talks to a local syslog service. If you need to log to a remote syslog - daemon and you cannot configure your local syslog service to do this you may be - able to use the to log via UDP. - - - Syslog messages must have a facility and and a severity. The severity - is derived from the Level of the logging event. - The facility must be chosen from the set of defined syslog - values. The facilities list is predefined - and cannot be extended. - - - An identifier is specified with each log message. This can be specified - by setting the property. The identity (also know - as the tag) must not contain white space. The default value for the - identity is the application name (from ). - - - Rob Lyon - Nicko Cadell - - - - Initializes a new instance of the class. - - - This instance of the class is set up to write - to a local syslog service. - - - - - Add a mapping of level to severity - - The mapping to add - - - Adds a to this appender. - - - - - - Initialize the appender based on the options set. - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - - - - This method is called by the method. - - The event to log. - - - Writes the event to a remote syslog daemon. - - - The format of the output will depend on the appender's layout. - - - - - - Close the syslog when the appender is closed - - - - Close the syslog when the appender is closed - - - - - - Translates a log4net level to a syslog severity. - - A log4net level. - A syslog severity. - - - Translates a log4net level to a syslog severity. - - - - - - Generate a syslog priority. - - The syslog facility. - The syslog severity. - A syslog priority. - - - - The facility. The default facility is . - - - - - The message identity - - - - - Marshaled handle to the identity string. We have to hold on to the - string as the openlog and syslog APIs just hold the - pointer to the ident and dereference it for each log message. - - - - - Mapping from level object to syslog severity - - - - - Open connection to system logger. - - - - - Generate a log message. - - - - The libc syslog method takes a format string and a variable argument list similar - to the classic printf function. As this type of vararg list is not supported - by C# we need to specify the arguments explicitly. Here we have specified the - format string with a single message argument. The caller must set the format - string to "%s". - - - - - - Close descriptor used to write to system logger. - - - - - Message identity - - - - An identifier is specified with each log message. This can be specified - by setting the property. The identity (also know - as the tag) must not contain white space. The default value for the - identity is the application name (from ). - - - - - - Syslog facility - - - Set to one of the values. The list of - facilities is predefined and cannot be extended. The default value - is . - - - - - This appender requires a to be set. - - true - - - This appender requires a to be set. - - - - - - syslog severities - - - - The log4net Level maps to a syslog severity using the - method and the - class. The severity is set on . - - - - - - system is unusable - - - - - action must be taken immediately - - - - - critical conditions - - - - - error conditions - - - - - warning conditions - - - - - normal but significant condition - - - - - informational - - - - - debug-level messages - - - - - syslog facilities - - - - The syslog facility defines which subsystem the logging comes from. - This is set on the property. - - - - - - kernel messages - - - - - random user-level messages - - - - - mail system - - - - - system daemons - - - - - security/authorization messages - - - - - messages generated internally by syslogd - - - - - line printer subsystem - - - - - network news subsystem - - - - - UUCP subsystem - - - - - clock (cron/at) daemon - - - - - security/authorization messages (private) - - - - - ftp daemon - - - - - NTP subsystem - - - - - log audit - - - - - log alert - - - - - clock daemon - - - - - reserved for local use - - - - - reserved for local use - - - - - reserved for local use - - - - - reserved for local use - - - - - reserved for local use - - - - - reserved for local use - - - - - reserved for local use - - - - - reserved for local use - - - - - A class to act as a mapping between the level that a logging call is made at and - the syslog severity that is should be logged at. - - - - A class to act as a mapping between the level that a logging call is made at and - the syslog severity that is should be logged at. - - - - - - The mapped syslog severity for the specified level - - - - Required property. - The mapped syslog severity for the specified level - - - - - - Stores logging events in an array. - - - - The memory appender stores all the logging events - that are appended in an in-memory array. - - - Use the method to get - the current list of events that have been appended. - - - Use the method to clear the - current list of events. - - - Julian Biddle - Nicko Cadell - Gert Driesen - - - - Initializes a new instance of the class. - - - - Default constructor. - - - - - - Gets the events that have been logged. - - The events that have been logged - - - Gets the events that have been logged. - - - - - - This method is called by the method. - - the event to log - - Stores the in the events list. - - - - - Clear the list of events - - - Clear the list of events - - - - - The list of events that have been appended. - - - - - Value indicating which fields in the event should be fixed - - - By default all fields are fixed - - - - - Gets or sets a value indicating whether only part of the logging event - data should be fixed. - - - true if the appender should only fix part of the logging event - data, otherwise false. The default is false. - - - - Setting this property to true will cause only part of the event - data to be fixed and stored in the appender, hereby improving performance. - - - See for more information. - - - - - - Gets or sets the fields that will be fixed in the event - - - - The logging event needs to have certain thread specific values - captured before it can be buffered. See - for details. - - - - - - Logs entries by sending network messages using the - native function. - - - - You can send messages only to names that are active - on the network. If you send the message to a user name, - that user must be logged on and running the Messenger - service to receive the message. - - - The receiver will get a top most window displaying the - messages one at a time, therefore this appender should - not be used to deliver a high volume of messages. - - - The following table lists some possible uses for this appender : - - - - - Action - Property Value(s) - - - Send a message to a user account on the local machine - - - = <name of the local machine> - - - = <user name> - - - - - Send a message to a user account on a remote machine - - - = <name of the remote machine> - - - = <user name> - - - - - Send a message to a domain user account - - - = <name of a domain controller | uninitialized> - - - = <user name> - - - - - Send a message to all the names in a workgroup or domain - - - = <workgroup name | domain name>* - - - - - Send a message from the local machine to a remote machine - - - = <name of the local machine | uninitialized> - - - = <name of the remote machine> - - - - - - - Note : security restrictions apply for sending - network messages, see - for more information. - - - - - An example configuration section to log information - using this appender from the local machine, named - LOCAL_PC, to machine OPERATOR_PC : - - - - - - - - - - Nicko Cadell - Gert Driesen - - - - The DNS or NetBIOS name of the server on which the function is to execute. - - - - - The sender of the network message. - - - - - The message alias to which the message should be sent. - - - - - The security context to use for privileged calls - - - - - Initializes the appender. - - - The default constructor initializes all fields to their default values. - - - - - Initialize the appender based on the options set. - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - The appender will be ignored if no was specified. - - - The required property was not specified. - - - - This method is called by the method. - - The event to log. - - - Sends the event using a network message. - - - - - - Sends a buffer of information to a registered message alias. - - The DNS or NetBIOS name of the server on which the function is to execute. - The message alias to which the message buffer should be sent - The originator of the message. - The message text. - The length, in bytes, of the message text. - - - The following restrictions apply for sending network messages: - - - - - Platform - Requirements - - - Windows NT - - - No special group membership is required to send a network message. - - - Admin, Accounts, Print, or Server Operator group membership is required to - successfully send a network message on a remote server. - - - - - Windows 2000 or later - - - If you send a message on a domain controller that is running Active Directory, - access is allowed or denied based on the access control list (ACL) for the securable - object. The default ACL permits only Domain Admins and Account Operators to send a network message. - - - On a member server or workstation, only Administrators and Server Operators can send a network message. - - - - - - - For more information see Security Requirements for the Network Management Functions. - - - - - If the function succeeds, the return value is zero. - - - - - - Gets or sets the sender of the message. - - - The sender of the message. - - - If this property is not specified, the message is sent from the local computer. - - - - - Gets or sets the message alias to which the message should be sent. - - - The recipient of the message. - - - This property should always be specified in order to send a message. - - - - - Gets or sets the DNS or NetBIOS name of the remote server on which the function is to execute. - - - DNS or NetBIOS name of the remote server on which the function is to execute. - - - - For Windows NT 4.0 and earlier, the string should begin with \\. - - - If this property is not specified, the local computer is used. - - - - - - Gets or sets the used to call the NetSend method. - - - The used to call the NetSend method. - - - - Unless a specified here for this appender - the is queried for the - security context to use. The default behavior is to use the security context - of the current thread. - - - - - - This appender requires a to be set. - - true - - - This appender requires a to be set. - - - - - - Appends log events to the OutputDebugString system. - - - - OutputDebugStringAppender appends log events to the - OutputDebugString system. - - - The string is passed to the native OutputDebugString - function. - - - Nicko Cadell - Gert Driesen - - - - Initializes a new instance of the class. - - - - Default constructor. - - - - - - Write the logging event to the output debug string API - - the event to log - - - Write the logging event to the output debug string API - - - - - - Stub for OutputDebugString native method - - the string to output - - - Stub for OutputDebugString native method - - - - - - This appender requires a to be set. - - true - - - This appender requires a to be set. - - - - - - Logs events to a remote syslog daemon. - - - - The BSD syslog protocol is used to remotely log to - a syslog daemon. The syslogd listens for for messages - on UDP port 514. - - - The syslog UDP protocol is not authenticated. Most syslog daemons - do not accept remote log messages because of the security implications. - You may be able to use the LocalSyslogAppender to talk to a local - syslog service. - - - There is an RFC 3164 that claims to document the BSD Syslog Protocol. - This RFC can be seen here: http://www.faqs.org/rfcs/rfc3164.html. - This appender generates what the RFC calls an "Original Device Message", - i.e. does not include the TIMESTAMP or HOSTNAME fields. By observation - this format of message will be accepted by all current syslog daemon - implementations. The daemon will attach the current time and the source - hostname or IP address to any messages received. - - - Syslog messages must have a facility and and a severity. The severity - is derived from the Level of the logging event. - The facility must be chosen from the set of defined syslog - values. The facilities list is predefined - and cannot be extended. - - - An identifier is specified with each log message. This can be specified - by setting the property. The identity (also know - as the tag) must not contain white space. The default value for the - identity is the application name (from ). - - - Rob Lyon - Nicko Cadell - - - - Sends logging events as connectionless UDP datagrams to a remote host or a - multicast group using an . - - - - UDP guarantees neither that messages arrive, nor that they arrive in the correct order. - - - To view the logging results, a custom application can be developed that listens for logging - events. - - - When decoding events send via this appender remember to use the same encoding - to decode the events as was used to send the events. See the - property to specify the encoding to use. - - - - This example shows how to log receive logging events that are sent - on IP address 244.0.0.1 and port 8080 to the console. The event is - encoded in the packet as a unicode string and it is decoded as such. - - IPEndPoint remoteEndPoint = new IPEndPoint(IPAddress.Any, 0); - UdpClient udpClient; - byte[] buffer; - string loggingEvent; - - try - { - udpClient = new UdpClient(8080); - - while(true) - { - buffer = udpClient.Receive(ref remoteEndPoint); - loggingEvent = System.Text.Encoding.Unicode.GetString(buffer); - Console.WriteLine(loggingEvent); - } - } - catch(Exception e) - { - Console.WriteLine(e.ToString()); - } - - - Dim remoteEndPoint as IPEndPoint - Dim udpClient as UdpClient - Dim buffer as Byte() - Dim loggingEvent as String - - Try - remoteEndPoint = new IPEndPoint(IPAddress.Any, 0) - udpClient = new UdpClient(8080) - - While True - buffer = udpClient.Receive(ByRef remoteEndPoint) - loggingEvent = System.Text.Encoding.Unicode.GetString(buffer) - Console.WriteLine(loggingEvent) - Wend - Catch e As Exception - Console.WriteLine(e.ToString()) - End Try - - - An example configuration section to log information using this appender to the - IP 224.0.0.1 on port 8080: - - - - - - - - - - Gert Driesen - Nicko Cadell - - - - Initializes a new instance of the class. - - - The default constructor initializes all fields to their default values. - - - - - Initialize the appender based on the options set. - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - The appender will be ignored if no was specified or - an invalid remote or local TCP port number was specified. - - - The required property was not specified. - The TCP port number assigned to or is less than or greater than . - - - - This method is called by the method. - - The event to log. - - - Sends the event using an UDP datagram. - - - Exceptions are passed to the . - - - - - - Closes the UDP connection and releases all resources associated with - this instance. - - - - Disables the underlying and releases all managed - and unmanaged resources associated with the . - - - - - - Initializes the underlying connection. - - - - The underlying is initialized and binds to the - port number from which you intend to communicate. - - - Exceptions are passed to the . - - - - - - The IP address of the remote host or multicast group to which - the logging event will be sent. - - - - - The TCP port number of the remote host or multicast group to - which the logging event will be sent. - - - - - The cached remote endpoint to which the logging events will be sent. - - - - - The TCP port number from which the will communicate. - - - - - The instance that will be used for sending the - logging events. - - - - - The encoding to use for the packet. - - - - - Gets or sets the IP address of the remote host or multicast group to which - the underlying should sent the logging event. - - - The IP address of the remote host or multicast group to which the logging event - will be sent. - - - - Multicast addresses are identified by IP class D addresses (in the range 224.0.0.0 to - 239.255.255.255). Multicast packets can pass across different networks through routers, so - it is possible to use multicasts in an Internet scenario as long as your network provider - supports multicasting. - - - Hosts that want to receive particular multicast messages must register their interest by joining - the multicast group. Multicast messages are not sent to networks where no host has joined - the multicast group. Class D IP addresses are used for multicast groups, to differentiate - them from normal host addresses, allowing nodes to easily detect if a message is of interest. - - - Static multicast addresses that are needed globally are assigned by IANA. A few examples are listed in the table below: - - - - - IP Address - Description - - - 224.0.0.1 - - - Sends a message to all system on the subnet. - - - - - 224.0.0.2 - - - Sends a message to all routers on the subnet. - - - - - 224.0.0.12 - - - The DHCP server answers messages on the IP address 224.0.0.12, but only on a subnet. - - - - - - - A complete list of actually reserved multicast addresses and their owners in the ranges - defined by RFC 3171 can be found at the IANA web site. - - - The address range 239.0.0.0 to 239.255.255.255 is reserved for administrative scope-relative - addresses. These addresses can be reused with other local groups. Routers are typically - configured with filters to prevent multicast traffic in this range from flowing outside - of the local network. - - - - - - Gets or sets the TCP port number of the remote host or multicast group to which - the underlying should sent the logging event. - - - An integer value in the range to - indicating the TCP port number of the remote host or multicast group to which the logging event - will be sent. - - - The underlying will send messages to this TCP port number - on the remote host or multicast group. - - The value specified is less than or greater than . - - - - Gets or sets the TCP port number from which the underlying will communicate. - - - An integer value in the range to - indicating the TCP port number from which the underlying will communicate. - - - - The underlying will bind to this port for sending messages. - - - Setting the value to 0 (the default) will cause the udp client not to bind to - a local port. - - - The value specified is less than or greater than . - - - - Gets or sets used to write the packets. - - - The used to write the packets. - - - - The used to write the packets. - - - - - - Gets or sets the underlying . - - - The underlying . - - - creates a to send logging events - over a network. Classes deriving from can use this - property to get or set this . Use the underlying - returned from if you require access beyond that which - provides. - - - - - Gets or sets the cached remote endpoint to which the logging events should be sent. - - - The cached remote endpoint to which the logging events will be sent. - - - The method will initialize the remote endpoint - with the values of the and - properties. - - - - - This appender requires a to be set. - - true - - - This appender requires a to be set. - - - - - - Syslog port 514 - - - - - Initializes a new instance of the class. - - - This instance of the class is set up to write - to a remote syslog daemon. - - - - - Add a mapping of level to severity - - The mapping to add - - - Add a mapping to this appender. - - - - - - This method is called by the method. - - The event to log. - - - Writes the event to a remote syslog daemon. - - - The format of the output will depend on the appender's layout. - - - - - - Initialize the options for this appender - - - - Initialize the level to syslog severity mappings set on this appender. - - - - - - Translates a log4net level to a syslog severity. - - A log4net level. - A syslog severity. - - - Translates a log4net level to a syslog severity. - - - - - - Generate a syslog priority. - - The syslog facility. - The syslog severity. - A syslog priority. - - - Generate a syslog priority. - - - - - - The facility. The default facility is . - - - - - The message identity - - - - - Mapping from level object to syslog severity - - - - - Message identity - - - - An identifier is specified with each log message. This can be specified - by setting the property. The identity (also know - as the tag) must not contain white space. The default value for the - identity is the application name (from ). - - - - - - Syslog facility - - - Set to one of the values. The list of - facilities is predefined and cannot be extended. The default value - is . - - - - - syslog severities - - - - The syslog severities. - - - - - - system is unusable - - - - - action must be taken immediately - - - - - critical conditions - - - - - error conditions - - - - - warning conditions - - - - - normal but significant condition - - - - - informational - - - - - debug-level messages - - - - - syslog facilities - - - - The syslog facilities - - - - - - kernel messages - - - - - random user-level messages - - - - - mail system - - - - - system daemons - - - - - security/authorization messages - - - - - messages generated internally by syslogd - - - - - line printer subsystem - - - - - network news subsystem - - - - - UUCP subsystem - - - - - clock (cron/at) daemon - - - - - security/authorization messages (private) - - - - - ftp daemon - - - - - NTP subsystem - - - - - log audit - - - - - log alert - - - - - clock daemon - - - - - reserved for local use - - - - - reserved for local use - - - - - reserved for local use - - - - - reserved for local use - - - - - reserved for local use - - - - - reserved for local use - - - - - reserved for local use - - - - - reserved for local use - - - - - A class to act as a mapping between the level that a logging call is made at and - the syslog severity that is should be logged at. - - - - A class to act as a mapping between the level that a logging call is made at and - the syslog severity that is should be logged at. - - - - - - The mapped syslog severity for the specified level - - - - Required property. - The mapped syslog severity for the specified level - - - - - - Delivers logging events to a remote logging sink. - - - - This Appender is designed to deliver events to a remote sink. - That is any object that implements the - interface. It delivers the events using .NET remoting. The - object to deliver events to is specified by setting the - appenders property. - - The RemotingAppender buffers events before sending them. This allows it to - make more efficient use of the remoting infrastructure. - - Once the buffer is full the events are still not sent immediately. - They are scheduled to be sent using a pool thread. The effect is that - the send occurs asynchronously. This is very important for a - number of non obvious reasons. The remoting infrastructure will - flow thread local variables (stored in the ), - if they are marked as , across the - remoting boundary. If the server is not contactable then - the remoting infrastructure will clear the - objects from the . To prevent a logging failure from - having side effects on the calling application the remoting call must be made - from a separate thread to the one used by the application. A - thread is used for this. If no thread is available then - the events will block in the thread pool manager until a thread is available. - - Because the events are sent asynchronously using pool threads it is possible to close - this appender before all the queued events have been sent. - When closing the appender attempts to wait until all the queued events have been sent, but - this will timeout after 30 seconds regardless. - - If this appender is being closed because the - event has fired it may not be possible to send all the queued events. During process - exit the runtime limits the time that a - event handler is allowed to run for. If the runtime terminates the threads before - the queued events have been sent then they will be lost. To ensure that all events - are sent the appender must be closed before the application exits. See - for details on how to shutdown - log4net programmatically. - - - Nicko Cadell - Gert Driesen - Daniel Cazzulino - - - - Initializes a new instance of the class. - - - - Default constructor. - - - - - - Initialize the appender based on the options set - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - - - - Send the contents of the buffer to the remote sink. - - - The events are not sent immediately. They are scheduled to be sent - using a pool thread. The effect is that the send occurs asynchronously. - This is very important for a number of non obvious reasons. The remoting - infrastructure will flow thread local variables (stored in the ), - if they are marked as , across the - remoting boundary. If the server is not contactable then - the remoting infrastructure will clear the - objects from the . To prevent a logging failure from - having side effects on the calling application the remoting call must be made - from a separate thread to the one used by the application. A - thread is used for this. If no thread is available then - the events will block in the thread pool manager until a thread is available. - - The events to send. - - - - Override base class close. - - - - This method waits while there are queued work items. The events are - sent asynchronously using work items. These items - will be sent once a thread pool thread is available to send them, therefore - it is possible to close the appender before all the queued events have been - sent. - - This method attempts to wait until all the queued events have been sent, but this - method will timeout after 30 seconds regardless. - - If the appender is being closed because the - event has fired it may not be possible to send all the queued events. During process - exit the runtime limits the time that a - event handler is allowed to run for. - - - - - A work item is being queued into the thread pool - - - - - A work item from the thread pool has completed - - - - - Send the contents of the buffer to the remote sink. - - - This method is designed to be used with the . - This method expects to be passed an array of - objects in the state param. - - the logging events to send - - - - The URL of the remote sink. - - - - - The local proxy (.NET remoting) for the remote logging sink. - - - - - The number of queued callbacks currently waiting or executing - - - - - Event used to signal when there are no queued work items - - - This event is set when there are no queued work items. In this - state it is safe to close the appender. - - - - - Gets or sets the URL of the well-known object that will accept - the logging events. - - - The well-known URL of the remote sink. - - - - The URL of the remoting sink that will accept logging events. - The sink must implement the - interface. - - - - - - Interface used to deliver objects to a remote sink. - - - This interface must be implemented by a remoting sink - if the is to be used - to deliver logging events to the sink. - - - - - Delivers logging events to the remote sink - - Array of events to log. - - - Delivers logging events to the remote sink - - - - - - Appender that rolls log files based on size or date or both. - - - - RollingFileAppender can roll log files based on size or date or both - depending on the setting of the property. - When set to the log file will be rolled - once its size exceeds the . - When set to the log file will be rolled - once the date boundary specified in the property - is crossed. - When set to the log file will be - rolled once the date boundary specified in the property - is crossed, but within a date boundary the file will also be rolled - once its size exceeds the . - When set to the log file will be rolled when - the appender is configured. This effectively means that the log file can be - rolled once per program execution. - - - A of few additional optional features have been added: - - Attach date pattern for current log file - Backup number increments for newer files - Infinite number of backups by file size - - - - - - For large or infinite numbers of backup files a - greater than zero is highly recommended, otherwise all the backup files need - to be renamed each time a new backup is created. - - - When Date/Time based rolling is used setting - to will reduce the number of file renamings to few or none. - - - - - - Changing or without clearing - the log file directory of backup files will cause unexpected and unwanted side effects. - - - - - If Date/Time based rolling is enabled this appender will attempt to roll existing files - in the directory without a Date/Time tag based on the last write date of the base log file. - The appender only rolls the log file when a message is logged. If Date/Time based rolling - is enabled then the appender will not roll the log file at the Date/Time boundary but - at the point when the next message is logged after the boundary has been crossed. - - - - The extends the and - has the same behavior when opening the log file. - The appender will first try to open the file for writing when - is called. This will typically be during configuration. - If the file cannot be opened for writing the appender will attempt - to open the file again each time a message is logged to the appender. - If the file cannot be opened for writing when a message is logged then - the message will be discarded by this appender. - - - When rolling a backup file necessitates deleting an older backup file the - file to be deleted is moved to a temporary name before being deleted. - - - - - A maximum number of backup files when rolling on date/time boundaries is not supported. - - - - Nicko Cadell - Gert Driesen - Aspi Havewala - Douglas de la Torre - Edward Smit - - - - Initializes a new instance of the class. - - - - Default constructor. - - - - - - Sets the quiet writer being used. - - - This method can be overridden by sub classes. - - the writer to set - - - - Write out a logging event. - - the event to write to file. - - - Handles append time behavior for RollingFileAppender. This checks - if a roll over either by date (checked first) or time (checked second) - is need and then appends to the file last. - - - - - - Write out an array of logging events. - - the events to write to file. - - - Handles append time behavior for RollingFileAppender. This checks - if a roll over either by date (checked first) or time (checked second) - is need and then appends to the file last. - - - - - - Performs any required rolling before outputting the next event - - - - Handles append time behavior for RollingFileAppender. This checks - if a roll over either by date (checked first) or time (checked second) - is need and then appends to the file last. - - - - - - Creates and opens the file for logging. If - is false then the fully qualified name is determined and used. - - the name of the file to open - true to append to existing file - - This method will ensure that the directory structure - for the specified exists. - - - - - Get the current output file name - - the base file name - the output file name - - The output file name is based on the base fileName specified. - If is set then the output - file name is the same as the base file passed in. Otherwise - the output file depends on the date pattern, on the count - direction or both. - - - - - Determines curSizeRollBackups (only within the current roll point) - - - - - Generates a wildcard pattern that can be used to find all files - that are similar to the base file name. - - - - - - - Builds a list of filenames for all files matching the base filename plus a file - pattern. - - - - - - - Initiates a roll over if needed for crossing a date boundary since the last run. - - - - - Initializes based on existing conditions at time of . - - - - Initializes based on existing conditions at time of . - The following is done - - determine curSizeRollBackups (only within the current roll point) - initiates a roll over if needed for crossing a date boundary since the last run. - - - - - - - Does the work of bumping the 'current' file counter higher - to the highest count when an incremental file name is seen. - The highest count is either the first file (when count direction - is greater than 0) or the last file (when count direction less than 0). - In either case, we want to know the highest count that is present. - - - - - - - Takes a list of files and a base file name, and looks for - 'incremented' versions of the base file. Bumps the max - count up to the highest count seen. - - - - - - - Calculates the RollPoint for the datePattern supplied. - - the date pattern to calculate the check period for - The RollPoint that is most accurate for the date pattern supplied - - Essentially the date pattern is examined to determine what the - most suitable roll point is. The roll point chosen is the roll point - with the smallest period that can be detected using the date pattern - supplied. i.e. if the date pattern only outputs the year, month, day - and hour then the smallest roll point that can be detected would be - and hourly roll point as minutes could not be detected. - - - - - Initialize the appender based on the options set - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - Sets initial conditions including date/time roll over information, first check, - scheduledFilename, and calls to initialize - the current number of backups. - - - - - - Rollover the file(s) to date/time tagged file(s). - - set to true if the file to be rolled is currently open - - - Rollover the file(s) to date/time tagged file(s). - Resets curSizeRollBackups. - If fileIsOpen is set then the new file is opened (through SafeOpenFile). - - - - - - Renames file to file . - - Name of existing file to roll. - New name for file. - - - Renames file to file . It - also checks for existence of target file and deletes if it does. - - - - - - Test if a file exists at a specified path - - the path to the file - true if the file exists - - - Test if a file exists at a specified path - - - - - - Deletes the specified file if it exists. - - The file to delete. - - - Delete a file if is exists. - The file is first moved to a new filename then deleted. - This allows the file to be removed even when it cannot - be deleted, but it still can be moved. - - - - - - Implements file roll base on file size. - - - - If the maximum number of size based backups is reached - (curSizeRollBackups == maxSizeRollBackups) then the oldest - file is deleted -- its index determined by the sign of countDirection. - If countDirection < 0, then files - {File.1, ..., File.curSizeRollBackups -1} - are renamed to {File.2, ..., - File.curSizeRollBackups}. Moreover, File is - renamed File.1 and closed. - - - A new file is created to receive further log output. - - - If maxSizeRollBackups is equal to zero, then the - File is truncated with no backup files created. - - - If maxSizeRollBackups < 0, then File is - renamed if needed and no files are deleted. - - - - - - Implements file roll. - - the base name to rename - - - If the maximum number of size based backups is reached - (curSizeRollBackups == maxSizeRollBackups) then the oldest - file is deleted -- its index determined by the sign of countDirection. - If countDirection < 0, then files - {File.1, ..., File.curSizeRollBackups -1} - are renamed to {File.2, ..., - File.curSizeRollBackups}. - - - If maxSizeRollBackups is equal to zero, then the - File is truncated with no backup files created. - - - If maxSizeRollBackups < 0, then File is - renamed if needed and no files are deleted. - - - This is called by to rename the files. - - - - - - Get the start time of the next window for the current rollpoint - - the current date - the type of roll point we are working with - the start time for the next roll point an interval after the currentDateTime date - - - Returns the date of the next roll point after the currentDateTime date passed to the method. - - - The basic strategy is to subtract the time parts that are less significant - than the rollpoint from the current time. This should roll the time back to - the start of the time window for the current rollpoint. Then we add 1 window - worth of time and get the start time of the next window for the rollpoint. - - - - - - This object supplies the current date/time. Allows test code to plug in - a method to control this class when testing date/time based rolling. - - - - - The date pattern. By default, the pattern is set to ".yyyy-MM-dd" - meaning daily rollover. - - - - - The actual formatted filename that is currently being written to - or will be the file transferred to on roll over - (based on staticLogFileName). - - - - - The timestamp when we shall next recompute the filename. - - - - - Holds date of last roll over - - - - - The type of rolling done - - - - - The default maximum file size is 10MB - - - - - There is zero backup files by default - - - - - How many sized based backups have been made so far - - - - - The rolling file count direction. - - - - - The rolling mode used in this appender. - - - - - Cache flag set if we are rolling by date. - - - - - Cache flag set if we are rolling by size. - - - - - Value indicating whether to always log to the same file. - - - - - FileName provided in configuration. Used for rolling properly - - - - - The 1st of January 1970 in UTC - - - - - Gets or sets the date pattern to be used for generating file names - when rolling over on date. - - - The date pattern to be used for generating file names when rolling - over on date. - - - - Takes a string in the same format as expected by - . - - - This property determines the rollover schedule when rolling over - on date. - - - - - - Gets or sets the maximum number of backup files that are kept before - the oldest is erased. - - - The maximum number of backup files that are kept before the oldest is - erased. - - - - If set to zero, then there will be no backup files and the log file - will be truncated when it reaches . - - - If a negative number is supplied then no deletions will be made. Note - that this could result in very slow performance as a large number of - files are rolled over unless is used. - - - The maximum applies to each time based group of files and - not the total. - - - - - - Gets or sets the maximum size that the output file is allowed to reach - before being rolled over to backup files. - - - The maximum size in bytes that the output file is allowed to reach before being - rolled over to backup files. - - - - This property is equivalent to except - that it is required for differentiating the setter taking a - argument from the setter taking a - argument. - - - The default maximum file size is 10MB (10*1024*1024). - - - - - - Gets or sets the maximum size that the output file is allowed to reach - before being rolled over to backup files. - - - The maximum size that the output file is allowed to reach before being - rolled over to backup files. - - - - This property allows you to specify the maximum size with the - suffixes "KB", "MB" or "GB" so that the size is interpreted being - expressed respectively in kilobytes, megabytes or gigabytes. - - - For example, the value "10KB" will be interpreted as 10240 bytes. - - - The default maximum file size is 10MB. - - - If you have the option to set the maximum file size programmatically - consider using the property instead as this - allows you to set the size in bytes as a . - - - - - - Gets or sets the rolling file count direction. - - - The rolling file count direction. - - - - Indicates if the current file is the lowest numbered file or the - highest numbered file. - - - By default newer files have lower numbers ( < 0), - i.e. log.1 is most recent, log.5 is the 5th backup, etc... - - - >= 0 does the opposite i.e. - log.1 is the first backup made, log.5 is the 5th backup made, etc. - For infinite backups use >= 0 to reduce - rollover costs. - - The default file count direction is -1. - - - - - Gets or sets the rolling style. - - The rolling style. - - - The default rolling style is . - - - When set to this appender's - property is set to false, otherwise - the appender would append to a single file rather than rolling - the file each time it is opened. - - - - - - Gets or sets a value indicating whether to always log to - the same file. - - - true if always should be logged to the same file, otherwise false. - - - - By default file.log is always the current file. Optionally - file.log.yyyy-mm-dd for current formatted datePattern can by the currently - logging file (or file.log.curSizeRollBackup or even - file.log.yyyy-mm-dd.curSizeRollBackup). - - - This will make time based rollovers with a large number of backups - much faster as the appender it won't have to rename all the backups! - - - - - - Style of rolling to use - - - - Style of rolling to use - - - - - - Roll files once per program execution - - - - Roll files once per program execution. - Well really once each time this appender is - configured. - - - Setting this option also sets AppendToFile to - false on the RollingFileAppender, otherwise - this appender would just be a normal file appender. - - - - - - Roll files based only on the size of the file - - - - - Roll files based only on the date - - - - - Roll files based on both the size and date of the file - - - - - The code assumes that the following 'time' constants are in a increasing sequence. - - - - The code assumes that the following 'time' constants are in a increasing sequence. - - - - - - Roll the log not based on the date - - - - - Roll the log for each minute - - - - - Roll the log for each hour - - - - - Roll the log twice a day (midday and midnight) - - - - - Roll the log each day (midnight) - - - - - Roll the log each week - - - - - Roll the log each month - - - - - This interface is used to supply Date/Time information to the . - - - This interface is used to supply Date/Time information to the . - Used primarily to allow test classes to plug themselves in so they can - supply test date/times. - - - - - Gets the current time. - - The current time. - - - Gets the current time. - - - - - - Default implementation of that returns the current time. - - - - - Gets the current time. - - The current time. - - - Gets the current time. - - - - - - Send an e-mail when a specific logging event occurs, typically on errors - or fatal errors. - - - - The number of logging events delivered in this e-mail depend on - the value of option. The - keeps only the last - logging events in its - cyclic buffer. This keeps memory requirements at a reasonable level while - still delivering useful application context. - - - Authentication and setting the server Port are only available on the MS .NET 1.1 runtime. - For these features to be enabled you need to ensure that you are using a version of - the log4net assembly that is built against the MS .NET 1.1 framework and that you are - running the your application on the MS .NET 1.1 runtime. On all other platforms only sending - unauthenticated messages to a server listening on port 25 (the default) is supported. - - - Authentication is supported by setting the property to - either or . - If using authentication then the - and properties must also be set. - - - To set the SMTP server port use the property. The default port is 25. - - - Nicko Cadell - Gert Driesen - - - - Default constructor - - - - Default constructor - - - - - - Sends the contents of the cyclic buffer as an e-mail message. - - The logging events to send. - - - - Send the email message - - the body text to include in the mail - - - - Gets or sets a semicolon-delimited list of recipient e-mail addresses. - - - A semicolon-delimited list of e-mail addresses. - - - - A semicolon-delimited list of recipient e-mail addresses. - - - - - - Gets or sets the e-mail address of the sender. - - - The e-mail address of the sender. - - - - The e-mail address of the sender. - - - - - - Gets or sets the subject line of the e-mail message. - - - The subject line of the e-mail message. - - - - The subject line of the e-mail message. - - - - - - Gets or sets the name of the SMTP relay mail server to use to send - the e-mail messages. - - - The name of the e-mail relay server. If SmtpServer is not set, the - name of the local SMTP server is used. - - - - The name of the e-mail relay server. If SmtpServer is not set, the - name of the local SMTP server is used. - - - - - - Obsolete - - - Use the BufferingAppenderSkeleton Fix methods instead - - - - Obsolete property. - - - - - - The mode to use to authentication with the SMTP server - - - Authentication is only available on the MS .NET 1.1 runtime. - - Valid Authentication mode values are: , - , and . - The default value is . When using - you must specify the - and to use to authenticate. - When using the Windows credentials for the current - thread, if impersonating, or the process will be used to authenticate. - - - - - - The username to use to authenticate with the SMTP server - - - Authentication is only available on the MS .NET 1.1 runtime. - - A and must be specified when - is set to , - otherwise the username will be ignored. - - - - - - The password to use to authenticate with the SMTP server - - - Authentication is only available on the MS .NET 1.1 runtime. - - A and must be specified when - is set to , - otherwise the password will be ignored. - - - - - - The port on which the SMTP server is listening - - - Server Port is only available on the MS .NET 1.1 runtime. - - The port on which the SMTP server is listening. The default - port is 25. The Port can only be changed when running on - the MS .NET 1.1 runtime. - - - - - - Gets or sets the priority of the e-mail message - - - One of the values. - - - - Sets the priority of the e-mails generated by this - appender. The default priority is . - - - If you are using this appender to report errors then - you may want to set the priority to . - - - - - - This appender requires a to be set. - - true - - - This appender requires a to be set. - - - - - - Values for the property. - - - - SMTP authentication modes. - - - - - - No authentication - - - - - Basic authentication. - - - Requires a username and password to be supplied - - - - - Integrated authentication - - - Uses the Windows credentials from the current thread or process to authenticate. - - - - - Send an email when a specific logging event occurs, typically on errors - or fatal errors. Rather than sending via smtp it writes a file into the - directory specified by . This allows services such - as the IIS SMTP agent to manage sending the messages. - - - - The configuration for this appender is identical to that of the SMTPAppender, - except that instead of specifying the SMTPAppender.SMTPHost you specify - . - - - The number of logging events delivered in this e-mail depend on - the value of option. The - keeps only the last - logging events in its - cyclic buffer. This keeps memory requirements at a reasonable level while - still delivering useful application context. - - - Niall Daley - Nicko Cadell - - - - Default constructor - - - - Default constructor - - - - - - Sends the contents of the cyclic buffer as an e-mail message. - - The logging events to send. - - - Sends the contents of the cyclic buffer as an e-mail message. - - - - - - Activate the options on this appender. - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - - - - Convert a path into a fully qualified path. - - The path to convert. - The fully qualified path. - - - Converts the path specified to a fully - qualified path. If the path is relative it is - taken as relative from the application base - directory. - - - - - - The security context to use for privileged calls - - - - - Gets or sets a semicolon-delimited list of recipient e-mail addresses. - - - A semicolon-delimited list of e-mail addresses. - - - - A semicolon-delimited list of e-mail addresses. - - - - - - Gets or sets the e-mail address of the sender. - - - The e-mail address of the sender. - - - - The e-mail address of the sender. - - - - - - Gets or sets the subject line of the e-mail message. - - - The subject line of the e-mail message. - - - - The subject line of the e-mail message. - - - - - - Gets or sets the path to write the messages to. - - - - Gets or sets the path to write the messages to. This should be the same - as that used by the agent sending the messages. - - - - - - Gets or sets the used to write to the pickup directory. - - - The used to write to the pickup directory. - - - - Unless a specified here for this appender - the is queried for the - security context to use. The default behavior is to use the security context - of the current thread. - - - - - - This appender requires a to be set. - - true - - - This appender requires a to be set. - - - - - - Appender that allows clients to connect via Telnet to receive log messages - - - - The TelnetAppender accepts socket connections and streams logging messages - back to the client. - The output is provided in a telnet-friendly way so that a log can be monitored - over a TCP/IP socket. - This allows simple remote monitoring of application logging. - - - The default is 23 (the telnet port). - - - Keith Long - Nicko Cadell - - - - Default constructor - - - - Default constructor - - - - - - Overrides the parent method to close the socket handler - - - - Closes all the outstanding connections. - - - - - - Initialize the appender based on the options set. - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - Create the socket handler and wait for connections - - - - - - Writes the logging event to each connected client. - - The event to log. - - - Writes the logging event to each connected client. - - - - - - Gets or sets the TCP port number on which this will listen for connections. - - - An integer value in the range to - indicating the TCP port number on which this will listen for connections. - - - - The default value is 23 (the telnet port). - - - The value specified is less than - or greater than . - - - - This appender requires a to be set. - - true - - - This appender requires a to be set. - - - - - - Helper class to manage connected clients - - - - The SocketHandler class is used to accept connections from - clients. It is threaded so that clients can connect/disconnect - asynchronously. - - - - - - Opens a new server port on - - the local port to listen on for connections - - - Creates a socket handler on the specified local server port. - - - - - - Sends a string message to each of the connected clients - - the text to send - - - Sends a string message to each of the connected clients - - - - - - Add a client to the internal clients list - - client to add - - - - Remove a client from the internal clients list - - client to remove - - - - Callback used to accept a connection on the server socket - - The result of the asynchronous operation - - - On connection adds to the list of connections - if there are two many open connections you will be disconnected - - - - - - Close all network connections - - - - Make sure we close all network connections - - - - - - Test if this handler has active connections - - - true if this handler has active connections - - - - This property will be true while this handler has - active connections, that is at least one connection that - the handler will attempt to send a message to. - - - - - - Class that represents a client connected to this handler - - - - Class that represents a client connected to this handler - - - - - - Create this for the specified - - the client's socket - - - Opens a stream writer on the socket. - - - - - - Write a string to the client - - string to send - - - Write a string to the client - - - - - - Cleanup the clients connection - - - - Close the socket connection. - - - - - - Appends log events to the system. - - - - The application configuration file can be used to control what listeners - are actually used. See the MSDN documentation for the - class for details on configuring the - trace system. - - - Events are written using the System.Diagnostics.Trace.Write(string,string) - method. The event's logger name is passed as the value for the category name to the Write method. - - - Compact Framework
- The Compact Framework does not support the - class for any operation except Assert. When using the Compact Framework this - appender will write to the system rather than - the Trace system. This appender will therefore behave like the . -
-
- Douglas de la Torre - Nicko Cadell - Gert Driesen -
- - - Initializes a new instance of the . - - - - Default constructor. - - - - - - Initializes a new instance of the - with a specified layout. - - The layout to use with this appender. - - - Obsolete constructor. - - - - - - Writes the logging event to the system. - - The event to log. - - - Writes the logging event to the system. - - - - - - Immediate flush means that the underlying writer or output stream - will be flushed at the end of each append operation. - - - - Immediate flush is slower but ensures that each append request is - actually written. If is set to - false, then there is a good chance that the last few - logs events are not actually written to persistent media if and - when the application crashes. - - - The default value is true. - - - - - Gets or sets a value that indicates whether the appender will - flush at the end of each write. - - - The default behavior is to flush at the end of each - write. If the option is set tofalse, then the underlying - stream can defer writing to physical medium to a later time. - - - Avoiding the flush operation at the end of each append results - in a performance gain of 10 to 20 percent. However, there is safety - trade-off involved in skipping flushing. Indeed, when flushing is - skipped, then it is likely that the last few log events will not - be recorded on disk when the application exits. This is a high - price to pay even for a 20% performance gain. - - - - - - This appender requires a to be set. - - true - - - This appender requires a to be set. - - - - - - Assembly level attribute that specifies a domain to alias to this assembly's repository. - - - - AliasDomainAttribute is obsolete. Use AliasRepositoryAttribute instead of AliasDomainAttribute. - - - An assembly's logger repository is defined by its , - however this can be overridden by an assembly loaded before the target assembly. - - - An assembly can alias another assembly's domain to its repository by - specifying this attribute with the name of the target domain. - - - This attribute can only be specified on the assembly and may be used - as many times as necessary to alias all the required domains. - - - Nicko Cadell - Gert Driesen - - - - Assembly level attribute that specifies a repository to alias to this assembly's repository. - - - - An assembly's logger repository is defined by its , - however this can be overridden by an assembly loaded before the target assembly. - - - An assembly can alias another assembly's repository to its repository by - specifying this attribute with the name of the target repository. - - - This attribute can only be specified on the assembly and may be used - as many times as necessary to alias all the required repositories. - - - Nicko Cadell - Gert Driesen - - - - Initializes a new instance of the class with - the specified repository to alias to this assembly's repository. - - The repository to alias to this assemby's repository. - - - Initializes a new instance of the class with - the specified repository to alias to this assembly's repository. - - - - - - Gets or sets the repository to alias to this assemby's repository. - - - The repository to alias to this assemby's repository. - - - - The name of the repository to alias to this assemby's repository. - - - - - - Initializes a new instance of the class with - the specified domain to alias to this assembly's repository. - - The domain to alias to this assemby's repository. - - - Obsolete. Use instead of . - - - - - - Use this class to quickly configure a . - - - - Allows very simple programmatic configuration of log4net. - - - Only one appender can be configured using this configurator. - The appender is set at the root of the hierarchy and all logging - events will be delivered to that appender. - - - Appenders can also implement the interface. Therefore - they would require that the method - be called after the appenders properties have been configured. - - - Nicko Cadell - Gert Driesen - - - - Initializes a new instance of the class. - - - - Uses a private access modifier to prevent instantiation of this class. - - - - - - Initializes the log4net system with a default configuration. - - - - Initializes the log4net logging system using a - that will write to Console.Out. The log messages are - formatted using the layout object - with the - layout style. - - - - - - Initializes the log4net system using the specified appender. - - The appender to use to log all logging events. - - - Initializes the log4net system using the specified appender. - - - - - - Initializes the with a default configuration. - - The repository to configure. - - - Initializes the specified repository using a - that will write to Console.Out. The log messages are - formatted using the layout object - with the - layout style. - - - - - - Initializes the using the specified appender. - - The repository to configure. - The appender to use to log all logging events. - - - Initializes the using the specified appender. - - - - - - Base class for all log4net configuration attributes. - - - This is an abstract class that must be extended by - specific configurators. This attribute allows the - configurator to be parameterized by an assembly level - attribute. - - Nicko Cadell - Gert Driesen - - - - Constructor used by subclasses. - - the ordering priority for this configurator - - - The is used to order the configurator - attributes before they are invoked. Higher priority configurators are executed - before lower priority ones. - - - - - - Configures the for the specified assembly. - - The assembly that this attribute was defined on. - The repository to configure. - - - Abstract method implemented by a subclass. When this method is called - the subclass should configure the . - - - - - - Compare this instance to another ConfiguratorAttribute - - the object to compare to - see - - - Compares the priorities of the two instances. - Sorts by priority in descending order. Objects with the same priority are - randomly ordered. - - - - - - Assembly level attribute that specifies the logging domain for the assembly. - - - - DomainAttribute is obsolete. Use RepositoryAttribute instead of DomainAttribute. - - - Assemblies are mapped to logging domains. Each domain has its own - logging repository. This attribute specified on the assembly controls - the configuration of the domain. The property specifies the name - of the domain that this assembly is a part of. The - specifies the type of the repository objects to create for the domain. If - this attribute is not specified and a is not specified - then the assembly will be part of the default shared logging domain. - - - This attribute can only be specified on the assembly and may only be used - once per assembly. - - - Nicko Cadell - Gert Driesen - - - - Assembly level attribute that specifies the logging repository for the assembly. - - - - Assemblies are mapped to logging repository. This attribute specified - on the assembly controls - the configuration of the repository. The property specifies the name - of the repository that this assembly is a part of. The - specifies the type of the object - to create for the assembly. If this attribute is not specified or a - is not specified then the assembly will be part of the default shared logging repository. - - - This attribute can only be specified on the assembly and may only be used - once per assembly. - - - Nicko Cadell - Gert Driesen - - - - Initializes a new instance of the class. - - - - Default constructor. - - - - - - Initialize a new instance of the class - with the name of the repository. - - The name of the repository. - - - Initialize the attribute with the name for the assembly's repository. - - - - - - Gets or sets the name of the logging repository. - - - The string name to use as the name of the repository associated with this - assembly. - - - - This value does not have to be unique. Several assemblies can share the - same repository. They will share the logging configuration of the repository. - - - - - - Gets or sets the type of repository to create for this assembly. - - - The type of repository to create for this assembly. - - - - The type of the repository to create for the assembly. - The type must implement the - interface. - - - This will be the type of repository created when - the repository is created. If multiple assemblies reference the - same repository then the repository is only created once using the - of the first assembly to call into the - repository. - - - - - - Initializes a new instance of the class. - - - - Obsolete. Use RepositoryAttribute instead of DomainAttribute. - - - - - - Initialize a new instance of the class - with the name of the domain. - - The name of the domain. - - - Obsolete. Use RepositoryAttribute instead of DomainAttribute. - - - - - - Use this class to initialize the log4net environment using an Xml tree. - - - - DOMConfigurator is obsolete. Use XmlConfigurator instead of DOMConfigurator. - - - Configures a using an Xml tree. - - - Nicko Cadell - Gert Driesen - - - - Private constructor - - - - - Automatically configures the log4net system based on the - application's configuration settings. - - - - DOMConfigurator is obsolete. Use XmlConfigurator instead of DOMConfigurator. - - Each application has a configuration file. This has the - same name as the application with '.config' appended. - This file is XML and calling this function prompts the - configurator to look in that file for a section called - log4net that contains the configuration data. - - - - - Automatically configures the using settings - stored in the application's configuration file. - - - - DOMConfigurator is obsolete. Use XmlConfigurator instead of DOMConfigurator. - - Each application has a configuration file. This has the - same name as the application with '.config' appended. - This file is XML and calling this function prompts the - configurator to look in that file for a section called - log4net that contains the configuration data. - - The repository to configure. - - - - Configures log4net using a log4net element - - - - DOMConfigurator is obsolete. Use XmlConfigurator instead of DOMConfigurator. - - Loads the log4net configuration from the XML element - supplied as . - - The element to parse. - - - - Configures the using the specified XML - element. - - - - DOMConfigurator is obsolete. Use XmlConfigurator instead of DOMConfigurator. - - Loads the log4net configuration from the XML element - supplied as . - - The repository to configure. - The element to parse. - - - - Configures log4net using the specified configuration file. - - The XML file to load the configuration from. - - - DOMConfigurator is obsolete. Use XmlConfigurator instead of DOMConfigurator. - - - The configuration file must be valid XML. It must contain - at least one element called log4net that holds - the log4net configuration data. - - - The log4net configuration file can possible be specified in the application's - configuration file (either MyAppName.exe.config for a - normal application on Web.config for an ASP.NET application). - - - The following example configures log4net using a configuration file, of which the - location is stored in the application's configuration file : - - - using log4net.Config; - using System.IO; - using System.Configuration; - - ... - - DOMConfigurator.Configure(new FileInfo(ConfigurationSettings.AppSettings["log4net-config-file"])); - - - In the .config file, the path to the log4net can be specified like this : - - - - - - - - - - - - - Configures log4net using the specified configuration file. - - A stream to load the XML configuration from. - - - DOMConfigurator is obsolete. Use XmlConfigurator instead of DOMConfigurator. - - - The configuration data must be valid XML. It must contain - at least one element called log4net that holds - the log4net configuration data. - - - Note that this method will NOT close the stream parameter. - - - - - - Configures the using the specified configuration - file. - - The repository to configure. - The XML file to load the configuration from. - - - DOMConfigurator is obsolete. Use XmlConfigurator instead of DOMConfigurator. - - - The configuration file must be valid XML. It must contain - at least one element called log4net that holds - the configuration data. - - - The log4net configuration file can possible be specified in the application's - configuration file (either MyAppName.exe.config for a - normal application on Web.config for an ASP.NET application). - - - The following example configures log4net using a configuration file, of which the - location is stored in the application's configuration file : - - - using log4net.Config; - using System.IO; - using System.Configuration; - - ... - - DOMConfigurator.Configure(new FileInfo(ConfigurationSettings.AppSettings["log4net-config-file"])); - - - In the .config file, the path to the log4net can be specified like this : - - - - - - - - - - - - - Configures the using the specified configuration - file. - - The repository to configure. - The stream to load the XML configuration from. - - - DOMConfigurator is obsolete. Use XmlConfigurator instead of DOMConfigurator. - - - The configuration data must be valid XML. It must contain - at least one element called log4net that holds - the configuration data. - - - Note that this method will NOT close the stream parameter. - - - - - - Configures log4net using the file specified, monitors the file for changes - and reloads the configuration if a change is detected. - - The XML file to load the configuration from. - - - DOMConfigurator is obsolete. Use XmlConfigurator instead of DOMConfigurator. - - - The configuration file must be valid XML. It must contain - at least one element called log4net that holds - the configuration data. - - - The configuration file will be monitored using a - and depends on the behavior of that class. - - - For more information on how to configure log4net using - a separate configuration file, see . - - - - - - - Configures the using the file specified, - monitors the file for changes and reloads the configuration if a change - is detected. - - The repository to configure. - The XML file to load the configuration from. - - - DOMConfigurator is obsolete. Use XmlConfigurator instead of DOMConfigurator. - - - The configuration file must be valid XML. It must contain - at least one element called log4net that holds - the configuration data. - - - The configuration file will be monitored using a - and depends on the behavior of that class. - - - For more information on how to configure log4net using - a separate configuration file, see . - - - - - - - Assembly level attribute to configure the . - - - - AliasDomainAttribute is obsolete. Use AliasRepositoryAttribute instead of AliasDomainAttribute. - - - This attribute may only be used at the assembly scope and can only - be used once per assembly. - - - Use this attribute to configure the - without calling one of the - methods. - - - Nicko Cadell - Gert Driesen - - - - Assembly level attribute to configure the . - - - - This attribute may only be used at the assembly scope and can only - be used once per assembly. - - - Use this attribute to configure the - without calling one of the - methods. - - - If neither of the or - properties are set the configuration is loaded from the application's .config file. - If set the property takes priority over the - property. The property - specifies a path to a file to load the config from. The path is relative to the - application's base directory; . - The property is used as a postfix to the assembly file name. - The config file must be located in the application's base directory; . - For example in a console application setting the to - config has the same effect as not specifying the or - properties. - - - The property can be set to cause the - to watch the configuration file for changes. - - - - Log4net will only look for assembly level configuration attributes once. - When using the log4net assembly level attributes to control the configuration - of log4net you must ensure that the first call to any of the - methods is made from the assembly with the configuration - attributes. - - - If you cannot guarantee the order in which log4net calls will be made from - different assemblies you must use programmatic configuration instead, i.e. - call the method directly. - - - - Nicko Cadell - Gert Driesen - - - - Default constructor - - - - Default constructor - - - - - - Configures the for the specified assembly. - - The assembly that this attribute was defined on. - The repository to configure. - - - Configure the repository using the . - The specified must extend the - class otherwise the will not be able to - configure it. - - - The does not extend . - - - - Attempt to load configuration from the local file system - - The assembly that this attribute was defined on. - The repository to configure. - - - - Configure the specified repository using a - - The repository to configure. - the FileInfo pointing to the config file - - - - Attempt to load configuration from a URI - - The assembly that this attribute was defined on. - The repository to configure. - - - - Gets or sets the filename of the configuration file. - - - The filename of the configuration file. - - - - If specified, this is the name of the configuration file to use with - the . This file path is relative to the - application base directory (). - - - The takes priority over the . - - - - - - Gets or sets the extension of the configuration file. - - - The extension of the configuration file. - - - - If specified this is the extension for the configuration file. - The path to the config file is built by using the application - base directory (), - the assembly file name and the config file extension. - - - If the is set to MyExt then - possible config file names would be: MyConsoleApp.exe.MyExt or - MyClassLibrary.dll.MyExt. - - - The takes priority over the . - - - - - - Gets or sets a value indicating whether to watch the configuration file. - - - true if the configuration should be watched, false otherwise. - - - - If this flag is specified and set to true then the framework - will watch the configuration file and will reload the config each time - the file is modified. - - - The config file can only be watched if it is loaded from local disk. - In a No-Touch (Smart Client) deployment where the application is downloaded - from a web server the config file may not reside on the local disk - and therefore it may not be able to watch it. - - - Watching configuration is not supported on the SSCLI. - - - - - - Class to register for the log4net section of the configuration file - - - The log4net section of the configuration file needs to have a section - handler registered. This is the section handler used. It simply returns - the XML element that is the root of the section. - - - Example of registering the log4net section handler : - - - -
- - - log4net configuration XML goes here - - - - - Nicko Cadell - Gert Driesen - - - - Initializes a new instance of the class. - - - - Default constructor. - - - - - - Parses the configuration section. - - The configuration settings in a corresponding parent configuration section. - The configuration context when called from the ASP.NET configuration system. Otherwise, this parameter is reserved and is a null reference. - The for the log4net section. - The for the log4net section. - - - Returns the containing the configuration data, - - - - - - Assembly level attribute that specifies a plugin to attach to - the repository. - - - - Specifies the type of a plugin to create and attach to the - assembly's repository. The plugin type must implement the - interface. - - - Nicko Cadell - Gert Driesen - - - - Interface used to create plugins. - - - - Interface used to create a plugin. - - - Nicko Cadell - Gert Driesen - - - - Creates the plugin object. - - the new plugin instance - - - Create and return a new plugin instance. - - - - - - Initializes a new instance of the class - with the specified type. - - The type name of plugin to create. - - - Create the attribute with the plugin type specified. - - - Where possible use the constructor that takes a . - - - - - - Initializes a new instance of the class - with the specified type. - - The type of plugin to create. - - - Create the attribute with the plugin type specified. - - - - - - Creates the plugin object defined by this attribute. - - - - Creates the instance of the object as - specified by this attribute. - - - The plugin object. - - - - Returns a representation of the properties of this object. - - - - Overrides base class method to - return a representation of the properties of this object. - - - A representation of the properties of this object - - - - Gets or sets the type for the plugin. - - - The type for the plugin. - - - - The type for the plugin. - - - - - - Gets or sets the type name for the plugin. - - - The type name for the plugin. - - - - The type name for the plugin. - - - Where possible use the property instead. - - - - - - Assembly level attribute to configure the . - - - - This attribute may only be used at the assembly scope and can only - be used once per assembly. - - - Use this attribute to configure the - without calling one of the - methods. - - - Nicko Cadell - - - - Construct provider attribute with type specified - - the type of the provider to use - - - The provider specified must subclass the - class. - - - - - - Configures the SecurityContextProvider - - The assembly that this attribute was defined on. - The repository to configure. - - - Creates a provider instance from the specified. - Sets this as the default security context provider . - - - - - - Gets or sets the type of the provider to use. - - - the type of the provider to use. - - - - The provider specified must subclass the - class. - - - - - - Use this class to initialize the log4net environment using an Xml tree. - - - - Configures a using an Xml tree. - - - Nicko Cadell - Gert Driesen - - - - Private constructor - - - - - Automatically configures the log4net system based on the - application's configuration settings. - - - - Each application has a configuration file. This has the - same name as the application with '.config' appended. - This file is XML and calling this function prompts the - configurator to look in that file for a section called - log4net that contains the configuration data. - - - To use this method to configure log4net you must specify - the section - handler for the log4net configuration section. See the - for an example. - - - - - - - Automatically configures the using settings - stored in the application's configuration file. - - - - Each application has a configuration file. This has the - same name as the application with '.config' appended. - This file is XML and calling this function prompts the - configurator to look in that file for a section called - log4net that contains the configuration data. - - - To use this method to configure log4net you must specify - the section - handler for the log4net configuration section. See the - for an example. - - - The repository to configure. - - - - Configures log4net using a log4net element - - - - Loads the log4net configuration from the XML element - supplied as . - - - The element to parse. - - - - Configures the using the specified XML - element. - - - Loads the log4net configuration from the XML element - supplied as . - - The repository to configure. - The element to parse. - - - - Configures log4net using the specified configuration file. - - The XML file to load the configuration from. - - - The configuration file must be valid XML. It must contain - at least one element called log4net that holds - the log4net configuration data. - - - The log4net configuration file can possible be specified in the application's - configuration file (either MyAppName.exe.config for a - normal application on Web.config for an ASP.NET application). - - - The first element matching <configuration> will be read as the - configuration. If this file is also a .NET .config file then you must specify - a configuration section for the log4net element otherwise .NET will - complain. Set the type for the section handler to , for example: - - -
- - - - - The following example configures log4net using a configuration file, of which the - location is stored in the application's configuration file : - - - using log4net.Config; - using System.IO; - using System.Configuration; - - ... - - XmlConfigurator.Configure(new FileInfo(ConfigurationSettings.AppSettings["log4net-config-file"])); - - - In the .config file, the path to the log4net can be specified like this : - - - - - - - - - - - - - Configures log4net using the specified configuration URI. - - A URI to load the XML configuration from. - - - The configuration data must be valid XML. It must contain - at least one element called log4net that holds - the log4net configuration data. - - - The must support the URI scheme specified. - - - - - - Configures log4net using the specified configuration data stream. - - A stream to load the XML configuration from. - - - The configuration data must be valid XML. It must contain - at least one element called log4net that holds - the log4net configuration data. - - - Note that this method will NOT close the stream parameter. - - - - - - Configures the using the specified configuration - file. - - The repository to configure. - The XML file to load the configuration from. - - - The configuration file must be valid XML. It must contain - at least one element called log4net that holds - the configuration data. - - - The log4net configuration file can possible be specified in the application's - configuration file (either MyAppName.exe.config for a - normal application on Web.config for an ASP.NET application). - - - The first element matching <configuration> will be read as the - configuration. If this file is also a .NET .config file then you must specify - a configuration section for the log4net element otherwise .NET will - complain. Set the type for the section handler to , for example: - - -
- - - - - The following example configures log4net using a configuration file, of which the - location is stored in the application's configuration file : - - - using log4net.Config; - using System.IO; - using System.Configuration; - - ... - - XmlConfigurator.Configure(new FileInfo(ConfigurationSettings.AppSettings["log4net-config-file"])); - - - In the .config file, the path to the log4net can be specified like this : - - - - - - - - - - - - - Configures the using the specified configuration - URI. - - The repository to configure. - A URI to load the XML configuration from. - - - The configuration data must be valid XML. It must contain - at least one element called log4net that holds - the configuration data. - - - The must support the URI scheme specified. - - - - - - Configures the using the specified configuration - file. - - The repository to configure. - The stream to load the XML configuration from. - - - The configuration data must be valid XML. It must contain - at least one element called log4net that holds - the configuration data. - - - Note that this method will NOT close the stream parameter. - - - - - - Configures log4net using the file specified, monitors the file for changes - and reloads the configuration if a change is detected. - - The XML file to load the configuration from. - - - The configuration file must be valid XML. It must contain - at least one element called log4net that holds - the configuration data. - - - The configuration file will be monitored using a - and depends on the behavior of that class. - - - For more information on how to configure log4net using - a separate configuration file, see . - - - - - - - Configures the using the file specified, - monitors the file for changes and reloads the configuration if a change - is detected. - - The repository to configure. - The XML file to load the configuration from. - - - The configuration file must be valid XML. It must contain - at least one element called log4net that holds - the configuration data. - - - The configuration file will be monitored using a - and depends on the behavior of that class. - - - For more information on how to configure log4net using - a separate configuration file, see . - - - - - - - Configures the specified repository using a log4net element. - - The hierarchy to configure. - The element to parse. - - - Loads the log4net configuration from the XML element - supplied as . - - - This method is ultimately called by one of the Configure methods - to load the configuration from an . - - - - - - Class used to watch config files. - - - - Uses the to monitor - changes to a specified file. Because multiple change notifications - may be raised when the file is modified, a timer is used to - compress the notifications into a single event. The timer - waits for time before delivering - the event notification. If any further - change notifications arrive while the timer is waiting it - is reset and waits again for to - elapse. - - - - - - The default amount of time to wait after receiving notification - before reloading the config file. - - - - - Watch a specified config file used to configure a repository - - The repository to configure. - The configuration file to watch. - - - Watch a specified config file used to configure a repository - - - - - - Holds the FileInfo used to configure the XmlConfigurator - - - - - Holds the repository being configured. - - - - - The timer used to compress the notification events. - - - - - Initializes a new instance of the class. - - The repository to configure. - The configuration file to watch. - - - Initializes a new instance of the class. - - - - - - Event handler used by . - - The firing the event. - The argument indicates the file that caused the event to be fired. - - - This handler reloads the configuration from the file when the event is fired. - - - - - - Event handler used by . - - The firing the event. - The argument indicates the file that caused the event to be fired. - - - This handler reloads the configuration from the file when the event is fired. - - - - - - Called by the timer when the configuration has been updated. - - null - - - - The implementation of the interface suitable - for use with the compact framework - - - - This implementation is a simple - mapping between repository name and - object. - - - The .NET Compact Framework 1.0 does not support retrieving assembly - level attributes therefore unlike the DefaultRepositorySelector - this selector does not examine the calling assembly for attributes. - - - Nicko Cadell - - - - Interface used by the to select the . - - - - The uses a - to specify the policy for selecting the correct - to return to the caller. - - - Nicko Cadell - Gert Driesen - - - - Gets the for the specified assembly. - - The assembly to use to lookup to the - The for the assembly. - - - Gets the for the specified assembly. - - - How the association between and - is made is not defined. The implementation may choose any method for - this association. The results of this method must be repeatable, i.e. - when called again with the same arguments the result must be the - save value. - - - - - - Gets the named . - - The name to use to lookup to the . - The named - - Lookup a named . This is the repository created by - calling . - - - - - Creates a new repository for the assembly specified. - - The assembly to use to create the domain to associate with the . - The type of repository to create, must implement . - The repository created. - - - The created will be associated with the domain - specified such that a call to with the - same assembly specified will return the same repository instance. - - - How the association between and - is made is not defined. The implementation may choose any method for - this association. - - - - - - Creates a new repository with the name specified. - - The name to associate with the . - The type of repository to create, must implement . - The repository created. - - - The created will be associated with the name - specified such that a call to with the - same name will return the same repository instance. - - - - - - Test if a named repository exists - - the named repository to check - true if the repository exists - - - Test if a named repository exists. Use - to create a new repository and to retrieve - a repository. - - - - - - Gets an array of all currently defined repositories. - - - An array of the instances created by - this . - - - Gets an array of all of the repositories created by this selector. - - - - - - Event to notify that a logger repository has been created. - - - Event to notify that a logger repository has been created. - - - - Event raised when a new repository is created. - The event source will be this selector. The event args will - be a which - holds the newly created . - - - - - - Create a new repository selector - - the type of the repositories to create, must implement - - - Create an new compact repository selector. - The default type for repositories must be specified, - an appropriate value would be . - - - throw if is null - throw if does not implement - - - - Get the for the specified assembly - - not used - The default - - - The argument is not used. This selector does not create a - separate repository for each assembly. - - - As a named repository is not specified the default repository is - returned. The default repository is named log4net-default-repository. - - - - - - Get the named - - the name of the repository to lookup - The named - - - Get the named . The default - repository is log4net-default-repository. Other repositories - must be created using the . - If the named repository does not exist an exception is thrown. - - - throw if is null - throw if the does not exist - - - - Create a new repository for the assembly specified - - not used - the type of repository to create, must implement - the repository created - - - The argument is not used. This selector does not create a - separate repository for each assembly. - - - If the is null then the - default repository type specified to the constructor is used. - - - As a named repository is not specified the default repository is - returned. The default repository is named log4net-default-repository. - - - - - - Create a new repository for the repository specified - - the repository to associate with the - the type of repository to create, must implement . - If this param is null then the default repository type is used. - the repository created - - - The created will be associated with the repository - specified such that a call to with the - same repository specified will return the same repository instance. - - - If the named repository already exists an exception will be thrown. - - - If is null then the default - repository type specified to the constructor is used. - - - throw if is null - throw if the already exists - - - - Test if a named repository exists - - the named repository to check - true if the repository exists - - - Test if a named repository exists. Use - to create a new repository and to retrieve - a repository. - - - - - - Gets a list of objects - - an array of all known objects - - - Gets an array of all of the repositories created by this selector. - - - - - - Notify the registered listeners that the repository has been created - - The repository that has been created - - - Raises the LoggerRepositoryCreatedEvent - event. - - - - - - Event to notify that a logger repository has been created. - - - Event to notify that a logger repository has been created. - - - - Event raised when a new repository is created. - The event source will be this selector. The event args will - be a which - holds the newly created . - - - - - - The default implementation of the interface. - - - - Uses attributes defined on the calling assembly to determine how to - configure the hierarchy for the repository. - - - Nicko Cadell - Gert Driesen - - - - Creates a new repository selector. - - The type of the repositories to create, must implement - - - Create an new repository selector. - The default type for repositories must be specified, - an appropriate value would be . - - - is . - does not implement . - - - - Gets the for the specified assembly. - - The assembly use to lookup the . - - - The type of the created and the repository - to create can be overridden by specifying the - attribute on the . - - - The default values are to use the - implementation of the interface and to use the - as the name of the repository. - - - The created will be automatically configured using - any attributes defined on - the . - - - The for the assembly - is . - - - - Gets the for the specified repository. - - The repository to use to lookup the . - The for the specified repository. - - - Returns the named repository. If is null - a is thrown. If the repository - does not exist a is thrown. - - - Use to create a repository. - - - is . - does not exist. - - - - Create a new repository for the assembly specified - - the assembly to use to create the repository to associate with the . - The type of repository to create, must implement . - The repository created. - - - The created will be associated with the repository - specified such that a call to with the - same assembly specified will return the same repository instance. - - - The type of the created and - the repository to create can be overridden by specifying the - attribute on the - . The default values are to use the - implementation of the - interface and to use the - as the name of the repository. - - - The created will be automatically - configured using any - attributes defined on the . - - - If a repository for the already exists - that repository will be returned. An error will not be raised and that - repository may be of a different type to that specified in . - Also the attribute on the - assembly may be used to override the repository type specified in - . - - - is . - - - - Creates a new repository for the assembly specified. - - the assembly to use to create the repository to associate with the . - The type of repository to create, must implement . - The name to assign to the created repository - Set to true to read and apply the assembly attributes - The repository created. - - - The created will be associated with the repository - specified such that a call to with the - same assembly specified will return the same repository instance. - - - The type of the created and - the repository to create can be overridden by specifying the - attribute on the - . The default values are to use the - implementation of the - interface and to use the - as the name of the repository. - - - The created will be automatically - configured using any - attributes defined on the . - - - If a repository for the already exists - that repository will be returned. An error will not be raised and that - repository may be of a different type to that specified in . - Also the attribute on the - assembly may be used to override the repository type specified in - . - - - is . - - - - Creates a new repository for the specified repository. - - The repository to associate with the . - The type of repository to create, must implement . - If this param is then the default repository type is used. - The new repository. - - - The created will be associated with the repository - specified such that a call to with the - same repository specified will return the same repository instance. - - - is . - already exists. - - - - Test if a named repository exists - - the named repository to check - true if the repository exists - - - Test if a named repository exists. Use - to create a new repository and to retrieve - a repository. - - - - - - Gets a list of objects - - an array of all known objects - - - Gets an array of all of the repositories created by this selector. - - - - - - Aliases a repository to an existing repository. - - The repository to alias. - The repository that the repository is aliased to. - - - The repository specified will be aliased to the repository when created. - The repository must not already exist. - - - When the repository is created it must utilize the same repository type as - the repository it is aliased to, otherwise the aliasing will fail. - - - - is . - -or- - is . - - - - - Notifies the registered listeners that the repository has been created. - - The repository that has been created. - - - Raises the event. - - - - - - Gets the repository name and repository type for the specified assembly. - - The assembly that has a . - in/out param to hold the repository name to use for the assembly, caller should set this to the default value before calling. - in/out param to hold the type of the repository to create for the assembly, caller should set this to the default value before calling. - is . - - - - Configures the repository using information from the assembly. - - The assembly containing - attributes which define the configuration for the repository. - The repository to configure. - - is . - -or- - is . - - - - - Loads the attribute defined plugins on the assembly. - - The assembly that contains the attributes. - The repository to add the plugins to. - - is . - -or- - is . - - - - - Loads the attribute defined aliases on the assembly. - - The assembly that contains the attributes. - The repository to alias to. - - is . - -or- - is . - - - - - Event to notify that a logger repository has been created. - - - Event to notify that a logger repository has been created. - - - - Event raised when a new repository is created. - The event source will be this selector. The event args will - be a which - holds the newly created . - - - - - - Defined error codes that can be passed to the method. - - - - Values passed to the method. - - - Nicko Cadell - - - - A general error - - - - - Error while writing output - - - - - Failed to flush file - - - - - Failed to close file - - - - - Unable to open output file - - - - - No layout specified - - - - - Failed to parse address - - - - - Appenders may delegate their error handling to an . - - - - Error handling is a particularly tedious to get right because by - definition errors are hard to predict and to reproduce. - - - Nicko Cadell - Gert Driesen - - - - Handles the error and information about the error condition is passed as - a parameter. - - The message associated with the error. - The that was thrown when the error occurred. - The error code associated with the error. - - - Handles the error and information about the error condition is passed as - a parameter. - - - - - - Prints the error message passed as a parameter. - - The message associated with the error. - The that was thrown when the error occurred. - - - See . - - - - - - Prints the error message passed as a parameter. - - The message associated with the error. - - - See . - - - - - - Interface for objects that require fixing. - - - - Interface that indicates that the object requires fixing before it - can be taken outside the context of the appender's - method. - - - When objects that implement this interface are stored - in the context properties maps - and - are fixed - (see ) the - method will be called. - - - Nicko Cadell - - - - Get a portable version of this object - - the portable instance of this object - - - Get a portable instance object that represents the current - state of this object. The portable object can be stored - and logged from any thread with identical results. - - - - - - Interface that all loggers implement - - - - This interface supports logging events and testing if a level - is enabled for logging. - - - These methods will not throw exceptions. Note to implementor, ensure - that the implementation of these methods cannot allow an exception - to be thrown to the caller. - - - Nicko Cadell - Gert Driesen - - - - This generic form is intended to be used by wrappers. - - The declaring type of the method that is - the stack boundary into the logging system for this call. - The level of the message to be logged. - The message object to log. - the exception to log, including its stack trace. Pass null to not log an exception. - - - Generates a logging event for the specified using - the and . - - - - - - This is the most generic printing method that is intended to be used - by wrappers. - - The event being logged. - - - Logs the specified logging event through this logger. - - - - - - Checks if this logger is enabled for a given passed as parameter. - - The level to check. - - true if this logger is enabled for level, otherwise false. - - - - Test if this logger is going to log events of the specified . - - - - - - Gets the name of the logger. - - - The name of the logger. - - - - The name of this logger - - - - - - Gets the where this - Logger instance is attached to. - - - The that this logger belongs to. - - - - Gets the where this - Logger instance is attached to. - - - - - - Base interface for all wrappers - - - - Base interface for all wrappers. - - - All wrappers must implement this interface. - - - Nicko Cadell - - - - Get the implementation behind this wrapper object. - - - The object that in implementing this object. - - - - The object that in implementing this - object. The Logger object may not - be the same object as this object because of logger decorators. - This gets the actual underlying objects that is used to process - the log events. - - - - - - Delegate used to handle logger repository creation event notifications - - The which created the repository. - The event args - that holds the instance that has been created. - - - Delegate used to handle logger repository creation event notifications. - - - - - - Provides data for the event. - - - - A - event is raised every time a is created. - - - - - - The created - - - - - Construct instance using specified - - the that has been created - - - Construct instance using specified - - - - - - The that has been created - - - The that has been created - - - - The that has been created - - - - - - Test if an triggers an action - - - - Implementations of this interface allow certain appenders to decide - when to perform an appender specific action. - - - The action or behavior triggered is defined by the implementation. - - - Nicko Cadell - - - - Test if this event triggers the action - - The event to check - true if this event triggers the action, otherwise false - - - Return true if this event triggers the action - - - - - - Defines the default set of levels recognized by the system. - - - - Each has an associated . - - - Levels have a numeric that defines the relative - ordering between levels. Two Levels with the same - are deemed to be equivalent. - - - The levels that are recognized by log4net are set for each - and each repository can have different levels defined. The levels are stored - in the on the repository. Levels are - looked up by name from the . - - - When logging at level INFO the actual level used is not but - the value of LoggerRepository.LevelMap["INFO"]. The default value for this is - , but this can be changed by reconfiguring the level map. - - - Each level has a in addition to its . The - is the string that is written into the output log. By default - the display name is the same as the level name, but this can be used to alias levels - or to localize the log output. - - - Some of the predefined levels recognized by the system are: - - - - . - - - . - - - . - - - . - - - . - - - . - - - . - - - - Nicko Cadell - Gert Driesen - - - - Constructor - - Integer value for this level, higher values represent more severe levels. - The string name of this level. - The display name for this level. This may be localized or otherwise different from the name - - - Initializes a new instance of the class with - the specified level name and value. - - - - - - Constructor - - Integer value for this level, higher values represent more severe levels. - The string name of this level. - - - Initializes a new instance of the class with - the specified level name and value. - - - - - - Returns the representation of the current - . - - - A representation of the current . - - - - Returns the level . - - - - - - Compares levels. - - The object to compare against. - true if the objects are equal. - - - Compares the levels of instances, and - defers to base class if the target object is not a - instance. - - - - - - Returns a hash code - - A hash code for the current . - - - Returns a hash code suitable for use in hashing algorithms and data - structures like a hash table. - - - Returns the hash code of the level . - - - - - - Compares this instance to a specified object and returns an - indication of their relative values. - - A instance or to compare with this instance. - - A 32-bit signed integer that indicates the relative order of the - values compared. The return value has these meanings: - - - Value - Meaning - - - Less than zero - This instance is less than . - - - Zero - This instance is equal to . - - - Greater than zero - - This instance is greater than . - -or- - is . - - - - - - - must be an instance of - or ; otherwise, an exception is thrown. - - - is not a . - - - - Returns a value indicating whether a specified - is greater than another specified . - - A - A - - true if is greater than - ; otherwise, false. - - - - Compares two levels. - - - - - - Returns a value indicating whether a specified - is less than another specified . - - A - A - - true if is less than - ; otherwise, false. - - - - Compares two levels. - - - - - - Returns a value indicating whether a specified - is greater than or equal to another specified . - - A - A - - true if is greater than or equal to - ; otherwise, false. - - - - Compares two levels. - - - - - - Returns a value indicating whether a specified - is less than or equal to another specified . - - A - A - - true if is less than or equal to - ; otherwise, false. - - - - Compares two levels. - - - - - - Returns a value indicating whether two specified - objects have the same value. - - A or . - A or . - - true if the value of is the same as the - value of ; otherwise, false. - - - - Compares two levels. - - - - - - Returns a value indicating whether two specified - objects have different values. - - A or . - A or . - - true if the value of is different from - the value of ; otherwise, false. - - - - Compares two levels. - - - - - - Compares two specified instances. - - The first to compare. - The second to compare. - - A 32-bit signed integer that indicates the relative order of the - two values compared. The return value has these meanings: - - - Value - Meaning - - - Less than zero - is less than . - - - Zero - is equal to . - - - Greater than zero - is greater than . - - - - - - Compares two levels. - - - - - - The level designates a higher level than all the rest. - - - - - The level designates very severe error events. - System unusable, emergencies. - - - - - The level designates very severe error events - that will presumably lead the application to abort. - - - - - The level designates very severe error events. - Take immediate action, alerts. - - - - - The level designates very severe error events. - Critical condition, critical. - - - - - The level designates very severe error events. - - - - - The level designates error events that might - still allow the application to continue running. - - - - - The level designates potentially harmful - situations. - - - - - The level designates informational messages - that highlight the progress of the application at the highest level. - - - - - The level designates informational messages that - highlight the progress of the application at coarse-grained level. - - - - - The level designates fine-grained informational - events that are most useful to debug an application. - - - - - The level designates fine-grained informational - events that are most useful to debug an application. - - - - - The level designates fine-grained informational - events that are most useful to debug an application. - - - - - The level designates fine-grained informational - events that are most useful to debug an application. - - - - - The level designates fine-grained informational - events that are most useful to debug an application. - - - - - The level designates fine-grained informational - events that are most useful to debug an application. - - - - - The level designates the lowest level possible. - - - - - Gets the name of this level. - - - The name of this level. - - - - Gets the name of this level. - - - - - - Gets the value of this level. - - - The value of this level. - - - - Gets the value of this level. - - - - - - Gets the display name of this level. - - - The display name of this level. - - - - Gets the display name of this level. - - - - - - A strongly-typed collection of objects. - - Nicko Cadell - - - - Creates a read-only wrapper for a LevelCollection instance. - - list to create a readonly wrapper arround - - A LevelCollection wrapper that is read-only. - - - - - Initializes a new instance of the LevelCollection class - that is empty and has the default initial capacity. - - - - - Initializes a new instance of the LevelCollection class - that has the specified initial capacity. - - - The number of elements that the new LevelCollection is initially capable of storing. - - - - - Initializes a new instance of the LevelCollection class - that contains elements copied from the specified LevelCollection. - - The LevelCollection whose elements are copied to the new collection. - - - - Initializes a new instance of the LevelCollection class - that contains elements copied from the specified array. - - The array whose elements are copied to the new list. - - - - Initializes a new instance of the LevelCollection class - that contains elements copied from the specified collection. - - The collection whose elements are copied to the new list. - - - - Allow subclasses to avoid our default constructors - - - - - - Copies the entire LevelCollection to a one-dimensional - array. - - The one-dimensional array to copy to. - - - - Copies the entire LevelCollection to a one-dimensional - array, starting at the specified index of the target array. - - The one-dimensional array to copy to. - The zero-based index in at which copying begins. - - - - Adds a to the end of the LevelCollection. - - The to be added to the end of the LevelCollection. - The index at which the value has been added. - - - - Removes all elements from the LevelCollection. - - - - - Creates a shallow copy of the . - - A new with a shallow copy of the collection data. - - - - Determines whether a given is in the LevelCollection. - - The to check for. - true if is found in the LevelCollection; otherwise, false. - - - - Returns the zero-based index of the first occurrence of a - in the LevelCollection. - - The to locate in the LevelCollection. - - The zero-based index of the first occurrence of - in the entire LevelCollection, if found; otherwise, -1. - - - - - Inserts an element into the LevelCollection at the specified index. - - The zero-based index at which should be inserted. - The to insert. - - is less than zero - -or- - is equal to or greater than . - - - - - Removes the first occurrence of a specific from the LevelCollection. - - The to remove from the LevelCollection. - - The specified was not found in the LevelCollection. - - - - - Removes the element at the specified index of the LevelCollection. - - The zero-based index of the element to remove. - - is less than zero - -or- - is equal to or greater than . - - - - - Returns an enumerator that can iterate through the LevelCollection. - - An for the entire LevelCollection. - - - - Adds the elements of another LevelCollection to the current LevelCollection. - - The LevelCollection whose elements should be added to the end of the current LevelCollection. - The new of the LevelCollection. - - - - Adds the elements of a array to the current LevelCollection. - - The array whose elements should be added to the end of the LevelCollection. - The new of the LevelCollection. - - - - Adds the elements of a collection to the current LevelCollection. - - The collection whose elements should be added to the end of the LevelCollection. - The new of the LevelCollection. - - - - Sets the capacity to the actual number of elements. - - - - - is less than zero - -or- - is equal to or greater than . - - - - - is less than zero - -or- - is equal to or greater than . - - - - - Gets the number of elements actually contained in the LevelCollection. - - - - - Gets a value indicating whether access to the collection is synchronized (thread-safe). - - true if access to the ICollection is synchronized (thread-safe); otherwise, false. - - - - Gets an object that can be used to synchronize access to the collection. - - - - - Gets or sets the at the specified index. - - The zero-based index of the element to get or set. - - is less than zero - -or- - is equal to or greater than . - - - - - Gets a value indicating whether the collection has a fixed size. - - true if the collection has a fixed size; otherwise, false. The default is false - - - - Gets a value indicating whether the IList is read-only. - - true if the collection is read-only; otherwise, false. The default is false - - - - Gets or sets the number of elements the LevelCollection can contain. - - - - - Supports type-safe iteration over a . - - - - - Advances the enumerator to the next element in the collection. - - - true if the enumerator was successfully advanced to the next element; - false if the enumerator has passed the end of the collection. - - - The collection was modified after the enumerator was created. - - - - - Sets the enumerator to its initial position, before the first element in the collection. - - - - - Gets the current element in the collection. - - - - - Type visible only to our subclasses - Used to access protected constructor - - - - - A value - - - - - Supports simple iteration over a . - - - - - Initializes a new instance of the Enumerator class. - - - - - - Advances the enumerator to the next element in the collection. - - - true if the enumerator was successfully advanced to the next element; - false if the enumerator has passed the end of the collection. - - - The collection was modified after the enumerator was created. - - - - - Sets the enumerator to its initial position, before the first element in the collection. - - - - - Gets the current element in the collection. - - - - - An evaluator that triggers at a threshold level - - - - This evaluator will trigger if the level of the event - passed to - is equal to or greater than the - level. - - - Nicko Cadell - - - - The threshold for triggering - - - - - Create a new evaluator using the threshold. - - - - Create a new evaluator using the threshold. - - - This evaluator will trigger if the level of the event - passed to - is equal to or greater than the - level. - - - - - - Create a new evaluator using the specified threshold. - - the threshold to trigger at - - - Create a new evaluator using the specified threshold. - - - This evaluator will trigger if the level of the event - passed to - is equal to or greater than the - level. - - - - - - Is this the triggering event? - - The event to check - This method returns true, if the event level - is equal or higher than the . - Otherwise it returns false - - - This evaluator will trigger if the level of the event - passed to - is equal to or greater than the - level. - - - - - - the threshold to trigger at - - - The that will cause this evaluator to trigger - - - - This evaluator will trigger if the level of the event - passed to - is equal to or greater than the - level. - - - - - - Mapping between string name and Level object - - - - Mapping between string name and object. - This mapping is held separately for each . - The level name is case insensitive. - - - Nicko Cadell - - - - Mapping from level name to Level object. The - level name is case insensitive - - - - - Construct the level map - - - - Construct the level map. - - - - - - Clear the internal maps of all levels - - - - Clear the internal maps of all levels - - - - - - Create a new Level and add it to the map - - the string to display for the Level - the level value to give to the Level - - - Create a new Level and add it to the map - - - - - - - Create a new Level and add it to the map - - the string to display for the Level - the level value to give to the Level - the display name to give to the Level - - - Create a new Level and add it to the map - - - - - - Add a Level to the map - - the Level to add - - - Add a Level to the map - - - - - - Lookup a named level from the map - - the name of the level to lookup is taken from this level. - If the level is not set on the map then this level is added - the level in the map with the name specified - - - Lookup a named level from the map. The name of the level to lookup is taken - from the property of the - argument. - - - If no level with the specified name is found then the - argument is added to the level map - and returned. - - - - - - Lookup a by name - - The name of the Level to lookup - a Level from the map with the name specified - - - Returns the from the - map with the name specified. If the no level is - found then null is returned. - - - - - - Return all possible levels as a list of Level objects. - - all possible levels as a list of Level objects - - - Return all possible levels as a list of Level objects. - - - - - - The internal representation of caller location information. - - - - This class uses the System.Diagnostics.StackTrace class to generate - a call stack. The caller's information is then extracted from this stack. - - - The System.Diagnostics.StackTrace class is not supported on the - .NET Compact Framework 1.0 therefore caller location information is not - available on that framework. - - - The System.Diagnostics.StackTrace class has this to say about Release builds: - - - "StackTrace information will be most informative with Debug build configurations. - By default, Debug builds include debug symbols, while Release builds do not. The - debug symbols contain most of the file, method name, line number, and column - information used in constructing StackFrame and StackTrace objects. StackTrace - might not report as many method calls as expected, due to code transformations - that occur during optimization." - - - This means that in a Release build the caller information may be incomplete or may - not exist at all! Therefore caller location information cannot be relied upon in a Release build. - - - Nicko Cadell - Gert Driesen - - - - When location information is not available the constant - NA is returned. Current value of this string - constant is ?. - - - - - Constructor - - The declaring type of the method that is - the stack boundary into the logging system for this call. - - - Initializes a new instance of the - class based on the current thread. - - - - - - Constructor - - The fully qualified class name. - The method name. - The file name. - The line number of the method within the file. - - - Initializes a new instance of the - class with the specified data. - - - - - - Gets the fully qualified class name of the caller making the logging - request. - - - The fully qualified class name of the caller making the logging - request. - - - - Gets the fully qualified class name of the caller making the logging - request. - - - - - - Gets the file name of the caller. - - - The file name of the caller. - - - - Gets the file name of the caller. - - - - - - Gets the line number of the caller. - - - The line number of the caller. - - - - Gets the line number of the caller. - - - - - - Gets the method name of the caller. - - - The method name of the caller. - - - - Gets the method name of the caller. - - - - - - Gets all available caller information - - - All available caller information, in the format - fully.qualified.classname.of.caller.methodName(Filename:line) - - - - Gets all available caller information, in the format - fully.qualified.classname.of.caller.methodName(Filename:line) - - - - - - Static manager that controls the creation of repositories - - - - Static manager that controls the creation of repositories - - - This class is used by the wrapper managers (e.g. ) - to provide access to the objects. - - - This manager also holds the that is used to - lookup and create repositories. The selector can be set either programmatically using - the property, or by setting the log4net.RepositorySelector - AppSetting in the applications config file to the fully qualified type name of the - selector to use. - - - Nicko Cadell - Gert Driesen - - - - Private constructor to prevent instances. Only static methods should be used. - - - - Private constructor to prevent instances. Only static methods should be used. - - - - - - Hook the shutdown event - - - - On the full .NET runtime, the static constructor hooks up the - AppDomain.ProcessExit and AppDomain.DomainUnload> events. - These are used to shutdown the log4net system as the application exits. - - - - - - Register for ProcessExit and DomainUnload events on the AppDomain - - - - This needs to be in a separate method because the events make - a LinkDemand for the ControlAppDomain SecurityPermission. Because - this is a LinkDemand it is demanded at JIT time. Therefore we cannot - catch the exception in the method itself, we have to catch it in the - caller. - - - - - - Return the default instance. - - the repository to lookup in - Return the default instance - - - Gets the for the repository specified - by the argument. - - - - - - Returns the default instance. - - The assembly to use to lookup the repository. - The default instance. - - - - Return the default instance. - - the repository to lookup in - Return the default instance - - - Gets the for the repository specified - by the argument. - - - - - - Returns the default instance. - - The assembly to use to lookup the repository. - The default instance. - - - Returns the default instance. - - - - - - Returns the named logger if it exists. - - The repository to lookup in. - The fully qualified logger name to look for. - - The logger found, or null if the named logger does not exist in the - specified repository. - - - - If the named logger exists (in the specified repository) then it - returns a reference to the logger, otherwise it returns - null. - - - - - - Returns the named logger if it exists. - - The assembly to use to lookup the repository. - The fully qualified logger name to look for. - - The logger found, or null if the named logger does not exist in the - specified assembly's repository. - - - - If the named logger exists (in the specified assembly's repository) then it - returns a reference to the logger, otherwise it returns - null. - - - - - - Returns all the currently defined loggers in the specified repository. - - The repository to lookup in. - All the defined loggers. - - - The root logger is not included in the returned array. - - - - - - Returns all the currently defined loggers in the specified assembly's repository. - - The assembly to use to lookup the repository. - All the defined loggers. - - - The root logger is not included in the returned array. - - - - - - Retrieves or creates a named logger. - - The repository to lookup in. - The name of the logger to retrieve. - The logger with the name specified. - - - Retrieves a logger named as the - parameter. If the named logger already exists, then the - existing instance will be returned. Otherwise, a new instance is - created. - - - By default, loggers do not have a set level but inherit - it from the hierarchy. This is one of the central features of - log4net. - - - - - - Retrieves or creates a named logger. - - The assembly to use to lookup the repository. - The name of the logger to retrieve. - The logger with the name specified. - - - Retrieves a logger named as the - parameter. If the named logger already exists, then the - existing instance will be returned. Otherwise, a new instance is - created. - - - By default, loggers do not have a set level but inherit - it from the hierarchy. This is one of the central features of - log4net. - - - - - - Shorthand for . - - The repository to lookup in. - The of which the fullname will be used as the name of the logger to retrieve. - The logger with the name specified. - - - Gets the logger for the fully qualified name of the type specified. - - - - - - Shorthand for . - - the assembly to use to lookup the repository - The of which the fullname will be used as the name of the logger to retrieve. - The logger with the name specified. - - - Gets the logger for the fully qualified name of the type specified. - - - - - - Shuts down the log4net system. - - - - Calling this method will safely close and remove all - appenders in all the loggers including root contained in all the - default repositories. - - - Some appenders need to be closed before the application exists. - Otherwise, pending logging events might be lost. - - - The shutdown method is careful to close nested - appenders before closing regular appenders. This is allows - configurations where a regular appender is attached to a logger - and again to a nested appender. - - - - - - Shuts down the repository for the repository specified. - - The repository to shutdown. - - - Calling this method will safely close and remove all - appenders in all the loggers including root contained in the - repository for the specified. - - - Some appenders need to be closed before the application exists. - Otherwise, pending logging events might be lost. - - - The shutdown method is careful to close nested - appenders before closing regular appenders. This is allows - configurations where a regular appender is attached to a logger - and again to a nested appender. - - - - - - Shuts down the repository for the repository specified. - - The assembly to use to lookup the repository. - - - Calling this method will safely close and remove all - appenders in all the loggers including root contained in the - repository for the repository. The repository is looked up using - the specified. - - - Some appenders need to be closed before the application exists. - Otherwise, pending logging events might be lost. - - - The shutdown method is careful to close nested - appenders before closing regular appenders. This is allows - configurations where a regular appender is attached to a logger - and again to a nested appender. - - - - - - Resets all values contained in this repository instance to their defaults. - - The repository to reset. - - - Resets all values contained in the repository instance to their - defaults. This removes all appenders from all loggers, sets - the level of all non-root loggers to null, - sets their additivity flag to true and sets the level - of the root logger to . Moreover, - message disabling is set its default "off" value. - - - - - - Resets all values contained in this repository instance to their defaults. - - The assembly to use to lookup the repository to reset. - - - Resets all values contained in the repository instance to their - defaults. This removes all appenders from all loggers, sets - the level of all non-root loggers to null, - sets their additivity flag to true and sets the level - of the root logger to . Moreover, - message disabling is set its default "off" value. - - - - - - Creates a repository with the specified name. - - The name of the repository, this must be unique amongst repositories. - The created for the repository. - - - CreateDomain is obsolete. Use CreateRepository instead of CreateDomain. - - - Creates the default type of which is a - object. - - - The name must be unique. Repositories cannot be redefined. - An will be thrown if the repository already exists. - - - The specified repository already exists. - - - - Creates a repository with the specified name. - - The name of the repository, this must be unique amongst repositories. - The created for the repository. - - - Creates the default type of which is a - object. - - - The name must be unique. Repositories cannot be redefined. - An will be thrown if the repository already exists. - - - The specified repository already exists. - - - - Creates a repository with the specified name and repository type. - - The name of the repository, this must be unique to the repository. - A that implements - and has a no arg constructor. An instance of this type will be created to act - as the for the repository specified. - The created for the repository. - - - CreateDomain is obsolete. Use CreateRepository instead of CreateDomain. - - - The name must be unique. Repositories cannot be redefined. - An Exception will be thrown if the repository already exists. - - - The specified repository already exists. - - - - Creates a repository with the specified name and repository type. - - The name of the repository, this must be unique to the repository. - A that implements - and has a no arg constructor. An instance of this type will be created to act - as the for the repository specified. - The created for the repository. - - - The name must be unique. Repositories cannot be redefined. - An Exception will be thrown if the repository already exists. - - - The specified repository already exists. - - - - Creates a repository for the specified assembly and repository type. - - The assembly to use to get the name of the repository. - A that implements - and has a no arg constructor. An instance of this type will be created to act - as the for the repository specified. - The created for the repository. - - - CreateDomain is obsolete. Use CreateRepository instead of CreateDomain. - - - The created will be associated with the repository - specified such that a call to with the - same assembly specified will return the same repository instance. - - - - - - Creates a repository for the specified assembly and repository type. - - The assembly to use to get the name of the repository. - A that implements - and has a no arg constructor. An instance of this type will be created to act - as the for the repository specified. - The created for the repository. - - - The created will be associated with the repository - specified such that a call to with the - same assembly specified will return the same repository instance. - - - - - - Gets an array of all currently defined repositories. - - An array of all the known objects. - - - Gets an array of all currently defined repositories. - - - - - - Internal method to get pertinent version info. - - A string of version info. - - - - Called when the event fires - - the that is exiting - null - - - Called when the event fires. - - - When the event is triggered the log4net system is . - - - - - - Called when the event fires - - the that is exiting - null - - - Called when the event fires. - - - When the event is triggered the log4net system is . - - - - - - Initialize the default repository selector - - - - - Gets or sets the repository selector used by the . - - - The repository selector used by the . - - - - The repository selector () is used by - the to create and select repositories - (). - - - The caller to supplies either a string name - or an assembly (if not supplied the assembly is inferred using - ). - - - This context is used by the selector to lookup a specific repository. - - - For the full .NET Framework, the default repository is DefaultRepositorySelector; - for the .NET Compact Framework CompactRepositorySelector is the default - repository. - - - - - - Implementation of the interface. - - - - This class should be used as the base for all wrapper implementations. - - - Nicko Cadell - Gert Driesen - - - - Constructs a new wrapper for the specified logger. - - The logger to wrap. - - - Constructs a new wrapper for the specified logger. - - - - - - The logger that this object is wrapping - - - - - Gets the implementation behind this wrapper object. - - - The object that this object is implementing. - - - - The Logger object may not be the same object as this object - because of logger decorators. - - - This gets the actual underlying objects that is used to process - the log events. - - - - - - Portable data structure used by - - - - Portable data structure used by - - - Nicko Cadell - - - - The logger name. - - - - The logger name. - - - - - - Level of logging event. - - - - Level of logging event. Level cannot be Serializable - because it is a flyweight. Due to its special serialization it - cannot be declared final either. - - - - - - The application supplied message. - - - - The application supplied message of logging event. - - - - - - The name of thread - - - - The name of thread in which this logging event was generated - - - - - - The time the event was logged - - - - The TimeStamp is stored in the local time zone for this computer. - - - - - - Location information for the caller. - - - - Location information for the caller. - - - - - - String representation of the user - - - - String representation of the user's windows name, - like DOMAIN\username - - - - - - String representation of the identity. - - - - String representation of the current thread's principal identity. - - - - - - The string representation of the exception - - - - The string representation of the exception - - - - - - String representation of the AppDomain. - - - - String representation of the AppDomain. - - - - - - Additional event specific properties - - - - A logger or an appender may attach additional - properties to specific events. These properties - have a string key and an object value. - - - - - - Flags passed to the property - - - - Flags passed to the property - - - Nicko Cadell - - - - Fix the MDC - - - - - Fix the NDC - - - - - Fix the rendered message - - - - - Fix the thread name - - - - - Fix the callers location information - - - CAUTION: Very slow to generate - - - - - Fix the callers windows user name - - - CAUTION: Slow to generate - - - - - Fix the domain friendly name - - - - - Fix the callers principal name - - - CAUTION: May be slow to generate - - - - - Fix the exception text - - - - - Fix the event properties - - - - - No fields fixed - - - - - All fields fixed - - - - - Partial fields fixed - - - - This set of partial fields gives good performance. The following fields are fixed: - - - - - - - - - - - - - The internal representation of logging events. - - - - When an affirmative decision is made to log then a - instance is created. This instance - is passed around to the different log4net components. - - - This class is of concern to those wishing to extend log4net. - - - Some of the values in instances of - are considered volatile, that is the values are correct at the - time the event is delivered to appenders, but will not be consistent - at any time afterwards. If an event is to be stored and then processed - at a later time these volatile values must be fixed by calling - . There is a performance penalty - for incurred by calling but it - is essential to maintaining data consistency. - - - Nicko Cadell - Gert Driesen - Douglas de la Torre - Daniel Cazzulino - - - - The key into the Properties map for the host name value. - - - - - The key into the Properties map for the thread identity value. - - - - - The key into the Properties map for the user name value. - - - - - Initializes a new instance of the class - from the supplied parameters. - - The declaring type of the method that is - the stack boundary into the logging system for this call. - The repository this event is logged in. - The name of the logger of this event. - The level of this event. - The message of this event. - The exception for this event. - - - Except , and , - all fields of LoggingEvent are filled when actually needed. Call - to cache all data locally - to prevent inconsistencies. - - This method is called by the log4net framework - to create a logging event. - - - - - - Initializes a new instance of the class - using specific data. - - The declaring type of the method that is - the stack boundary into the logging system for this call. - The repository this event is logged in. - Data used to initialize the logging event. - The fields in the struct that have already been fixed. - - - This constructor is provided to allow a - to be created independently of the log4net framework. This can - be useful if you require a custom serialization scheme. - - - Use the method to obtain an - instance of the class. - - - The parameter should be used to specify which fields in the - struct have been preset. Fields not specified in the - will be captured from the environment if requested or fixed. - - - - - - Initializes a new instance of the class - using specific data. - - The declaring type of the method that is - the stack boundary into the logging system for this call. - The repository this event is logged in. - Data used to initialize the logging event. - - - This constructor is provided to allow a - to be created independently of the log4net framework. This can - be useful if you require a custom serialization scheme. - - - Use the method to obtain an - instance of the class. - - - This constructor sets this objects flags to , - this assumes that all the data relating to this event is passed in via the - parameter and no other data should be captured from the environment. - - - - - - Initializes a new instance of the class - using specific data. - - Data used to initialize the logging event. - - - This constructor is provided to allow a - to be created independently of the log4net framework. This can - be useful if you require a custom serialization scheme. - - - Use the method to obtain an - instance of the class. - - - This constructor sets this objects flags to , - this assumes that all the data relating to this event is passed in via the - parameter and no other data should be captured from the environment. - - - - - - Serialization constructor - - The that holds the serialized object data. - The that contains contextual information about the source or destination. - - - Initializes a new instance of the class - with serialized data. - - - - - - Ensure that the repository is set. - - the value for the repository - - - - Write the rendered message to a TextWriter - - the writer to write the message to - - - Unlike the property this method - does store the message data in the internal cache. Therefore - if called only once this method should be faster than the - property, however if the message is - to be accessed multiple times then the property will be more efficient. - - - - - - Serializes this object into the provided. - - The to populate with data. - The destination for this serialization. - - - The data in this event must be fixed before it can be serialized. - - - The method must be called during the - method call if this event - is to be used outside that method. - - - - - - Gets the portable data for this . - - The for this event. - - - A new can be constructed using a - instance. - - - Does a fix of the data - in the logging event before returning the event data. - - - - - - Gets the portable data for this . - - The set of data to ensure is fixed in the LoggingEventData - The for this event. - - - A new can be constructed using a - instance. - - - - - - Returns this event's exception's rendered using the - . - - - This event's exception's rendered using the . - - - - Obsolete. Use instead. - - - - - - Returns this event's exception's rendered using the - . - - - This event's exception's rendered using the . - - - - Returns this event's exception's rendered using the - . - - - - - - Fix instance fields that hold volatile data. - - - - Some of the values in instances of - are considered volatile, that is the values are correct at the - time the event is delivered to appenders, but will not be consistent - at any time afterwards. If an event is to be stored and then processed - at a later time these volatile values must be fixed by calling - . There is a performance penalty - incurred by calling but it - is essential to maintaining data consistency. - - - Calling is equivalent to - calling passing the parameter - false. - - - See for more - information. - - - - - - Fixes instance fields that hold volatile data. - - Set to true to not fix data that takes a long time to fix. - - - Some of the values in instances of - are considered volatile, that is the values are correct at the - time the event is delivered to appenders, but will not be consistent - at any time afterwards. If an event is to be stored and then processed - at a later time these volatile values must be fixed by calling - . There is a performance penalty - for incurred by calling but it - is essential to maintaining data consistency. - - - The param controls the data that - is fixed. Some of the data that can be fixed takes a long time to - generate, therefore if you do not require those settings to be fixed - they can be ignored by setting the param - to true. This setting will ignore the - and settings. - - - Set to false to ensure that all - settings are fixed. - - - - - - Fix the fields specified by the parameter - - the fields to fix - - - Only fields specified in the will be fixed. - Fields will not be fixed if they have previously been fixed. - It is not possible to 'unfix' a field. - - - - - - Lookup a composite property in this event - - the key for the property to lookup - the value for the property - - - This event has composite properties that combine together properties from - several different contexts in the following order: - - - this events properties - - This event has that can be set. These - properties are specific to this event only. - - - - the thread properties - - The that are set on the current - thread. These properties are shared by all events logged on this thread. - - - - the global properties - - The that are set globally. These - properties are shared by all the threads in the AppDomain. - - - - - - - - - Get all the composite properties in this event - - the containing all the properties - - - See for details of the composite properties - stored by the event. - - - This method returns a single containing all the - properties defined for this event. - - - - - - The internal logging event data. - - - - - The internal logging event data. - - - - - The internal logging event data. - - - - - The fully qualified Type of the calling - logger class in the stack frame (i.e. the declaring type of the method). - - - - - The application supplied message of logging event. - - - - - The exception that was thrown. - - - This is not serialized. The string representation - is serialized instead. - - - - - The repository that generated the logging event - - - This is not serialized. - - - - - The fix state for this event - - - These flags indicate which fields have been fixed. - Not serialized. - - - - - Indicated that the internal cache is updateable (ie not fixed) - - - This is a seperate flag to m_fixFlags as it allows incrementel fixing and simpler - changes in the caching strategy. - - - - - Gets the time when the current process started. - - - This is the time when this process started. - - - - The TimeStamp is stored in the local time zone for this computer. - - - Tries to get the start time for the current process. - Failing that it returns the time of the first call to - this property. - - - Note that AppDomains may be loaded and unloaded within the - same process without the process terminating and therefore - without the process start time being reset. - - - - - - Gets the of the logging event. - - - The of the logging event. - - - - Gets the of the logging event. - - - - - - Gets the time of the logging event. - - - The time of the logging event. - - - - The TimeStamp is stored in the local time zone for this computer. - - - - - - Gets the name of the logger that logged the event. - - - The name of the logger that logged the event. - - - - Gets the name of the logger that logged the event. - - - - - - Gets the location information for this logging event. - - - The location information for this logging event. - - - - The collected information is cached for future use. - - - See the class for more information on - supported frameworks and the different behavior in Debug and - Release builds. - - - - - - Gets the message object used to initialize this event. - - - The message object used to initialize this event. - - - - Gets the message object used to initialize this event. - Note that this event may not have a valid message object. - If the event is serialized the message object will not - be transferred. To get the text of the message the - property must be used - not this property. - - - If there is no defined message object for this event then - null will be returned. - - - - - - Gets the exception object used to initialize this event. - - - The exception object used to initialize this event. - - - - Gets the exception object used to initialize this event. - Note that this event may not have a valid exception object. - If the event is serialized the exception object will not - be transferred. To get the text of the exception the - method must be used - not this property. - - - If there is no defined exception object for this event then - null will be returned. - - - - - - The that this event was created in. - - - - The that this event was created in. - - - - - - Gets the message, rendered through the . - - - The message rendered through the . - - - - The collected information is cached for future use. - - - - - - Gets the name of the current thread. - - - The name of the current thread, or the thread ID when - the name is not available. - - - - The collected information is cached for future use. - - - - - - Gets the name of the current user. - - - The name of the current user, or NOT AVAILABLE when the - underlying runtime has no support for retrieving the name of the - current user. - - - - Calls WindowsIdentity.GetCurrent().Name to get the name of - the current windows user. - - - To improve performance, we could cache the string representation of - the name, and reuse that as long as the identity stayed constant. - Once the identity changed, we would need to re-assign and re-render - the string. - - - However, the WindowsIdentity.GetCurrent() call seems to - return different objects every time, so the current implementation - doesn't do this type of caching. - - - Timing for these operations: - - - - Method - Results - - - WindowsIdentity.GetCurrent() - 10000 loops, 00:00:00.2031250 seconds - - - WindowsIdentity.GetCurrent().Name - 10000 loops, 00:00:08.0468750 seconds - - - - This means we could speed things up almost 40 times by caching the - value of the WindowsIdentity.GetCurrent().Name property, since - this takes (8.04-0.20) = 7.84375 seconds. - - - - - - Gets the identity of the current thread principal. - - - The string name of the identity of the current thread principal. - - - - Calls System.Threading.Thread.CurrentPrincipal.Identity.Name to get - the name of the current thread principal. - - - - - - Gets the AppDomain friendly name. - - - The AppDomain friendly name. - - - - Gets the AppDomain friendly name. - - - - - - Additional event specific properties. - - - Additional event specific properties. - - - - A logger or an appender may attach additional - properties to specific events. These properties - have a string key and an object value. - - - This property is for events that have been added directly to - this event. The aggregate properties (which include these - event properties) can be retrieved using - and . - - - Once the properties have been fixed this property - returns the combined cached properties. This ensures that updates to - this property are always reflected in the underlying storage. When - returning the combined properties there may be more keys in the - Dictionary than expected. - - - - - - The fixed fields in this event - - - The set of fields that are fixed in this event - - - - Fields will not be fixed if they have previously been fixed. - It is not possible to 'unfix' a field. - - - - - - Implementation of wrapper interface. - - - - This implementation of the interface - forwards to the held by the base class. - - - This logger has methods to allow the caller to log at the following - levels: - - - - DEBUG - - The and methods log messages - at the DEBUG level. That is the level with that name defined in the - repositories . The default value - for this level is . The - property tests if this level is enabled for logging. - - - - INFO - - The and methods log messages - at the INFO level. That is the level with that name defined in the - repositories . The default value - for this level is . The - property tests if this level is enabled for logging. - - - - WARN - - The and methods log messages - at the WARN level. That is the level with that name defined in the - repositories . The default value - for this level is . The - property tests if this level is enabled for logging. - - - - ERROR - - The and methods log messages - at the ERROR level. That is the level with that name defined in the - repositories . The default value - for this level is . The - property tests if this level is enabled for logging. - - - - FATAL - - The and methods log messages - at the FATAL level. That is the level with that name defined in the - repositories . The default value - for this level is . The - property tests if this level is enabled for logging. - - - - - The values for these levels and their semantic meanings can be changed by - configuring the for the repository. - - - Nicko Cadell - Gert Driesen - - - - The ILog interface is use by application to log messages into - the log4net framework. - - - - Use the to obtain logger instances - that implement this interface. The - static method is used to get logger instances. - - - This class contains methods for logging at different levels and also - has properties for determining if those logging levels are - enabled in the current configuration. - - - This interface can be implemented in different ways. This documentation - specifies reasonable behavior that a caller can expect from the actual - implementation, however different implementations reserve the right to - do things differently. - - - Simple example of logging messages - - ILog log = LogManager.GetLogger("application-log"); - - log.Info("Application Start"); - log.Debug("This is a debug message"); - - if (log.IsDebugEnabled) - { - log.Debug("This is another debug message"); - } - - - - - Nicko Cadell - Gert Driesen - - - Log a message object with the level. - - Log a message object with the level. - - The message object to log. - - - This method first checks if this logger is DEBUG - enabled by comparing the level of this logger with the - level. If this logger is - DEBUG enabled, then it converts the message object - (passed as parameter) to a string by invoking the appropriate - . It then - proceeds to call all the registered appenders in this logger - and also higher in the hierarchy depending on the value of - the additivity flag. - - WARNING Note that passing an - to this method will print the name of the - but no stack trace. To print a stack trace use the - form instead. - - - - - - - - Log a message object with the level including - the stack trace of the passed - as a parameter. - - The message object to log. - The exception to log, including its stack trace. - - - See the form for more detailed information. - - - - - - - Log a formatted string with the level. - - Logs a formatted message string with the level. - - A String containing zero or more format items - An Object array containing zero or more objects to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - - Logs a formatted message string with the level. - - A String containing zero or more format items - An Object to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - - Logs a formatted message string with the level. - - A String containing zero or more format items - An Object to format - An Object to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - - Logs a formatted message string with the level. - - A String containing zero or more format items - An Object to format - An Object to format - An Object to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - - Logs a formatted message string with the level. - - An that supplies culture-specific formatting information - A String containing zero or more format items - An Object array containing zero or more objects to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - Log a message object with the level. - - Logs a message object with the level. - - - - This method first checks if this logger is INFO - enabled by comparing the level of this logger with the - level. If this logger is - INFO enabled, then it converts the message object - (passed as parameter) to a string by invoking the appropriate - . It then - proceeds to call all the registered appenders in this logger - and also higher in the hierarchy depending on the value of the - additivity flag. - - WARNING Note that passing an - to this method will print the name of the - but no stack trace. To print a stack trace use the - form instead. - - - The message object to log. - - - - - - Logs a message object with the INFO level including - the stack trace of the passed - as a parameter. - - The message object to log. - The exception to log, including its stack trace. - - - See the form for more detailed information. - - - - - - - Log a formatted message string with the level. - - Logs a formatted message string with the level. - - A String containing zero or more format items - An Object array containing zero or more objects to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - - Logs a formatted message string with the level. - - A String containing zero or more format items - An Object to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - - Logs a formatted message string with the level. - - A String containing zero or more format items - An Object to format - An Object to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - - Logs a formatted message string with the level. - - A String containing zero or more format items - An Object to format - An Object to format - An Object to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - - Logs a formatted message string with the level. - - An that supplies culture-specific formatting information - A String containing zero or more format items - An Object array containing zero or more objects to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - Log a message object with the level. - - Log a message object with the level. - - - - This method first checks if this logger is WARN - enabled by comparing the level of this logger with the - level. If this logger is - WARN enabled, then it converts the message object - (passed as parameter) to a string by invoking the appropriate - . It then - proceeds to call all the registered appenders in this logger - and also higher in the hierarchy depending on the value of the - additivity flag. - - WARNING Note that passing an - to this method will print the name of the - but no stack trace. To print a stack trace use the - form instead. - - - The message object to log. - - - - - - Log a message object with the level including - the stack trace of the passed - as a parameter. - - The message object to log. - The exception to log, including its stack trace. - - - See the form for more detailed information. - - - - - - - Log a formatted message string with the level. - - Logs a formatted message string with the level. - - A String containing zero or more format items - An Object array containing zero or more objects to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - - Logs a formatted message string with the level. - - A String containing zero or more format items - An Object to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - - Logs a formatted message string with the level. - - A String containing zero or more format items - An Object to format - An Object to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - - Logs a formatted message string with the level. - - A String containing zero or more format items - An Object to format - An Object to format - An Object to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - - Logs a formatted message string with the level. - - An that supplies culture-specific formatting information - A String containing zero or more format items - An Object array containing zero or more objects to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - Log a message object with the level. - - Logs a message object with the level. - - The message object to log. - - - This method first checks if this logger is ERROR - enabled by comparing the level of this logger with the - level. If this logger is - ERROR enabled, then it converts the message object - (passed as parameter) to a string by invoking the appropriate - . It then - proceeds to call all the registered appenders in this logger - and also higher in the hierarchy depending on the value of the - additivity flag. - - WARNING Note that passing an - to this method will print the name of the - but no stack trace. To print a stack trace use the - form instead. - - - - - - - - Log a message object with the level including - the stack trace of the passed - as a parameter. - - The message object to log. - The exception to log, including its stack trace. - - - See the form for more detailed information. - - - - - - - Log a formatted message string with the level. - - Logs a formatted message string with the level. - - A String containing zero or more format items - An Object array containing zero or more objects to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - - Logs a formatted message string with the level. - - A String containing zero or more format items - An Object to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - - Logs a formatted message string with the level. - - A String containing zero or more format items - An Object to format - An Object to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - - Logs a formatted message string with the level. - - A String containing zero or more format items - An Object to format - An Object to format - An Object to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - - Logs a formatted message string with the level. - - An that supplies culture-specific formatting information - A String containing zero or more format items - An Object array containing zero or more objects to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - Log a message object with the level. - - Log a message object with the level. - - - - This method first checks if this logger is FATAL - enabled by comparing the level of this logger with the - level. If this logger is - FATAL enabled, then it converts the message object - (passed as parameter) to a string by invoking the appropriate - . It then - proceeds to call all the registered appenders in this logger - and also higher in the hierarchy depending on the value of the - additivity flag. - - WARNING Note that passing an - to this method will print the name of the - but no stack trace. To print a stack trace use the - form instead. - - - The message object to log. - - - - - - Log a message object with the level including - the stack trace of the passed - as a parameter. - - The message object to log. - The exception to log, including its stack trace. - - - See the form for more detailed information. - - - - - - - Log a formatted message string with the level. - - Logs a formatted message string with the level. - - A String containing zero or more format items - An Object array containing zero or more objects to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - - Logs a formatted message string with the level. - - A String containing zero or more format items - An Object to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - - Logs a formatted message string with the level. - - A String containing zero or more format items - An Object to format - An Object to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - - Logs a formatted message string with the level. - - A String containing zero or more format items - An Object to format - An Object to format - An Object to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - - Logs a formatted message string with the level. - - An that supplies culture-specific formatting information - A String containing zero or more format items - An Object array containing zero or more objects to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - - Checks if this logger is enabled for the level. - - - true if this logger is enabled for events, false otherwise. - - - - This function is intended to lessen the computational cost of - disabled log debug statements. - - For some ILog interface log, when you write: - - log.Debug("This is entry number: " + i ); - - - You incur the cost constructing the message, string construction and concatenation in - this case, regardless of whether the message is logged or not. - - - If you are worried about speed (who isn't), then you should write: - - - if (log.IsDebugEnabled) - { - log.Debug("This is entry number: " + i ); - } - - - This way you will not incur the cost of parameter - construction if debugging is disabled for log. On - the other hand, if the log is debug enabled, you - will incur the cost of evaluating whether the logger is debug - enabled twice. Once in and once in - the . This is an insignificant overhead - since evaluating a logger takes about 1% of the time it - takes to actually log. This is the preferred style of logging. - - Alternatively if your logger is available statically then the is debug - enabled state can be stored in a static variable like this: - - - private static readonly bool isDebugEnabled = log.IsDebugEnabled; - - - Then when you come to log you can write: - - - if (isDebugEnabled) - { - log.Debug("This is entry number: " + i ); - } - - - This way the debug enabled state is only queried once - when the class is loaded. Using a private static readonly - variable is the most efficient because it is a run time constant - and can be heavily optimized by the JIT compiler. - - - Of course if you use a static readonly variable to - hold the enabled state of the logger then you cannot - change the enabled state at runtime to vary the logging - that is produced. You have to decide if you need absolute - speed or runtime flexibility. - - - - - - - - Checks if this logger is enabled for the level. - - - true if this logger is enabled for events, false otherwise. - - - For more information see . - - - - - - - - Checks if this logger is enabled for the level. - - - true if this logger is enabled for events, false otherwise. - - - For more information see . - - - - - - - - Checks if this logger is enabled for the level. - - - true if this logger is enabled for events, false otherwise. - - - For more information see . - - - - - - - - Checks if this logger is enabled for the level. - - - true if this logger is enabled for events, false otherwise. - - - For more information see . - - - - - - - - Construct a new wrapper for the specified logger. - - The logger to wrap. - - - Construct a new wrapper for the specified logger. - - - - - - Virtual method called when the configuration of the repository changes - - the repository holding the levels - - - Virtual method called when the configuration of the repository changes - - - - - - Logs a message object with the DEBUG level. - - The message object to log. - - - This method first checks if this logger is DEBUG - enabled by comparing the level of this logger with the - DEBUG level. If this logger is - DEBUG enabled, then it converts the message object - (passed as parameter) to a string by invoking the appropriate - . It then - proceeds to call all the registered appenders in this logger - and also higher in the hierarchy depending on the value of the - additivity flag. - - - WARNING Note that passing an - to this method will print the name of the - but no stack trace. To print a stack trace use the - form instead. - - - - - - Logs a message object with the DEBUG level - - The message object to log. - The exception to log, including its stack trace. - - - Logs a message object with the DEBUG level including - the stack trace of the passed - as a parameter. - - - See the form for more detailed information. - - - - - - - Logs a formatted message string with the DEBUG level. - - A String containing zero or more format items - An Object array containing zero or more objects to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - The string is formatted using the - format provider. To specify a localized provider use the - method. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Logs a formatted message string with the DEBUG level. - - A String containing zero or more format items - An Object to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - The string is formatted using the - format provider. To specify a localized provider use the - method. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Logs a formatted message string with the DEBUG level. - - A String containing zero or more format items - An Object to format - An Object to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - The string is formatted using the - format provider. To specify a localized provider use the - method. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Logs a formatted message string with the DEBUG level. - - A String containing zero or more format items - An Object to format - An Object to format - An Object to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - The string is formatted using the - format provider. To specify a localized provider use the - method. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Logs a formatted message string with the DEBUG level. - - An that supplies culture-specific formatting information - A String containing zero or more format items - An Object array containing zero or more objects to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Logs a message object with the INFO level. - - The message object to log. - - - This method first checks if this logger is INFO - enabled by comparing the level of this logger with the - INFO level. If this logger is - INFO enabled, then it converts the message object - (passed as parameter) to a string by invoking the appropriate - . It then - proceeds to call all the registered appenders in this logger - and also higher in the hierarchy depending on the value of - the additivity flag. - - - WARNING Note that passing an - to this method will print the name of the - but no stack trace. To print a stack trace use the - form instead. - - - - - - Logs a message object with the INFO level. - - The message object to log. - The exception to log, including its stack trace. - - - Logs a message object with the INFO level including - the stack trace of the - passed as a parameter. - - - See the form for more detailed information. - - - - - - - Logs a formatted message string with the INFO level. - - A String containing zero or more format items - An Object array containing zero or more objects to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - The string is formatted using the - format provider. To specify a localized provider use the - method. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Logs a formatted message string with the INFO level. - - A String containing zero or more format items - An Object to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - The string is formatted using the - format provider. To specify a localized provider use the - method. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Logs a formatted message string with the INFO level. - - A String containing zero or more format items - An Object to format - An Object to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - The string is formatted using the - format provider. To specify a localized provider use the - method. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Logs a formatted message string with the INFO level. - - A String containing zero or more format items - An Object to format - An Object to format - An Object to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - The string is formatted using the - format provider. To specify a localized provider use the - method. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Logs a formatted message string with the INFO level. - - An that supplies culture-specific formatting information - A String containing zero or more format items - An Object array containing zero or more objects to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Logs a message object with the WARN level. - - the message object to log - - - This method first checks if this logger is WARN - enabled by comparing the level of this logger with the - WARN level. If this logger is - WARN enabled, then it converts the message object - (passed as parameter) to a string by invoking the appropriate - . It then - proceeds to call all the registered appenders in this logger and - also higher in the hierarchy depending on the value of the - additivity flag. - - - WARNING Note that passing an to this - method will print the name of the but no - stack trace. To print a stack trace use the - form instead. - - - - - - Logs a message object with the WARN level - - The message object to log. - The exception to log, including its stack trace. - - - Logs a message object with the WARN level including - the stack trace of the - passed as a parameter. - - - See the form for more detailed information. - - - - - - - Logs a formatted message string with the WARN level. - - A String containing zero or more format items - An Object array containing zero or more objects to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - The string is formatted using the - format provider. To specify a localized provider use the - method. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Logs a formatted message string with the WARN level. - - A String containing zero or more format items - An Object to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - The string is formatted using the - format provider. To specify a localized provider use the - method. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Logs a formatted message string with the WARN level. - - A String containing zero or more format items - An Object to format - An Object to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - The string is formatted using the - format provider. To specify a localized provider use the - method. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Logs a formatted message string with the WARN level. - - A String containing zero or more format items - An Object to format - An Object to format - An Object to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - The string is formatted using the - format provider. To specify a localized provider use the - method. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Logs a formatted message string with the WARN level. - - An that supplies culture-specific formatting information - A String containing zero or more format items - An Object array containing zero or more objects to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Logs a message object with the ERROR level. - - The message object to log. - - - This method first checks if this logger is ERROR - enabled by comparing the level of this logger with the - ERROR level. If this logger is - ERROR enabled, then it converts the message object - (passed as parameter) to a string by invoking the appropriate - . It then - proceeds to call all the registered appenders in this logger and - also higher in the hierarchy depending on the value of the - additivity flag. - - - WARNING Note that passing an to this - method will print the name of the but no - stack trace. To print a stack trace use the - form instead. - - - - - - Logs a message object with the ERROR level - - The message object to log. - The exception to log, including its stack trace. - - - Logs a message object with the ERROR level including - the stack trace of the - passed as a parameter. - - - See the form for more detailed information. - - - - - - - Logs a formatted message string with the ERROR level. - - A String containing zero or more format items - An Object array containing zero or more objects to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - The string is formatted using the - format provider. To specify a localized provider use the - method. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Logs a formatted message string with the ERROR level. - - A String containing zero or more format items - An Object to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - The string is formatted using the - format provider. To specify a localized provider use the - method. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Logs a formatted message string with the ERROR level. - - A String containing zero or more format items - An Object to format - An Object to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - The string is formatted using the - format provider. To specify a localized provider use the - method. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Logs a formatted message string with the ERROR level. - - A String containing zero or more format items - An Object to format - An Object to format - An Object to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - The string is formatted using the - format provider. To specify a localized provider use the - method. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Logs a formatted message string with the ERROR level. - - An that supplies culture-specific formatting information - A String containing zero or more format items - An Object array containing zero or more objects to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Logs a message object with the FATAL level. - - The message object to log. - - - This method first checks if this logger is FATAL - enabled by comparing the level of this logger with the - FATAL level. If this logger is - FATAL enabled, then it converts the message object - (passed as parameter) to a string by invoking the appropriate - . It then - proceeds to call all the registered appenders in this logger and - also higher in the hierarchy depending on the value of the - additivity flag. - - - WARNING Note that passing an to this - method will print the name of the but no - stack trace. To print a stack trace use the - form instead. - - - - - - Logs a message object with the FATAL level - - The message object to log. - The exception to log, including its stack trace. - - - Logs a message object with the FATAL level including - the stack trace of the - passed as a parameter. - - - See the form for more detailed information. - - - - - - - Logs a formatted message string with the FATAL level. - - A String containing zero or more format items - An Object array containing zero or more objects to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - The string is formatted using the - format provider. To specify a localized provider use the - method. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Logs a formatted message string with the FATAL level. - - A String containing zero or more format items - An Object to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - The string is formatted using the - format provider. To specify a localized provider use the - method. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Logs a formatted message string with the FATAL level. - - A String containing zero or more format items - An Object to format - An Object to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - The string is formatted using the - format provider. To specify a localized provider use the - method. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Logs a formatted message string with the FATAL level. - - A String containing zero or more format items - An Object to format - An Object to format - An Object to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - The string is formatted using the - format provider. To specify a localized provider use the - method. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Logs a formatted message string with the FATAL level. - - An that supplies culture-specific formatting information - A String containing zero or more format items - An Object array containing zero or more objects to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Event handler for the event - - the repository - Empty - - - - The fully qualified name of this declaring type not the type of any subclass. - - - - - Checks if this logger is enabled for the DEBUG - level. - - - true if this logger is enabled for DEBUG events, - false otherwise. - - - - This function is intended to lessen the computational cost of - disabled log debug statements. - - - For some log Logger object, when you write: - - - log.Debug("This is entry number: " + i ); - - - You incur the cost constructing the message, concatenation in - this case, regardless of whether the message is logged or not. - - - If you are worried about speed, then you should write: - - - if (log.IsDebugEnabled()) - { - log.Debug("This is entry number: " + i ); - } - - - This way you will not incur the cost of parameter - construction if debugging is disabled for log. On - the other hand, if the log is debug enabled, you - will incur the cost of evaluating whether the logger is debug - enabled twice. Once in IsDebugEnabled and once in - the Debug. This is an insignificant overhead - since evaluating a logger takes about 1% of the time it - takes to actually log. - - - - - - Checks if this logger is enabled for the INFO level. - - - true if this logger is enabled for INFO events, - false otherwise. - - - - See for more information and examples - of using this method. - - - - - - - Checks if this logger is enabled for the WARN level. - - - true if this logger is enabled for WARN events, - false otherwise. - - - - See for more information and examples - of using this method. - - - - - - - Checks if this logger is enabled for the ERROR level. - - - true if this logger is enabled for ERROR events, - false otherwise. - - - - See for more information and examples of using this method. - - - - - - - Checks if this logger is enabled for the FATAL level. - - - true if this logger is enabled for FATAL events, - false otherwise. - - - - See for more information and examples of using this method. - - - - - - - A SecurityContext used by log4net when interacting with protected resources - - - - A SecurityContext used by log4net when interacting with protected resources - for example with operating system services. This can be used to impersonate - a principal that has been granted privileges on the system resources. - - - Nicko Cadell - - - - Impersonate this SecurityContext - - State supplied by the caller - An instance that will - revoke the impersonation of this SecurityContext, or null - - - Impersonate this security context. Further calls on the current - thread should now be made in the security context provided - by this object. When the result - method is called the security - context of the thread should be reverted to the state it was in - before was called. - - - - - - The providers default instances. - - - - A configured component that interacts with potentially protected system - resources uses a to provide the elevated - privileges required. If the object has - been not been explicitly provided to the component then the component - will request one from this . - - - By default the is - an instance of which returns only - objects. This is a reasonable default - where the privileges required are not know by the system. - - - This default behavior can be overridden by subclassing the - and overriding the method to return - the desired objects. The default provider - can be replaced by programmatically setting the value of the - property. - - - An alternative is to use the log4net.Config.SecurityContextProviderAttribute - This attribute can be applied to an assembly in the same way as the - log4net.Config.XmlConfiguratorAttribute". The attribute takes - the type to use as the as an argument. - - - Nicko Cadell - - - - The default provider - - - - - Protected default constructor to allow subclassing - - - - Protected default constructor to allow subclassing - - - - - - Create a SecurityContext for a consumer - - The consumer requesting the SecurityContext - An impersonation context - - - The default implementation is to return a . - - - Subclasses should override this method to provide their own - behavior. - - - - - - Gets or sets the default SecurityContextProvider - - - The default SecurityContextProvider - - - - The default provider is used by configured components that - require a and have not had one - given to them. - - - By default this is an instance of - that returns objects. - - - The default provider can be set programmatically by setting - the value of this property to a sub class of - that has the desired behavior. - - - - - - Delegate used to handle creation of new wrappers. - - The logger to wrap in a wrapper. - - - Delegate used to handle creation of new wrappers. This delegate - is called from the - method to construct the wrapper for the specified logger. - - - The delegate to use is supplied to the - constructor. - - - - - - Maps between logger objects and wrapper objects. - - - - This class maintains a mapping between objects and - objects. Use the method to - lookup the for the specified . - - - New wrapper instances are created by the - method. The default behavior is for this method to delegate construction - of the wrapper to the delegate supplied - to the constructor. This allows specialization of the behavior without - requiring subclassing of this type. - - - Nicko Cadell - Gert Driesen - - - - Initializes a new instance of the - - The handler to use to create the wrapper objects. - - - Initializes a new instance of the class with - the specified handler to create the wrapper objects. - - - - - - Gets the wrapper object for the specified logger. - - The wrapper object for the specified logger - - - If the logger is null then the corresponding wrapper is null. - - - Looks up the wrapper it it has previously been requested and - returns it. If the wrapper has never been requested before then - the virtual method is - called. - - - - - - Creates the wrapper object for the specified logger. - - The logger to wrap in a wrapper. - The wrapper object for the logger. - - - This implementation uses the - passed to the constructor to create the wrapper. This method - can be overridden in a subclass. - - - - - - Called when a monitored repository shutdown event is received. - - The that is shutting down - - - This method is called when a that this - is holding loggers for has signaled its shutdown - event . The default - behavior of this method is to release the references to the loggers - and their wrappers generated for this repository. - - - - - - Event handler for repository shutdown event. - - The sender of the event. - The event args. - - - - Map of logger repositories to hashtables of ILogger to ILoggerWrapper mappings - - - - - The handler to use to create the extension wrapper objects. - - - - - Internal reference to the delegate used to register for repository shutdown events. - - - - - Gets the map of logger repositories. - - - Map of logger repositories. - - - - Gets the hashtable that is keyed on . The - values are hashtables keyed on with the - value being the corresponding . - - - - - - Formats a as "HH:mm:ss,fff". - - - - Formats a in the format "HH:mm:ss,fff" for example, "15:49:37,459". - - - Nicko Cadell - Gert Driesen - - - - Render a as a string. - - - - Interface to abstract the rendering of a - instance into a string. - - - The method is used to render the - date to a text writer. - - - Nicko Cadell - Gert Driesen - - - - Formats the specified date as a string. - - The date to format. - The writer to write to. - - - Format the as a string and write it - to the provided. - - - - - - String constant used to specify AbsoluteTimeDateFormat in layouts. Current value is ABSOLUTE. - - - - - String constant used to specify DateTimeDateFormat in layouts. Current value is DATE. - - - - - String constant used to specify ISO8601DateFormat in layouts. Current value is ISO8601. - - - - - Renders the date into a string. Format is "HH:mm:ss". - - The date to render into a string. - The string builder to write to. - - - Subclasses should override this method to render the date - into a string using a precision up to the second. This method - will be called at most once per second and the result will be - reused if it is needed again during the same second. - - - - - - Renders the date into a string. Format is "HH:mm:ss,fff". - - The date to render into a string. - The writer to write to. - - - Uses the method to generate the - time string up to the seconds and then appends the current - milliseconds. The results from are - cached and is called at most once - per second. - - - Sub classes should override - rather than . - - - - - - Last stored time with precision up to the second. - - - - - Last stored time with precision up to the second, formatted - as a string. - - - - - Last stored time with precision up to the second, formatted - as a string. - - - - - Formats a as "dd MMM yyyy HH:mm:ss,fff" - - - - Formats a in the format - "dd MMM yyyy HH:mm:ss,fff" for example, - "06 Nov 1994 15:49:37,459". - - - Nicko Cadell - Gert Driesen - Angelika Schnagl - - - - Default constructor. - - - - Initializes a new instance of the class. - - - - - - Formats the date without the milliseconds part - - The date to format. - The string builder to write to. - - - Formats a DateTime in the format "dd MMM yyyy HH:mm:ss" - for example, "06 Nov 1994 15:49:37". - - - The base class will append the ",fff" milliseconds section. - This method will only be called at most once per second. - - - - - - The format info for the invariant culture. - - - - - Formats the as "yyyy-MM-dd HH:mm:ss,fff". - - - - Formats the specified as a string: "yyyy-MM-dd HH:mm:ss,fff". - - - Nicko Cadell - Gert Driesen - - - - Default constructor - - - - Initializes a new instance of the class. - - - - - - Formats the date without the milliseconds part - - The date to format. - The string builder to write to. - - - Formats the date specified as a string: "yyyy-MM-dd HH:mm:ss". - - - The base class will append the ",fff" milliseconds section. - This method will only be called at most once per second. - - - - - - Formats the using the method. - - - - Formats the using the method. - - - Nicko Cadell - Gert Driesen - - - - Constructor - - The format string. - - - Initializes a new instance of the class - with the specified format string. - - - The format string must be compatible with the options - that can be supplied to . - - - - - - Formats the date using . - - The date to convert to a string. - The writer to write to. - - - Uses the date format string supplied to the constructor to call - the method to format the date. - - - - - - The format string used to format the . - - - - The format string must be compatible with the options - that can be supplied to . - - - - - - This filter drops all . - - - - You can add this filter to the end of a filter chain to - switch from the default "accept all unless instructed otherwise" - filtering behavior to a "deny all unless instructed otherwise" - behavior. - - - Nicko Cadell - Gert Driesen - - - - Subclass this type to implement customized logging event filtering - - - - Users should extend this class to implement customized logging - event filtering. Note that and - , the parent class of all standard - appenders, have built-in filtering rules. It is suggested that you - first use and understand the built-in rules before rushing to write - your own custom filters. - - - This abstract class assumes and also imposes that filters be - organized in a linear chain. The - method of each filter is called sequentially, in the order of their - addition to the chain. - - - The method must return one - of the integer constants , - or . - - - If the value is returned, then the log event is dropped - immediately without consulting with the remaining filters. - - - If the value is returned, then the next filter - in the chain is consulted. If there are no more filters in the - chain, then the log event is logged. Thus, in the presence of no - filters, the default behavior is to log all logging events. - - - If the value is returned, then the log - event is logged without consulting the remaining filters. - - - The philosophy of log4net filters is largely inspired from the - Linux ipchains. - - - Nicko Cadell - Gert Driesen - - - - Implement this interface to provide customized logging event filtering - - - - Users should implement this interface to implement customized logging - event filtering. Note that and - , the parent class of all standard - appenders, have built-in filtering rules. It is suggested that you - first use and understand the built-in rules before rushing to write - your own custom filters. - - - This abstract class assumes and also imposes that filters be - organized in a linear chain. The - method of each filter is called sequentially, in the order of their - addition to the chain. - - - The method must return one - of the integer constants , - or . - - - If the value is returned, then the log event is dropped - immediately without consulting with the remaining filters. - - - If the value is returned, then the next filter - in the chain is consulted. If there are no more filters in the - chain, then the log event is logged. Thus, in the presence of no - filters, the default behavior is to log all logging events. - - - If the value is returned, then the log - event is logged without consulting the remaining filters. - - - The philosophy of log4net filters is largely inspired from the - Linux ipchains. - - - Nicko Cadell - Gert Driesen - - - - Decide if the logging event should be logged through an appender. - - The LoggingEvent to decide upon - The decision of the filter - - - If the decision is , then the event will be - dropped. If the decision is , then the next - filter, if any, will be invoked. If the decision is then - the event will be logged without consulting with other filters in - the chain. - - - - - - Property to get and set the next filter - - - The next filter in the chain - - - - Filters are typically composed into chains. This property allows the next filter in - the chain to be accessed. - - - - - - Points to the next filter in the filter chain. - - - - See for more information. - - - - - - Initialize the filter with the options set - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - Typically filter's options become active immediately on set, - however this method must still be called. - - - - - - Decide if the should be logged through an appender. - - The to decide upon - The decision of the filter - - - If the decision is , then the event will be - dropped. If the decision is , then the next - filter, if any, will be invoked. If the decision is then - the event will be logged without consulting with other filters in - the chain. - - - This method is marked abstract and must be implemented - in a subclass. - - - - - - Property to get and set the next filter - - - The next filter in the chain - - - - Filters are typically composed into chains. This property allows the next filter in - the chain to be accessed. - - - - - - Default constructor - - - - - Always returns the integer constant - - the LoggingEvent to filter - Always returns - - - Ignores the event being logged and just returns - . This can be used to change the default filter - chain behavior from to . This filter - should only be used as the last filter in the chain - as any further filters will be ignored! - - - - - - The return result from - - - - The return result from - - - - - - The log event must be dropped immediately without - consulting with the remaining filters, if any, in the chain. - - - - - This filter is neutral with respect to the log event. - The remaining filters, if any, should be consulted for a final decision. - - - - - The log event must be logged immediately without - consulting with the remaining filters, if any, in the chain. - - - - - This is a very simple filter based on matching. - - - - The filter admits two options and - . If there is an exact match between the value - of the option and the of the - , then the method returns in - case the option value is set - to true, if it is false then - is returned. If the does not match then - the result will be . - - - Nicko Cadell - Gert Driesen - - - - flag to indicate if the filter should on a match - - - - - the to match against - - - - - Default constructor - - - - - Tests if the of the logging event matches that of the filter - - the event to filter - see remarks - - - If the of the event matches the level of the - filter then the result of the function depends on the - value of . If it is true then - the function will return , it it is false then it - will return . If the does not match then - the result will be . - - - - - - when matching - - - - The property is a flag that determines - the behavior when a matching is found. If the - flag is set to true then the filter will the - logging event, otherwise it will the event. - - - The default is true i.e. to the event. - - - - - - The that the filter will match - - - - The level that this filter will attempt to match against the - level. If a match is found then - the result depends on the value of . - - - - - - This is a simple filter based on matching. - - - - The filter admits three options and - that determine the range of priorities that are matched, and - . If there is a match between the range - of priorities and the of the , then the - method returns in case the - option value is set to true, if it is false - then is returned. If there is no match, is returned. - - - Nicko Cadell - Gert Driesen - - - - Flag to indicate the behavior when matching a - - - - - the minimum value to match - - - - - the maximum value to match - - - - - Default constructor - - - - - Check if the event should be logged. - - the logging event to check - see remarks - - - If the of the logging event is outside the range - matched by this filter then - is returned. If the is matched then the value of - is checked. If it is true then - is returned, otherwise - is returned. - - - - - - when matching and - - - - The property is a flag that determines - the behavior when a matching is found. If the - flag is set to true then the filter will the - logging event, otherwise it will the event. - - - The default is true i.e. to the event. - - - - - - Set the minimum matched - - - - The minimum level that this filter will attempt to match against the - level. If a match is found then - the result depends on the value of . - - - - - - Sets the maximum matched - - - - The maximum level that this filter will attempt to match against the - level. If a match is found then - the result depends on the value of . - - - - - - Simple filter to match a string in the event's logger name. - - - - The works very similar to the . It admits two - options and . If the - of the starts - with the value of the option, then the - method returns in - case the option value is set to true, - if it is false then is returned. - - - Daniel Cazzulino - - - - Flag to indicate the behavior when we have a match - - - - - The logger name string to substring match against the event - - - - - Default constructor - - - - - Check if this filter should allow the event to be logged - - the event being logged - see remarks - - - The rendered message is matched against the . - If the equals the beginning of - the incoming () - then a match will have occurred. If no match occurs - this function will return - allowing other filters to check the event. If a match occurs then - the value of is checked. If it is - true then is returned otherwise - is returned. - - - - - - when matching - - - - The property is a flag that determines - the behavior when a matching is found. If the - flag is set to true then the filter will the - logging event, otherwise it will the event. - - - The default is true i.e. to the event. - - - - - - The that the filter will match - - - - This filter will attempt to match this value against logger name in - the following way. The match will be done against the beginning of the - logger name (using ). The match is - case sensitive. If a match is found then - the result depends on the value of . - - - - - - Simple filter to match a keyed string in the - - - - Simple filter to match a keyed string in the - - - As the MDC has been replaced with layered properties the - should be used instead. - - - Nicko Cadell - Gert Driesen - - - - Simple filter to match a string an event property - - - - Simple filter to match a string in the value for a - specific event property - - - Nicko Cadell - - - - Simple filter to match a string in the rendered message - - - - Simple filter to match a string in the rendered message - - - Nicko Cadell - Gert Driesen - - - - Flag to indicate the behavior when we have a match - - - - - The string to substring match against the message - - - - - A string regex to match - - - - - A regex object to match (generated from m_stringRegexToMatch) - - - - - Default constructor - - - - - Initialize and precompile the Regex if required - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - - - - Check if this filter should allow the event to be logged - - the event being logged - see remarks - - - The rendered message is matched against the . - If the occurs as a substring within - the message then a match will have occurred. If no match occurs - this function will return - allowing other filters to check the event. If a match occurs then - the value of is checked. If it is - true then is returned otherwise - is returned. - - - - - - when matching or - - - - The property is a flag that determines - the behavior when a matching is found. If the - flag is set to true then the filter will the - logging event, otherwise it will the event. - - - The default is true i.e. to the event. - - - - - - Sets the static string to match - - - - The string that will be substring matched against - the rendered message. If the message contains this - string then the filter will match. If a match is found then - the result depends on the value of . - - - One of or - must be specified. - - - - - - Sets the regular expression to match - - - - The regular expression pattern that will be matched against - the rendered message. If the message matches this - pattern then the filter will match. If a match is found then - the result depends on the value of . - - - One of or - must be specified. - - - - - - The key to use to lookup the string from the event properties - - - - - Default constructor - - - - - Check if this filter should allow the event to be logged - - the event being logged - see remarks - - - The event property for the is matched against - the . - If the occurs as a substring within - the property value then a match will have occurred. If no match occurs - this function will return - allowing other filters to check the event. If a match occurs then - the value of is checked. If it is - true then is returned otherwise - is returned. - - - - - - The key to lookup in the event properties and then match against. - - - - The key name to use to lookup in the properties map of the - . The match will be performed against - the value of this property if it exists. - - - - - - Simple filter to match a string in the - - - - Simple filter to match a string in the - - - As the MDC has been replaced with named stacks stored in the - properties collections the should - be used instead. - - - Nicko Cadell - Gert Driesen - - - - Default constructor - - - - Sets the to "NDC". - - - - - - Write the event appdomain name to the output - - - - Writes the to the output writer. - - - Daniel Cazzulino - Nicko Cadell - - - - Abstract class that provides the formatting functionality that - derived classes need. - - - Conversion specifiers in a conversion patterns are parsed to - individual PatternConverters. Each of which is responsible for - converting a logging event in a converter specific manner. - - Nicko Cadell - - - - Abstract class that provides the formatting functionality that - derived classes need. - - - - Conversion specifiers in a conversion patterns are parsed to - individual PatternConverters. Each of which is responsible for - converting a logging event in a converter specific manner. - - - Nicko Cadell - Gert Driesen - - - - Initial buffer size - - - - - Maximum buffer size before it is recycled - - - - - Protected constructor - - - - Initializes a new instance of the class. - - - - - - Evaluate this pattern converter and write the output to a writer. - - that will receive the formatted result. - The state object on which the pattern converter should be executed. - - - Derived pattern converters must override this method in order to - convert conversion specifiers in the appropriate way. - - - - - - Set the next pattern converter in the chains - - the pattern converter that should follow this converter in the chain - the next converter - - - The PatternConverter can merge with its neighbor during this method (or a sub class). - Therefore the return value may or may not be the value of the argument passed in. - - - - - - Write the pattern converter to the writer with appropriate formatting - - that will receive the formatted result. - The state object on which the pattern converter should be executed. - - - This method calls to allow the subclass to perform - appropriate conversion of the pattern converter. If formatting options have - been specified via the then this method will - apply those formattings before writing the output. - - - - - - Fast space padding method. - - to which the spaces will be appended. - The number of spaces to be padded. - - - Fast space padding method. - - - - - - The option string to the converter - - - - - Write an dictionary to a - - the writer to write to - a to use for object conversion - the value to write to the writer - - - Writes the to a writer in the form: - - - {key1=value1, key2=value2, key3=value3} - - - If the specified - is not null then it is used to render the key and value to text, otherwise - the object's ToString method is called. - - - - - - Write an object to a - - the writer to write to - a to use for object conversion - the value to write to the writer - - - Writes the Object to a writer. If the specified - is not null then it is used to render the object to text, otherwise - the object's ToString method is called. - - - - - - Get the next pattern converter in the chain - - - the next pattern converter in the chain - - - - Get the next pattern converter in the chain - - - - - - Gets or sets the formatting info for this converter - - - The formatting info for this converter - - - - Gets or sets the formatting info for this converter - - - - - - Gets or sets the option value for this converter - - - The option for this converter - - - - Gets or sets the option value for this converter - - - - - - Initializes a new instance of the class. - - - - - Derived pattern converters must override this method in order to - convert conversion specifiers in the correct way. - - that will receive the formatted result. - The on which the pattern converter should be executed. - - - - Derived pattern converters must override this method in order to - convert conversion specifiers in the correct way. - - that will receive the formatted result. - The state object on which the pattern converter should be executed. - - - - Flag indicating if this converter handles exceptions - - - false if this converter handles exceptions - - - - - Flag indicating if this converter handles the logging event exception - - false if this converter handles the logging event exception - - - If this converter handles the exception object contained within - , then this property should be set to - false. Otherwise, if the layout ignores the exception - object, then the property should be set to true. - - - Set this value to override a this default setting. The default - value is true, this converter does not handle the exception. - - - - - - Write the event appdomain name to the output - - that will receive the formatted result. - the event being logged - - - Writes the to the output . - - - - - - Date pattern converter, uses a to format - the date of a . - - - - Render the to the writer as a string. - - - The value of the determines - the formatting of the date. The following values are allowed: - - - Option value - Output - - - ISO8601 - - Uses the formatter. - Formats using the "yyyy-MM-dd HH:mm:ss,fff" pattern. - - - - DATE - - Uses the formatter. - Formats using the "dd MMM yyyy HH:mm:ss,fff" for example, "06 Nov 1994 15:49:37,459". - - - - ABSOLUTE - - Uses the formatter. - Formats using the "HH:mm:ss,yyyy" for example, "15:49:37,459". - - - - other - - Any other pattern string uses the formatter. - This formatter passes the pattern string to the - method. - For details on valid patterns see - DateTimeFormatInfo Class. - - - - - - The is in the local time zone and is rendered in that zone. - To output the time in Universal time see . - - - Nicko Cadell - - - - The used to render the date to a string - - - - The used to render the date to a string - - - - - - Initialize the converter pattern based on the property. - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - - - - Convert the pattern into the rendered message - - that will receive the formatted result. - the event being logged - - - Pass the to the - for it to render it to the writer. - - - The passed is in the local time zone. - - - - - - Write the exception text to the output - - - - If an exception object is stored in the logging event - it will be rendered into the pattern output with a - trailing newline. - - - If there is no exception then nothing will be output - and no trailing newline will be appended. - It is typical to put a newline before the exception - and to have the exception as the last data in the pattern. - - - Nicko Cadell - - - - Default constructor - - - - - Write the exception text to the output - - that will receive the formatted result. - the event being logged - - - If an exception object is stored in the logging event - it will be rendered into the pattern output with a - trailing newline. - - - If there is no exception then nothing will be output - and no trailing newline will be appended. - It is typical to put a newline before the exception - and to have the exception as the last data in the pattern. - - - - - - Writes the caller location file name to the output - - - - Writes the value of the for - the event to the output writer. - - - Nicko Cadell - - - - Write the caller location file name to the output - - that will receive the formatted result. - the event being logged - - - Writes the value of the for - the to the output . - - - - - - Write the caller location info to the output - - - - Writes the to the output writer. - - - Nicko Cadell - - - - Write the caller location info to the output - - that will receive the formatted result. - the event being logged - - - Writes the to the output writer. - - - - - - Writes the event identity to the output - - - - Writes the value of the to - the output writer. - - - Daniel Cazzulino - Nicko Cadell - - - - Writes the event identity to the output - - that will receive the formatted result. - the event being logged - - - Writes the value of the - to - the output . - - - - - - Write the event level to the output - - - - Writes the display name of the event - to the writer. - - - Nicko Cadell - - - - Write the event level to the output - - that will receive the formatted result. - the event being logged - - - Writes the of the - to the . - - - - - - Write the caller location line number to the output - - - - Writes the value of the for - the event to the output writer. - - - Nicko Cadell - - - - Write the caller location line number to the output - - that will receive the formatted result. - the event being logged - - - Writes the value of the for - the to the output . - - - - - - Converter for logger name - - - - Outputs the of the event. - - - Nicko Cadell - - - - Converter to output and truncate '.' separated strings - - - - This abstract class supports truncating a '.' separated string - to show a specified number of elements from the right hand side. - This is used to truncate class names that are fully qualified. - - - Subclasses should override the method to - return the fully qualified string. - - - Nicko Cadell - - - - Initialize the converter - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - - - - Get the fully qualified string data - - the event being logged - the fully qualified name - - - Overridden by subclasses to get the fully qualified name before the - precision is applied to it. - - - Return the fully qualified '.' (dot/period) separated string. - - - - - - Convert the pattern to the rendered message - - that will receive the formatted result. - the event being logged - - Render the to the precision - specified by the property. - - - - - Gets the fully qualified name of the logger - - the event being logged - The fully qualified logger name - - - Returns the of the . - - - - - - Writes the event message to the output - - - - Uses the method - to write out the event message. - - - Nicko Cadell - - - - Writes the event message to the output - - that will receive the formatted result. - the event being logged - - - Uses the method - to write out the event message. - - - - - - Write the method name to the output - - - - Writes the caller location to - the output. - - - Nicko Cadell - - - - Write the method name to the output - - that will receive the formatted result. - the event being logged - - - Writes the caller location to - the output. - - - - - - Converter to include event NDC - - - - Outputs the value of the event property named NDC. - - - The should be used instead. - - - Nicko Cadell - - - - Write the event NDC to the output - - that will receive the formatted result. - the event being logged - - - As the thread context stacks are now stored in named event properties - this converter simply looks up the value of the NDC property. - - - The should be used instead. - - - - - - Property pattern converter - - - - Writes out the value of a named property. The property name - should be set in the - property. - - - If the is set to null - then all the properties are written as key value pairs. - - - Nicko Cadell - - - - Write the property value to the output - - that will receive the formatted result. - the event being logged - - - Writes out the value of a named property. The property name - should be set in the - property. - - - If the is set to null - then all the properties are written as key value pairs. - - - - - - Converter to output the relative time of the event - - - - Converter to output the time of the event relative to the start of the program. - - - Nicko Cadell - - - - Write the relative time to the output - - that will receive the formatted result. - the event being logged - - - Writes out the relative time of the event in milliseconds. - That is the number of milliseconds between the event - and the . - - - - - - Helper method to get the time difference between two DateTime objects - - start time (in the current local time zone) - end time (in the current local time zone) - the time difference in milliseconds - - - - Converter to include event thread name - - - - Writes the to the output. - - - Nicko Cadell - - - - Write the ThreadName to the output - - that will receive the formatted result. - the event being logged - - - Writes the to the . - - - - - - Pattern converter for the class name - - - - Outputs the of the event. - - - Nicko Cadell - - - - Gets the fully qualified name of the class - - the event being logged - The fully qualified type name for the caller location - - - Returns the of the . - - - - - - Converter to include event user name - - Douglas de la Torre - Nicko Cadell - - - - Convert the pattern to the rendered message - - that will receive the formatted result. - the event being logged - - - - Write the TimeStamp to the output - - - - Date pattern converter, uses a to format - the date of a . - - - Uses a to format the - in Universal time. - - - See the for details on the date pattern syntax. - - - - Nicko Cadell - - - - Write the TimeStamp to the output - - that will receive the formatted result. - the event being logged - - - Pass the to the - for it to render it to the writer. - - - The passed is in the local time zone, this is converted - to Universal time before it is rendered. - - - - - - - A Layout that renders only the Exception text from the logging event - - - - A Layout that renders only the Exception text from the logging event. - - - This Layout should only be used with appenders that utilize multiple - layouts (e.g. ). - - - Nicko Cadell - Gert Driesen - - - - Extend this abstract class to create your own log layout format. - - - - This is the base implementation of the - interface. Most layout objects should extend this class. - - - - - - Subclasses must implement the - method. - - - Subclasses should set the in their default - constructor. - - - - Nicko Cadell - Gert Driesen - - - - Interface implemented by layout objects - - - - An object is used to format a - as text. The method is called by an - appender to transform the into a string. - - - The layout can also supply and - text that is appender before any events and after all the events respectively. - - - Nicko Cadell - Gert Driesen - - - - Implement this method to create your own layout format. - - The TextWriter to write the formatted event to - The event to format - - - This method is called by an appender to format - the as text and output to a writer. - - - If the caller does not have a and prefers the - event to be formatted as a then the following - code can be used to format the event into a . - - - StringWriter writer = new StringWriter(); - Layout.Format(writer, loggingEvent); - string formattedEvent = writer.ToString(); - - - - - - The content type output by this layout. - - The content type - - - The content type output by this layout. - - - This is a MIME type e.g. "text/plain". - - - - - - The header for the layout format. - - the layout header - - - The Header text will be appended before any logging events - are formatted and appended. - - - - - - The footer for the layout format. - - the layout footer - - - The Footer text will be appended after all the logging events - have been formatted and appended. - - - - - - Flag indicating if this layout handle exceptions - - false if this layout handles exceptions - - - If this layout handles the exception object contained within - , then the layout should return - false. Otherwise, if the layout ignores the exception - object, then the layout should return true. - - - - - - The header text - - - - See for more information. - - - - - - The footer text - - - - See for more information. - - - - - - Flag indicating if this layout handles exceptions - - - - false if this layout handles exceptions - - - - - - Empty default constructor - - - - Empty default constructor - - - - - - Activate component options - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - This method must be implemented by the subclass. - - - - - - Implement this method to create your own layout format. - - The TextWriter to write the formatted event to - The event to format - - - This method is called by an appender to format - the as text. - - - - - - The content type output by this layout. - - The content type is "text/plain" - - - The content type output by this layout. - - - This base class uses the value "text/plain". - To change this value a subclass must override this - property. - - - - - - The header for the layout format. - - the layout header - - - The Header text will be appended before any logging events - are formatted and appended. - - - - - - The footer for the layout format. - - the layout footer - - - The Footer text will be appended after all the logging events - have been formatted and appended. - - - - - - Flag indicating if this layout handles exceptions - - false if this layout handles exceptions - - - If this layout handles the exception object contained within - , then the layout should return - false. Otherwise, if the layout ignores the exception - object, then the layout should return true. - - - Set this value to override a this default setting. The default - value is true, this layout does not handle the exception. - - - - - - Default constructor - - - - Constructs a ExceptionLayout - - - - - - Activate component options - - - - Part of the component activation - framework. - - - This method does nothing as options become effective immediately. - - - - - - Gets the exception text from the logging event - - The TextWriter to write the formatted event to - the event being logged - - - Write the exception string to the . - The exception string is retrieved from . - - - - - - Interface for raw layout objects - - - - Interface used to format a - to an object. - - - This interface should not be confused with the - interface. This interface is used in - only certain specialized situations where a raw object is - required rather than a formatted string. The - is not generally useful than this interface. - - - Nicko Cadell - Gert Driesen - - - - Implement this method to create your own layout format. - - The event to format - returns the formatted event - - - Implement this method to create your own layout format. - - - - - - Adapts any to a - - - - Where an is required this adapter - allows a to be specified. - - - Nicko Cadell - Gert Driesen - - - - The layout to adapt - - - - - Construct a new adapter - - the layout to adapt - - - Create the adapter for the specified . - - - - - - Format the logging event as an object. - - The event to format - returns the formatted event - - - Format the logging event as an object. - - - Uses the object supplied to - the constructor to perform the formatting. - - - - - - A flexible layout configurable with pattern string. - - - - The goal of this class is to a - as a string. The results - depend on the conversion pattern. - - - The conversion pattern is closely related to the conversion - pattern of the printf function in C. A conversion pattern is - composed of literal text and format control expressions called - conversion specifiers. - - - You are free to insert any literal text within the conversion - pattern. - - - Each conversion specifier starts with a percent sign (%) and is - followed by optional format modifiers and a conversion - pattern name. The conversion pattern name specifies the type of - data, e.g. logger, level, date, thread name. The format - modifiers control such things as field width, padding, left and - right justification. The following is a simple example. - - - Let the conversion pattern be "%-5level [%thread]: %message%newline" and assume - that the log4net environment was set to use a PatternLayout. Then the - statements - - - ILog log = LogManager.GetLogger(typeof(TestApp)); - log.Debug("Message 1"); - log.Warn("Message 2"); - - would yield the output - - DEBUG [main]: Message 1 - WARN [main]: Message 2 - - - Note that there is no explicit separator between text and - conversion specifiers. The pattern parser knows when it has reached - the end of a conversion specifier when it reads a conversion - character. In the example above the conversion specifier - %-5level means the level of the logging event should be left - justified to a width of five characters. - - - The recognized conversion pattern names are: - - - - Conversion Pattern Name - Effect - - - a - Equivalent to appdomain - - - appdomain - - Used to output the friendly name of the AppDomain where the - logging event was generated. - - - - c - Equivalent to logger - - - C - Equivalent to type - - - class - Equivalent to type - - - d - Equivalent to date - - - date - - - Used to output the date of the logging event in the local time zone. - To output the date in universal time use the %utcdate pattern. - The date conversion - specifier may be followed by a date format specifier enclosed - between braces. For example, %date{HH:mm:ss,fff} or - %date{dd MMM yyyy HH:mm:ss,fff}. If no date format specifier is - given then ISO8601 format is - assumed (). - - - The date format specifier admits the same syntax as the - time pattern string of the . - - - For better results it is recommended to use the log4net date - formatters. These can be specified using one of the strings - "ABSOLUTE", "DATE" and "ISO8601" for specifying - , - and respectively - . For example, - %date{ISO8601} or %date{ABSOLUTE}. - - - These dedicated date formatters perform significantly - better than . - - - - - exception - - - Used to output the exception passed in with the log message. - - - If an exception object is stored in the logging event - it will be rendered into the pattern output with a - trailing newline. - If there is no exception then nothing will be output - and no trailing newline will be appended. - It is typical to put a newline before the exception - and to have the exception as the last data in the pattern. - - - - - F - Equivalent to file - - - file - - - Used to output the file name where the logging request was - issued. - - - WARNING Generating caller location information is - extremely slow. Its use should be avoided unless execution speed - is not an issue. - - - See the note below on the availability of caller location information. - - - - - identity - - - Used to output the user name for the currently active user - (Principal.Identity.Name). - - - WARNING Generating caller information is - extremely slow. Its use should be avoided unless execution speed - is not an issue. - - - - - l - Equivalent to location - - - L - Equivalent to line - - - location - - - Used to output location information of the caller which generated - the logging event. - - - The location information depends on the CLI implementation but - usually consists of the fully qualified name of the calling - method followed by the callers source the file name and line - number between parentheses. - - - The location information can be very useful. However, its - generation is extremely slow. Its use should be avoided - unless execution speed is not an issue. - - - See the note below on the availability of caller location information. - - - - - level - - - Used to output the level of the logging event. - - - - - line - - - Used to output the line number from where the logging request - was issued. - - - WARNING Generating caller location information is - extremely slow. Its use should be avoided unless execution speed - is not an issue. - - - See the note below on the availability of caller location information. - - - - - logger - - - Used to output the logger of the logging event. The - logger conversion specifier can be optionally followed by - precision specifier, that is a decimal constant in - brackets. - - - If a precision specifier is given, then only the corresponding - number of right most components of the logger name will be - printed. By default the logger name is printed in full. - - - For example, for the logger name "a.b.c" the pattern - %logger{2} will output "b.c". - - - - - m - Equivalent to message - - - M - Equivalent to method - - - message - - - Used to output the application supplied message associated with - the logging event. - - - - - mdc - - - The MDC (old name for the ThreadContext.Properties) is now part of the - combined event properties. This pattern is supported for compatibility - but is equivalent to property. - - - - - method - - - Used to output the method name where the logging request was - issued. - - - WARNING Generating caller location information is - extremely slow. Its use should be avoided unless execution speed - is not an issue. - - - See the note below on the availability of caller location information. - - - - - n - Equivalent to newline - - - newline - - - Outputs the platform dependent line separator character or - characters. - - - This conversion pattern offers the same performance as using - non-portable line separator strings such as "\n", or "\r\n". - Thus, it is the preferred way of specifying a line separator. - - - - - ndc - - - Used to output the NDC (nested diagnostic context) associated - with the thread that generated the logging event. - - - - - p - Equivalent to level - - - P - Equivalent to property - - - properties - Equivalent to property - - - property - - - Used to output the an event specific property. The key to - lookup must be specified within braces and directly following the - pattern specifier, e.g. %property{user} would include the value - from the property that is keyed by the string 'user'. Each property value - that is to be included in the log must be specified separately. - Properties are added to events by loggers or appenders. By default - the log4net:HostName property is set to the name of machine on - which the event was originally logged. - - - If no key is specified, e.g. %property then all the keys and their - values are printed in a comma separated list. - - - The properties of an event are combined from a number of different - contexts. These are listed below in the order in which they are searched. - - - - the event properties - - The event has that can be set. These - properties are specific to this event only. - - - - the thread properties - - The that are set on the current - thread. These properties are shared by all events logged on this thread. - - - - the global properties - - The that are set globally. These - properties are shared by all the threads in the AppDomain. - - - - - - - - r - Equivalent to timestamp - - - t - Equivalent to thread - - - timestamp - - - Used to output the number of milliseconds elapsed since the start - of the application until the creation of the logging event. - - - - - thread - - - Used to output the name of the thread that generated the - logging event. Uses the thread number if no name is available. - - - - - type - - - Used to output the fully qualified type name of the caller - issuing the logging request. This conversion specifier - can be optionally followed by precision specifier, that - is a decimal constant in brackets. - - - If a precision specifier is given, then only the corresponding - number of right most components of the class name will be - printed. By default the class name is output in fully qualified form. - - - For example, for the class name "log4net.Layout.PatternLayout", the - pattern %type{1} will output "PatternLayout". - - - WARNING Generating the caller class information is - slow. Thus, its use should be avoided unless execution speed is - not an issue. - - - See the note below on the availability of caller location information. - - - - - u - Equivalent to identity - - - username - - - Used to output the WindowsIdentity for the currently - active user. - - - WARNING Generating caller WindowsIdentity information is - extremely slow. Its use should be avoided unless execution speed - is not an issue. - - - - - utcdate - - - Used to output the date of the logging event in universal time. - The date conversion - specifier may be followed by a date format specifier enclosed - between braces. For example, %utcdate{HH:mm:ss,fff} or - %utcdate{dd MMM yyyy HH:mm:ss,fff}. If no date format specifier is - given then ISO8601 format is - assumed (). - - - The date format specifier admits the same syntax as the - time pattern string of the . - - - For better results it is recommended to use the log4net date - formatters. These can be specified using one of the strings - "ABSOLUTE", "DATE" and "ISO8601" for specifying - , - and respectively - . For example, - %utcdate{ISO8601} or %utcdate{ABSOLUTE}. - - - These dedicated date formatters perform significantly - better than . - - - - - w - Equivalent to username - - - x - Equivalent to ndc - - - X - Equivalent to mdc - - - % - - - The sequence %% outputs a single percent sign. - - - - - - The single letter patterns are deprecated in favor of the - longer more descriptive pattern names. - - - By default the relevant information is output as is. However, - with the aid of format modifiers it is possible to change the - minimum field width, the maximum field width and justification. - - - The optional format modifier is placed between the percent sign - and the conversion pattern name. - - - The first optional format modifier is the left justification - flag which is just the minus (-) character. Then comes the - optional minimum field width modifier. This is a decimal - constant that represents the minimum number of characters to - output. If the data item requires fewer characters, it is padded on - either the left or the right until the minimum width is - reached. The default is to pad on the left (right justify) but you - can specify right padding with the left justification flag. The - padding character is space. If the data item is larger than the - minimum field width, the field is expanded to accommodate the - data. The value is never truncated. - - - This behavior can be changed using the maximum field - width modifier which is designated by a period followed by a - decimal constant. If the data item is longer than the maximum - field, then the extra characters are removed from the - beginning of the data item and not from the end. For - example, it the maximum field width is eight and the data item is - ten characters long, then the first two characters of the data item - are dropped. This behavior deviates from the printf function in C - where truncation is done from the end. - - - Below are various format modifier examples for the logger - conversion specifier. - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Format modifierleft justifyminimum widthmaximum widthcomment
%20loggerfalse20none - - Left pad with spaces if the logger name is less than 20 - characters long. - -
%-20loggertrue20none - - Right pad with spaces if the logger - name is less than 20 characters long. - -
%.30loggerNAnone30 - - Truncate from the beginning if the logger - name is longer than 30 characters. - -
%20.30loggerfalse2030 - - Left pad with spaces if the logger name is shorter than 20 - characters. However, if logger name is longer than 30 characters, - then truncate from the beginning. - -
%-20.30loggertrue2030 - - Right pad with spaces if the logger name is shorter than 20 - characters. However, if logger name is longer than 30 characters, - then truncate from the beginning. - -
-
- - Note about caller location information.
- The following patterns %type %file %line %method %location %class %C %F %L %l %M - all generate caller location information. - Location information uses the System.Diagnostics.StackTrace class to generate - a call stack. The caller's information is then extracted from this stack. -
- - - The System.Diagnostics.StackTrace class is not supported on the - .NET Compact Framework 1.0 therefore caller location information is not - available on that framework. - - - - - The System.Diagnostics.StackTrace class has this to say about Release builds: - - - "StackTrace information will be most informative with Debug build configurations. - By default, Debug builds include debug symbols, while Release builds do not. The - debug symbols contain most of the file, method name, line number, and column - information used in constructing StackFrame and StackTrace objects. StackTrace - might not report as many method calls as expected, due to code transformations - that occur during optimization." - - - This means that in a Release build the caller information may be incomplete or may - not exist at all! Therefore caller location information cannot be relied upon in a Release build. - - - - Additional pattern converters may be registered with a specific - instance using the method. - -
- - This is a more detailed pattern. - %timestamp [%thread] %level %logger %ndc - %message%newline - - - A similar pattern except that the relative time is - right padded if less than 6 digits, thread name is right padded if - less than 15 characters and truncated if longer and the logger - name is left padded if shorter than 30 characters and truncated if - longer. - %-6timestamp [%15.15thread] %-5level %30.30logger %ndc - %message%newline - - Nicko Cadell - Gert Driesen - Douglas de la Torre - Daniel Cazzulino -
- - - Default pattern string for log output. - - - - Default pattern string for log output. - Currently set to the string "%message%newline" - which just prints the application supplied message. - - - - - - A detailed conversion pattern - - - - A conversion pattern which includes Time, Thread, Logger, and Nested Context. - Current value is %timestamp [%thread] %level %logger %ndc - %message%newline. - - - - - - Internal map of converter identifiers to converter types. - - - - This static map is overridden by the m_converterRegistry instance map - - - - - - the pattern - - - - - the head of the pattern converter chain - - - - - patterns defined on this PatternLayout only - - - - - Initialize the global registry - - - - Defines the builtin global rules. - - - - - - Constructs a PatternLayout using the DefaultConversionPattern - - - - The default pattern just produces the application supplied message. - - - Note to Inheritors: This constructor calls the virtual method - . If you override this method be - aware that it will be called before your is called constructor. - - - As per the contract the - method must be called after the properties on this object have been - configured. - - - - - - Constructs a PatternLayout using the supplied conversion pattern - - the pattern to use - - - Note to Inheritors: This constructor calls the virtual method - . If you override this method be - aware that it will be called before your is called constructor. - - - When using this constructor the method - need not be called. This may not be the case when using a subclass. - - - - - - Create the pattern parser instance - - the pattern to parse - The that will format the event - - - Creates the used to parse the conversion string. Sets the - global and instance rules on the . - - - - - - Initialize layout options - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - - - - Produces a formatted string as specified by the conversion pattern. - - the event being logged - The TextWriter to write the formatted event to - - - Parse the using the patter format - specified in the property. - - - - - - Add a converter to this PatternLayout - - the converter info - - - This version of the method is used by the configurator. - Programmatic users should use the alternative method. - - - - - - Add a converter to this PatternLayout - - the name of the conversion pattern for this converter - the type of the converter - - - Add a named pattern converter to this instance. This - converter will be used in the formatting of the event. - This method must be called before . - - - The specified must extend the - type. - - - - - - The pattern formatting string - - - - The ConversionPattern option. This is the string which - controls formatting and consists of a mix of literal content and - conversion specifiers. - - - - - - Wrapper class used to map converter names to converter types - - - - Pattern converter info class used during configuration to - pass to the - method. - - - - - - default constructor - - - - - Gets or sets the name of the conversion pattern - - - - The name of the pattern in the format string - - - - - - Gets or sets the type of the converter - - - - The value specified must extend the - type. - - - - - - Type converter for the interface - - - - Used to convert objects to the interface. - Supports converting from the interface to - the interface using the . - - - Nicko Cadell - Gert Driesen - - - - Interface supported by type converters - - - - This interface supports conversion from arbitrary types - to a single target type. See . - - - Nicko Cadell - Gert Driesen - - - - Can the source type be converted to the type supported by this object - - the type to convert - true if the conversion is possible - - - Test if the can be converted to the - type supported by this converter. - - - - - - Convert the source object to the type supported by this object - - the object to convert - the converted object - - - Converts the to the type supported - by this converter. - - - - - - Can the sourceType be converted to an - - the source to be to be converted - true if the source type can be converted to - - - Test if the can be converted to a - . Only is supported - as the . - - - - - - Convert the value to a object - - the value to convert - the object - - - Convert the object to a - object. If the object - is a then the - is used to adapt between the two interfaces, otherwise an - exception is thrown. - - - - - - Extract the value of a property from the - - - - Extract the value of a property from the - - - Nicko Cadell - - - - Constructs a RawPropertyLayout - - - - - Lookup the property for - - The event to format - returns property value - - - Looks up and returns the object value of the property - named . If there is no property defined - with than name then null will be returned. - - - - - - The name of the value to lookup in the LoggingEvent Properties collection. - - - Value to lookup in the LoggingEvent Properties collection - - - - String name of the property to lookup in the . - - - - - - Extract the date from the - - - - Extract the date from the - - - Nicko Cadell - Gert Driesen - - - - Constructs a RawTimeStampLayout - - - - - Gets the as a . - - The event to format - returns the time stamp - - - Gets the as a . - - - The time stamp is in local time. To format the time stamp - in universal time use . - - - - - - Extract the date from the - - - - Extract the date from the - - - Nicko Cadell - Gert Driesen - - - - Constructs a RawUtcTimeStampLayout - - - - - Gets the as a . - - The event to format - returns the time stamp - - - Gets the as a . - - - The time stamp is in universal time. To format the time stamp - in local time use . - - - - - - A very simple layout - - - - SimpleLayout consists of the level of the log statement, - followed by " - " and then the log message itself. For example, - - DEBUG - Hello world - - - - Nicko Cadell - Gert Driesen - - - - Constructs a SimpleLayout - - - - - Initialize layout options - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - - - - Produces a simple formatted output. - - the event being logged - The TextWriter to write the formatted event to - - - Formats the event as the level of the even, - followed by " - " and then the log message itself. The - output is terminated by a newline. - - - - - - Layout that formats the log events as XML elements. - - - - The output of the consists of a series of - log4net:event elements. It does not output a complete well-formed XML - file. The output is designed to be included as an external entity - in a separate file to form a correct XML file. - - - For example, if abc is the name of the file where - the output goes, then a well-formed XML file would - be: - - - <?xml version="1.0" ?> - - <!DOCTYPE log4net:events SYSTEM "log4net-events.dtd" [<!ENTITY data SYSTEM "abc">]> - - <log4net:events version="1.2" xmlns:log4net="http://logging.apache.org/log4net/schemas/log4net-events-1.2> - &data; - </log4net:events> - - - This approach enforces the independence of the - and the appender where it is embedded. - - - The version attribute helps components to correctly - interpret output generated by . The value of - this attribute should be "1.2" for release 1.2 and later. - - - Alternatively the Header and Footer properties can be - configured to output the correct XML header, open tag and close tag. - When setting the Header and Footer properties it is essential - that the underlying data store not be appendable otherwise the data - will become invalid XML. - - - Nicko Cadell - Gert Driesen - - - - Layout that formats the log events as XML elements. - - - - This is an abstract class that must be subclassed by an implementation - to conform to a specific schema. - - - Deriving classes must implement the method. - - - Nicko Cadell - Gert Driesen - - - - Protected constructor to support subclasses - - - - Initializes a new instance of the class - with no location info. - - - - - - Protected constructor to support subclasses - - - - The parameter determines whether - location information will be output by the layout. If - is set to true, then the - file name and line number of the statement at the origin of the log - statement will be output. - - - If you are embedding this layout within an SMTPAppender - then make sure to set the LocationInfo option of that - appender as well. - - - - - - Initialize layout options - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - - - - Produces a formatted string. - - The event being logged. - The TextWriter to write the formatted event to - - - Format the and write it to the . - - - This method creates an that writes to the - . The is passed - to the method. Subclasses should override the - method rather than this method. - - - - - - Does the actual writing of the XML. - - The writer to use to output the event to. - The event to write. - - - Subclasses should override this method to format - the as XML. - - - - - - Flag to indicate if location information should be included in - the XML events. - - - - - Writer adapter that ignores Close - - - - - The string to replace invalid chars with - - - - - Gets a value indicating whether to include location information in - the XML events. - - - true if location information should be included in the XML - events; otherwise, false. - - - - If is set to true, then the file - name and line number of the statement at the origin of the log - statement will be output. - - - If you are embedding this layout within an SMTPAppender - then make sure to set the LocationInfo option of that - appender as well. - - - - - - The string to replace characters that can not be expressed in XML with. - - - Not all characters may be expressed in XML. This property contains the - string to replace those that can not with. This defaults to a ?. Set it - to the empty string to simply remove offending characters. For more - details on the allowed character ranges see http://www.w3.org/TR/REC-xml/#charsets - Character replacement will occur in the log message, the property names - and the property values. - - - - - - - Gets the content type output by this layout. - - - As this is the XML layout, the value is always "text/xml". - - - - As this is the XML layout, the value is always "text/xml". - - - - - - Constructs an XmlLayout - - - - - Constructs an XmlLayout. - - - - The LocationInfo option takes a boolean value. By - default, it is set to false which means there will be no location - information output by this layout. If the the option is set to - true, then the file name and line number of the statement - at the origin of the log statement will be output. - - - If you are embedding this layout within an SmtpAppender - then make sure to set the LocationInfo option of that - appender as well. - - - - - - Initialize layout options - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - Builds a cache of the element names - - - - - - Does the actual writing of the XML. - - The writer to use to output the event to. - The event to write. - - - Override the base class method - to write the to the . - - - - - - The prefix to use for all generated element names - - - - - The prefix to use for all element names - - - - The default prefix is log4net. Set this property - to change the prefix. If the prefix is set to an empty string - then no prefix will be written. - - - - - - Set whether or not to base64 encode the message. - - - - By default the log message will be written as text to the xml - output. This can cause problems when the message contains binary - data. By setting this to true the contents of the message will be - base64 encoded. If this is set then invalid character replacement - (see ) will not be performed - on the log message. - - - - - - Set whether or not to base64 encode the property values. - - - - By default the properties will be written as text to the xml - output. This can cause problems when one or more properties contain - binary data. By setting this to true the values of the properties - will be base64 encoded. If this is set then invalid character replacement - (see ) will not be performed - on the property values. - - - - - - Layout that formats the log events as XML elements compatible with the log4j schema - - - - Formats the log events according to the http://logging.apache.org/log4j schema. - - - Nicko Cadell - - - - The 1st of January 1970 in UTC - - - - - Constructs an XMLLayoutSchemaLog4j - - - - - Constructs an XMLLayoutSchemaLog4j. - - - - The LocationInfo option takes a boolean value. By - default, it is set to false which means there will be no location - information output by this layout. If the the option is set to - true, then the file name and line number of the statement - at the origin of the log statement will be output. - - - If you are embedding this layout within an SMTPAppender - then make sure to set the LocationInfo option of that - appender as well. - - - - - - Actually do the writing of the xml - - the writer to use - the event to write - - - Generate XML that is compatible with the log4j schema. - - - - - - The version of the log4j schema to use. - - - - Only version 1.2 of the log4j schema is supported. - - - - - - The default object Renderer. - - - - The default renderer supports rendering objects and collections to strings. - - - See the method for details of the output. - - - Nicko Cadell - Gert Driesen - - - - Implement this interface in order to render objects as strings - - - - Certain types require special case conversion to - string form. This conversion is done by an object renderer. - Object renderers implement the - interface. - - - Nicko Cadell - Gert Driesen - - - - Render the object to a string - - The map used to lookup renderers - The object to render - The writer to render to - - - Render the object to a - string. - - - The parameter is - provided to lookup and render other objects. This is - very useful where contains - nested objects of unknown type. The - method can be used to render these objects. - - - - - - Default constructor - - - - Default constructor - - - - - - Render the object to a string - - The map used to lookup renderers - The object to render - The writer to render to - - - Render the object to a string. - - - The parameter is - provided to lookup and render other objects. This is - very useful where contains - nested objects of unknown type. The - method can be used to render these objects. - - - The default renderer supports rendering objects to strings as follows: - - - - Value - Rendered String - - - null - - "(null)" - - - - - - - For a one dimensional array this is the - array type name, an open brace, followed by a comma - separated list of the elements (using the appropriate - renderer), followed by a close brace. - - - For example: int[] {1, 2, 3}. - - - If the array is not one dimensional the - Array.ToString() is returned. - - - - - , & - - - Rendered as an open brace, followed by a comma - separated list of the elements (using the appropriate - renderer), followed by a close brace. - - - For example: {a, b, c}. - - - All collection classes that implement its subclasses, - or generic equivalents all implement the interface. - - - - - - - - Rendered as the key, an equals sign ('='), and the value (using the appropriate - renderer). - - - For example: key=value. - - - - - other - - Object.ToString() - - - - - - - - Render the array argument into a string - - The map used to lookup renderers - the array to render - The writer to render to - - - For a one dimensional array this is the - array type name, an open brace, followed by a comma - separated list of the elements (using the appropriate - renderer), followed by a close brace. For example: - int[] {1, 2, 3}. - - - If the array is not one dimensional the - Array.ToString() is returned. - - - - - - Render the enumerator argument into a string - - The map used to lookup renderers - the enumerator to render - The writer to render to - - - Rendered as an open brace, followed by a comma - separated list of the elements (using the appropriate - renderer), followed by a close brace. For example: - {a, b, c}. - - - - - - Render the DictionaryEntry argument into a string - - The map used to lookup renderers - the DictionaryEntry to render - The writer to render to - - - Render the key, an equals sign ('='), and the value (using the appropriate - renderer). For example: key=value. - - - - - - Map class objects to an . - - - - Maintains a mapping between types that require special - rendering and the that - is used to render them. - - - The method is used to render an - object using the appropriate renderers defined in this map. - - - Nicko Cadell - Gert Driesen - - - - Default Constructor - - - - Default constructor. - - - - - - Render using the appropriate renderer. - - the object to render to a string - the object rendered as a string - - - This is a convenience method used to render an object to a string. - The alternative method - should be used when streaming output to a . - - - - - - Render using the appropriate renderer. - - the object to render to a string - The writer to render to - - - Find the appropriate renderer for the type of the - parameter. This is accomplished by calling the - method. Once a renderer is found, it is - applied on the object and the result is returned - as a . - - - - - - Gets the renderer for the specified object type - - the object to lookup the renderer for - the renderer for - - - Gets the renderer for the specified object type. - - - Syntactic sugar method that calls - with the type of the object parameter. - - - - - - Gets the renderer for the specified type - - the type to lookup the renderer for - the renderer for the specified type - - - Returns the renderer for the specified type. - If no specific renderer has been defined the - will be returned. - - - - - - Internal function to recursively search interfaces - - the type to lookup the renderer for - the renderer for the specified type - - - - Clear the map of renderers - - - - Clear the custom renderers defined by using - . The - cannot be removed. - - - - - - Register an for . - - the type that will be rendered by - the renderer for - - - Register an object renderer for a specific source type. - This renderer will be returned from a call to - specifying the same as an argument. - - - - - - Get the default renderer instance - - the default renderer - - - Get the default renderer - - - - - - Interface implemented by logger repository plugins. - - - - Plugins define additional behavior that can be associated - with a . - The held by the - property is used to store the plugins for a repository. - - - The log4net.Config.PluginAttribute can be used to - attach plugins to repositories created using configuration - attributes. - - - Nicko Cadell - Gert Driesen - - - - Attaches the plugin to the specified . - - The that this plugin should be attached to. - - - A plugin may only be attached to a single repository. - - - This method is called when the plugin is attached to the repository. - - - - - - Is called when the plugin is to shutdown. - - - - This method is called to notify the plugin that - it should stop operating and should detach from - the repository. - - - - - - Gets the name of the plugin. - - - The name of the plugin. - - - - Plugins are stored in the - keyed by name. Each plugin instance attached to a - repository must be a unique name. - - - - - - A strongly-typed collection of objects. - - Nicko Cadell - - - - Creates a read-only wrapper for a PluginCollection instance. - - list to create a readonly wrapper arround - - A PluginCollection wrapper that is read-only. - - - - - Initializes a new instance of the PluginCollection class - that is empty and has the default initial capacity. - - - - - Initializes a new instance of the PluginCollection class - that has the specified initial capacity. - - - The number of elements that the new PluginCollection is initially capable of storing. - - - - - Initializes a new instance of the PluginCollection class - that contains elements copied from the specified PluginCollection. - - The PluginCollection whose elements are copied to the new collection. - - - - Initializes a new instance of the PluginCollection class - that contains elements copied from the specified array. - - The array whose elements are copied to the new list. - - - - Initializes a new instance of the PluginCollection class - that contains elements copied from the specified collection. - - The collection whose elements are copied to the new list. - - - - Allow subclasses to avoid our default constructors - - - - - - - Copies the entire PluginCollection to a one-dimensional - array. - - The one-dimensional array to copy to. - - - - Copies the entire PluginCollection to a one-dimensional - array, starting at the specified index of the target array. - - The one-dimensional array to copy to. - The zero-based index in at which copying begins. - - - - Adds a to the end of the PluginCollection. - - The to be added to the end of the PluginCollection. - The index at which the value has been added. - - - - Removes all elements from the PluginCollection. - - - - - Creates a shallow copy of the . - - A new with a shallow copy of the collection data. - - - - Determines whether a given is in the PluginCollection. - - The to check for. - true if is found in the PluginCollection; otherwise, false. - - - - Returns the zero-based index of the first occurrence of a - in the PluginCollection. - - The to locate in the PluginCollection. - - The zero-based index of the first occurrence of - in the entire PluginCollection, if found; otherwise, -1. - - - - - Inserts an element into the PluginCollection at the specified index. - - The zero-based index at which should be inserted. - The to insert. - - is less than zero - -or- - is equal to or greater than . - - - - - Removes the first occurrence of a specific from the PluginCollection. - - The to remove from the PluginCollection. - - The specified was not found in the PluginCollection. - - - - - Removes the element at the specified index of the PluginCollection. - - The zero-based index of the element to remove. - - is less than zero. - -or- - is equal to or greater than . - - - - - Returns an enumerator that can iterate through the PluginCollection. - - An for the entire PluginCollection. - - - - Adds the elements of another PluginCollection to the current PluginCollection. - - The PluginCollection whose elements should be added to the end of the current PluginCollection. - The new of the PluginCollection. - - - - Adds the elements of a array to the current PluginCollection. - - The array whose elements should be added to the end of the PluginCollection. - The new of the PluginCollection. - - - - Adds the elements of a collection to the current PluginCollection. - - The collection whose elements should be added to the end of the PluginCollection. - The new of the PluginCollection. - - - - Sets the capacity to the actual number of elements. - - - - - is less than zero. - -or- - is equal to or greater than . - - - - - is less than zero. - -or- - is equal to or greater than . - - - - - Gets the number of elements actually contained in the PluginCollection. - - - - - Gets a value indicating whether access to the collection is synchronized (thread-safe). - - true if access to the ICollection is synchronized (thread-safe); otherwise, false. - - - - Gets an object that can be used to synchronize access to the collection. - - - An object that can be used to synchronize access to the collection. - - - - - Gets or sets the at the specified index. - - - The at the specified index. - - The zero-based index of the element to get or set. - - is less than zero. - -or- - is equal to or greater than . - - - - - Gets a value indicating whether the collection has a fixed size. - - true if the collection has a fixed size; otherwise, false. The default is false. - - - - Gets a value indicating whether the IList is read-only. - - true if the collection is read-only; otherwise, false. The default is false. - - - - Gets or sets the number of elements the PluginCollection can contain. - - - The number of elements the PluginCollection can contain. - - - - - Supports type-safe iteration over a . - - - - - - Advances the enumerator to the next element in the collection. - - - true if the enumerator was successfully advanced to the next element; - false if the enumerator has passed the end of the collection. - - - The collection was modified after the enumerator was created. - - - - - Sets the enumerator to its initial position, before the first element in the collection. - - - - - Gets the current element in the collection. - - - - - Type visible only to our subclasses - Used to access protected constructor - - - - - - A value - - - - - Supports simple iteration over a . - - - - - - Initializes a new instance of the Enumerator class. - - - - - - Advances the enumerator to the next element in the collection. - - - true if the enumerator was successfully advanced to the next element; - false if the enumerator has passed the end of the collection. - - - The collection was modified after the enumerator was created. - - - - - Sets the enumerator to its initial position, before the first element in the collection. - - - - - Gets the current element in the collection. - - - The current element in the collection. - - - - - - - - Map of repository plugins. - - - - This class is a name keyed map of the plugins that are - attached to a repository. - - - Nicko Cadell - Gert Driesen - - - - Constructor - - The repository that the plugins should be attached to. - - - Initialize a new instance of the class with a - repository that the plugins should be attached to. - - - - - - Adds a to the map. - - The to add to the map. - - - The will be attached to the repository when added. - - - If there already exists a plugin with the same name - attached to the repository then the old plugin will - be and replaced with - the new plugin. - - - - - - Removes a from the map. - - The to remove from the map. - - - Remove a specific plugin from this map. - - - - - - Gets a by name. - - The name of the to lookup. - - The from the map with the name specified, or - null if no plugin is found. - - - - Lookup a plugin by name. If the plugin is not found null - will be returned. - - - - - - Gets all possible plugins as a list of objects. - - All possible plugins as a list of objects. - - - Get a collection of all the plugins defined in this map. - - - - - - Base implementation of - - - - Default abstract implementation of the - interface. This base class can be used by implementors - of the interface. - - - Nicko Cadell - Gert Driesen - - - - Constructor - - the name of the plugin - - Initializes a new Plugin with the specified name. - - - - - Attaches this plugin to a . - - The that this plugin should be attached to. - - - A plugin may only be attached to a single repository. - - - This method is called when the plugin is attached to the repository. - - - - - - Is called when the plugin is to shutdown. - - - - This method is called to notify the plugin that - it should stop operating and should detach from - the repository. - - - - - - The name of this plugin. - - - - - The repository this plugin is attached to. - - - - - Gets or sets the name of the plugin. - - - The name of the plugin. - - - - Plugins are stored in the - keyed by name. Each plugin instance attached to a - repository must be a unique name. - - - The name of the plugin must not change one the - plugin has been attached to a repository. - - - - - - The repository for this plugin - - - The that this plugin is attached to. - - - - Gets or sets the that this plugin is - attached to. - - - - - - Plugin that listens for events from the - - - - This plugin publishes an instance of - on a specified . This listens for logging events delivered from - a remote . - - - When an event is received it is relogged within the attached repository - as if it had been raised locally. - - - Nicko Cadell - Gert Driesen - - - - Default constructor - - - - Initializes a new instance of the class. - - - The property must be set. - - - - - - Construct with sink Uri. - - The name to publish the sink under in the remoting infrastructure. - See for more details. - - - Initializes a new instance of the class - with specified name. - - - - - - Attaches this plugin to a . - - The that this plugin should be attached to. - - - A plugin may only be attached to a single repository. - - - This method is called when the plugin is attached to the repository. - - - - - - Is called when the plugin is to shutdown. - - - - When the plugin is shutdown the remote logging - sink is disconnected. - - - - - - Gets or sets the URI of this sink. - - - The URI of this sink. - - - - This is the name under which the object is marshaled. - - - - - - - Delivers objects to a remote sink. - - - - Internal class used to listen for logging events - and deliver them to the local repository. - - - - - - Constructor - - The repository to log to. - - - Initializes a new instance of the for the - specified . - - - - - - Logs the events to the repository. - - The events to log. - - - The events passed are logged to the - - - - - - Obtains a lifetime service object to control the lifetime - policy for this instance. - - null to indicate that this instance should live forever. - - - Obtains a lifetime service object to control the lifetime - policy for this instance. This object should live forever - therefore this implementation returns null. - - - - - - The underlying that events should - be logged to. - - - - - Default implementation of - - - - This default implementation of the - interface is used to create the default subclass - of the object. - - - Nicko Cadell - Gert Driesen - - - - Interface abstracts creation of instances - - - - This interface is used by the to - create new objects. - - - The method is called - to create a named . - - - Implement this interface to create new subclasses of . - - - Nicko Cadell - Gert Driesen - - - - Create a new instance - - The name of the . - The instance for the specified name. - - - Create a new instance with the - specified name. - - - Called by the to create - new named instances. - - - If the is null then the root logger - must be returned. - - - - - - Default constructor - - - - Initializes a new instance of the class. - - - - - - Create a new instance - - The name of the . - The instance for the specified name. - - - Create a new instance with the - specified name. - - - Called by the to create - new named instances. - - - If the is null then the root logger - must be returned. - - - - - - Default internal subclass of - - - - This subclass has no additional behavior over the - class but does allow instances - to be created. - - - - - - Implementation of used by - - - - Internal class used to provide implementation of - interface. Applications should use to get - logger instances. - - - This is one of the central classes in the log4net implementation. One of the - distinctive features of log4net are hierarchical loggers and their - evaluation. The organizes the - instances into a rooted tree hierarchy. - - - The class is abstract. Only concrete subclasses of - can be created. The - is used to create instances of this type for the . - - - Nicko Cadell - Gert Driesen - Aspi Havewala - Douglas de la Torre - - - - This constructor created a new instance and - sets its name. - - The name of the . - - - This constructor is protected and designed to be used by - a subclass that is not abstract. - - - Loggers are constructed by - objects. See for the default - logger creator. - - - - - - Add to the list of appenders of this - Logger instance. - - An appender to add to this logger - - - Add to the list of appenders of this - Logger instance. - - - If is already in the list of - appenders, then it won't be added again. - - - - - - Look for the appender named as name - - The name of the appender to lookup - The appender with the name specified, or null. - - - Returns the named appender, or null if the appender is not found. - - - - - - Remove all previously added appenders from this Logger instance. - - - - Remove all previously added appenders from this Logger instance. - - - This is useful when re-reading configuration information. - - - - - - Remove the appender passed as parameter form the list of appenders. - - The appender to remove - The appender removed from the list - - - Remove the appender passed as parameter form the list of appenders. - The appender removed is not closed. - If you are discarding the appender you must call - on the appender removed. - - - - - - Remove the appender passed as parameter form the list of appenders. - - The name of the appender to remove - The appender removed from the list - - - Remove the named appender passed as parameter form the list of appenders. - The appender removed is not closed. - If you are discarding the appender you must call - on the appender removed. - - - - - - This generic form is intended to be used by wrappers. - - The declaring type of the method that is - the stack boundary into the logging system for this call. - The level of the message to be logged. - The message object to log. - The exception to log, including its stack trace. - - - Generate a logging event for the specified using - the and . - - - This method must not throw any exception to the caller. - - - - - - This is the most generic printing method that is intended to be used - by wrappers. - - The event being logged. - - - Logs the specified logging event through this logger. - - - This method must not throw any exception to the caller. - - - - - - Checks if this logger is enabled for a given passed as parameter. - - The level to check. - - true if this logger is enabled for level, otherwise false. - - - - Test if this logger is going to log events of the specified . - - - This method must not throw any exception to the caller. - - - - - - Deliver the to the attached appenders. - - The event to log. - - - Call the appenders in the hierarchy starting at - this. If no appenders could be found, emit a - warning. - - - This method calls all the appenders inherited from the - hierarchy circumventing any evaluation of whether to log or not - to log the particular log request. - - - - - - Closes all attached appenders implementing the interface. - - - - Used to ensure that the appenders are correctly shutdown. - - - - - - This is the most generic printing method. This generic form is intended to be used by wrappers - - The level of the message to be logged. - The message object to log. - The exception to log, including its stack trace. - - - Generate a logging event for the specified using - the . - - - - - - Creates a new logging event and logs the event without further checks. - - The declaring type of the method that is - the stack boundary into the logging system for this call. - The level of the message to be logged. - The message object to log. - The exception to log, including its stack trace. - - - Generates a logging event and delivers it to the attached - appenders. - - - - - - Creates a new logging event and logs the event without further checks. - - The event being logged. - - - Delivers the logging event to the attached appenders. - - - - - - The fully qualified type of the Logger class. - - - - - The name of this logger. - - - - - The assigned level of this logger. - - - - The level variable need not be - assigned a value in which case it is inherited - form the hierarchy. - - - - - - The parent of this logger. - - - - The parent of this logger. - All loggers have at least one ancestor which is the root logger. - - - - - - Loggers need to know what Hierarchy they are in. - - - - Loggers need to know what Hierarchy they are in. - The hierarchy that this logger is a member of is stored - here. - - - - - - Helper implementation of the interface - - - - - Flag indicating if child loggers inherit their parents appenders - - - - Additivity is set to true by default, that is children inherit - the appenders of their ancestors by default. If this variable is - set to false then the appenders found in the - ancestors of this logger are not used. However, the children - of this logger will inherit its appenders, unless the children - have their additivity flag set to false too. See - the user manual for more details. - - - - - - Lock to protect AppenderAttachedImpl variable m_appenderAttachedImpl - - - - - Gets or sets the parent logger in the hierarchy. - - - The parent logger in the hierarchy. - - - - Part of the Composite pattern that makes the hierarchy. - The hierarchy is parent linked rather than child linked. - - - - - - Gets or sets a value indicating if child loggers inherit their parent's appenders. - - - true if child loggers inherit their parent's appenders. - - - - Additivity is set to true by default, that is children inherit - the appenders of their ancestors by default. If this variable is - set to false then the appenders found in the - ancestors of this logger are not used. However, the children - of this logger will inherit its appenders, unless the children - have their additivity flag set to false too. See - the user manual for more details. - - - - - - Gets the effective level for this logger. - - The nearest level in the logger hierarchy. - - - Starting from this logger, searches the logger hierarchy for a - non-null level and returns it. Otherwise, returns the level of the - root logger. - - The Logger class is designed so that this method executes as - quickly as possible. - - - - - Gets or sets the where this - Logger instance is attached to. - - The hierarchy that this logger belongs to. - - - This logger must be attached to a single . - - - - - - Gets or sets the assigned , if any, for this Logger. - - - The of this logger. - - - - The assigned can be null. - - - - - - Get the appenders contained in this logger as an - . - - A collection of the appenders in this logger - - - Get the appenders contained in this logger as an - . If no appenders - can be found, then a is returned. - - - - - - Gets the logger name. - - - The name of the logger. - - - - The name of this logger - - - - - - Gets the where this - Logger instance is attached to. - - - The that this logger belongs to. - - - - Gets the where this - Logger instance is attached to. - - - - - - Construct a new Logger - - the name of the logger - - - Initializes a new instance of the class - with the specified name. - - - - - - Delegate used to handle logger creation event notifications. - - The in which the has been created. - The event args that hold the instance that has been created. - - - Delegate used to handle logger creation event notifications. - - - - - - Provides data for the event. - - - - A event is raised every time a - is created. - - - - - - The created - - - - - Constructor - - The that has been created. - - - Initializes a new instance of the event argument - class,with the specified . - - - - - - Gets the that has been created. - - - The that has been created. - - - - The that has been created. - - - - - - Hierarchical organization of loggers - - - - The casual user should not have to deal with this class - directly. - - - This class is specialized in retrieving loggers by name and - also maintaining the logger hierarchy. Implements the - interface. - - - The structure of the logger hierarchy is maintained by the - method. The hierarchy is such that children - link to their parent but parents do not have any references to their - children. Moreover, loggers can be instantiated in any order, in - particular descendant before ancestor. - - - In case a descendant is created before a particular ancestor, - then it creates a provision node for the ancestor and adds itself - to the provision node. Other descendants of the same ancestor add - themselves to the previously created provision node. - - - Nicko Cadell - Gert Driesen - - - - Base implementation of - - - - Default abstract implementation of the interface. - - - Skeleton implementation of the interface. - All types can extend this type. - - - Nicko Cadell - Gert Driesen - - - - Interface implemented by logger repositories. - - - - This interface is implemented by logger repositories. e.g. - . - - - This interface is used by the - to obtain interfaces. - - - Nicko Cadell - Gert Driesen - - - - Check if the named logger exists in the repository. If so return - its reference, otherwise returns null. - - The name of the logger to lookup - The Logger object with the name specified - - - If the names logger exists it is returned, otherwise - null is returned. - - - - - - Returns all the currently defined loggers as an Array. - - All the defined loggers - - - Returns all the currently defined loggers as an Array. - - - - - - Returns a named logger instance - - The name of the logger to retrieve - The logger object with the name specified - - - Returns a named logger instance. - - - If a logger of that name already exists, then it will be - returned. Otherwise, a new logger will be instantiated and - then linked with its existing ancestors as well as children. - - - - - Shutdown the repository - - - Shutting down a repository will safely close and remove - all appenders in all loggers including the root logger. - - - Some appenders need to be closed before the - application exists. Otherwise, pending logging events might be - lost. - - - The method is careful to close nested - appenders before closing regular appenders. This is allows - configurations where a regular appender is attached to a logger - and again to a nested appender. - - - - - - Reset the repositories configuration to a default state - - - - Reset all values contained in this instance to their - default state. - - - Existing loggers are not removed. They are just reset. - - - This method should be used sparingly and with care as it will - block all logging until it is completed. - - - - - - Log the through this repository. - - the event to log - - - This method should not normally be used to log. - The interface should be used - for routine logging. This interface can be obtained - using the method. - - - The logEvent is delivered to the appropriate logger and - that logger is then responsible for logging the event. - - - - - - Returns all the Appenders that are configured as an Array. - - All the Appenders - - - Returns all the Appenders that are configured as an Array. - - - - - - The name of the repository - - - The name of the repository - - - - The name of the repository. - - - - - - RendererMap accesses the object renderer map for this repository. - - - RendererMap accesses the object renderer map for this repository. - - - - RendererMap accesses the object renderer map for this repository. - - - The RendererMap holds a mapping between types and - objects. - - - - - - The plugin map for this repository. - - - The plugin map for this repository. - - - - The plugin map holds the instances - that have been attached to this repository. - - - - - - Get the level map for the Repository. - - - - Get the level map for the Repository. - - - The level map defines the mappings between - level names and objects in - this repository. - - - - - - The threshold for all events in this repository - - - The threshold for all events in this repository - - - - The threshold for all events in this repository. - - - - - - Flag indicates if this repository has been configured. - - - Flag indicates if this repository has been configured. - - - - Flag indicates if this repository has been configured. - - - - - - Event to notify that the repository has been shutdown. - - - Event to notify that the repository has been shutdown. - - - - Event raised when the repository has been shutdown. - - - - - - Event to notify that the repository has had its configuration reset. - - - Event to notify that the repository has had its configuration reset. - - - - Event raised when the repository's configuration has been - reset to default. - - - - - - Event to notify that the repository has had its configuration changed. - - - Event to notify that the repository has had its configuration changed. - - - - Event raised when the repository's configuration has been changed. - - - - - - Repository specific properties - - - Repository specific properties - - - - These properties can be specified on a repository specific basis. - - - - - - Default Constructor - - - - Initializes the repository with default (empty) properties. - - - - - - Construct the repository using specific properties - - the properties to set for this repository - - - Initializes the repository with specified properties. - - - - - - Test if logger exists - - The name of the logger to lookup - The Logger object with the name specified - - - Check if the named logger exists in the repository. If so return - its reference, otherwise returns null. - - - - - - Returns all the currently defined loggers in the repository - - All the defined loggers - - - Returns all the currently defined loggers in the repository as an Array. - - - - - - Return a new logger instance - - The name of the logger to retrieve - The logger object with the name specified - - - Return a new logger instance. - - - If a logger of that name already exists, then it will be - returned. Otherwise, a new logger will be instantiated and - then linked with its existing ancestors as well as children. - - - - - - Shutdown the repository - - - - Shutdown the repository. Can be overridden in a subclass. - This base class implementation notifies the - listeners and all attached plugins of the shutdown event. - - - - - - Reset the repositories configuration to a default state - - - - Reset all values contained in this instance to their - default state. - - - Existing loggers are not removed. They are just reset. - - - This method should be used sparingly and with care as it will - block all logging until it is completed. - - - - - - Log the logEvent through this repository. - - the event to log - - - This method should not normally be used to log. - The interface should be used - for routine logging. This interface can be obtained - using the method. - - - The logEvent is delivered to the appropriate logger and - that logger is then responsible for logging the event. - - - - - - Returns all the Appenders that are configured as an Array. - - All the Appenders - - - Returns all the Appenders that are configured as an Array. - - - - - - Adds an object renderer for a specific class. - - The type that will be rendered by the renderer supplied. - The object renderer used to render the object. - - - Adds an object renderer for a specific class. - - - - - - Notify the registered listeners that the repository is shutting down - - Empty EventArgs - - - Notify any listeners that this repository is shutting down. - - - - - - Notify the registered listeners that the repository has had its configuration reset - - Empty EventArgs - - - Notify any listeners that this repository's configuration has been reset. - - - - - - Notify the registered listeners that the repository has had its configuration changed - - Empty EventArgs - - - Notify any listeners that this repository's configuration has changed. - - - - - - Raise a configuration changed event on this repository - - EventArgs.Empty - - - Applications that programmatically change the configuration of the repository should - raise this event notification to notify listeners. - - - - - - The name of the repository - - - The string name of the repository - - - - The name of this repository. The name is - used to store and lookup the repositories - stored by the . - - - - - - The threshold for all events in this repository - - - The threshold for all events in this repository - - - - The threshold for all events in this repository - - - - - - RendererMap accesses the object renderer map for this repository. - - - RendererMap accesses the object renderer map for this repository. - - - - RendererMap accesses the object renderer map for this repository. - - - The RendererMap holds a mapping between types and - objects. - - - - - - The plugin map for this repository. - - - The plugin map for this repository. - - - - The plugin map holds the instances - that have been attached to this repository. - - - - - - Get the level map for the Repository. - - - - Get the level map for the Repository. - - - The level map defines the mappings between - level names and objects in - this repository. - - - - - - Flag indicates if this repository has been configured. - - - Flag indicates if this repository has been configured. - - - - Flag indicates if this repository has been configured. - - - - - - Event to notify that the repository has been shutdown. - - - Event to notify that the repository has been shutdown. - - - - Event raised when the repository has been shutdown. - - - - - - Event to notify that the repository has had its configuration reset. - - - Event to notify that the repository has had its configuration reset. - - - - Event raised when the repository's configuration has been - reset to default. - - - - - - Event to notify that the repository has had its configuration changed. - - - Event to notify that the repository has had its configuration changed. - - - - Event raised when the repository's configuration has been changed. - - - - - - Repository specific properties - - - Repository specific properties - - - These properties can be specified on a repository specific basis - - - - - Basic Configurator interface for repositories - - - - Interface used by basic configurator to configure a - with a default . - - - A should implement this interface to support - configuration by the . - - - Nicko Cadell - Gert Driesen - - - - Initialize the repository using the specified appender - - the appender to use to log all logging events - - - Configure the repository to route all logging events to the - specified appender. - - - - - - Configure repository using XML - - - - Interface used by Xml configurator to configure a . - - - A should implement this interface to support - configuration by the . - - - Nicko Cadell - Gert Driesen - - - - Initialize the repository using the specified config - - the element containing the root of the config - - - The schema for the XML configuration data is defined by - the implementation. - - - - - - Default constructor - - - - Initializes a new instance of the class. - - - - - - Construct with properties - - The properties to pass to this repository. - - - Initializes a new instance of the class. - - - - - - Construct with a logger factory - - The factory to use to create new logger instances. - - - Initializes a new instance of the class with - the specified . - - - - - - Construct with properties and a logger factory - - The properties to pass to this repository. - The factory to use to create new logger instances. - - - Initializes a new instance of the class with - the specified . - - - - - - Test if a logger exists - - The name of the logger to lookup - The Logger object with the name specified - - - Check if the named logger exists in the hierarchy. If so return - its reference, otherwise returns null. - - - - - - Returns all the currently defined loggers in the hierarchy as an Array - - All the defined loggers - - - Returns all the currently defined loggers in the hierarchy as an Array. - The root logger is not included in the returned - enumeration. - - - - - - Return a new logger instance named as the first parameter using - the default factory. - - - - Return a new logger instance named as the first parameter using - the default factory. - - - If a logger of that name already exists, then it will be - returned. Otherwise, a new logger will be instantiated and - then linked with its existing ancestors as well as children. - - - The name of the logger to retrieve - The logger object with the name specified - - - - Shutting down a hierarchy will safely close and remove - all appenders in all loggers including the root logger. - - - - Shutting down a hierarchy will safely close and remove - all appenders in all loggers including the root logger. - - - Some appenders need to be closed before the - application exists. Otherwise, pending logging events might be - lost. - - - The Shutdown method is careful to close nested - appenders before closing regular appenders. This is allows - configurations where a regular appender is attached to a logger - and again to a nested appender. - - - - - - Reset all values contained in this hierarchy instance to their default. - - - - Reset all values contained in this hierarchy instance to their - default. This removes all appenders from all loggers, sets - the level of all non-root loggers to null, - sets their additivity flag to true and sets the level - of the root logger to . Moreover, - message disabling is set its default "off" value. - - - Existing loggers are not removed. They are just reset. - - - This method should be used sparingly and with care as it will - block all logging until it is completed. - - - - - - Log the logEvent through this hierarchy. - - the event to log - - - This method should not normally be used to log. - The interface should be used - for routine logging. This interface can be obtained - using the method. - - - The logEvent is delivered to the appropriate logger and - that logger is then responsible for logging the event. - - - - - - Returns all the Appenders that are currently configured - - An array containing all the currently configured appenders - - - Returns all the instances that are currently configured. - All the loggers are searched for appenders. The appenders may also be containers - for appenders and these are also searched for additional loggers. - - - The list returned is unordered but does not contain duplicates. - - - - - - Collect the appenders from an . - The appender may also be a container. - - - - - - - Collect the appenders from an container - - - - - - - Initialize the log4net system using the specified appender - - the appender to use to log all logging events - - - - Initialize the log4net system using the specified appender - - the appender to use to log all logging events - - - This method provides the same functionality as the - method implemented - on this object, but it is protected and therefore can be called by subclasses. - - - - - - Initialize the log4net system using the specified config - - the element containing the root of the config - - - - Initialize the log4net system using the specified config - - the element containing the root of the config - - - This method provides the same functionality as the - method implemented - on this object, but it is protected and therefore can be called by subclasses. - - - - - - Test if this hierarchy is disabled for the specified . - - The level to check against. - - true if the repository is disabled for the level argument, false otherwise. - - - - If this hierarchy has not been configured then this method will - always return true. - - - This method will return true if this repository is - disabled for level object passed as parameter and - false otherwise. - - - See also the property. - - - - - - Clear all logger definitions from the internal hashtable - - - - This call will clear all logger definitions from the internal - hashtable. Invoking this method will irrevocably mess up the - logger hierarchy. - - - You should really know what you are doing before - invoking this method. - - - - - - Return a new logger instance named as the first parameter using - . - - The name of the logger to retrieve - The factory that will make the new logger instance - The logger object with the name specified - - - If a logger of that name already exists, then it will be - returned. Otherwise, a new logger will be instantiated by the - parameter and linked with its existing - ancestors as well as children. - - - - - - Sends a logger creation event to all registered listeners - - The newly created logger - - Raises the logger creation event. - - - - - Updates all the parents of the specified logger - - The logger to update the parents for - - - This method loops through all the potential parents of - . There 3 possible cases: - - - - No entry for the potential parent of exists - - We create a ProvisionNode for this potential - parent and insert in that provision node. - - - - The entry is of type Logger for the potential parent. - - The entry is 's nearest existing parent. We - update 's parent field with this entry. We also break from - he loop because updating our parent's parent is our parent's - responsibility. - - - - The entry is of type ProvisionNode for this potential parent. - - We add to the list of children for this - potential parent. - - - - - - - - Replace a with a in the hierarchy. - - - - - - We update the links for all the children that placed themselves - in the provision node 'pn'. The second argument 'log' is a - reference for the newly created Logger, parent of all the - children in 'pn'. - - - We loop on all the children 'c' in 'pn'. - - - If the child 'c' has been already linked to a child of - 'log' then there is no need to update 'c'. - - - Otherwise, we set log's parent field to c's parent and set - c's parent field to log. - - - - - - Define or redefine a Level using the values in the argument - - the level values - - - Define or redefine a Level using the values in the argument - - - Supports setting levels via the configuration file. - - - - - - Set a Property using the values in the argument - - the property value - - - Set a Property using the values in the argument. - - - Supports setting property values via the configuration file. - - - - - - Event used to notify that a logger has been created. - - - - Event raised when a logger is created. - - - - - - Has no appender warning been emitted - - - - Flag to indicate if we have already issued a warning - about not having an appender warning. - - - - - - Get the root of this hierarchy - - - - Get the root of this hierarchy. - - - - - - Gets or sets the default instance. - - The default - - - The logger factory is used to create logger instances. - - - - - - A class to hold the value, name and display name for a level - - - - A class to hold the value, name and display name for a level - - - - - - Override Object.ToString to return sensible debug info - - string info about this object - - - - Value of the level - - - - If the value is not set (defaults to -1) the value will be looked - up for the current level with the same name. - - - - - - Name of the level - - - The name of the level - - - - The name of the level. - - - - - - Display name for the level - - - The display name of the level - - - - The display name of the level. - - - - - - A class to hold the key and data for a property set in the config file - - - - A class to hold the key and data for a property set in the config file - - - - - - Override Object.ToString to return sensible debug info - - string info about this object - - - - Property Key - - - Property Key - - - - Property Key. - - - - - - Property Value - - - Property Value - - - - Property Value. - - - - - - Used internally to accelerate hash table searches. - - - - Internal class used to improve performance of - string keyed hashtables. - - - The hashcode of the string is cached for reuse. - The string is stored as an interned value. - When comparing two objects for equality - the reference equality of the interned strings is compared. - - - Nicko Cadell - Gert Driesen - - - - Construct key with string name - - - - Initializes a new instance of the class - with the specified name. - - - Stores the hashcode of the string and interns - the string key to optimize comparisons. - - - The Compact Framework 1.0 the - method does not work. On the Compact Framework - the string keys are not interned nor are they - compared by reference. - - - The name of the logger. - - - - Returns a hash code for the current instance. - - A hash code for the current instance. - - - Returns the cached hashcode. - - - - - - Determines whether two instances - are equal. - - The to compare with the current . - - true if the specified is equal to the current ; otherwise, false. - - - - Compares the references of the interned strings. - - - - - - Provision nodes are used where no logger instance has been specified - - - - instances are used in the - when there is no specified - for that node. - - - A provision node holds a list of child loggers on behalf of - a logger that does not exist. - - - Nicko Cadell - Gert Driesen - - - - Create a new provision node with child node - - A child logger to add to this node. - - - Initializes a new instance of the class - with the specified child logger. - - - - - - The sits at the root of the logger hierarchy tree. - - - - The is a regular except - that it provides several guarantees. - - - First, it cannot be assigned a null - level. Second, since the root logger cannot have a parent, the - property always returns the value of the - level field without walking the hierarchy. - - - Nicko Cadell - Gert Driesen - - - - Construct a - - The level to assign to the root logger. - - - Initializes a new instance of the class with - the specified logging level. - - - The root logger names itself as "root". However, the root - logger cannot be retrieved by name. - - - - - - Gets the assigned level value without walking the logger hierarchy. - - The assigned level value without walking the logger hierarchy. - - - Because the root logger cannot have a parent and its level - must not be null this property just returns the - value of . - - - - - - Gets or sets the assigned for the root logger. - - - The of the root logger. - - - - Setting the level of the root logger to a null reference - may have catastrophic results. We prevent this here. - - - - - - Initializes the log4net environment using an XML DOM. - - - - Configures a using an XML DOM. - - - Nicko Cadell - Gert Driesen - - - - Construct the configurator for a hierarchy - - The hierarchy to build. - - - Initializes a new instance of the class - with the specified . - - - - - - Configure the hierarchy by parsing a DOM tree of XML elements. - - The root element to parse. - - - Configure the hierarchy by parsing a DOM tree of XML elements. - - - - - - Parse appenders by IDREF. - - The appender ref element. - The instance of the appender that the ref refers to. - - - Parse an XML element that represents an appender and return - the appender. - - - - - - Parses an appender element. - - The appender element. - The appender instance or null when parsing failed. - - - Parse an XML element that represents an appender and return - the appender instance. - - - - - - Parses a logger element. - - The logger element. - - - Parse an XML element that represents a logger. - - - - - - Parses the root logger element. - - The root element. - - - Parse an XML element that represents the root logger. - - - - - - Parses the children of a logger element. - - The category element. - The logger instance. - Flag to indicate if the logger is the root logger. - - - Parse the child elements of a <logger> element. - - - - - - Parses an object renderer. - - The renderer element. - - - Parse an XML element that represents a renderer. - - - - - - Parses a level element. - - The level element. - The logger object to set the level on. - Flag to indicate if the logger is the root logger. - - - Parse an XML element that represents a level. - - - - - - Sets a parameter on an object. - - The parameter element. - The object to set the parameter on. - - The parameter name must correspond to a writable property - on the object. The value of the parameter is a string, - therefore this function will attempt to set a string - property first. If unable to set a string property it - will inspect the property and its argument type. It will - attempt to call a static method called Parse on the - type of the property. This method will take a single - string argument and return a value that can be used to - set the property. - - - - - Test if an element has no attributes or child elements - - the element to inspect - true if the element has any attributes or child elements, false otherwise - - - - Test if a is constructible with Activator.CreateInstance. - - the type to inspect - true if the type is creatable using a default constructor, false otherwise - - - - Look for a method on the that matches the supplied - - the type that has the method - the name of the method - the method info found - - - The method must be a public instance method on the . - The method must be named or "Add" followed by . - The method must take a single parameter. - - - - - - Converts a string value to a target type. - - The type of object to convert the string to. - The string value to use as the value of the object. - - - An object of type with value or - null when the conversion could not be performed. - - - - - - Creates an object as specified in XML. - - The XML element that contains the definition of the object. - The object type to use if not explicitly specified. - The type that the returned object must be or must inherit from. - The object or null - - - Parse an XML element and create an object instance based on the configuration - data. - - - The type of the instance may be specified in the XML. If not - specified then the is used - as the type. However the type is specified it must support the - type. - - - - - - key: appenderName, value: appender. - - - - - The Hierarchy being configured. - - - - - Delegate used to handle logger repository shutdown event notifications - - The that is shutting down. - Empty event args - - - Delegate used to handle logger repository shutdown event notifications. - - - - - - Delegate used to handle logger repository configuration reset event notifications - - The that has had its configuration reset. - Empty event args - - - Delegate used to handle logger repository configuration reset event notifications. - - - - - - Delegate used to handle event notifications for logger repository configuration changes. - - The that has had its configuration changed. - Empty event arguments. - - - Delegate used to handle event notifications for logger repository configuration changes. - - - - - - Write the name of the current AppDomain to the output - - - - Write the name of the current AppDomain to the output writer - - - Nicko Cadell - - - - Write the name of the current AppDomain to the output - - the writer to write to - null, state is not set - - - Writes name of the current AppDomain to the output . - - - - - - Write the current date to the output - - - - Date pattern converter, uses a to format - the current date and time to the writer as a string. - - - The value of the determines - the formatting of the date. The following values are allowed: - - - Option value - Output - - - ISO8601 - - Uses the formatter. - Formats using the "yyyy-MM-dd HH:mm:ss,fff" pattern. - - - - DATE - - Uses the formatter. - Formats using the "dd MMM yyyy HH:mm:ss,fff" for example, "06 Nov 1994 15:49:37,459". - - - - ABSOLUTE - - Uses the formatter. - Formats using the "HH:mm:ss,fff" for example, "15:49:37,459". - - - - other - - Any other pattern string uses the formatter. - This formatter passes the pattern string to the - method. - For details on valid patterns see - DateTimeFormatInfo Class. - - - - - - The date and time is in the local time zone and is rendered in that zone. - To output the time in Universal time see . - - - Nicko Cadell - - - - The used to render the date to a string - - - - The used to render the date to a string - - - - - - Initialize the converter options - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - - - - Write the current date to the output - - that will receive the formatted result. - null, state is not set - - - Pass the current date and time to the - for it to render it to the writer. - - - The date and time passed is in the local time zone. - - - - - - Write an environment variable to the output - - - - Write an environment variable to the output writer. - The value of the determines - the name of the variable to output. - - - Nicko Cadell - - - - Write an environment variable to the output - - the writer to write to - null, state is not set - - - Writes the environment variable to the output . - The name of the environment variable to output must be set - using the - property. - - - - - - Write the current thread identity to the output - - - - Write the current thread identity to the output writer - - - Nicko Cadell - - - - Write the current thread identity to the output - - the writer to write to - null, state is not set - - - Writes the current thread identity to the output . - - - - - - Pattern converter for literal string instances in the pattern - - - - Writes the literal string value specified in the - property to - the output. - - - Nicko Cadell - - - - Set the next converter in the chain - - The next pattern converter in the chain - The next pattern converter - - - Special case the building of the pattern converter chain - for instances. Two adjacent - literals in the pattern can be represented by a single combined - pattern converter. This implementation detects when a - is added to the chain - after this converter and combines its value with this converter's - literal value. - - - - - - Write the literal to the output - - the writer to write to - null, not set - - - Override the formatting behavior to ignore the FormattingInfo - because we have a literal instead. - - - Writes the value of - to the output . - - - - - - Convert this pattern into the rendered message - - that will receive the formatted result. - null, not set - - - This method is not used. - - - - - - Writes a newline to the output - - - - Writes the system dependent line terminator to the output. - This behavior can be overridden by setting the : - - - - Option Value - Output - - - DOS - DOS or Windows line terminator "\r\n" - - - UNIX - UNIX line terminator "\n" - - - - Nicko Cadell - - - - Initialize the converter - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - - - - Write the current process ID to the output - - - - Write the current process ID to the output writer - - - Nicko Cadell - - - - Write the current process ID to the output - - the writer to write to - null, state is not set - - - Write the current process ID to the output . - - - - - - Property pattern converter - - - - This pattern converter reads the thread and global properties. - The thread properties take priority over global properties. - See for details of the - thread properties. See for - details of the global properties. - - - If the is specified then that will be used to - lookup a single property. If no is specified - then all properties will be dumped as a list of key value pairs. - - - Nicko Cadell - - - - Write the property value to the output - - that will receive the formatted result. - null, state is not set - - - Writes out the value of a named property. The property name - should be set in the - property. - - - If the is set to null - then all the properties are written as key value pairs. - - - - - - A Pattern converter that generates a string of random characters - - - - The converter generates a string of random characters. By default - the string is length 4. This can be changed by setting the - to the string value of the length required. - - - The random characters in the string are limited to uppercase letters - and numbers only. - - - The random number generator used by this class is not cryptographically secure. - - - Nicko Cadell - - - - Shared random number generator - - - - - Length of random string to generate. Default length 4. - - - - - Initialize the converter options - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - - - - Write a randoim string to the output - - the writer to write to - null, state is not set - - - Write a randoim string to the output . - - - - - - Write the current threads username to the output - - - - Write the current threads username to the output writer - - - Nicko Cadell - - - - Write the current threads username to the output - - the writer to write to - null, state is not set - - - Write the current threads username to the output . - - - - - - Write the UTC date time to the output - - - - Date pattern converter, uses a to format - the current date and time in Universal time. - - - See the for details on the date pattern syntax. - - - - Nicko Cadell - - - - Write the current date and time to the output - - that will receive the formatted result. - null, state is not set - - - Pass the current date and time to the - for it to render it to the writer. - - - The date is in Universal time when it is rendered. - - - - - - - Type converter for Boolean. - - - - Supports conversion from string to bool type. - - - - - - Nicko Cadell - Gert Driesen - - - - Can the source type be converted to the type supported by this object - - the type to convert - true if the conversion is possible - - - Returns true if the is - the type. - - - - - - Convert the source object to the type supported by this object - - the object to convert - the converted object - - - Uses the method to convert the - argument to a . - - - - The object cannot be converted to the - target type. To check for this condition use the - method. - - - - - Exception base type for conversion errors. - - - - This type extends . It - does not add any new functionality but does differentiate the - type of exception being thrown. - - - Nicko Cadell - Gert Driesen - - - - Constructor - - - - Initializes a new instance of the class. - - - - - - Constructor - - A message to include with the exception. - - - Initializes a new instance of the class - with the specified message. - - - - - - Constructor - - A message to include with the exception. - A nested exception to include. - - - Initializes a new instance of the class - with the specified message and inner exception. - - - - - - Serialization constructor - - The that holds the serialized object data about the exception being thrown. - The that contains contextual information about the source or destination. - - - Initializes a new instance of the class - with serialized data. - - - - - - Creates a new instance of the class. - - The conversion destination type. - The value to convert. - An instance of the . - - - Creates a new instance of the class. - - - - - - Creates a new instance of the class. - - The conversion destination type. - The value to convert. - A nested exception to include. - An instance of the . - - - Creates a new instance of the class. - - - - - - Register of type converters for specific types. - - - - Maintains a registry of type converters used to convert between - types. - - - Use the and - methods to register new converters. - The and methods - lookup appropriate converters to use. - - - - - Nicko Cadell - Gert Driesen - - - - Private constructor - - - Initializes a new instance of the class. - - - - - Static constructor. - - - - This constructor defines the intrinsic type converters. - - - - - - Adds a converter for a specific type. - - The type being converted to. - The type converter to use to convert to the destination type. - - - Adds a converter instance for a specific type. - - - - - - Adds a converter for a specific type. - - The type being converted to. - The type of the type converter to use to convert to the destination type. - - - Adds a converter for a specific type. - - - - - - Gets the type converter to use to convert values to the destination type. - - The type being converted from. - The type being converted to. - - The type converter instance to use for type conversions or null - if no type converter is found. - - - - Gets the type converter to use to convert values to the destination type. - - - - - - Gets the type converter to use to convert values to the destination type. - - The type being converted to. - - The type converter instance to use for type conversions or null - if no type converter is found. - - - - Gets the type converter to use to convert values to the destination type. - - - - - - Lookups the type converter to use as specified by the attributes on the - destination type. - - The type being converted to. - - The type converter instance to use for type conversions or null - if no type converter is found. - - - - - Creates the instance of the type converter. - - The type of the type converter. - - The type converter instance to use for type conversions or null - if no type converter is found. - - - - The type specified for the type converter must implement - the or interfaces - and must have a public default (no argument) constructor. - - - - - - Mapping from to type converter. - - - - - Supports conversion from string to type. - - - - Supports conversion from string to type. - - - - - - Nicko Cadell - Gert Driesen - - - - Can the source type be converted to the type supported by this object - - the type to convert - true if the conversion is possible - - - Returns true if the is - the type. - - - - - - Overrides the ConvertFrom method of IConvertFrom. - - the object to convert to an encoding - the encoding - - - Uses the method to - convert the argument to an . - - - - The object cannot be converted to the - target type. To check for this condition use the - method. - - - - - Interface supported by type converters - - - - This interface supports conversion from a single type to arbitrary types. - See . - - - Nicko Cadell - - - - Returns whether this converter can convert the object to the specified type - - A Type that represents the type you want to convert to - true if the conversion is possible - - - Test if the type supported by this converter can be converted to the - . - - - - - - Converts the given value object to the specified type, using the arguments - - the object to convert - The Type to convert the value parameter to - the converted object - - - Converts the (which must be of the type supported - by this converter) to the specified.. - - - - - - Supports conversion from string to type. - - - - Supports conversion from string to type. - - - - - Nicko Cadell - - - - Can the source type be converted to the type supported by this object - - the type to convert - true if the conversion is possible - - - Returns true if the is - the type. - - - - - - Overrides the ConvertFrom method of IConvertFrom. - - the object to convert to an IPAddress - the IPAddress - - - Uses the method to convert the - argument to an . - If that fails then the string is resolved as a DNS hostname. - - - - The object cannot be converted to the - target type. To check for this condition use the - method. - - - - - Valid characters in an IPv4 or IPv6 address string. (Does not support subnets) - - - - - Supports conversion from string to type. - - - - Supports conversion from string to type. - - - The string is used as the - of the . - - - - - - Nicko Cadell - - - - Can the source type be converted to the type supported by this object - - the type to convert - true if the conversion is possible - - - Returns true if the is - the type. - - - - - - Overrides the ConvertFrom method of IConvertFrom. - - the object to convert to a PatternLayout - the PatternLayout - - - Creates and returns a new using - the as the - . - - - - The object cannot be converted to the - target type. To check for this condition use the - method. - - - - - Convert between string and - - - - Supports conversion from string to type, - and from a type to a string. - - - The string is used as the - of the . - - - - - - Nicko Cadell - - - - Can the target type be converted to the type supported by this object - - A that represents the type you want to convert to - true if the conversion is possible - - - Returns true if the is - assignable from a type. - - - - - - Converts the given value object to the specified type, using the arguments - - the object to convert - The Type to convert the value parameter to - the converted object - - - Uses the method to convert the - argument to a . - - - - The object cannot be converted to the - . To check for this condition use the - method. - - - - - Can the source type be converted to the type supported by this object - - the type to convert - true if the conversion is possible - - - Returns true if the is - the type. - - - - - - Overrides the ConvertFrom method of IConvertFrom. - - the object to convert to a PatternString - the PatternString - - - Creates and returns a new using - the as the - . - - - - The object cannot be converted to the - target type. To check for this condition use the - method. - - - - - Supports conversion from string to type. - - - - Supports conversion from string to type. - - - - - - Nicko Cadell - - - - Can the source type be converted to the type supported by this object - - the type to convert - true if the conversion is possible - - - Returns true if the is - the type. - - - - - - Overrides the ConvertFrom method of IConvertFrom. - - the object to convert to a Type - the Type - - - Uses the method to convert the - argument to a . - Additional effort is made to locate partially specified types - by searching the loaded assemblies. - - - - The object cannot be converted to the - target type. To check for this condition use the - method. - - - - - Attribute used to associate a type converter - - - - Class and Interface level attribute that specifies a type converter - to use with the associated type. - - - To associate a type converter with a target type apply a - TypeConverterAttribute to the target type. Specify the - type of the type converter on the attribute. - - - Nicko Cadell - Gert Driesen - - - - The string type name of the type converter - - - - - Default constructor - - - - Default constructor - - - - - - Create a new type converter attribute for the specified type name - - The string type name of the type converter - - - The type specified must implement the - or the interfaces. - - - - - - Create a new type converter attribute for the specified type - - The type of the type converter - - - The type specified must implement the - or the interfaces. - - - - - - The string type name of the type converter - - - The string type name of the type converter - - - - The type specified must implement the - or the interfaces. - - - - - - A straightforward implementation of the interface. - - - - This is the default implementation of the - interface. Implementors of the interface - should aggregate an instance of this type. - - - Nicko Cadell - Gert Driesen - - - - Constructor - - - - Initializes a new instance of the class. - - - - - - Append on on all attached appenders. - - The event being logged. - The number of appenders called. - - - Calls the method on all - attached appenders. - - - - - - Append on on all attached appenders. - - The array of events being logged. - The number of appenders called. - - - Calls the method on all - attached appenders. - - - - - - Calls the DoAppende method on the with - the objects supplied. - - The appender - The events - - - If the supports the - interface then the will be passed - through using that interface. Otherwise the - objects in the array will be passed one at a time. - - - - - - Attaches an appender. - - The appender to add. - - - If the appender is already in the list it won't be added again. - - - - - - Gets an attached appender with the specified name. - - The name of the appender to get. - - The appender with the name specified, or null if no appender with the - specified name is found. - - - - Lookup an attached appender by name. - - - - - - Removes all attached appenders. - - - - Removes and closes all attached appenders - - - - - - Removes the specified appender from the list of attached appenders. - - The appender to remove. - The appender removed from the list - - - The appender removed is not closed. - If you are discarding the appender you must call - on the appender removed. - - - - - - Removes the appender with the specified name from the list of appenders. - - The name of the appender to remove. - The appender removed from the list - - - The appender removed is not closed. - If you are discarding the appender you must call - on the appender removed. - - - - - - List of appenders - - - - - Array of appenders, used to cache the m_appenderList - - - - - Gets all attached appenders. - - - A collection of attached appenders, or null if there - are no attached appenders. - - - - The read only collection of all currently attached appenders. - - - - - - This class aggregates several PropertiesDictionary collections together. - - - - Provides a dictionary style lookup over an ordered list of - collections. - - - Nicko Cadell - - - - Constructor - - - - Initializes a new instance of the class. - - - - - - Add a Properties Dictionary to this composite collection - - the properties to add - - - Properties dictionaries added first take precedence over dictionaries added - later. - - - - - - Flatten this composite collection into a single properties dictionary - - the flattened dictionary - - - Reduces the collection of ordered dictionaries to a single dictionary - containing the resultant values for the keys. - - - - - - Gets the value of a property - - - The value for the property with the specified key - - - - Looks up the value for the specified. - The collections are searched - in the order in which they were added to this collection. The value - returned is the value held by the first collection that contains - the specified key. - - - If none of the collections contain the specified key then - null is returned. - - - - - - Base class for Context Properties implementations - - - - This class defines a basic property get set accessor - - - Nicko Cadell - - - - Gets or sets the value of a property - - - The value for the property with the specified key - - - - Gets or sets the value of a property - - - - - - Subclass of that maintains a count of - the number of bytes written. - - - - This writer counts the number of bytes written. - - - Nicko Cadell - Gert Driesen - - - - that does not leak exceptions - - - - does not throw exceptions when things go wrong. - Instead, it delegates error handling to its . - - - Nicko Cadell - Gert Driesen - - - - Adapter that extends and forwards all - messages to an instance of . - - - - Adapter that extends and forwards all - messages to an instance of . - - - Nicko Cadell - - - - The writer to forward messages to - - - - - Create an instance of that forwards all - messages to a . - - The to forward to - - - Create an instance of that forwards all - messages to a . - - - - - - Closes the writer and releases any system resources associated with the writer - - - - - - - - - Dispose this writer - - flag indicating if we are being disposed - - - Dispose this writer - - - - - - Flushes any buffered output - - - - Clears all buffers for the writer and causes any buffered data to be written - to the underlying device - - - - - - Writes a character to the wrapped TextWriter - - the value to write to the TextWriter - - - Writes a character to the wrapped TextWriter - - - - - - Writes a character buffer to the wrapped TextWriter - - the data buffer - the start index - the number of characters to write - - - Writes a character buffer to the wrapped TextWriter - - - - - - Writes a string to the wrapped TextWriter - - the value to write to the TextWriter - - - Writes a string to the wrapped TextWriter - - - - - - Gets or sets the underlying . - - - The underlying . - - - - Gets or sets the underlying . - - - - - - The Encoding in which the output is written - - - The - - - - The Encoding in which the output is written - - - - - - Gets an object that controls formatting - - - The format provider - - - - Gets an object that controls formatting - - - - - - Gets or sets the line terminator string used by the TextWriter - - - The line terminator to use - - - - Gets or sets the line terminator string used by the TextWriter - - - - - - Constructor - - the writer to actually write to - the error handler to report error to - - - Create a new QuietTextWriter using a writer and error handler - - - - - - Writes a character to the underlying writer - - the char to write - - - Writes a character to the underlying writer - - - - - - Writes a buffer to the underlying writer - - the buffer to write - the start index to write from - the number of characters to write - - - Writes a buffer to the underlying writer - - - - - - Writes a string to the output. - - The string data to write to the output. - - - Writes a string to the output. - - - - - - Closes the underlying output writer. - - - - Closes the underlying output writer. - - - - - - The error handler instance to pass all errors to - - - - - Flag to indicate if this writer is closed - - - - - Gets or sets the error handler that all errors are passed to. - - - The error handler that all errors are passed to. - - - - Gets or sets the error handler that all errors are passed to. - - - - - - Gets a value indicating whether this writer is closed. - - - true if this writer is closed, otherwise false. - - - - Gets a value indicating whether this writer is closed. - - - - - - Constructor - - The to actually write to. - The to report errors to. - - - Creates a new instance of the class - with the specified and . - - - - - - Writes a character to the underlying writer and counts the number of bytes written. - - the char to write - - - Overrides implementation of . Counts - the number of bytes written. - - - - - - Writes a buffer to the underlying writer and counts the number of bytes written. - - the buffer to write - the start index to write from - the number of characters to write - - - Overrides implementation of . Counts - the number of bytes written. - - - - - - Writes a string to the output and counts the number of bytes written. - - The string data to write to the output. - - - Overrides implementation of . Counts - the number of bytes written. - - - - - - Total number of bytes written. - - - - - Gets or sets the total number of bytes written. - - - The total number of bytes written. - - - - Gets or sets the total number of bytes written. - - - - - - A fixed size rolling buffer of logging events. - - - - An array backed fixed size leaky bucket. - - - Nicko Cadell - Gert Driesen - - - - Constructor - - The maximum number of logging events in the buffer. - - - Initializes a new instance of the class with - the specified maximum number of buffered logging events. - - - The argument is not a positive integer. - - - - Appends a to the buffer. - - The event to append to the buffer. - The event discarded from the buffer, if the buffer is full, otherwise null. - - - Append an event to the buffer. If the buffer still contains free space then - null is returned. If the buffer is full then an event will be dropped - to make space for the new event, the event dropped is returned. - - - - - - Get and remove the oldest event in the buffer. - - The oldest logging event in the buffer - - - Gets the oldest (first) logging event in the buffer and removes it - from the buffer. - - - - - - Pops all the logging events from the buffer into an array. - - An array of all the logging events in the buffer. - - - Get all the events in the buffer and clear the buffer. - - - - - - Clear the buffer - - - - Clear the buffer of all events. The events in the buffer are lost. - - - - - - Gets the th oldest event currently in the buffer. - - The th oldest event currently in the buffer. - - - If is outside the range 0 to the number of events - currently in the buffer, then null is returned. - - - - - - Gets the maximum size of the buffer. - - The maximum size of the buffer. - - - Gets the maximum size of the buffer - - - - - - Gets the number of logging events in the buffer. - - The number of logging events in the buffer. - - - This number is guaranteed to be in the range 0 to - (inclusive). - - - - - - An always empty . - - - - A singleton implementation of the - interface that always represents an empty collection. - - - Nicko Cadell - Gert Driesen - - - - Initializes a new instance of the class. - - - - Uses a private access modifier to enforce the singleton pattern. - - - - - - Copies the elements of the to an - , starting at a particular Array index. - - The one-dimensional - that is the destination of the elements copied from - . The Array must have zero-based - indexing. - The zero-based index in array at which - copying begins. - - - As the collection is empty no values are copied into the array. - - - - - - Returns an enumerator that can iterate through a collection. - - - An that can be used to - iterate through the collection. - - - - As the collection is empty a is returned. - - - - - - The singleton instance of the empty collection. - - - - - Gets the singleton instance of the empty collection. - - The singleton instance of the empty collection. - - - Gets the singleton instance of the empty collection. - - - - - - Gets a value indicating if access to the is synchronized (thread-safe). - - - true if access to the is synchronized (thread-safe); otherwise, false. - - - - For the this property is always true. - - - - - - Gets the number of elements contained in the . - - - The number of elements contained in the . - - - - As the collection is empty the is always 0. - - - - - - Gets an object that can be used to synchronize access to the . - - - An object that can be used to synchronize access to the . - - - - As the collection is empty and thread safe and synchronized this instance is also - the object. - - - - - - An always empty . - - - - A singleton implementation of the - interface that always represents an empty collection. - - - Nicko Cadell - Gert Driesen - - - - Initializes a new instance of the class. - - - - Uses a private access modifier to enforce the singleton pattern. - - - - - - Copies the elements of the to an - , starting at a particular Array index. - - The one-dimensional - that is the destination of the elements copied from - . The Array must have zero-based - indexing. - The zero-based index in array at which - copying begins. - - - As the collection is empty no values are copied into the array. - - - - - - Returns an enumerator that can iterate through a collection. - - - An that can be used to - iterate through the collection. - - - - As the collection is empty a is returned. - - - - - - Adds an element with the provided key and value to the - . - - The to use as the key of the element to add. - The to use as the value of the element to add. - - - As the collection is empty no new values can be added. A - is thrown if this method is called. - - - This dictionary is always empty and cannot be modified. - - - - Removes all elements from the . - - - - As the collection is empty no values can be removed. A - is thrown if this method is called. - - - This dictionary is always empty and cannot be modified. - - - - Determines whether the contains an element - with the specified key. - - The key to locate in the . - false - - - As the collection is empty the method always returns false. - - - - - - Returns an enumerator that can iterate through a collection. - - - An that can be used to - iterate through the collection. - - - - As the collection is empty a is returned. - - - - - - Removes the element with the specified key from the . - - The key of the element to remove. - - - As the collection is empty no values can be removed. A - is thrown if this method is called. - - - This dictionary is always empty and cannot be modified. - - - - The singleton instance of the empty dictionary. - - - - - Gets the singleton instance of the . - - The singleton instance of the . - - - Gets the singleton instance of the . - - - - - - Gets a value indicating if access to the is synchronized (thread-safe). - - - true if access to the is synchronized (thread-safe); otherwise, false. - - - - For the this property is always true. - - - - - - Gets the number of elements contained in the - - - The number of elements contained in the . - - - - As the collection is empty the is always 0. - - - - - - Gets an object that can be used to synchronize access to the . - - - An object that can be used to synchronize access to the . - - - - As the collection is empty and thread safe and synchronized this instance is also - the object. - - - - - - Gets a value indicating whether the has a fixed size. - - true - - - As the collection is empty always returns true. - - - - - - Gets a value indicating whether the is read-only. - - true - - - As the collection is empty always returns true. - - - - - - Gets an containing the keys of the . - - An containing the keys of the . - - - As the collection is empty a is returned. - - - - - - Gets an containing the values of the . - - An containing the values of the . - - - As the collection is empty a is returned. - - - - - - Gets or sets the element with the specified key. - - The key of the element to get or set. - null - - - As the collection is empty no values can be looked up or stored. - If the index getter is called then null is returned. - A is thrown if the setter is called. - - - This dictionary is always empty and cannot be modified. - - - - Contain the information obtained when parsing formatting modifiers - in conversion modifiers. - - - - Holds the formatting information extracted from the format string by - the . This is used by the - objects when rendering the output. - - - Nicko Cadell - Gert Driesen - - - - Defaut Constructor - - - - Initializes a new instance of the class. - - - - - - Constructor - - - - Initializes a new instance of the class - with the specified parameters. - - - - - - Gets or sets the minimum value. - - - The minimum value. - - - - Gets or sets the minimum value. - - - - - - Gets or sets the maximum value. - - - The maximum value. - - - - Gets or sets the maximum value. - - - - - - Gets or sets a flag indicating whether left align is enabled - or not. - - - A flag indicating whether left align is enabled or not. - - - - Gets or sets a flag indicating whether left align is enabled or not. - - - - - - Implementation of Properties collection for the - - - - This class implements a properties collection that is thread safe and supports both - storing properties and capturing a read only copy of the current propertied. - - - This class is optimized to the scenario where the properties are read frequently - and are modified infrequently. - - - Nicko Cadell - - - - The read only copy of the properties. - - - - This variable is declared volatile to prevent the compiler and JIT from - reordering reads and writes of this thread performed on different threads. - - - - - - Lock object used to synchronize updates within this instance - - - - - Constructor - - - - Initializes a new instance of the class. - - - - - - Remove a property from the global context - - the key for the entry to remove - - - Removing an entry from the global context properties is relatively expensive compared - with reading a value. - - - - - - Clear the global context properties - - - - - Get a readonly immutable copy of the properties - - the current global context properties - - - This implementation is fast because the GlobalContextProperties class - stores a readonly copy of the properties. - - - - - - Gets or sets the value of a property - - - The value for the property with the specified key - - - - Reading the value for a key is faster than setting the value. - When the value is written a new read only copy of - the properties is created. - - - - - - Manages a mapping from levels to - - - - Manages an ordered mapping from instances - to subclasses. - - - Nicko Cadell - - - - Default constructor - - - - Initialise a new instance of . - - - - - - Add a to this mapping - - the entry to add - - - If a has previously been added - for the same then that entry will be - overwritten. - - - - - - Lookup the mapping for the specified level - - the level to lookup - the for the level or null if no mapping found - - - Lookup the value for the specified level. Finds the nearest - mapping value for the level that is equal to or less than the - specified. - - - If no mapping could be found then null is returned. - - - - - - Initialize options - - - - Caches the sorted list of in an array - - - - - - Implementation of Properties collection for the - - - - Class implements a collection of properties that is specific to each thread. - The class is not synchronized as each thread has its own . - - - Nicko Cadell - - - - Constructor - - - - Initializes a new instance of the class. - - - - - - Remove a property - - the key for the entry to remove - - - Remove the value for the specified from the context. - - - - - - Clear all the context properties - - - - Clear all the context properties - - - - - - Get the PropertiesDictionary stored in the LocalDataStoreSlot for this thread. - - create the dictionary if it does not exist, otherwise return null if is does not exist - the properties for this thread - - - The collection returned is only to be used on the calling thread. If the - caller needs to share the collection between different threads then the - caller must clone the collection before doings so. - - - - - - Gets or sets the value of a property - - - The value for the property with the specified key - - - - Get or set the property value for the specified. - - - - - - Outputs log statements from within the log4net assembly. - - - - Log4net components cannot make log4net logging calls. However, it is - sometimes useful for the user to learn about what log4net is - doing. - - - All log4net internal debug calls go to the standard output stream - whereas internal error messages are sent to the standard error output - stream. - - - Nicko Cadell - Gert Driesen - - - - Initializes a new instance of the class. - - - - Uses a private access modifier to prevent instantiation of this class. - - - - - - Static constructor that initializes logging by reading - settings from the application configuration file. - - - - The log4net.Internal.Debug application setting - controls internal debugging. This setting should be set - to true to enable debugging. - - - The log4net.Internal.Quiet application setting - suppresses all internal logging including error messages. - This setting should be set to true to enable message - suppression. - - - - - - Writes log4net internal debug messages to the - standard output stream. - - The message to log. - - - All internal debug messages are prepended with - the string "log4net: ". - - - - - - Writes log4net internal debug messages to the - standard output stream. - - The message to log. - An exception to log. - - - All internal debug messages are prepended with - the string "log4net: ". - - - - - - Writes log4net internal warning messages to the - standard error stream. - - The message to log. - - - All internal warning messages are prepended with - the string "log4net:WARN ". - - - - - - Writes log4net internal warning messages to the - standard error stream. - - The message to log. - An exception to log. - - - All internal warning messages are prepended with - the string "log4net:WARN ". - - - - - - Writes log4net internal error messages to the - standard error stream. - - The message to log. - - - All internal error messages are prepended with - the string "log4net:ERROR ". - - - - - - Writes log4net internal error messages to the - standard error stream. - - The message to log. - An exception to log. - - - All internal debug messages are prepended with - the string "log4net:ERROR ". - - - - - - Writes output to the standard output stream. - - The message to log. - - - Writes to both Console.Out and System.Diagnostics.Trace. - Note that the System.Diagnostics.Trace is not supported - on the Compact Framework. - - - If the AppDomain is not configured with a config file then - the call to System.Diagnostics.Trace may fail. This is only - an issue if you are programmatically creating your own AppDomains. - - - - - - Writes output to the standard error stream. - - The message to log. - - - Writes to both Console.Error and System.Diagnostics.Trace. - Note that the System.Diagnostics.Trace is not supported - on the Compact Framework. - - - If the AppDomain is not configured with a config file then - the call to System.Diagnostics.Trace may fail. This is only - an issue if you are programmatically creating your own AppDomains. - - - - - - Default debug level - - - - - In quietMode not even errors generate any output. - - - - - Gets or sets a value indicating whether log4net internal logging - is enabled or disabled. - - - true if log4net internal logging is enabled, otherwise - false. - - - - When set to true, internal debug level logging will be - displayed. - - - This value can be set by setting the application setting - log4net.Internal.Debug in the application configuration - file. - - - The default value is false, i.e. debugging is - disabled. - - - - - The following example enables internal debugging using the - application configuration file : - - - - - - - - - - - - - Gets or sets a value indicating whether log4net should generate no output - from internal logging, not even for errors. - - - true if log4net should generate no output at all from internal - logging, otherwise false. - - - - When set to true will cause internal logging at all levels to be - suppressed. This means that no warning or error reports will be logged. - This option overrides the setting and - disables all debug also. - - This value can be set by setting the application setting - log4net.Internal.Quiet in the application configuration file. - - - The default value is false, i.e. internal logging is not - disabled. - - - - The following example disables internal logging using the - application configuration file : - - - - - - - - - - - - Test if LogLog.Debug is enabled for output. - - - true if Debug is enabled - - - - Test if LogLog.Debug is enabled for output. - - - - - - Test if LogLog.Warn is enabled for output. - - - true if Warn is enabled - - - - Test if LogLog.Warn is enabled for output. - - - - - - Test if LogLog.Error is enabled for output. - - - true if Error is enabled - - - - Test if LogLog.Error is enabled for output. - - - - - - Represents a native error code and message. - - - - Represents a Win32 platform native error. - - - Nicko Cadell - Gert Driesen - - - - Create an instance of the class with the specified - error number and message. - - The number of the native error. - The message of the native error. - - - Create an instance of the class with the specified - error number and message. - - - - - - Create a new instance of the class for the last Windows error. - - - An instance of the class for the last windows error. - - - - The message for the error number is lookup up using the - native Win32 FormatMessage function. - - - - - - Create a new instance of the class. - - the error number for the native error - - An instance of the class for the specified - error number. - - - - The message for the specified error number is lookup up using the - native Win32 FormatMessage function. - - - - - - Retrieves the message corresponding with a Win32 message identifier. - - Message identifier for the requested message. - - The message corresponding with the specified message identifier. - - - - The message will be searched for in system message-table resource(s) - using the native FormatMessage function. - - - - - - Return error information string - - error information string - - - Return error information string - - - - - - Formats a message string. - - Formatting options, and how to interpret the parameter. - Location of the message definition. - Message identifier for the requested message. - Language identifier for the requested message. - If includes FORMAT_MESSAGE_ALLOCATE_BUFFER, the function allocates a buffer using the LocalAlloc function, and places the pointer to the buffer at the address specified in . - If the FORMAT_MESSAGE_ALLOCATE_BUFFER flag is not set, this parameter specifies the maximum number of TCHARs that can be stored in the output buffer. If FORMAT_MESSAGE_ALLOCATE_BUFFER is set, this parameter specifies the minimum number of TCHARs to allocate for an output buffer. - Pointer to an array of values that are used as insert values in the formatted message. - - - The function requires a message definition as input. The message definition can come from a - buffer passed into the function. It can come from a message table resource in an - already-loaded module. Or the caller can ask the function to search the system's message - table resource(s) for the message definition. The function finds the message definition - in a message table resource based on a message identifier and a language identifier. - The function copies the formatted message text to an output buffer, processing any embedded - insert sequences if requested. - - - To prevent the usage of unsafe code, this stub does not support inserting values in the formatted message. - - - - - If the function succeeds, the return value is the number of TCHARs stored in the output - buffer, excluding the terminating null character. - - - If the function fails, the return value is zero. To get extended error information, - call . - - - - - - Gets the number of the native error. - - - The number of the native error. - - - - Gets the number of the native error. - - - - - - Gets the message of the native error. - - - The message of the native error. - - - - - Gets the message of the native error. - - - - - An always empty . - - - - A singleton implementation of the over a collection - that is empty and not modifiable. - - - Nicko Cadell - Gert Driesen - - - - Initializes a new instance of the class. - - - - Uses a private access modifier to enforce the singleton pattern. - - - - - - Test if the enumerator can advance, if so advance. - - false as the cannot advance. - - - As the enumerator is over an empty collection its - value cannot be moved over a valid position, therefore - will always return false. - - - - - - Resets the enumerator back to the start. - - - - As the enumerator is over an empty collection does nothing. - - - - - - The singleton instance of the . - - - - - Gets the singleton instance of the . - - The singleton instance of the . - - - Gets the singleton instance of the . - - - - - - Gets the current object from the enumerator. - - - Throws an because the - never has a current value. - - - - As the enumerator is over an empty collection its - value cannot be moved over a valid position, therefore - will throw an . - - - The collection is empty and - cannot be positioned over a valid location. - - - - Gets the current key from the enumerator. - - - Throws an exception because the - never has a current value. - - - - As the enumerator is over an empty collection its - value cannot be moved over a valid position, therefore - will throw an . - - - The collection is empty and - cannot be positioned over a valid location. - - - - Gets the current value from the enumerator. - - The current value from the enumerator. - - Throws an because the - never has a current value. - - - - As the enumerator is over an empty collection its - value cannot be moved over a valid position, therefore - will throw an . - - - The collection is empty and - cannot be positioned over a valid location. - - - - Gets the current entry from the enumerator. - - - Throws an because the - never has a current entry. - - - - As the enumerator is over an empty collection its - value cannot be moved over a valid position, therefore - will throw an . - - - The collection is empty and - cannot be positioned over a valid location. - - - - An always empty . - - - - A singleton implementation of the over a collection - that is empty and not modifiable. - - - Nicko Cadell - Gert Driesen - - - - Initializes a new instance of the class. - - - - Uses a private access modifier to enforce the singleton pattern. - - - - - - Test if the enumerator can advance, if so advance - - false as the cannot advance. - - - As the enumerator is over an empty collection its - value cannot be moved over a valid position, therefore - will always return false. - - - - - - Resets the enumerator back to the start. - - - - As the enumerator is over an empty collection does nothing. - - - - - - The singleton instance of the . - - - - - Get the singleton instance of the . - - The singleton instance of the . - - - Gets the singleton instance of the . - - - - - - Gets the current object from the enumerator. - - - Throws an because the - never has a current value. - - - - As the enumerator is over an empty collection its - value cannot be moved over a valid position, therefore - will throw an . - - - The collection is empty and - cannot be positioned over a valid location. - - - - A SecurityContext used when a SecurityContext is not required - - - - The is a no-op implementation of the - base class. It is used where a - is required but one has not been provided. - - - Nicko Cadell - - - - Singleton instance of - - - - Singleton instance of - - - - - - Private constructor - - - - Private constructor for singleton pattern. - - - - - - Impersonate this SecurityContext - - State supplied by the caller - null - - - No impersonation is done and null is always returned. - - - - - - Implements log4net's default error handling policy which consists - of emitting a message for the first error in an appender and - ignoring all subsequent errors. - - - - The error message is printed on the standard error output stream. - - - This policy aims at protecting an otherwise working application - from being flooded with error messages when logging fails. - - - Nicko Cadell - Gert Driesen - - - - Default Constructor - - - - Initializes a new instance of the class. - - - - - - Constructor - - The prefix to use for each message. - - - Initializes a new instance of the class - with the specified prefix. - - - - - - Log an Error - - The error message. - The exception. - The internal error code. - - - Prints the message and the stack trace of the exception on the standard - error output stream. - - - - - - Log an Error - - The error message. - The exception. - - - Prints the message and the stack trace of the exception on the standard - error output stream. - - - - - - Log an error - - The error message. - - - Print a the error message passed as parameter on the standard - error output stream. - - - - - - Flag to indicate if it is the first error - - - - - String to prefix each message with - - - - - Is error logging enabled - - - - Is error logging enabled. Logging is only enabled for the - first error delivered to the . - - - - - - A convenience class to convert property values to specific types. - - - - Utility functions for converting types and parsing values. - - - Nicko Cadell - Gert Driesen - - - - Initializes a new instance of the class. - - - - Uses a private access modifier to prevent instantiation of this class. - - - - - - Converts a string to a value. - - String to convert. - The default value. - The value of . - - - If is "true", then true is returned. - If is "false", then false is returned. - Otherwise, is returned. - - - - - - Parses a file size into a number. - - String to parse. - The default value. - The value of . - - - Parses a file size of the form: number[KB|MB|GB] into a - long value. It is scaled with the appropriate multiplier. - - - is returned when - cannot be converted to a value. - - - - - - Converts a string to an object. - - The target type to convert to. - The string to convert to an object. - - The object converted from a string or null when the - conversion failed. - - - - Converts a string to an object. Uses the converter registry to try - to convert the string value into the specified target type. - - - - - - Checks if there is an appropriate type conversion from the source type to the target type. - - The type to convert from. - The type to convert to. - true if there is a conversion from the source type to the target type. - - Checks if there is an appropriate type conversion from the source type to the target type. - - - - - - - Converts an object to the target type. - - The object to convert to the target type. - The type to convert to. - The converted object. - - - Converts an object to the target type. - - - - - - Instantiates an object given a class name. - - The fully qualified class name of the object to instantiate. - The class to which the new object should belong. - The object to return in case of non-fulfillment. - - An instance of the or - if the object could not be instantiated. - - - - Checks that the is a subclass of - . If that test fails or the object could - not be instantiated, then is returned. - - - - - - Performs variable substitution in string from the - values of keys found in . - - The string on which variable substitution is performed. - The dictionary to use to lookup variables. - The result of the substitutions. - - - The variable substitution delimiters are ${ and }. - - - For example, if props contains key=value, then the call - - - - string s = OptionConverter.SubstituteVariables("Value of key is ${key}."); - - - - will set the variable s to "Value of key is value.". - - - If no value could be found for the specified key, then substitution - defaults to an empty string. - - - For example, if system properties contains no value for the key - "nonExistentKey", then the call - - - - string s = OptionConverter.SubstituteVariables("Value of nonExistentKey is [${nonExistentKey}]"); - - - - will set s to "Value of nonExistentKey is []". - - - An Exception is thrown if contains a start - delimiter "${" which is not balanced by a stop delimiter "}". - - - - - - Converts the string representation of the name or numeric value of one or - more enumerated constants to an equivalent enumerated object. - - The type to convert to. - The enum string value. - If true, ignore case; otherwise, regard case. - An object of type whose value is represented by . - - - - Most of the work of the class - is delegated to the PatternParser class. - - - - The PatternParser processes a pattern string and - returns a chain of objects. - - - Nicko Cadell - Gert Driesen - - - - Constructor - - The pattern to parse. - - - Initializes a new instance of the class - with the specified pattern string. - - - - - - Parses the pattern into a chain of pattern converters. - - The head of a chain of pattern converters. - - - Parses the pattern into a chain of pattern converters. - - - - - - Build the unified cache of converters from the static and instance maps - - the list of all the converter names - - - Build the unified cache of converters from the static and instance maps - - - - - - Internal method to parse the specified pattern to find specified matches - - the pattern to parse - the converter names to match in the pattern - - - The matches param must be sorted such that longer strings come before shorter ones. - - - - - - Process a parsed literal - - the literal text - - - - Process a parsed converter pattern - - the name of the converter - the optional option for the converter - the formatting info for the converter - - - - Resets the internal state of the parser and adds the specified pattern converter - to the chain. - - The pattern converter to add. - - - - The first pattern converter in the chain - - - - - the last pattern converter in the chain - - - - - The pattern - - - - - Internal map of converter identifiers to converter types - - - - This map overrides the static s_globalRulesRegistry map. - - - - - - Get the converter registry used by this parser - - - The converter registry used by this parser - - - - Get the converter registry used by this parser - - - - - - Sort strings by length - - - - that orders strings by string length. - The longest strings are placed first - - - - - - This class implements a patterned string. - - - - This string has embedded patterns that are resolved and expanded - when the string is formatted. - - - This class functions similarly to the - in that it accepts a pattern and renders it to a string. Unlike the - however the PatternString - does not render the properties of a specific but - of the process in general. - - - The recognized conversion pattern names are: - - - - Conversion Pattern Name - Effect - - - appdomain - - - Used to output the friendly name of the current AppDomain. - - - - - date - - - Used to output the date of the logging event in the local time zone. - To output the date in universal time use the %utcdate pattern. - The date conversion - specifier may be followed by a date format specifier enclosed - between braces. For example, %date{HH:mm:ss,fff} or - %date{dd MMM yyyy HH:mm:ss,fff}. If no date format specifier is - given then ISO8601 format is - assumed (). - - - The date format specifier admits the same syntax as the - time pattern string of the . - - - For better results it is recommended to use the log4net date - formatters. These can be specified using one of the strings - "ABSOLUTE", "DATE" and "ISO8601" for specifying - , - and respectively - . For example, - %date{ISO8601} or %date{ABSOLUTE}. - - - These dedicated date formatters perform significantly - better than . - - - - - env - - - Used to output the a specific environment variable. The key to - lookup must be specified within braces and directly following the - pattern specifier, e.g. %env{COMPUTERNAME} would include the value - of the COMPUTERNAME environment variable. - - - The env pattern is not supported on the .NET Compact Framework. - - - - - identity - - - Used to output the user name for the currently active user - (Principal.Identity.Name). - - - - - newline - - - Outputs the platform dependent line separator character or - characters. - - - This conversion pattern name offers the same performance as using - non-portable line separator strings such as "\n", or "\r\n". - Thus, it is the preferred way of specifying a line separator. - - - - - processid - - - Used to output the system process ID for the current process. - - - - - property - - - Used to output a specific context property. The key to - lookup must be specified within braces and directly following the - pattern specifier, e.g. %property{user} would include the value - from the property that is keyed by the string 'user'. Each property value - that is to be included in the log must be specified separately. - Properties are stored in logging contexts. By default - the log4net:HostName property is set to the name of machine on - which the event was originally logged. - - - If no key is specified, e.g. %property then all the keys and their - values are printed in a comma separated list. - - - The properties of an event are combined from a number of different - contexts. These are listed below in the order in which they are searched. - - - - the thread properties - - The that are set on the current - thread. These properties are shared by all events logged on this thread. - - - - the global properties - - The that are set globally. These - properties are shared by all the threads in the AppDomain. - - - - - - - random - - - Used to output a random string of characters. The string is made up of - uppercase letters and numbers. By default the string is 4 characters long. - The length of the string can be specified within braces directly following the - pattern specifier, e.g. %random{8} would output an 8 character string. - - - - - username - - - Used to output the WindowsIdentity for the currently - active user. - - - - - utcdate - - - Used to output the date of the logging event in universal time. - The date conversion - specifier may be followed by a date format specifier enclosed - between braces. For example, %utcdate{HH:mm:ss,fff} or - %utcdate{dd MMM yyyy HH:mm:ss,fff}. If no date format specifier is - given then ISO8601 format is - assumed (). - - - The date format specifier admits the same syntax as the - time pattern string of the . - - - For better results it is recommended to use the log4net date - formatters. These can be specified using one of the strings - "ABSOLUTE", "DATE" and "ISO8601" for specifying - , - and respectively - . For example, - %utcdate{ISO8601} or %utcdate{ABSOLUTE}. - - - These dedicated date formatters perform significantly - better than . - - - - - % - - - The sequence %% outputs a single percent sign. - - - - - - Additional pattern converters may be registered with a specific - instance using or - . - - - See the for details on the - format modifiers supported by the patterns. - - - Nicko Cadell - - - - Internal map of converter identifiers to converter types. - - - - - the pattern - - - - - the head of the pattern converter chain - - - - - patterns defined on this PatternString only - - - - - Initialize the global registry - - - - - Default constructor - - - - Initialize a new instance of - - - - - - Constructs a PatternString - - The pattern to use with this PatternString - - - Initialize a new instance of with the pattern specified. - - - - - - Initialize object options - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - - - - Create the used to parse the pattern - - the pattern to parse - The - - - Returns PatternParser used to parse the conversion string. Subclasses - may override this to return a subclass of PatternParser which recognize - custom conversion pattern name. - - - - - - Produces a formatted string as specified by the conversion pattern. - - The TextWriter to write the formatted event to - - - Format the pattern to the . - - - - - - Format the pattern as a string - - the pattern formatted as a string - - - Format the pattern to a string. - - - - - - Add a converter to this PatternString - - the converter info - - - This version of the method is used by the configurator. - Programmatic users should use the alternative method. - - - - - - Add a converter to this PatternString - - the name of the conversion pattern for this converter - the type of the converter - - - Add a converter to this PatternString - - - - - - Gets or sets the pattern formatting string - - - The pattern formatting string - - - - The ConversionPattern option. This is the string which - controls formatting and consists of a mix of literal content and - conversion specifiers. - - - - - - Wrapper class used to map converter names to converter types - - - - Wrapper class used to map converter names to converter types - - - - - - default constructor - - - - - Gets or sets the name of the conversion pattern - - - The name of the conversion pattern - - - - Gets or sets the name of the conversion pattern - - - - - - Gets or sets the type of the converter - - - The type of the converter - - - - Gets or sets the type of the converter - - - - - - String keyed object map. - - - - While this collection is serializable only member - objects that are serializable will - be serialized along with this collection. - - - Nicko Cadell - Gert Driesen - - - - String keyed object map that is read only. - - - - This collection is readonly and cannot be modified. - - - While this collection is serializable only member - objects that are serializable will - be serialized along with this collection. - - - Nicko Cadell - Gert Driesen - - - - The Hashtable used to store the properties data - - - - - Constructor - - - - Initializes a new instance of the class. - - - - - - Copy Constructor - - properties to copy - - - Initializes a new instance of the class. - - - - - - Deserialization constructor - - The that holds the serialized object data. - The that contains contextual information about the source or destination. - - - Initializes a new instance of the class - with serialized data. - - - - - - Gets the key names. - - An array of all the keys. - - - Gets the key names. - - - - - - Test if the dictionary contains a specified key - - the key to look for - true if the dictionary contains the specified key - - - Test if the dictionary contains a specified key - - - - - - Serializes this object into the provided. - - The to populate with data. - The destination for this serialization. - - - Serializes this object into the provided. - - - - - - See - - - - - See - - - - - - See - - - - - - - Remove all properties from the properties collection - - - - - See - - - - - - - See - - - - - - - See - - - - - Gets or sets the value of the property with the specified key. - - - The value of the property with the specified key. - - The key of the property to get or set. - - - The property value will only be serialized if it is serializable. - If it cannot be serialized it will be silently ignored if - a serialization operation is performed. - - - - - - The hashtable used to store the properties - - - The internal collection used to store the properties - - - - The hashtable used to store the properties - - - - - - See - - - - - See - - - - - See - - - - - See - - - - - See - - - - - See - - - - - The number of properties in this collection - - - - - See - - - - - Constructor - - - - Initializes a new instance of the class. - - - - - - Constructor - - properties to copy - - - Initializes a new instance of the class. - - - - - - Initializes a new instance of the class - with serialized data. - - The that holds the serialized object data. - The that contains contextual information about the source or destination. - - - Because this class is sealed the serialization constructor is private. - - - - - - Remove the entry with the specified key from this dictionary - - the key for the entry to remove - - - Remove the entry with the specified key from this dictionary - - - - - - See - - an enumerator - - - Returns a over the contest of this collection. - - - - - - See - - the key to remove - - - Remove the entry with the specified key from this dictionary - - - - - - See - - the key to lookup in the collection - true if the collection contains the specified key - - - Test if this collection contains a specified key. - - - - - - Remove all properties from the properties collection - - - - Remove all properties from the properties collection - - - - - - See - - the key - the value to store for the key - - - Store a value for the specified . - - - Thrown if the is not a string - - - - See - - - - - - - See - - - - - Gets or sets the value of the property with the specified key. - - - The value of the property with the specified key. - - The key of the property to get or set. - - - The property value will only be serialized if it is serializable. - If it cannot be serialized it will be silently ignored if - a serialization operation is performed. - - - - - - See - - - false - - - - This collection is modifiable. This property always - returns false. - - - - - - See - - - The value for the key specified. - - - - Get or set a value for the specified . - - - Thrown if the is not a string - - - - See - - - - - See - - - - - See - - - - - See - - - - - See - - - - - A that ignores the message - - - - This writer is used in special cases where it is necessary - to protect a writer from being closed by a client. - - - Nicko Cadell - - - - Constructor - - the writer to actually write to - - - Create a new ProtectCloseTextWriter using a writer - - - - - - Attach this instance to a different underlying - - the writer to attach to - - - Attach this instance to a different underlying - - - - - - Does not close the underlying output writer. - - - - Does not close the underlying output writer. - This method does nothing. - - - - - - Defines a lock that supports single writers and multiple readers - - - - ReaderWriterLock is used to synchronize access to a resource. - At any given time, it allows either concurrent read access for - multiple threads, or write access for a single thread. In a - situation where a resource is changed infrequently, a - ReaderWriterLock provides better throughput than a simple - one-at-a-time lock, such as . - - - If a platform does not support a System.Threading.ReaderWriterLock - implementation then all readers and writers are serialized. Therefore - the caller must not rely on multiple simultaneous readers. - - - Nicko Cadell - - - - Constructor - - - - Initializes a new instance of the class. - - - - - - Acquires a reader lock - - - - blocks if a different thread has the writer - lock, or if at least one thread is waiting for the writer lock. - - - - - - Decrements the lock count - - - - decrements the lock count. When the count - reaches zero, the lock is released. - - - - - - Acquires the writer lock - - - - This method blocks if another thread has a reader lock or writer lock. - - - - - - Decrements the lock count on the writer lock - - - - ReleaseWriterLock decrements the writer lock count. - When the count reaches zero, the writer lock is released. - - - - - - A that can be and reused - - - - A that can be and reused. - This uses a single buffer for string operations. - - - Nicko Cadell - - - - Create an instance of - - the format provider to use - - - Create an instance of - - - - - - Override Dispose to prevent closing of writer - - flag - - - Override Dispose to prevent closing of writer - - - - - - Reset this string writer so that it can be reused. - - the maximum buffer capacity before it is trimmed - the default size to make the buffer - - - Reset this string writer so that it can be reused. - The internal buffers are cleared and reset. - - - - - - Utility class for system specific information. - - - - Utility class of static methods for system specific information. - - - Nicko Cadell - Gert Driesen - Alexey Solofnenko - - - - Private constructor to prevent instances. - - - - Only static methods are exposed from this type. - - - - - - Initialize default values for private static fields. - - - - Only static methods are exposed from this type. - - - - - - Gets the assembly location path for the specified assembly. - - The assembly to get the location for. - The location of the assembly. - - - This method does not guarantee to return the correct path - to the assembly. If only tries to give an indication as to - where the assembly was loaded from. - - - - - - Gets the fully qualified name of the , including - the name of the assembly from which the was - loaded. - - The to get the fully qualified name for. - The fully qualified name for the . - - - This is equivalent to the Type.AssemblyQualifiedName property, - but this method works on the .NET Compact Framework 1.0 as well as - the full .NET runtime. - - - - - - Gets the short name of the . - - The to get the name for. - The short name of the . - - - The short name of the assembly is the - without the version, culture, or public key. i.e. it is just the - assembly's file name without the extension. - - - Use this rather than Assembly.GetName().Name because that - is not available on the Compact Framework. - - - Because of a FileIOPermission security demand we cannot do - the obvious Assembly.GetName().Name. We are allowed to get - the of the assembly so we - start from there and strip out just the assembly name. - - - - - - Gets the file name portion of the , including the extension. - - The to get the file name for. - The file name of the assembly. - - - Gets the file name portion of the , including the extension. - - - - - - Loads the type specified in the type string. - - A sibling type to use to load the type. - The name of the type to load. - Flag set to true to throw an exception if the type cannot be loaded. - true to ignore the case of the type name; otherwise, false - The type loaded or null if it could not be loaded. - - - If the type name is fully qualified, i.e. if contains an assembly name in - the type name, the type will be loaded from the system using - . - - - If the type name is not fully qualified, it will be loaded from the assembly - containing the specified relative type. If the type is not found in the assembly - then all the loaded assemblies will be searched for the type. - - - - - - Loads the type specified in the type string. - - The name of the type to load. - Flag set to true to throw an exception if the type cannot be loaded. - true to ignore the case of the type name; otherwise, false - The type loaded or null if it could not be loaded. - - - If the type name is fully qualified, i.e. if contains an assembly name in - the type name, the type will be loaded from the system using - . - - - If the type name is not fully qualified it will be loaded from the - assembly that is directly calling this method. If the type is not found - in the assembly then all the loaded assemblies will be searched for the type. - - - - - - Loads the type specified in the type string. - - An assembly to load the type from. - The name of the type to load. - Flag set to true to throw an exception if the type cannot be loaded. - true to ignore the case of the type name; otherwise, false - The type loaded or null if it could not be loaded. - - - If the type name is fully qualified, i.e. if contains an assembly name in - the type name, the type will be loaded from the system using - . - - - If the type name is not fully qualified it will be loaded from the specified - assembly. If the type is not found in the assembly then all the loaded assemblies - will be searched for the type. - - - - - - Generate a new guid - - A new Guid - - - Generate a new guid - - - - - - Create an - - The name of the parameter that caused the exception - The value of the argument that causes this exception - The message that describes the error - the ArgumentOutOfRangeException object - - - Create a new instance of the class - with a specified error message, the parameter name, and the value - of the argument. - - - The Compact Framework does not support the 3 parameter constructor for the - type. This method provides an - implementation that works for all platforms. - - - - - - Parse a string into an value - - the string to parse - out param where the parsed value is placed - true if the string was able to be parsed into an integer - - - Attempts to parse the string into an integer. If the string cannot - be parsed then this method returns false. The method does not throw an exception. - - - - - - Parse a string into an value - - the string to parse - out param where the parsed value is placed - true if the string was able to be parsed into an integer - - - Attempts to parse the string into an integer. If the string cannot - be parsed then this method returns false. The method does not throw an exception. - - - - - - Lookup an application setting - - the application settings key to lookup - the value for the key, or null - - - Configuration APIs are not supported under the Compact Framework - - - - - - Convert a path into a fully qualified local file path. - - The path to convert. - The fully qualified path. - - - Converts the path specified to a fully - qualified path. If the path is relative it is - taken as relative from the application base - directory. - - - The path specified must be a local file path, a URI is not supported. - - - - - - Creates a new case-insensitive instance of the class with the default initial capacity. - - A new case-insensitive instance of the class with the default initial capacity - - - The new Hashtable instance uses the default load factor, the CaseInsensitiveHashCodeProvider, and the CaseInsensitiveComparer. - - - - - - Gets an empty array of types. - - - - The Type.EmptyTypes field is not available on - the .NET Compact Framework 1.0. - - - - - - Cache the host name for the current machine - - - - - Cache the application friendly name - - - - - Text to output when a null is encountered. - - - - - Text to output when an unsupported feature is requested. - - - - - Start time for the current process. - - - - - Gets the system dependent line terminator. - - - The system dependent line terminator. - - - - Gets the system dependent line terminator. - - - - - - Gets the base directory for this . - - The base directory path for the current . - - - Gets the base directory for this . - - - The value returned may be either a local file path or a URI. - - - - - - Gets the path to the configuration file for the current . - - The path to the configuration file for the current . - - - The .NET Compact Framework 1.0 does not have a concept of a configuration - file. For this runtime, we use the entry assembly location as the root for - the configuration file name. - - - The value returned may be either a local file path or a URI. - - - - - - Gets the path to the file that first executed in the current . - - The path to the entry assembly. - - - Gets the path to the file that first executed in the current . - - - - - - Gets the ID of the current thread. - - The ID of the current thread. - - - On the .NET framework, the AppDomain.GetCurrentThreadId method - is used to obtain the thread ID for the current thread. This is the - operating system ID for the thread. - - - On the .NET Compact Framework 1.0 it is not possible to get the - operating system thread ID for the current thread. The native method - GetCurrentThreadId is implemented inline in a header file - and cannot be called. - - - On the .NET Framework 2.0 the Thread.ManagedThreadId is used as this - gives a stable id unrelated to the operating system thread ID which may - change if the runtime is using fibers. - - - - - - Get the host name or machine name for the current machine - - - The hostname or machine name - - - - Get the host name or machine name for the current machine - - - The host name () or - the machine name (Environment.MachineName) for - the current machine, or if neither of these are available - then NOT AVAILABLE is returned. - - - - - - Get this application's friendly name - - - The friendly name of this application as a string - - - - If available the name of the application is retrieved from - the AppDomain using AppDomain.CurrentDomain.FriendlyName. - - - Otherwise the file name of the entry assembly is used. - - - - - - Get the start time for the current process. - - - - This is the time at which the log4net library was loaded into the - AppDomain. Due to reports of a hang in the call to System.Diagnostics.Process.StartTime - this is not the start time for the current process. - - - The log4net library should be loaded by an application early during its - startup, therefore this start time should be a good approximation for - the actual start time. - - - Note that AppDomains may be loaded and unloaded within the - same process without the process terminating, however this start time - will be set per AppDomain. - - - - - - Text to output when a null is encountered. - - - - Use this value to indicate a null has been encountered while - outputting a string representation of an item. - - - The default value is (null). This value can be overridden by specifying - a value for the log4net.NullText appSetting in the application's - .config file. - - - - - - Text to output when an unsupported feature is requested. - - - - Use this value when an unsupported feature is requested. - - - The default value is NOT AVAILABLE. This value can be overridden by specifying - a value for the log4net.NotAvailableText appSetting in the application's - .config file. - - - - - - Utility class that represents a format string. - - - - Utility class that represents a format string. - - - Nicko Cadell - - - - Initialise the - - An that supplies culture-specific formatting information. - A containing zero or more format items. - An array containing zero or more objects to format. - - - - Format the string and arguments - - the formatted string - - - - Replaces the format item in a specified with the text equivalent - of the value of a corresponding instance in a specified array. - A specified parameter supplies culture-specific formatting information. - - An that supplies culture-specific formatting information. - A containing zero or more format items. - An array containing zero or more objects to format. - - A copy of format in which the format items have been replaced by the - equivalent of the corresponding instances of in args. - - - - This method does not throw exceptions. If an exception thrown while formatting the result the - exception and arguments are returned in the result string. - - - - - - Process an error during StringFormat - - - - - Dump the contents of an array into a string builder - - - - - Dump an object to a string - - - - - Implementation of Properties collection for the - - - - Class implements a collection of properties that is specific to each thread. - The class is not synchronized as each thread has its own . - - - Nicko Cadell - - - - The thread local data slot to use to store a PropertiesDictionary. - - - - - Internal constructor - - - - Initializes a new instance of the class. - - - - - - Remove a property - - the key for the entry to remove - - - Remove a property - - - - - - Clear all properties - - - - Clear all properties - - - - - - Get the PropertiesDictionary for this thread. - - create the dictionary if it does not exist, otherwise return null if is does not exist - the properties for this thread - - - The collection returned is only to be used on the calling thread. If the - caller needs to share the collection between different threads then the - caller must clone the collection before doing so. - - - - - - Gets or sets the value of a property - - - The value for the property with the specified key - - - - Gets or sets the value of a property - - - - - - Implementation of Stack for the - - - - Implementation of Stack for the - - - Nicko Cadell - - - - The stack store. - - - - - Internal constructor - - - - Initializes a new instance of the class. - - - - - - Clears all the contextual information held in this stack. - - - - Clears all the contextual information held in this stack. - Only call this if you think that this tread is being reused after - a previous call execution which may not have completed correctly. - You do not need to use this method if you always guarantee to call - the method of the - returned from even in exceptional circumstances, - for example by using the using(log4net.ThreadContext.Stacks["NDC"].Push("Stack_Message")) - syntax. - - - - - - Removes the top context from this stack. - - The message in the context that was removed from the top of this stack. - - - Remove the top context from this stack, and return - it to the caller. If this stack is empty then an - empty string (not ) is returned. - - - - - - Pushes a new context message into this stack. - - The new context message. - - An that can be used to clean up the context stack. - - - - Pushes a new context onto this stack. An - is returned that can be used to clean up this stack. This - can be easily combined with the using keyword to scope the - context. - - - Simple example of using the Push method with the using keyword. - - using(log4net.ThreadContext.Stacks["NDC"].Push("Stack_Message")) - { - log.Warn("This should have an ThreadContext Stack message"); - } - - - - - - Gets the current context information for this stack. - - The current context information. - - - - Gets the current context information for this stack. - - Gets the current context information - - - Gets the current context information for this stack. - - - - - - Get a portable version of this object - - the portable instance of this object - - - Get a cross thread portable version of this object - - - - - - The number of messages in the stack - - - The current number of messages in the stack - - - - The current number of messages in the stack. That is - the number of times has been called - minus the number of times has been called. - - - - - - Gets and sets the internal stack used by this - - The internal storage stack - - - This property is provided only to support backward compatability - of the . Tytpically the internal stack should not - be modified. - - - - - - Inner class used to represent a single context frame in the stack. - - - - Inner class used to represent a single context frame in the stack. - - - - - - Constructor - - The message for this context. - The parent context in the chain. - - - Initializes a new instance of the class - with the specified message and parent context. - - - - - - Get the message. - - The message. - - - Get the message. - - - - - - Gets the full text of the context down to the root level. - - - The full text of the context down to the root level. - - - - Gets the full text of the context down to the root level. - - - - - - Struct returned from the method. - - - - This struct implements the and is designed to be used - with the pattern to remove the stack frame at the end of the scope. - - - - - - The ThreadContextStack internal stack - - - - - The depth to trim the stack to when this instance is disposed - - - - - Constructor - - The internal stack used by the ThreadContextStack. - The depth to return the stack to when this object is disposed. - - - Initializes a new instance of the class with - the specified stack and return depth. - - - - - - Returns the stack to the correct depth. - - - - Returns the stack to the correct depth. - - - - - - Implementation of Stacks collection for the - - - - Implementation of Stacks collection for the - - - Nicko Cadell - - - - Internal constructor - - - - Initializes a new instance of the class. - - - - - - Gets the named thread context stack - - - The named stack - - - - Gets the named thread context stack - - - - - - Utility class for transforming strings. - - - - Utility class for transforming strings. - - - Nicko Cadell - Gert Driesen - - - - Initializes a new instance of the class. - - - - Uses a private access modifier to prevent instantiation of this class. - - - - - - Write a string to an - - the writer to write to - the string to write - The string to replace non XML compliant chars with - - - The test is escaped either using XML escape entities - or using CDATA sections. - - - - - - Replace invalid XML characters in text string - - the XML text input string - the string to use in place of invalid characters - A string that does not contain invalid XML characters. - - - Certain Unicode code points are not allowed in the XML InfoSet, for - details see: http://www.w3.org/TR/REC-xml/#charsets. - - - This method replaces any illegal characters in the input string - with the mask string specified. - - - - - - Count the number of times that the substring occurs in the text - - the text to search - the substring to find - the number of times the substring occurs in the text - - - The substring is assumed to be non repeating within itself. - - - - - - Impersonate a Windows Account - - - - This impersonates a Windows account. - - - How the impersonation is done depends on the value of . - This allows the context to either impersonate a set of user credentials specified - using username, domain name and password or to revert to the process credentials. - - - - - - Default constructor - - - - Default constructor - - - - - - Initialize the SecurityContext based on the options set. - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - The security context will try to Logon the specified user account and - capture a primary token for impersonation. - - - The required , - or properties were not specified. - - - - Impersonate the Windows account specified by the and properties. - - caller provided state - - An instance that will revoke the impersonation of this SecurityContext - - - - Depending on the property either - impersonate a user using credentials supplied or revert - to the process credentials. - - - - - - Create a given the userName, domainName and password. - - the user name - the domain name - the password - the for the account specified - - - Uses the Windows API call LogonUser to get a principal token for the account. This - token is used to initialize the WindowsIdentity. - - - - - - Gets or sets the impersonation mode for this security context - - - The impersonation mode for this security context - - - - Impersonate either a user with user credentials or - revert this thread to the credentials of the process. - The value is one of the - enum. - - - The default value is - - - When the mode is set to - the user's credentials are established using the - , and - values. - - - When the mode is set to - no other properties need to be set. If the calling thread is - impersonating then it will be reverted back to the process credentials. - - - - - - Gets or sets the Windows username for this security context - - - The Windows username for this security context - - - - This property must be set if - is set to (the default setting). - - - - - - Gets or sets the Windows domain name for this security context - - - The Windows domain name for this security context - - - - The default value for is the local machine name - taken from the property. - - - This property must be set if - is set to (the default setting). - - - - - - Sets the password for the Windows account specified by the and properties. - - - The password for the Windows account specified by the and properties. - - - - This property must be set if - is set to (the default setting). - - - - - - The impersonation modes for the - - - - See the property for - details. - - - - - - Impersonate a user using the credentials supplied - - - - - Revert this the thread to the credentials of the process - - - - - Adds to - - - - Helper class to expose the - through the interface. - - - - - - Constructor - - the impersonation context being wrapped - - - Constructor - - - - - - Revert the impersonation - - - - Revert the impersonation - - - - - - The log4net Global Context. - - - - The GlobalContext provides a location for global debugging - information to be stored. - - - The global context has a properties map and these properties can - be included in the output of log messages. The - supports selecting and outputing these properties. - - - By default the log4net:HostName property is set to the name of - the current machine. - - - - - GlobalContext.Properties["hostname"] = Environment.MachineName; - - - - Nicko Cadell - - - - Private Constructor. - - - Uses a private access modifier to prevent instantiation of this class. - - - - - The global context properties instance - - - - - The global properties map. - - - The global properties map. - - - - The global properties map. - - - - - - The log4net Logical Thread Context. - - - - The LogicalThreadContext provides a location for specific debugging - information to be stored. - The LogicalThreadContext properties override any or - properties with the same name. - - - The Logical Thread Context has a properties map and a stack. - The properties and stack can - be included in the output of log messages. The - supports selecting and outputting these properties. - - - The Logical Thread Context provides a diagnostic context for the current call context. - This is an instrument for distinguishing interleaved log - output from different sources. Log output is typically interleaved - when a server handles multiple clients near-simultaneously. - - - The Logical Thread Context is managed on a per basis. - - - Example of using the thread context properties to store a username. - - LogicalThreadContext.Properties["user"] = userName; - log.Info("This log message has a LogicalThreadContext Property called 'user'"); - - - Example of how to push a message into the context stack - - using(LogicalThreadContext.Stacks["LDC"].Push("my context message")) - { - log.Info("This log message has a LogicalThreadContext Stack message that includes 'my context message'"); - - } // at the end of the using block the message is automatically popped - - - - Nicko Cadell - - - - Private Constructor. - - - - Uses a private access modifier to prevent instantiation of this class. - - - - - - The thread context properties instance - - - - - The thread context stacks instance - - - - - The thread properties map - - - The thread properties map - - - - The LogicalThreadContext properties override any - or properties with the same name. - - - - - - The thread stacks - - - stack map - - - - The logical thread stacks. - - - - - - This class is used by client applications to request logger instances. - - - - This class has static methods that are used by a client to request - a logger instance. The method is - used to retrieve a logger. - - - See the interface for more details. - - - Simple example of logging messages - - ILog log = LogManager.GetLogger("application-log"); - - log.Info("Application Start"); - log.Debug("This is a debug message"); - - if (log.IsDebugEnabled) - { - log.Debug("This is another debug message"); - } - - - - - Nicko Cadell - Gert Driesen - - - - Initializes a new instance of the class. - - - Uses a private access modifier to prevent instantiation of this class. - - - - Returns the named logger if it exists. - - Returns the named logger if it exists. - - - - If the named logger exists (in the default repository) then it - returns a reference to the logger, otherwise it returns null. - - - The fully qualified logger name to look for. - The logger found, or null if no logger could be found. - - - - Returns the named logger if it exists. - - - - If the named logger exists (in the specified repository) then it - returns a reference to the logger, otherwise it returns - null. - - - The repository to lookup in. - The fully qualified logger name to look for. - - The logger found, or null if the logger doesn't exist in the specified - repository. - - - - - Returns the named logger if it exists. - - - - If the named logger exists (in the repository for the specified assembly) then it - returns a reference to the logger, otherwise it returns - null. - - - The assembly to use to lookup the repository. - The fully qualified logger name to look for. - - The logger, or null if the logger doesn't exist in the specified - assembly's repository. - - - - Get the currently defined loggers. - - Returns all the currently defined loggers in the default repository. - - - The root logger is not included in the returned array. - - All the defined loggers. - - - - Returns all the currently defined loggers in the specified repository. - - The repository to lookup in. - - The root logger is not included in the returned array. - - All the defined loggers. - - - - Returns all the currently defined loggers in the specified assembly's repository. - - The assembly to use to lookup the repository. - - The root logger is not included in the returned array. - - All the defined loggers. - - - Get or create a logger. - - Retrieves or creates a named logger. - - - - Retrieves a logger named as the - parameter. If the named logger already exists, then the - existing instance will be returned. Otherwise, a new instance is - created. - - By default, loggers do not have a set level but inherit - it from the hierarchy. This is one of the central features of - log4net. - - - The name of the logger to retrieve. - The logger with the name specified. - - - - Retrieves or creates a named logger. - - - - Retrieve a logger named as the - parameter. If the named logger already exists, then the - existing instance will be returned. Otherwise, a new instance is - created. - - - By default, loggers do not have a set level but inherit - it from the hierarchy. This is one of the central features of - log4net. - - - The repository to lookup in. - The name of the logger to retrieve. - The logger with the name specified. - - - - Retrieves or creates a named logger. - - - - Retrieve a logger named as the - parameter. If the named logger already exists, then the - existing instance will be returned. Otherwise, a new instance is - created. - - - By default, loggers do not have a set level but inherit - it from the hierarchy. This is one of the central features of - log4net. - - - The assembly to use to lookup the repository. - The name of the logger to retrieve. - The logger with the name specified. - - - - Shorthand for . - - - Get the logger for the fully qualified name of the type specified. - - The full name of will be used as the name of the logger to retrieve. - The logger with the name specified. - - - - Shorthand for . - - - Gets the logger for the fully qualified name of the type specified. - - The repository to lookup in. - The full name of will be used as the name of the logger to retrieve. - The logger with the name specified. - - - - Shorthand for . - - - Gets the logger for the fully qualified name of the type specified. - - The assembly to use to lookup the repository. - The full name of will be used as the name of the logger to retrieve. - The logger with the name specified. - - - - Shuts down the log4net system. - - - - Calling this method will safely close and remove all - appenders in all the loggers including root contained in all the - default repositories. - - - Some appenders need to be closed before the application exists. - Otherwise, pending logging events might be lost. - - The shutdown method is careful to close nested - appenders before closing regular appenders. This is allows - configurations where a regular appender is attached to a logger - and again to a nested appender. - - - - - Shutdown a logger repository. - - Shuts down the default repository. - - - - Calling this method will safely close and remove all - appenders in all the loggers including root contained in the - default repository. - - Some appenders need to be closed before the application exists. - Otherwise, pending logging events might be lost. - - The shutdown method is careful to close nested - appenders before closing regular appenders. This is allows - configurations where a regular appender is attached to a logger - and again to a nested appender. - - - - - - Shuts down the repository for the repository specified. - - - - Calling this method will safely close and remove all - appenders in all the loggers including root contained in the - specified. - - - Some appenders need to be closed before the application exists. - Otherwise, pending logging events might be lost. - - The shutdown method is careful to close nested - appenders before closing regular appenders. This is allows - configurations where a regular appender is attached to a logger - and again to a nested appender. - - - The repository to shutdown. - - - - Shuts down the repository specified. - - - - Calling this method will safely close and remove all - appenders in all the loggers including root contained in the - repository. The repository is looked up using - the specified. - - - Some appenders need to be closed before the application exists. - Otherwise, pending logging events might be lost. - - - The shutdown method is careful to close nested - appenders before closing regular appenders. This is allows - configurations where a regular appender is attached to a logger - and again to a nested appender. - - - The assembly to use to lookup the repository. - - - Reset the configuration of a repository - - Resets all values contained in this repository instance to their defaults. - - - - Resets all values contained in the repository instance to their - defaults. This removes all appenders from all loggers, sets - the level of all non-root loggers to null, - sets their additivity flag to true and sets the level - of the root logger to . Moreover, - message disabling is set to its default "off" value. - - - - - - Resets all values contained in this repository instance to their defaults. - - - - Reset all values contained in the repository instance to their - defaults. This removes all appenders from all loggers, sets - the level of all non-root loggers to null, - sets their additivity flag to true and sets the level - of the root logger to . Moreover, - message disabling is set to its default "off" value. - - - The repository to reset. - - - - Resets all values contained in this repository instance to their defaults. - - - - Reset all values contained in the repository instance to their - defaults. This removes all appenders from all loggers, sets - the level of all non-root loggers to null, - sets their additivity flag to true and sets the level - of the root logger to . Moreover, - message disabling is set to its default "off" value. - - - The assembly to use to lookup the repository to reset. - - - Get the logger repository. - - Returns the default instance. - - - - Gets the for the repository specified - by the callers assembly (). - - - The instance for the default repository. - - - - Returns the default instance. - - The default instance. - - - Gets the for the repository specified - by the argument. - - - The repository to lookup in. - - - - Returns the default instance. - - The default instance. - - - Gets the for the repository specified - by the argument. - - - The assembly to use to lookup the repository. - - - Get a logger repository. - - Returns the default instance. - - - - Gets the for the repository specified - by the callers assembly (). - - - The instance for the default repository. - - - - Returns the default instance. - - The default instance. - - - Gets the for the repository specified - by the argument. - - - The repository to lookup in. - - - - Returns the default instance. - - The default instance. - - - Gets the for the repository specified - by the argument. - - - The assembly to use to lookup the repository. - - - Create a domain - - Creates a repository with the specified repository type. - - - - CreateDomain is obsolete. Use CreateRepository instead of CreateDomain. - - - The created will be associated with the repository - specified such that a call to will return - the same repository instance. - - - A that implements - and has a no arg constructor. An instance of this type will be created to act - as the for the repository specified. - The created for the repository. - - - Create a logger repository. - - Creates a repository with the specified repository type. - - A that implements - and has a no arg constructor. An instance of this type will be created to act - as the for the repository specified. - The created for the repository. - - - The created will be associated with the repository - specified such that a call to will return - the same repository instance. - - - - - - Creates a repository with the specified name. - - - - CreateDomain is obsolete. Use CreateRepository instead of CreateDomain. - - - Creates the default type of which is a - object. - - - The name must be unique. Repositories cannot be redefined. - An will be thrown if the repository already exists. - - - The name of the repository, this must be unique amongst repositories. - The created for the repository. - The specified repository already exists. - - - - Creates a repository with the specified name. - - - - Creates the default type of which is a - object. - - - The name must be unique. Repositories cannot be redefined. - An will be thrown if the repository already exists. - - - The name of the repository, this must be unique amongst repositories. - The created for the repository. - The specified repository already exists. - - - - Creates a repository with the specified name and repository type. - - - - CreateDomain is obsolete. Use CreateRepository instead of CreateDomain. - - - The name must be unique. Repositories cannot be redefined. - An will be thrown if the repository already exists. - - - The name of the repository, this must be unique to the repository. - A that implements - and has a no arg constructor. An instance of this type will be created to act - as the for the repository specified. - The created for the repository. - The specified repository already exists. - - - - Creates a repository with the specified name and repository type. - - - - The name must be unique. Repositories cannot be redefined. - An will be thrown if the repository already exists. - - - The name of the repository, this must be unique to the repository. - A that implements - and has a no arg constructor. An instance of this type will be created to act - as the for the repository specified. - The created for the repository. - The specified repository already exists. - - - - Creates a repository for the specified assembly and repository type. - - - - CreateDomain is obsolete. Use CreateRepository instead of CreateDomain. - - - The created will be associated with the repository - specified such that a call to with the - same assembly specified will return the same repository instance. - - - The assembly to use to get the name of the repository. - A that implements - and has a no arg constructor. An instance of this type will be created to act - as the for the repository specified. - The created for the repository. - - - - Creates a repository for the specified assembly and repository type. - - - - The created will be associated with the repository - specified such that a call to with the - same assembly specified will return the same repository instance. - - - The assembly to use to get the name of the repository. - A that implements - and has a no arg constructor. An instance of this type will be created to act - as the for the repository specified. - The created for the repository. - - - - Gets the list of currently defined repositories. - - - - Get an array of all the objects that have been created. - - - An array of all the known objects. - - - - Looks up the wrapper object for the logger specified. - - The logger to get the wrapper for. - The wrapper for the logger specified. - - - - Looks up the wrapper objects for the loggers specified. - - The loggers to get the wrappers for. - The wrapper objects for the loggers specified. - - - - Create the objects used by - this manager. - - The logger to wrap. - The wrapper for the logger specified. - - - - The wrapper map to use to hold the objects. - - - - - Implementation of Mapped Diagnostic Contexts. - - - - - The MDC is deprecated and has been replaced by the . - The current MDC implementation forwards to the ThreadContext.Properties. - - - - The MDC class is similar to the class except that it is - based on a map instead of a stack. It provides mapped - diagnostic contexts. A Mapped Diagnostic Context, or - MDC in short, is an instrument for distinguishing interleaved log - output from different sources. Log output is typically interleaved - when a server handles multiple clients near-simultaneously. - - - The MDC is managed on a per thread basis. - - - - Nicko Cadell - Gert Driesen - - - - Initializes a new instance of the class. - - - Uses a private access modifier to prevent instantiation of this class. - - - - - Gets the context value identified by the parameter. - - The key to lookup in the MDC. - The string value held for the key, or a null reference if no corresponding value is found. - - - - The MDC is deprecated and has been replaced by the . - The current MDC implementation forwards to the ThreadContext.Properties. - - - - If the parameter does not look up to a - previously defined context then null will be returned. - - - - - - Add an entry to the MDC - - The key to store the value under. - The value to store. - - - - The MDC is deprecated and has been replaced by the . - The current MDC implementation forwards to the ThreadContext.Properties. - - - - Puts a context value (the parameter) as identified - with the parameter into the current thread's - context map. - - - If a value is already defined for the - specified then the value will be replaced. If the - is specified as null then the key value mapping will be removed. - - - - - - Removes the key value mapping for the key specified. - - The key to remove. - - - - The MDC is deprecated and has been replaced by the . - The current MDC implementation forwards to the ThreadContext.Properties. - - - - Remove the specified entry from this thread's MDC - - - - - - Clear all entries in the MDC - - - - - The MDC is deprecated and has been replaced by the . - The current MDC implementation forwards to the ThreadContext.Properties. - - - - Remove all the entries from this thread's MDC - - - - - - Implementation of Nested Diagnostic Contexts. - - - - - The NDC is deprecated and has been replaced by the . - The current NDC implementation forwards to the ThreadContext.Stacks["NDC"]. - - - - A Nested Diagnostic Context, or NDC in short, is an instrument - to distinguish interleaved log output from different sources. Log - output is typically interleaved when a server handles multiple - clients near-simultaneously. - - - Interleaved log output can still be meaningful if each log entry - from different contexts had a distinctive stamp. This is where NDCs - come into play. - - - Note that NDCs are managed on a per thread basis. The NDC class - is made up of static methods that operate on the context of the - calling thread. - - - How to push a message into the context - - using(NDC.Push("my context message")) - { - ... all log calls will have 'my context message' included ... - - } // at the end of the using block the message is automatically removed - - - - Nicko Cadell - Gert Driesen - - - - Initializes a new instance of the class. - - - Uses a private access modifier to prevent instantiation of this class. - - - - - Clears all the contextual information held on the current thread. - - - - - The NDC is deprecated and has been replaced by the . - The current NDC implementation forwards to the ThreadContext.Stacks["NDC"]. - - - - Clears the stack of NDC data held on the current thread. - - - - - - Creates a clone of the stack of context information. - - A clone of the context info for this thread. - - - - The NDC is deprecated and has been replaced by the . - The current NDC implementation forwards to the ThreadContext.Stacks["NDC"]. - - - - The results of this method can be passed to the - method to allow child threads to inherit the context of their - parent thread. - - - - - - Inherits the contextual information from another thread. - - The context stack to inherit. - - - - The NDC is deprecated and has been replaced by the . - The current NDC implementation forwards to the ThreadContext.Stacks["NDC"]. - - - - This thread will use the context information from the stack - supplied. This can be used to initialize child threads with - the same contextual information as their parent threads. These - contexts will NOT be shared. Any further contexts that - are pushed onto the stack will not be visible to the other. - Call to obtain a stack to pass to - this method. - - - - - - Removes the top context from the stack. - - - The message in the context that was removed from the top - of the stack. - - - - - The NDC is deprecated and has been replaced by the . - The current NDC implementation forwards to the ThreadContext.Stacks["NDC"]. - - - - Remove the top context from the stack, and return - it to the caller. If the stack is empty then an - empty string (not null) is returned. - - - - - - Pushes a new context message. - - The new context message. - - An that can be used to clean up - the context stack. - - - - - The NDC is deprecated and has been replaced by the . - The current NDC implementation forwards to the ThreadContext.Stacks["NDC"]. - - - - Pushes a new context onto the context stack. An - is returned that can be used to clean up the context stack. This - can be easily combined with the using keyword to scope the - context. - - - Simple example of using the Push method with the using keyword. - - using(log4net.NDC.Push("NDC_Message")) - { - log.Warn("This should have an NDC message"); - } - - - - - - Removes the context information for this thread. It is - not required to call this method. - - - - - The NDC is deprecated and has been replaced by the . - The current NDC implementation forwards to the ThreadContext.Stacks["NDC"]. - - - - This method is not implemented. - - - - - - Forces the stack depth to be at most . - - The maximum depth of the stack - - - - The NDC is deprecated and has been replaced by the . - The current NDC implementation forwards to the ThreadContext.Stacks["NDC"]. - - - - Forces the stack depth to be at most . - This may truncate the head of the stack. This only affects the - stack in the current thread. Also it does not prevent it from - growing, it only sets the maximum depth at the time of the - call. This can be used to return to a known context depth. - - - - - - Gets the current context depth. - - The current context depth. - - - - The NDC is deprecated and has been replaced by the . - The current NDC implementation forwards to the ThreadContext.Stacks["NDC"]. - - - - The number of context values pushed onto the context stack. - - - Used to record the current depth of the context. This can then - be restored using the method. - - - - - - - The log4net Thread Context. - - - - The ThreadContext provides a location for thread specific debugging - information to be stored. - The ThreadContext properties override any - properties with the same name. - - - The thread context has a properties map and a stack. - The properties and stack can - be included in the output of log messages. The - supports selecting and outputting these properties. - - - The Thread Context provides a diagnostic context for the current thread. - This is an instrument for distinguishing interleaved log - output from different sources. Log output is typically interleaved - when a server handles multiple clients near-simultaneously. - - - The Thread Context is managed on a per thread basis. - - - Example of using the thread context properties to store a username. - - ThreadContext.Properties["user"] = userName; - log.Info("This log message has a ThreadContext Property called 'user'"); - - - Example of how to push a message into the context stack - - using(ThreadContext.Stacks["NDC"].Push("my context message")) - { - log.Info("This log message has a ThreadContext Stack message that includes 'my context message'"); - - } // at the end of the using block the message is automatically popped - - - - Nicko Cadell - - - - Private Constructor. - - - - Uses a private access modifier to prevent instantiation of this class. - - - - - - The thread context properties instance - - - - - The thread context stacks instance - - - - - The thread properties map - - - The thread properties map - - - - The ThreadContext properties override any - properties with the same name. - - - - - - The thread stacks - - - stack map - - - - The thread local stacks. - - - - - diff --git a/lib/NHibernate30/net/3.5/Antlr3.Runtime.dll b/lib/NHibernate30/net/3.5/Antlr3.Runtime.dll deleted file mode 100644 index fb3ac4e6..00000000 Binary files a/lib/NHibernate30/net/3.5/Antlr3.Runtime.dll and /dev/null differ diff --git a/lib/NHibernate30/net/3.5/Iesi.Collections.dll b/lib/NHibernate30/net/3.5/Iesi.Collections.dll deleted file mode 100644 index 5658af79..00000000 Binary files a/lib/NHibernate30/net/3.5/Iesi.Collections.dll and /dev/null differ diff --git a/lib/NHibernate30/net/3.5/Iesi.Collections.license.txt b/lib/NHibernate30/net/3.5/Iesi.Collections.license.txt deleted file mode 100644 index 66c4a8dc..00000000 --- a/lib/NHibernate30/net/3.5/Iesi.Collections.license.txt +++ /dev/null @@ -1,9 +0,0 @@ -Copyright © 2002-2004 by Aidant Systems, Inc., and by Jason Smith. - -Copied from http://www.codeproject.com/csharp/sets.asp#xx703510xx that was posted by JasonSmith 12:13 2 Jan '04 - -Feel free to use this code any way you want to. As a favor to me, you can leave the copyright in there. You never know when someone might recognize your name! - -If you do use the code in a commercial product, I would appreciate hearing about it. This message serves as legal notice that I won't be suing you for royalties! The code is in the public domain. - -On the other hand, I don't provide support. The code is actually simple enough that it shouldn't need it. diff --git a/lib/NHibernate30/net/3.5/NHibernate.dll b/lib/NHibernate30/net/3.5/NHibernate.dll deleted file mode 100644 index 6edb8786..00000000 Binary files a/lib/NHibernate30/net/3.5/NHibernate.dll and /dev/null differ diff --git a/lib/NHibernate30/net/3.5/NHibernate.license.txt b/lib/NHibernate30/net/3.5/NHibernate.license.txt deleted file mode 100644 index 8a88d148..00000000 --- a/lib/NHibernate30/net/3.5/NHibernate.license.txt +++ /dev/null @@ -1,460 +0,0 @@ - GNU LESSER GENERAL PUBLIC LICENSE - Version 2.1, February 1999 - - Copyright (C) 1991, 1999 Free Software Foundation, Inc. - 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - -[This is the first released version of the Lesser GPL. It also counts - as the successor of the GNU Library Public License, version 2, hence - the version number 2.1.] - - Preamble - - The licenses for most software are designed to take away your -freedom to share and change it. By contrast, the GNU General Public -Licenses are intended to guarantee your freedom to share and change -free software--to make sure the software is free for all its users. - - This license, the Lesser General Public License, applies to some -specially designated software packages--typically libraries--of the -Free Software Foundation and other authors who decide to use it. You -can use it too, but we suggest you first think carefully about whether -this license or the ordinary General Public License is the better -strategy to use in any particular case, based on the explanations below. - - When we speak of free software, we are referring to freedom of use, -not price. Our General Public Licenses are designed to make sure that -you have the freedom to distribute copies of free software (and charge -for this service if you wish); that you receive source code or can get -it if you want it; that you can change the software and use pieces of -it in new free programs; and that you are informed that you can do -these things. - - To protect your rights, we need to make restrictions that forbid -distributors to deny you these rights or to ask you to surrender these -rights. These restrictions translate to certain responsibilities for -you if you distribute copies of the library or if you modify it. - - For example, if you distribute copies of the library, whether gratis -or for a fee, you must give the recipients all the rights that we gave -you. You must make sure that they, too, receive or can get the source -code. If you link other code with the library, you must provide -complete object files to the recipients, so that they can relink them -with the library after making changes to the library and recompiling -it. And you must show them these terms so they know their rights. - - We protect your rights with a two-step method: (1) we copyright the -library, and (2) we offer you this license, which gives you legal -permission to copy, distribute and/or modify the library. - - To protect each distributor, we want to make it very clear that -there is no warranty for the free library. Also, if the library is -modified by someone else and passed on, the recipients should know -that what they have is not the original version, so that the original -author's reputation will not be affected by problems that might be -introduced by others. - - Finally, software patents pose a constant threat to the existence of -any free program. We wish to make sure that a company cannot -effectively restrict the users of a free program by obtaining a -restrictive license from a patent holder. Therefore, we insist that -any patent license obtained for a version of the library must be -consistent with the full freedom of use specified in this license. - - Most GNU software, including some libraries, is covered by the -ordinary GNU General Public License. This license, the GNU Lesser -General Public License, applies to certain designated libraries, and -is quite different from the ordinary General Public License. We use -this license for certain libraries in order to permit linking those -libraries into non-free programs. - - When a program is linked with a library, whether statically or using -a shared library, the combination of the two is legally speaking a -combined work, a derivative of the original library. The ordinary -General Public License therefore permits such linking only if the -entire combination fits its criteria of freedom. The Lesser General -Public License permits more lax criteria for linking other code with -the library. - - We call this license the "Lesser" General Public License because it -does Less to protect the user's freedom than the ordinary General -Public License. It also provides other free software developers Less -of an advantage over competing non-free programs. These disadvantages -are the reason we use the ordinary General Public License for many -libraries. However, the Lesser license provides advantages in certain -special circumstances. - - For example, on rare occasions, there may be a special need to -encourage the widest possible use of a certain library, so that it becomes -a de-facto standard. To achieve this, non-free programs must be -allowed to use the library. A more frequent case is that a free -library does the same job as widely used non-free libraries. In this -case, there is little to gain by limiting the free library to free -software only, so we use the Lesser General Public License. - - In other cases, permission to use a particular library in non-free -programs enables a greater number of people to use a large body of -free software. For example, permission to use the GNU C Library in -non-free programs enables many more people to use the whole GNU -operating system, as well as its variant, the GNU/Linux operating -system. - - Although the Lesser General Public License is Less protective of the -users' freedom, it does ensure that the user of a program that is -linked with the Library has the freedom and the wherewithal to run -that program using a modified version of the Library. - - The precise terms and conditions for copying, distribution and -modification follow. Pay close attention to the difference between a -"work based on the library" and a "work that uses the library". The -former contains code derived from the library, whereas the latter must -be combined with the library in order to run. - - GNU LESSER GENERAL PUBLIC LICENSE - TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - - 0. This License Agreement applies to any software library or other -program which contains a notice placed by the copyright holder or -other authorized party saying it may be distributed under the terms of -this Lesser General Public License (also called "this License"). -Each licensee is addressed as "you". - - A "library" means a collection of software functions and/or data -prepared so as to be conveniently linked with application programs -(which use some of those functions and data) to form executables. - - The "Library", below, refers to any such software library or work -which has been distributed under these terms. A "work based on the -Library" means either the Library or any derivative work under -copyright law: that is to say, a work containing the Library or a -portion of it, either verbatim or with modifications and/or translated -straightforwardly into another language. (Hereinafter, translation is -included without limitation in the term "modification".) - - "Source code" for a work means the preferred form of the work for -making modifications to it. For a library, complete source code means -all the source code for all modules it contains, plus any associated -interface definition files, plus the scripts used to control compilation -and installation of the library. - - Activities other than copying, distribution and modification are not -covered by this License; they are outside its scope. The act of -running a program using the Library is not restricted, and output from -such a program is covered only if its contents constitute a work based -on the Library (independent of the use of the Library in a tool for -writing it). Whether that is true depends on what the Library does -and what the program that uses the Library does. - - 1. You may copy and distribute verbatim copies of the Library's -complete source code as you receive it, in any medium, provided that -you conspicuously and appropriately publish on each copy an -appropriate copyright notice and disclaimer of warranty; keep intact -all the notices that refer to this License and to the absence of any -warranty; and distribute a copy of this License along with the -Library. - - You may charge a fee for the physical act of transferring a copy, -and you may at your option offer warranty protection in exchange for a -fee. - - 2. You may modify your copy or copies of the Library or any portion -of it, thus forming a work based on the Library, and copy and -distribute such modifications or work under the terms of Section 1 -above, provided that you also meet all of these conditions: - - a) The modified work must itself be a software library. - - b) You must cause the files modified to carry prominent notices - stating that you changed the files and the date of any change. - - c) You must cause the whole of the work to be licensed at no - charge to all third parties under the terms of this License. - - d) If a facility in the modified Library refers to a function or a - table of data to be supplied by an application program that uses - the facility, other than as an argument passed when the facility - is invoked, then you must make a good faith effort to ensure that, - in the event an application does not supply such function or - table, the facility still operates, and performs whatever part of - its purpose remains meaningful. - - (For example, a function in a library to compute square roots has - a purpose that is entirely well-defined independent of the - application. Therefore, Subsection 2d requires that any - application-supplied function or table used by this function must - be optional: if the application does not supply it, the square - root function must still compute square roots.) - -These requirements apply to the modified work as a whole. If -identifiable sections of that work are not derived from the Library, -and can be reasonably considered independent and separate works in -themselves, then this License, and its terms, do not apply to those -sections when you distribute them as separate works. But when you -distribute the same sections as part of a whole which is a work based -on the Library, the distribution of the whole must be on the terms of -this License, whose permissions for other licensees extend to the -entire whole, and thus to each and every part regardless of who wrote -it. - -Thus, it is not the intent of this section to claim rights or contest -your rights to work written entirely by you; rather, the intent is to -exercise the right to control the distribution of derivative or -collective works based on the Library. - -In addition, mere aggregation of another work not based on the Library -with the Library (or with a work based on the Library) on a volume of -a storage or distribution medium does not bring the other work under -the scope of this License. - - 3. You may opt to apply the terms of the ordinary GNU General Public -License instead of this License to a given copy of the Library. To do -this, you must alter all the notices that refer to this License, so -that they refer to the ordinary GNU General Public License, version 2, -instead of to this License. (If a newer version than version 2 of the -ordinary GNU General Public License has appeared, then you can specify -that version instead if you wish.) Do not make any other change in -these notices. - - Once this change is made in a given copy, it is irreversible for -that copy, so the ordinary GNU General Public License applies to all -subsequent copies and derivative works made from that copy. - - This option is useful when you wish to copy part of the code of -the Library into a program that is not a library. - - 4. You may copy and distribute the Library (or a portion or -derivative of it, under Section 2) in object code or executable form -under the terms of Sections 1 and 2 above provided that you accompany -it with the complete corresponding machine-readable source code, which -must be distributed under the terms of Sections 1 and 2 above on a -medium customarily used for software interchange. - - If distribution of object code is made by offering access to copy -from a designated place, then offering equivalent access to copy the -source code from the same place satisfies the requirement to -distribute the source code, even though third parties are not -compelled to copy the source along with the object code. - - 5. A program that contains no derivative of any portion of the -Library, but is designed to work with the Library by being compiled or -linked with it, is called a "work that uses the Library". Such a -work, in isolation, is not a derivative work of the Library, and -therefore falls outside the scope of this License. - - However, linking a "work that uses the Library" with the Library -creates an executable that is a derivative of the Library (because it -contains portions of the Library), rather than a "work that uses the -library". The executable is therefore covered by this License. -Section 6 states terms for distribution of such executables. - - When a "work that uses the Library" uses material from a header file -that is part of the Library, the object code for the work may be a -derivative work of the Library even though the source code is not. -Whether this is true is especially significant if the work can be -linked without the Library, or if the work is itself a library. The -threshold for this to be true is not precisely defined by law. - - If such an object file uses only numerical parameters, data -structure layouts and accessors, and small macros and small inline -functions (ten lines or less in length), then the use of the object -file is unrestricted, regardless of whether it is legally a derivative -work. (Executables containing this object code plus portions of the -Library will still fall under Section 6.) - - Otherwise, if the work is a derivative of the Library, you may -distribute the object code for the work under the terms of Section 6. -Any executables containing that work also fall under Section 6, -whether or not they are linked directly with the Library itself. - - 6. As an exception to the Sections above, you may also combine or -link a "work that uses the Library" with the Library to produce a -work containing portions of the Library, and distribute that work -under terms of your choice, provided that the terms permit -modification of the work for the customer's own use and reverse -engineering for debugging such modifications. - - You must give prominent notice with each copy of the work that the -Library is used in it and that the Library and its use are covered by -this License. You must supply a copy of this License. If the work -during execution displays copyright notices, you must include the -copyright notice for the Library among them, as well as a reference -directing the user to the copy of this License. Also, you must do one -of these things: - - a) Accompany the work with the complete corresponding - machine-readable source code for the Library including whatever - changes were used in the work (which must be distributed under - Sections 1 and 2 above); and, if the work is an executable linked - with the Library, with the complete machine-readable "work that - uses the Library", as object code and/or source code, so that the - user can modify the Library and then relink to produce a modified - executable containing the modified Library. (It is understood - that the user who changes the contents of definitions files in the - Library will not necessarily be able to recompile the application - to use the modified definitions.) - - b) Use a suitable shared library mechanism for linking with the - Library. A suitable mechanism is one that (1) uses at run time a - copy of the library already present on the user's computer system, - rather than copying library functions into the executable, and (2) - will operate properly with a modified version of the library, if - the user installs one, as long as the modified version is - interface-compatible with the version that the work was made with. - - c) Accompany the work with a written offer, valid for at - least three years, to give the same user the materials - specified in Subsection 6a, above, for a charge no more - than the cost of performing this distribution. - - d) If distribution of the work is made by offering access to copy - from a designated place, offer equivalent access to copy the above - specified materials from the same place. - - e) Verify that the user has already received a copy of these - materials or that you have already sent this user a copy. - - For an executable, the required form of the "work that uses the -Library" must include any data and utility programs needed for -reproducing the executable from it. However, as a special exception, -the materials to be distributed need not include anything that is -normally distributed (in either source or binary form) with the major -components (compiler, kernel, and so on) of the operating system on -which the executable runs, unless that component itself accompanies -the executable. - - It may happen that this requirement contradicts the license -restrictions of other proprietary libraries that do not normally -accompany the operating system. Such a contradiction means you cannot -use both them and the Library together in an executable that you -distribute. - - 7. You may place library facilities that are a work based on the -Library side-by-side in a single library together with other library -facilities not covered by this License, and distribute such a combined -library, provided that the separate distribution of the work based on -the Library and of the other library facilities is otherwise -permitted, and provided that you do these two things: - - a) Accompany the combined library with a copy of the same work - based on the Library, uncombined with any other library - facilities. This must be distributed under the terms of the - Sections above. - - b) Give prominent notice with the combined library of the fact - that part of it is a work based on the Library, and explaining - where to find the accompanying uncombined form of the same work. - - 8. You may not copy, modify, sublicense, link with, or distribute -the Library except as expressly provided under this License. Any -attempt otherwise to copy, modify, sublicense, link with, or -distribute the Library is void, and will automatically terminate your -rights under this License. However, parties who have received copies, -or rights, from you under this License will not have their licenses -terminated so long as such parties remain in full compliance. - - 9. You are not required to accept this License, since you have not -signed it. However, nothing else grants you permission to modify or -distribute the Library or its derivative works. These actions are -prohibited by law if you do not accept this License. Therefore, by -modifying or distributing the Library (or any work based on the -Library), you indicate your acceptance of this License to do so, and -all its terms and conditions for copying, distributing or modifying -the Library or works based on it. - - 10. Each time you redistribute the Library (or any work based on the -Library), the recipient automatically receives a license from the -original licensor to copy, distribute, link with or modify the Library -subject to these terms and conditions. You may not impose any further -restrictions on the recipients' exercise of the rights granted herein. -You are not responsible for enforcing compliance by third parties with -this License. - - 11. If, as a consequence of a court judgment or allegation of patent -infringement or for any other reason (not limited to patent issues), -conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot -distribute so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you -may not distribute the Library at all. For example, if a patent -license would not permit royalty-free redistribution of the Library by -all those who receive copies directly or indirectly through you, then -the only way you could satisfy both it and this License would be to -refrain entirely from distribution of the Library. - -If any portion of this section is held invalid or unenforceable under any -particular circumstance, the balance of the section is intended to apply, -and the section as a whole is intended to apply in other circumstances. - -It is not the purpose of this section to induce you to infringe any -patents or other property right claims or to contest validity of any -such claims; this section has the sole purpose of protecting the -integrity of the free software distribution system which is -implemented by public license practices. Many people have made -generous contributions to the wide range of software distributed -through that system in reliance on consistent application of that -system; it is up to the author/donor to decide if he or she is willing -to distribute software through any other system and a licensee cannot -impose that choice. - -This section is intended to make thoroughly clear what is believed to -be a consequence of the rest of this License. - - 12. If the distribution and/or use of the Library is restricted in -certain countries either by patents or by copyrighted interfaces, the -original copyright holder who places the Library under this License may add -an explicit geographical distribution limitation excluding those countries, -so that distribution is permitted only in or among countries not thus -excluded. In such case, this License incorporates the limitation as if -written in the body of this License. - - 13. The Free Software Foundation may publish revised and/or new -versions of the Lesser General Public License from time to time. -Such new versions will be similar in spirit to the present version, -but may differ in detail to address new problems or concerns. - -Each version is given a distinguishing version number. If the Library -specifies a version number of this License which applies to it and -"any later version", you have the option of following the terms and -conditions either of that version or of any later version published by -the Free Software Foundation. If the Library does not specify a -license version number, you may choose any version ever published by -the Free Software Foundation. - - 14. If you wish to incorporate parts of the Library into other free -programs whose distribution conditions are incompatible with these, -write to the author to ask for permission. For software which is -copyrighted by the Free Software Foundation, write to the Free -Software Foundation; we sometimes make exceptions for this. Our -decision will be guided by the two goals of preserving the free status -of all derivatives of our free software and of promoting the sharing -and reuse of software generally. - - NO WARRANTY - - 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO -WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. -EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR -OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY -KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE -LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME -THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. - - 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN -WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY -AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU -FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR -CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE -LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING -RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A -FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF -SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGES. - - END OF TERMS AND CONDITIONS - diff --git a/lib/NHibernate30/net/3.5/Remotion.Data.Linq.dll b/lib/NHibernate30/net/3.5/Remotion.Data.Linq.dll deleted file mode 100644 index 14aeb2ae..00000000 Binary files a/lib/NHibernate30/net/3.5/Remotion.Data.Linq.dll and /dev/null differ diff --git a/lib/NHibernate30/net/3.5/log4net.dll b/lib/NHibernate30/net/3.5/log4net.dll deleted file mode 100644 index ffc57e11..00000000 Binary files a/lib/NHibernate30/net/3.5/log4net.dll and /dev/null differ diff --git a/lib/NHibernate30/net/3.5/log4net.license.txt b/lib/NHibernate30/net/3.5/log4net.license.txt deleted file mode 100644 index 29f81d81..00000000 --- a/lib/NHibernate30/net/3.5/log4net.license.txt +++ /dev/null @@ -1,201 +0,0 @@ - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. diff --git a/lib/NHibernate30/net/4.0/Antlr3.Runtime.dll b/lib/NHibernate30/net/4.0/Antlr3.Runtime.dll deleted file mode 100644 index fb3ac4e6..00000000 Binary files a/lib/NHibernate30/net/4.0/Antlr3.Runtime.dll and /dev/null differ diff --git a/lib/NHibernate30/net/4.0/Iesi.Collections.dll b/lib/NHibernate30/net/4.0/Iesi.Collections.dll deleted file mode 100644 index 5658af79..00000000 Binary files a/lib/NHibernate30/net/4.0/Iesi.Collections.dll and /dev/null differ diff --git a/lib/NHibernate30/net/4.0/Iesi.Collections.license.txt b/lib/NHibernate30/net/4.0/Iesi.Collections.license.txt deleted file mode 100644 index 66c4a8dc..00000000 --- a/lib/NHibernate30/net/4.0/Iesi.Collections.license.txt +++ /dev/null @@ -1,9 +0,0 @@ -Copyright © 2002-2004 by Aidant Systems, Inc., and by Jason Smith. - -Copied from http://www.codeproject.com/csharp/sets.asp#xx703510xx that was posted by JasonSmith 12:13 2 Jan '04 - -Feel free to use this code any way you want to. As a favor to me, you can leave the copyright in there. You never know when someone might recognize your name! - -If you do use the code in a commercial product, I would appreciate hearing about it. This message serves as legal notice that I won't be suing you for royalties! The code is in the public domain. - -On the other hand, I don't provide support. The code is actually simple enough that it shouldn't need it. diff --git a/lib/NHibernate30/net/4.0/NHibernate.dll b/lib/NHibernate30/net/4.0/NHibernate.dll deleted file mode 100644 index 6edb8786..00000000 Binary files a/lib/NHibernate30/net/4.0/NHibernate.dll and /dev/null differ diff --git a/lib/NHibernate30/net/4.0/NHibernate.license.txt b/lib/NHibernate30/net/4.0/NHibernate.license.txt deleted file mode 100644 index 8a88d148..00000000 --- a/lib/NHibernate30/net/4.0/NHibernate.license.txt +++ /dev/null @@ -1,460 +0,0 @@ - GNU LESSER GENERAL PUBLIC LICENSE - Version 2.1, February 1999 - - Copyright (C) 1991, 1999 Free Software Foundation, Inc. - 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - -[This is the first released version of the Lesser GPL. It also counts - as the successor of the GNU Library Public License, version 2, hence - the version number 2.1.] - - Preamble - - The licenses for most software are designed to take away your -freedom to share and change it. By contrast, the GNU General Public -Licenses are intended to guarantee your freedom to share and change -free software--to make sure the software is free for all its users. - - This license, the Lesser General Public License, applies to some -specially designated software packages--typically libraries--of the -Free Software Foundation and other authors who decide to use it. You -can use it too, but we suggest you first think carefully about whether -this license or the ordinary General Public License is the better -strategy to use in any particular case, based on the explanations below. - - When we speak of free software, we are referring to freedom of use, -not price. Our General Public Licenses are designed to make sure that -you have the freedom to distribute copies of free software (and charge -for this service if you wish); that you receive source code or can get -it if you want it; that you can change the software and use pieces of -it in new free programs; and that you are informed that you can do -these things. - - To protect your rights, we need to make restrictions that forbid -distributors to deny you these rights or to ask you to surrender these -rights. These restrictions translate to certain responsibilities for -you if you distribute copies of the library or if you modify it. - - For example, if you distribute copies of the library, whether gratis -or for a fee, you must give the recipients all the rights that we gave -you. You must make sure that they, too, receive or can get the source -code. If you link other code with the library, you must provide -complete object files to the recipients, so that they can relink them -with the library after making changes to the library and recompiling -it. And you must show them these terms so they know their rights. - - We protect your rights with a two-step method: (1) we copyright the -library, and (2) we offer you this license, which gives you legal -permission to copy, distribute and/or modify the library. - - To protect each distributor, we want to make it very clear that -there is no warranty for the free library. Also, if the library is -modified by someone else and passed on, the recipients should know -that what they have is not the original version, so that the original -author's reputation will not be affected by problems that might be -introduced by others. - - Finally, software patents pose a constant threat to the existence of -any free program. We wish to make sure that a company cannot -effectively restrict the users of a free program by obtaining a -restrictive license from a patent holder. Therefore, we insist that -any patent license obtained for a version of the library must be -consistent with the full freedom of use specified in this license. - - Most GNU software, including some libraries, is covered by the -ordinary GNU General Public License. This license, the GNU Lesser -General Public License, applies to certain designated libraries, and -is quite different from the ordinary General Public License. We use -this license for certain libraries in order to permit linking those -libraries into non-free programs. - - When a program is linked with a library, whether statically or using -a shared library, the combination of the two is legally speaking a -combined work, a derivative of the original library. The ordinary -General Public License therefore permits such linking only if the -entire combination fits its criteria of freedom. The Lesser General -Public License permits more lax criteria for linking other code with -the library. - - We call this license the "Lesser" General Public License because it -does Less to protect the user's freedom than the ordinary General -Public License. It also provides other free software developers Less -of an advantage over competing non-free programs. These disadvantages -are the reason we use the ordinary General Public License for many -libraries. However, the Lesser license provides advantages in certain -special circumstances. - - For example, on rare occasions, there may be a special need to -encourage the widest possible use of a certain library, so that it becomes -a de-facto standard. To achieve this, non-free programs must be -allowed to use the library. A more frequent case is that a free -library does the same job as widely used non-free libraries. In this -case, there is little to gain by limiting the free library to free -software only, so we use the Lesser General Public License. - - In other cases, permission to use a particular library in non-free -programs enables a greater number of people to use a large body of -free software. For example, permission to use the GNU C Library in -non-free programs enables many more people to use the whole GNU -operating system, as well as its variant, the GNU/Linux operating -system. - - Although the Lesser General Public License is Less protective of the -users' freedom, it does ensure that the user of a program that is -linked with the Library has the freedom and the wherewithal to run -that program using a modified version of the Library. - - The precise terms and conditions for copying, distribution and -modification follow. Pay close attention to the difference between a -"work based on the library" and a "work that uses the library". The -former contains code derived from the library, whereas the latter must -be combined with the library in order to run. - - GNU LESSER GENERAL PUBLIC LICENSE - TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - - 0. This License Agreement applies to any software library or other -program which contains a notice placed by the copyright holder or -other authorized party saying it may be distributed under the terms of -this Lesser General Public License (also called "this License"). -Each licensee is addressed as "you". - - A "library" means a collection of software functions and/or data -prepared so as to be conveniently linked with application programs -(which use some of those functions and data) to form executables. - - The "Library", below, refers to any such software library or work -which has been distributed under these terms. A "work based on the -Library" means either the Library or any derivative work under -copyright law: that is to say, a work containing the Library or a -portion of it, either verbatim or with modifications and/or translated -straightforwardly into another language. (Hereinafter, translation is -included without limitation in the term "modification".) - - "Source code" for a work means the preferred form of the work for -making modifications to it. For a library, complete source code means -all the source code for all modules it contains, plus any associated -interface definition files, plus the scripts used to control compilation -and installation of the library. - - Activities other than copying, distribution and modification are not -covered by this License; they are outside its scope. The act of -running a program using the Library is not restricted, and output from -such a program is covered only if its contents constitute a work based -on the Library (independent of the use of the Library in a tool for -writing it). Whether that is true depends on what the Library does -and what the program that uses the Library does. - - 1. You may copy and distribute verbatim copies of the Library's -complete source code as you receive it, in any medium, provided that -you conspicuously and appropriately publish on each copy an -appropriate copyright notice and disclaimer of warranty; keep intact -all the notices that refer to this License and to the absence of any -warranty; and distribute a copy of this License along with the -Library. - - You may charge a fee for the physical act of transferring a copy, -and you may at your option offer warranty protection in exchange for a -fee. - - 2. You may modify your copy or copies of the Library or any portion -of it, thus forming a work based on the Library, and copy and -distribute such modifications or work under the terms of Section 1 -above, provided that you also meet all of these conditions: - - a) The modified work must itself be a software library. - - b) You must cause the files modified to carry prominent notices - stating that you changed the files and the date of any change. - - c) You must cause the whole of the work to be licensed at no - charge to all third parties under the terms of this License. - - d) If a facility in the modified Library refers to a function or a - table of data to be supplied by an application program that uses - the facility, other than as an argument passed when the facility - is invoked, then you must make a good faith effort to ensure that, - in the event an application does not supply such function or - table, the facility still operates, and performs whatever part of - its purpose remains meaningful. - - (For example, a function in a library to compute square roots has - a purpose that is entirely well-defined independent of the - application. Therefore, Subsection 2d requires that any - application-supplied function or table used by this function must - be optional: if the application does not supply it, the square - root function must still compute square roots.) - -These requirements apply to the modified work as a whole. If -identifiable sections of that work are not derived from the Library, -and can be reasonably considered independent and separate works in -themselves, then this License, and its terms, do not apply to those -sections when you distribute them as separate works. But when you -distribute the same sections as part of a whole which is a work based -on the Library, the distribution of the whole must be on the terms of -this License, whose permissions for other licensees extend to the -entire whole, and thus to each and every part regardless of who wrote -it. - -Thus, it is not the intent of this section to claim rights or contest -your rights to work written entirely by you; rather, the intent is to -exercise the right to control the distribution of derivative or -collective works based on the Library. - -In addition, mere aggregation of another work not based on the Library -with the Library (or with a work based on the Library) on a volume of -a storage or distribution medium does not bring the other work under -the scope of this License. - - 3. You may opt to apply the terms of the ordinary GNU General Public -License instead of this License to a given copy of the Library. To do -this, you must alter all the notices that refer to this License, so -that they refer to the ordinary GNU General Public License, version 2, -instead of to this License. (If a newer version than version 2 of the -ordinary GNU General Public License has appeared, then you can specify -that version instead if you wish.) Do not make any other change in -these notices. - - Once this change is made in a given copy, it is irreversible for -that copy, so the ordinary GNU General Public License applies to all -subsequent copies and derivative works made from that copy. - - This option is useful when you wish to copy part of the code of -the Library into a program that is not a library. - - 4. You may copy and distribute the Library (or a portion or -derivative of it, under Section 2) in object code or executable form -under the terms of Sections 1 and 2 above provided that you accompany -it with the complete corresponding machine-readable source code, which -must be distributed under the terms of Sections 1 and 2 above on a -medium customarily used for software interchange. - - If distribution of object code is made by offering access to copy -from a designated place, then offering equivalent access to copy the -source code from the same place satisfies the requirement to -distribute the source code, even though third parties are not -compelled to copy the source along with the object code. - - 5. A program that contains no derivative of any portion of the -Library, but is designed to work with the Library by being compiled or -linked with it, is called a "work that uses the Library". Such a -work, in isolation, is not a derivative work of the Library, and -therefore falls outside the scope of this License. - - However, linking a "work that uses the Library" with the Library -creates an executable that is a derivative of the Library (because it -contains portions of the Library), rather than a "work that uses the -library". The executable is therefore covered by this License. -Section 6 states terms for distribution of such executables. - - When a "work that uses the Library" uses material from a header file -that is part of the Library, the object code for the work may be a -derivative work of the Library even though the source code is not. -Whether this is true is especially significant if the work can be -linked without the Library, or if the work is itself a library. The -threshold for this to be true is not precisely defined by law. - - If such an object file uses only numerical parameters, data -structure layouts and accessors, and small macros and small inline -functions (ten lines or less in length), then the use of the object -file is unrestricted, regardless of whether it is legally a derivative -work. (Executables containing this object code plus portions of the -Library will still fall under Section 6.) - - Otherwise, if the work is a derivative of the Library, you may -distribute the object code for the work under the terms of Section 6. -Any executables containing that work also fall under Section 6, -whether or not they are linked directly with the Library itself. - - 6. As an exception to the Sections above, you may also combine or -link a "work that uses the Library" with the Library to produce a -work containing portions of the Library, and distribute that work -under terms of your choice, provided that the terms permit -modification of the work for the customer's own use and reverse -engineering for debugging such modifications. - - You must give prominent notice with each copy of the work that the -Library is used in it and that the Library and its use are covered by -this License. You must supply a copy of this License. If the work -during execution displays copyright notices, you must include the -copyright notice for the Library among them, as well as a reference -directing the user to the copy of this License. Also, you must do one -of these things: - - a) Accompany the work with the complete corresponding - machine-readable source code for the Library including whatever - changes were used in the work (which must be distributed under - Sections 1 and 2 above); and, if the work is an executable linked - with the Library, with the complete machine-readable "work that - uses the Library", as object code and/or source code, so that the - user can modify the Library and then relink to produce a modified - executable containing the modified Library. (It is understood - that the user who changes the contents of definitions files in the - Library will not necessarily be able to recompile the application - to use the modified definitions.) - - b) Use a suitable shared library mechanism for linking with the - Library. A suitable mechanism is one that (1) uses at run time a - copy of the library already present on the user's computer system, - rather than copying library functions into the executable, and (2) - will operate properly with a modified version of the library, if - the user installs one, as long as the modified version is - interface-compatible with the version that the work was made with. - - c) Accompany the work with a written offer, valid for at - least three years, to give the same user the materials - specified in Subsection 6a, above, for a charge no more - than the cost of performing this distribution. - - d) If distribution of the work is made by offering access to copy - from a designated place, offer equivalent access to copy the above - specified materials from the same place. - - e) Verify that the user has already received a copy of these - materials or that you have already sent this user a copy. - - For an executable, the required form of the "work that uses the -Library" must include any data and utility programs needed for -reproducing the executable from it. However, as a special exception, -the materials to be distributed need not include anything that is -normally distributed (in either source or binary form) with the major -components (compiler, kernel, and so on) of the operating system on -which the executable runs, unless that component itself accompanies -the executable. - - It may happen that this requirement contradicts the license -restrictions of other proprietary libraries that do not normally -accompany the operating system. Such a contradiction means you cannot -use both them and the Library together in an executable that you -distribute. - - 7. You may place library facilities that are a work based on the -Library side-by-side in a single library together with other library -facilities not covered by this License, and distribute such a combined -library, provided that the separate distribution of the work based on -the Library and of the other library facilities is otherwise -permitted, and provided that you do these two things: - - a) Accompany the combined library with a copy of the same work - based on the Library, uncombined with any other library - facilities. This must be distributed under the terms of the - Sections above. - - b) Give prominent notice with the combined library of the fact - that part of it is a work based on the Library, and explaining - where to find the accompanying uncombined form of the same work. - - 8. You may not copy, modify, sublicense, link with, or distribute -the Library except as expressly provided under this License. Any -attempt otherwise to copy, modify, sublicense, link with, or -distribute the Library is void, and will automatically terminate your -rights under this License. However, parties who have received copies, -or rights, from you under this License will not have their licenses -terminated so long as such parties remain in full compliance. - - 9. You are not required to accept this License, since you have not -signed it. However, nothing else grants you permission to modify or -distribute the Library or its derivative works. These actions are -prohibited by law if you do not accept this License. Therefore, by -modifying or distributing the Library (or any work based on the -Library), you indicate your acceptance of this License to do so, and -all its terms and conditions for copying, distributing or modifying -the Library or works based on it. - - 10. Each time you redistribute the Library (or any work based on the -Library), the recipient automatically receives a license from the -original licensor to copy, distribute, link with or modify the Library -subject to these terms and conditions. You may not impose any further -restrictions on the recipients' exercise of the rights granted herein. -You are not responsible for enforcing compliance by third parties with -this License. - - 11. If, as a consequence of a court judgment or allegation of patent -infringement or for any other reason (not limited to patent issues), -conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot -distribute so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you -may not distribute the Library at all. For example, if a patent -license would not permit royalty-free redistribution of the Library by -all those who receive copies directly or indirectly through you, then -the only way you could satisfy both it and this License would be to -refrain entirely from distribution of the Library. - -If any portion of this section is held invalid or unenforceable under any -particular circumstance, the balance of the section is intended to apply, -and the section as a whole is intended to apply in other circumstances. - -It is not the purpose of this section to induce you to infringe any -patents or other property right claims or to contest validity of any -such claims; this section has the sole purpose of protecting the -integrity of the free software distribution system which is -implemented by public license practices. Many people have made -generous contributions to the wide range of software distributed -through that system in reliance on consistent application of that -system; it is up to the author/donor to decide if he or she is willing -to distribute software through any other system and a licensee cannot -impose that choice. - -This section is intended to make thoroughly clear what is believed to -be a consequence of the rest of this License. - - 12. If the distribution and/or use of the Library is restricted in -certain countries either by patents or by copyrighted interfaces, the -original copyright holder who places the Library under this License may add -an explicit geographical distribution limitation excluding those countries, -so that distribution is permitted only in or among countries not thus -excluded. In such case, this License incorporates the limitation as if -written in the body of this License. - - 13. The Free Software Foundation may publish revised and/or new -versions of the Lesser General Public License from time to time. -Such new versions will be similar in spirit to the present version, -but may differ in detail to address new problems or concerns. - -Each version is given a distinguishing version number. If the Library -specifies a version number of this License which applies to it and -"any later version", you have the option of following the terms and -conditions either of that version or of any later version published by -the Free Software Foundation. If the Library does not specify a -license version number, you may choose any version ever published by -the Free Software Foundation. - - 14. If you wish to incorporate parts of the Library into other free -programs whose distribution conditions are incompatible with these, -write to the author to ask for permission. For software which is -copyrighted by the Free Software Foundation, write to the Free -Software Foundation; we sometimes make exceptions for this. Our -decision will be guided by the two goals of preserving the free status -of all derivatives of our free software and of promoting the sharing -and reuse of software generally. - - NO WARRANTY - - 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO -WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. -EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR -OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY -KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE -LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME -THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. - - 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN -WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY -AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU -FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR -CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE -LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING -RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A -FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF -SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGES. - - END OF TERMS AND CONDITIONS - diff --git a/lib/NHibernate30/net/4.0/Remotion.Data.Linq.dll b/lib/NHibernate30/net/4.0/Remotion.Data.Linq.dll deleted file mode 100644 index 14aeb2ae..00000000 Binary files a/lib/NHibernate30/net/4.0/Remotion.Data.Linq.dll and /dev/null differ diff --git a/lib/NHibernate30/net/4.0/log4net.dll b/lib/NHibernate30/net/4.0/log4net.dll deleted file mode 100644 index ffc57e11..00000000 Binary files a/lib/NHibernate30/net/4.0/log4net.dll and /dev/null differ diff --git a/lib/NHibernate30/net/4.0/log4net.license.txt b/lib/NHibernate30/net/4.0/log4net.license.txt deleted file mode 100644 index 29f81d81..00000000 --- a/lib/NHibernate30/net/4.0/log4net.license.txt +++ /dev/null @@ -1,201 +0,0 @@ - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. diff --git a/lib/NHibernate31/net/3.5/Iesi.Collections.dll b/lib/NHibernate31/net/3.5/Iesi.Collections.dll deleted file mode 100644 index 848ca527..00000000 Binary files a/lib/NHibernate31/net/3.5/Iesi.Collections.dll and /dev/null differ diff --git a/lib/NHibernate31/net/3.5/Iesi.Collections.license.txt b/lib/NHibernate31/net/3.5/Iesi.Collections.license.txt deleted file mode 100644 index 66c4a8dc..00000000 --- a/lib/NHibernate31/net/3.5/Iesi.Collections.license.txt +++ /dev/null @@ -1,9 +0,0 @@ -Copyright © 2002-2004 by Aidant Systems, Inc., and by Jason Smith. - -Copied from http://www.codeproject.com/csharp/sets.asp#xx703510xx that was posted by JasonSmith 12:13 2 Jan '04 - -Feel free to use this code any way you want to. As a favor to me, you can leave the copyright in there. You never know when someone might recognize your name! - -If you do use the code in a commercial product, I would appreciate hearing about it. This message serves as legal notice that I won't be suing you for royalties! The code is in the public domain. - -On the other hand, I don't provide support. The code is actually simple enough that it shouldn't need it. diff --git a/lib/NHibernate31/net/3.5/NHibernate.dll b/lib/NHibernate31/net/3.5/NHibernate.dll deleted file mode 100644 index 21232aaa..00000000 Binary files a/lib/NHibernate31/net/3.5/NHibernate.dll and /dev/null differ diff --git a/lib/NHibernate31/net/3.5/NHibernate.license.txt b/lib/NHibernate31/net/3.5/NHibernate.license.txt deleted file mode 100644 index 8a88d148..00000000 --- a/lib/NHibernate31/net/3.5/NHibernate.license.txt +++ /dev/null @@ -1,460 +0,0 @@ - GNU LESSER GENERAL PUBLIC LICENSE - Version 2.1, February 1999 - - Copyright (C) 1991, 1999 Free Software Foundation, Inc. - 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - -[This is the first released version of the Lesser GPL. It also counts - as the successor of the GNU Library Public License, version 2, hence - the version number 2.1.] - - Preamble - - The licenses for most software are designed to take away your -freedom to share and change it. By contrast, the GNU General Public -Licenses are intended to guarantee your freedom to share and change -free software--to make sure the software is free for all its users. - - This license, the Lesser General Public License, applies to some -specially designated software packages--typically libraries--of the -Free Software Foundation and other authors who decide to use it. You -can use it too, but we suggest you first think carefully about whether -this license or the ordinary General Public License is the better -strategy to use in any particular case, based on the explanations below. - - When we speak of free software, we are referring to freedom of use, -not price. Our General Public Licenses are designed to make sure that -you have the freedom to distribute copies of free software (and charge -for this service if you wish); that you receive source code or can get -it if you want it; that you can change the software and use pieces of -it in new free programs; and that you are informed that you can do -these things. - - To protect your rights, we need to make restrictions that forbid -distributors to deny you these rights or to ask you to surrender these -rights. These restrictions translate to certain responsibilities for -you if you distribute copies of the library or if you modify it. - - For example, if you distribute copies of the library, whether gratis -or for a fee, you must give the recipients all the rights that we gave -you. You must make sure that they, too, receive or can get the source -code. If you link other code with the library, you must provide -complete object files to the recipients, so that they can relink them -with the library after making changes to the library and recompiling -it. And you must show them these terms so they know their rights. - - We protect your rights with a two-step method: (1) we copyright the -library, and (2) we offer you this license, which gives you legal -permission to copy, distribute and/or modify the library. - - To protect each distributor, we want to make it very clear that -there is no warranty for the free library. Also, if the library is -modified by someone else and passed on, the recipients should know -that what they have is not the original version, so that the original -author's reputation will not be affected by problems that might be -introduced by others. - - Finally, software patents pose a constant threat to the existence of -any free program. We wish to make sure that a company cannot -effectively restrict the users of a free program by obtaining a -restrictive license from a patent holder. Therefore, we insist that -any patent license obtained for a version of the library must be -consistent with the full freedom of use specified in this license. - - Most GNU software, including some libraries, is covered by the -ordinary GNU General Public License. This license, the GNU Lesser -General Public License, applies to certain designated libraries, and -is quite different from the ordinary General Public License. We use -this license for certain libraries in order to permit linking those -libraries into non-free programs. - - When a program is linked with a library, whether statically or using -a shared library, the combination of the two is legally speaking a -combined work, a derivative of the original library. The ordinary -General Public License therefore permits such linking only if the -entire combination fits its criteria of freedom. The Lesser General -Public License permits more lax criteria for linking other code with -the library. - - We call this license the "Lesser" General Public License because it -does Less to protect the user's freedom than the ordinary General -Public License. It also provides other free software developers Less -of an advantage over competing non-free programs. These disadvantages -are the reason we use the ordinary General Public License for many -libraries. However, the Lesser license provides advantages in certain -special circumstances. - - For example, on rare occasions, there may be a special need to -encourage the widest possible use of a certain library, so that it becomes -a de-facto standard. To achieve this, non-free programs must be -allowed to use the library. A more frequent case is that a free -library does the same job as widely used non-free libraries. In this -case, there is little to gain by limiting the free library to free -software only, so we use the Lesser General Public License. - - In other cases, permission to use a particular library in non-free -programs enables a greater number of people to use a large body of -free software. For example, permission to use the GNU C Library in -non-free programs enables many more people to use the whole GNU -operating system, as well as its variant, the GNU/Linux operating -system. - - Although the Lesser General Public License is Less protective of the -users' freedom, it does ensure that the user of a program that is -linked with the Library has the freedom and the wherewithal to run -that program using a modified version of the Library. - - The precise terms and conditions for copying, distribution and -modification follow. Pay close attention to the difference between a -"work based on the library" and a "work that uses the library". The -former contains code derived from the library, whereas the latter must -be combined with the library in order to run. - - GNU LESSER GENERAL PUBLIC LICENSE - TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - - 0. This License Agreement applies to any software library or other -program which contains a notice placed by the copyright holder or -other authorized party saying it may be distributed under the terms of -this Lesser General Public License (also called "this License"). -Each licensee is addressed as "you". - - A "library" means a collection of software functions and/or data -prepared so as to be conveniently linked with application programs -(which use some of those functions and data) to form executables. - - The "Library", below, refers to any such software library or work -which has been distributed under these terms. A "work based on the -Library" means either the Library or any derivative work under -copyright law: that is to say, a work containing the Library or a -portion of it, either verbatim or with modifications and/or translated -straightforwardly into another language. (Hereinafter, translation is -included without limitation in the term "modification".) - - "Source code" for a work means the preferred form of the work for -making modifications to it. For a library, complete source code means -all the source code for all modules it contains, plus any associated -interface definition files, plus the scripts used to control compilation -and installation of the library. - - Activities other than copying, distribution and modification are not -covered by this License; they are outside its scope. The act of -running a program using the Library is not restricted, and output from -such a program is covered only if its contents constitute a work based -on the Library (independent of the use of the Library in a tool for -writing it). Whether that is true depends on what the Library does -and what the program that uses the Library does. - - 1. You may copy and distribute verbatim copies of the Library's -complete source code as you receive it, in any medium, provided that -you conspicuously and appropriately publish on each copy an -appropriate copyright notice and disclaimer of warranty; keep intact -all the notices that refer to this License and to the absence of any -warranty; and distribute a copy of this License along with the -Library. - - You may charge a fee for the physical act of transferring a copy, -and you may at your option offer warranty protection in exchange for a -fee. - - 2. You may modify your copy or copies of the Library or any portion -of it, thus forming a work based on the Library, and copy and -distribute such modifications or work under the terms of Section 1 -above, provided that you also meet all of these conditions: - - a) The modified work must itself be a software library. - - b) You must cause the files modified to carry prominent notices - stating that you changed the files and the date of any change. - - c) You must cause the whole of the work to be licensed at no - charge to all third parties under the terms of this License. - - d) If a facility in the modified Library refers to a function or a - table of data to be supplied by an application program that uses - the facility, other than as an argument passed when the facility - is invoked, then you must make a good faith effort to ensure that, - in the event an application does not supply such function or - table, the facility still operates, and performs whatever part of - its purpose remains meaningful. - - (For example, a function in a library to compute square roots has - a purpose that is entirely well-defined independent of the - application. Therefore, Subsection 2d requires that any - application-supplied function or table used by this function must - be optional: if the application does not supply it, the square - root function must still compute square roots.) - -These requirements apply to the modified work as a whole. If -identifiable sections of that work are not derived from the Library, -and can be reasonably considered independent and separate works in -themselves, then this License, and its terms, do not apply to those -sections when you distribute them as separate works. But when you -distribute the same sections as part of a whole which is a work based -on the Library, the distribution of the whole must be on the terms of -this License, whose permissions for other licensees extend to the -entire whole, and thus to each and every part regardless of who wrote -it. - -Thus, it is not the intent of this section to claim rights or contest -your rights to work written entirely by you; rather, the intent is to -exercise the right to control the distribution of derivative or -collective works based on the Library. - -In addition, mere aggregation of another work not based on the Library -with the Library (or with a work based on the Library) on a volume of -a storage or distribution medium does not bring the other work under -the scope of this License. - - 3. You may opt to apply the terms of the ordinary GNU General Public -License instead of this License to a given copy of the Library. To do -this, you must alter all the notices that refer to this License, so -that they refer to the ordinary GNU General Public License, version 2, -instead of to this License. (If a newer version than version 2 of the -ordinary GNU General Public License has appeared, then you can specify -that version instead if you wish.) Do not make any other change in -these notices. - - Once this change is made in a given copy, it is irreversible for -that copy, so the ordinary GNU General Public License applies to all -subsequent copies and derivative works made from that copy. - - This option is useful when you wish to copy part of the code of -the Library into a program that is not a library. - - 4. You may copy and distribute the Library (or a portion or -derivative of it, under Section 2) in object code or executable form -under the terms of Sections 1 and 2 above provided that you accompany -it with the complete corresponding machine-readable source code, which -must be distributed under the terms of Sections 1 and 2 above on a -medium customarily used for software interchange. - - If distribution of object code is made by offering access to copy -from a designated place, then offering equivalent access to copy the -source code from the same place satisfies the requirement to -distribute the source code, even though third parties are not -compelled to copy the source along with the object code. - - 5. A program that contains no derivative of any portion of the -Library, but is designed to work with the Library by being compiled or -linked with it, is called a "work that uses the Library". Such a -work, in isolation, is not a derivative work of the Library, and -therefore falls outside the scope of this License. - - However, linking a "work that uses the Library" with the Library -creates an executable that is a derivative of the Library (because it -contains portions of the Library), rather than a "work that uses the -library". The executable is therefore covered by this License. -Section 6 states terms for distribution of such executables. - - When a "work that uses the Library" uses material from a header file -that is part of the Library, the object code for the work may be a -derivative work of the Library even though the source code is not. -Whether this is true is especially significant if the work can be -linked without the Library, or if the work is itself a library. The -threshold for this to be true is not precisely defined by law. - - If such an object file uses only numerical parameters, data -structure layouts and accessors, and small macros and small inline -functions (ten lines or less in length), then the use of the object -file is unrestricted, regardless of whether it is legally a derivative -work. (Executables containing this object code plus portions of the -Library will still fall under Section 6.) - - Otherwise, if the work is a derivative of the Library, you may -distribute the object code for the work under the terms of Section 6. -Any executables containing that work also fall under Section 6, -whether or not they are linked directly with the Library itself. - - 6. As an exception to the Sections above, you may also combine or -link a "work that uses the Library" with the Library to produce a -work containing portions of the Library, and distribute that work -under terms of your choice, provided that the terms permit -modification of the work for the customer's own use and reverse -engineering for debugging such modifications. - - You must give prominent notice with each copy of the work that the -Library is used in it and that the Library and its use are covered by -this License. You must supply a copy of this License. If the work -during execution displays copyright notices, you must include the -copyright notice for the Library among them, as well as a reference -directing the user to the copy of this License. Also, you must do one -of these things: - - a) Accompany the work with the complete corresponding - machine-readable source code for the Library including whatever - changes were used in the work (which must be distributed under - Sections 1 and 2 above); and, if the work is an executable linked - with the Library, with the complete machine-readable "work that - uses the Library", as object code and/or source code, so that the - user can modify the Library and then relink to produce a modified - executable containing the modified Library. (It is understood - that the user who changes the contents of definitions files in the - Library will not necessarily be able to recompile the application - to use the modified definitions.) - - b) Use a suitable shared library mechanism for linking with the - Library. A suitable mechanism is one that (1) uses at run time a - copy of the library already present on the user's computer system, - rather than copying library functions into the executable, and (2) - will operate properly with a modified version of the library, if - the user installs one, as long as the modified version is - interface-compatible with the version that the work was made with. - - c) Accompany the work with a written offer, valid for at - least three years, to give the same user the materials - specified in Subsection 6a, above, for a charge no more - than the cost of performing this distribution. - - d) If distribution of the work is made by offering access to copy - from a designated place, offer equivalent access to copy the above - specified materials from the same place. - - e) Verify that the user has already received a copy of these - materials or that you have already sent this user a copy. - - For an executable, the required form of the "work that uses the -Library" must include any data and utility programs needed for -reproducing the executable from it. However, as a special exception, -the materials to be distributed need not include anything that is -normally distributed (in either source or binary form) with the major -components (compiler, kernel, and so on) of the operating system on -which the executable runs, unless that component itself accompanies -the executable. - - It may happen that this requirement contradicts the license -restrictions of other proprietary libraries that do not normally -accompany the operating system. Such a contradiction means you cannot -use both them and the Library together in an executable that you -distribute. - - 7. You may place library facilities that are a work based on the -Library side-by-side in a single library together with other library -facilities not covered by this License, and distribute such a combined -library, provided that the separate distribution of the work based on -the Library and of the other library facilities is otherwise -permitted, and provided that you do these two things: - - a) Accompany the combined library with a copy of the same work - based on the Library, uncombined with any other library - facilities. This must be distributed under the terms of the - Sections above. - - b) Give prominent notice with the combined library of the fact - that part of it is a work based on the Library, and explaining - where to find the accompanying uncombined form of the same work. - - 8. You may not copy, modify, sublicense, link with, or distribute -the Library except as expressly provided under this License. Any -attempt otherwise to copy, modify, sublicense, link with, or -distribute the Library is void, and will automatically terminate your -rights under this License. However, parties who have received copies, -or rights, from you under this License will not have their licenses -terminated so long as such parties remain in full compliance. - - 9. You are not required to accept this License, since you have not -signed it. However, nothing else grants you permission to modify or -distribute the Library or its derivative works. These actions are -prohibited by law if you do not accept this License. Therefore, by -modifying or distributing the Library (or any work based on the -Library), you indicate your acceptance of this License to do so, and -all its terms and conditions for copying, distributing or modifying -the Library or works based on it. - - 10. Each time you redistribute the Library (or any work based on the -Library), the recipient automatically receives a license from the -original licensor to copy, distribute, link with or modify the Library -subject to these terms and conditions. You may not impose any further -restrictions on the recipients' exercise of the rights granted herein. -You are not responsible for enforcing compliance by third parties with -this License. - - 11. If, as a consequence of a court judgment or allegation of patent -infringement or for any other reason (not limited to patent issues), -conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot -distribute so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you -may not distribute the Library at all. For example, if a patent -license would not permit royalty-free redistribution of the Library by -all those who receive copies directly or indirectly through you, then -the only way you could satisfy both it and this License would be to -refrain entirely from distribution of the Library. - -If any portion of this section is held invalid or unenforceable under any -particular circumstance, the balance of the section is intended to apply, -and the section as a whole is intended to apply in other circumstances. - -It is not the purpose of this section to induce you to infringe any -patents or other property right claims or to contest validity of any -such claims; this section has the sole purpose of protecting the -integrity of the free software distribution system which is -implemented by public license practices. Many people have made -generous contributions to the wide range of software distributed -through that system in reliance on consistent application of that -system; it is up to the author/donor to decide if he or she is willing -to distribute software through any other system and a licensee cannot -impose that choice. - -This section is intended to make thoroughly clear what is believed to -be a consequence of the rest of this License. - - 12. If the distribution and/or use of the Library is restricted in -certain countries either by patents or by copyrighted interfaces, the -original copyright holder who places the Library under this License may add -an explicit geographical distribution limitation excluding those countries, -so that distribution is permitted only in or among countries not thus -excluded. In such case, this License incorporates the limitation as if -written in the body of this License. - - 13. The Free Software Foundation may publish revised and/or new -versions of the Lesser General Public License from time to time. -Such new versions will be similar in spirit to the present version, -but may differ in detail to address new problems or concerns. - -Each version is given a distinguishing version number. If the Library -specifies a version number of this License which applies to it and -"any later version", you have the option of following the terms and -conditions either of that version or of any later version published by -the Free Software Foundation. If the Library does not specify a -license version number, you may choose any version ever published by -the Free Software Foundation. - - 14. If you wish to incorporate parts of the Library into other free -programs whose distribution conditions are incompatible with these, -write to the author to ask for permission. For software which is -copyrighted by the Free Software Foundation, write to the Free -Software Foundation; we sometimes make exceptions for this. Our -decision will be guided by the two goals of preserving the free status -of all derivatives of our free software and of promoting the sharing -and reuse of software generally. - - NO WARRANTY - - 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO -WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. -EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR -OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY -KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE -LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME -THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. - - 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN -WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY -AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU -FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR -CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE -LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING -RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A -FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF -SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGES. - - END OF TERMS AND CONDITIONS - diff --git a/lib/NHibernate31/net/4.0/Iesi.Collections.dll b/lib/NHibernate31/net/4.0/Iesi.Collections.dll deleted file mode 100644 index 848ca527..00000000 Binary files a/lib/NHibernate31/net/4.0/Iesi.Collections.dll and /dev/null differ diff --git a/lib/NHibernate31/net/4.0/Iesi.Collections.license.txt b/lib/NHibernate31/net/4.0/Iesi.Collections.license.txt deleted file mode 100644 index 66c4a8dc..00000000 --- a/lib/NHibernate31/net/4.0/Iesi.Collections.license.txt +++ /dev/null @@ -1,9 +0,0 @@ -Copyright © 2002-2004 by Aidant Systems, Inc., and by Jason Smith. - -Copied from http://www.codeproject.com/csharp/sets.asp#xx703510xx that was posted by JasonSmith 12:13 2 Jan '04 - -Feel free to use this code any way you want to. As a favor to me, you can leave the copyright in there. You never know when someone might recognize your name! - -If you do use the code in a commercial product, I would appreciate hearing about it. This message serves as legal notice that I won't be suing you for royalties! The code is in the public domain. - -On the other hand, I don't provide support. The code is actually simple enough that it shouldn't need it. diff --git a/lib/NHibernate31/net/4.0/NHibernate.dll b/lib/NHibernate31/net/4.0/NHibernate.dll deleted file mode 100644 index 21232aaa..00000000 Binary files a/lib/NHibernate31/net/4.0/NHibernate.dll and /dev/null differ diff --git a/lib/NHibernate31/net/4.0/NHibernate.license.txt b/lib/NHibernate31/net/4.0/NHibernate.license.txt deleted file mode 100644 index 8a88d148..00000000 --- a/lib/NHibernate31/net/4.0/NHibernate.license.txt +++ /dev/null @@ -1,460 +0,0 @@ - GNU LESSER GENERAL PUBLIC LICENSE - Version 2.1, February 1999 - - Copyright (C) 1991, 1999 Free Software Foundation, Inc. - 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - -[This is the first released version of the Lesser GPL. It also counts - as the successor of the GNU Library Public License, version 2, hence - the version number 2.1.] - - Preamble - - The licenses for most software are designed to take away your -freedom to share and change it. By contrast, the GNU General Public -Licenses are intended to guarantee your freedom to share and change -free software--to make sure the software is free for all its users. - - This license, the Lesser General Public License, applies to some -specially designated software packages--typically libraries--of the -Free Software Foundation and other authors who decide to use it. You -can use it too, but we suggest you first think carefully about whether -this license or the ordinary General Public License is the better -strategy to use in any particular case, based on the explanations below. - - When we speak of free software, we are referring to freedom of use, -not price. Our General Public Licenses are designed to make sure that -you have the freedom to distribute copies of free software (and charge -for this service if you wish); that you receive source code or can get -it if you want it; that you can change the software and use pieces of -it in new free programs; and that you are informed that you can do -these things. - - To protect your rights, we need to make restrictions that forbid -distributors to deny you these rights or to ask you to surrender these -rights. These restrictions translate to certain responsibilities for -you if you distribute copies of the library or if you modify it. - - For example, if you distribute copies of the library, whether gratis -or for a fee, you must give the recipients all the rights that we gave -you. You must make sure that they, too, receive or can get the source -code. If you link other code with the library, you must provide -complete object files to the recipients, so that they can relink them -with the library after making changes to the library and recompiling -it. And you must show them these terms so they know their rights. - - We protect your rights with a two-step method: (1) we copyright the -library, and (2) we offer you this license, which gives you legal -permission to copy, distribute and/or modify the library. - - To protect each distributor, we want to make it very clear that -there is no warranty for the free library. Also, if the library is -modified by someone else and passed on, the recipients should know -that what they have is not the original version, so that the original -author's reputation will not be affected by problems that might be -introduced by others. - - Finally, software patents pose a constant threat to the existence of -any free program. We wish to make sure that a company cannot -effectively restrict the users of a free program by obtaining a -restrictive license from a patent holder. Therefore, we insist that -any patent license obtained for a version of the library must be -consistent with the full freedom of use specified in this license. - - Most GNU software, including some libraries, is covered by the -ordinary GNU General Public License. This license, the GNU Lesser -General Public License, applies to certain designated libraries, and -is quite different from the ordinary General Public License. We use -this license for certain libraries in order to permit linking those -libraries into non-free programs. - - When a program is linked with a library, whether statically or using -a shared library, the combination of the two is legally speaking a -combined work, a derivative of the original library. The ordinary -General Public License therefore permits such linking only if the -entire combination fits its criteria of freedom. The Lesser General -Public License permits more lax criteria for linking other code with -the library. - - We call this license the "Lesser" General Public License because it -does Less to protect the user's freedom than the ordinary General -Public License. It also provides other free software developers Less -of an advantage over competing non-free programs. These disadvantages -are the reason we use the ordinary General Public License for many -libraries. However, the Lesser license provides advantages in certain -special circumstances. - - For example, on rare occasions, there may be a special need to -encourage the widest possible use of a certain library, so that it becomes -a de-facto standard. To achieve this, non-free programs must be -allowed to use the library. A more frequent case is that a free -library does the same job as widely used non-free libraries. In this -case, there is little to gain by limiting the free library to free -software only, so we use the Lesser General Public License. - - In other cases, permission to use a particular library in non-free -programs enables a greater number of people to use a large body of -free software. For example, permission to use the GNU C Library in -non-free programs enables many more people to use the whole GNU -operating system, as well as its variant, the GNU/Linux operating -system. - - Although the Lesser General Public License is Less protective of the -users' freedom, it does ensure that the user of a program that is -linked with the Library has the freedom and the wherewithal to run -that program using a modified version of the Library. - - The precise terms and conditions for copying, distribution and -modification follow. Pay close attention to the difference between a -"work based on the library" and a "work that uses the library". The -former contains code derived from the library, whereas the latter must -be combined with the library in order to run. - - GNU LESSER GENERAL PUBLIC LICENSE - TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - - 0. This License Agreement applies to any software library or other -program which contains a notice placed by the copyright holder or -other authorized party saying it may be distributed under the terms of -this Lesser General Public License (also called "this License"). -Each licensee is addressed as "you". - - A "library" means a collection of software functions and/or data -prepared so as to be conveniently linked with application programs -(which use some of those functions and data) to form executables. - - The "Library", below, refers to any such software library or work -which has been distributed under these terms. A "work based on the -Library" means either the Library or any derivative work under -copyright law: that is to say, a work containing the Library or a -portion of it, either verbatim or with modifications and/or translated -straightforwardly into another language. (Hereinafter, translation is -included without limitation in the term "modification".) - - "Source code" for a work means the preferred form of the work for -making modifications to it. For a library, complete source code means -all the source code for all modules it contains, plus any associated -interface definition files, plus the scripts used to control compilation -and installation of the library. - - Activities other than copying, distribution and modification are not -covered by this License; they are outside its scope. The act of -running a program using the Library is not restricted, and output from -such a program is covered only if its contents constitute a work based -on the Library (independent of the use of the Library in a tool for -writing it). Whether that is true depends on what the Library does -and what the program that uses the Library does. - - 1. You may copy and distribute verbatim copies of the Library's -complete source code as you receive it, in any medium, provided that -you conspicuously and appropriately publish on each copy an -appropriate copyright notice and disclaimer of warranty; keep intact -all the notices that refer to this License and to the absence of any -warranty; and distribute a copy of this License along with the -Library. - - You may charge a fee for the physical act of transferring a copy, -and you may at your option offer warranty protection in exchange for a -fee. - - 2. You may modify your copy or copies of the Library or any portion -of it, thus forming a work based on the Library, and copy and -distribute such modifications or work under the terms of Section 1 -above, provided that you also meet all of these conditions: - - a) The modified work must itself be a software library. - - b) You must cause the files modified to carry prominent notices - stating that you changed the files and the date of any change. - - c) You must cause the whole of the work to be licensed at no - charge to all third parties under the terms of this License. - - d) If a facility in the modified Library refers to a function or a - table of data to be supplied by an application program that uses - the facility, other than as an argument passed when the facility - is invoked, then you must make a good faith effort to ensure that, - in the event an application does not supply such function or - table, the facility still operates, and performs whatever part of - its purpose remains meaningful. - - (For example, a function in a library to compute square roots has - a purpose that is entirely well-defined independent of the - application. Therefore, Subsection 2d requires that any - application-supplied function or table used by this function must - be optional: if the application does not supply it, the square - root function must still compute square roots.) - -These requirements apply to the modified work as a whole. If -identifiable sections of that work are not derived from the Library, -and can be reasonably considered independent and separate works in -themselves, then this License, and its terms, do not apply to those -sections when you distribute them as separate works. But when you -distribute the same sections as part of a whole which is a work based -on the Library, the distribution of the whole must be on the terms of -this License, whose permissions for other licensees extend to the -entire whole, and thus to each and every part regardless of who wrote -it. - -Thus, it is not the intent of this section to claim rights or contest -your rights to work written entirely by you; rather, the intent is to -exercise the right to control the distribution of derivative or -collective works based on the Library. - -In addition, mere aggregation of another work not based on the Library -with the Library (or with a work based on the Library) on a volume of -a storage or distribution medium does not bring the other work under -the scope of this License. - - 3. You may opt to apply the terms of the ordinary GNU General Public -License instead of this License to a given copy of the Library. To do -this, you must alter all the notices that refer to this License, so -that they refer to the ordinary GNU General Public License, version 2, -instead of to this License. (If a newer version than version 2 of the -ordinary GNU General Public License has appeared, then you can specify -that version instead if you wish.) Do not make any other change in -these notices. - - Once this change is made in a given copy, it is irreversible for -that copy, so the ordinary GNU General Public License applies to all -subsequent copies and derivative works made from that copy. - - This option is useful when you wish to copy part of the code of -the Library into a program that is not a library. - - 4. You may copy and distribute the Library (or a portion or -derivative of it, under Section 2) in object code or executable form -under the terms of Sections 1 and 2 above provided that you accompany -it with the complete corresponding machine-readable source code, which -must be distributed under the terms of Sections 1 and 2 above on a -medium customarily used for software interchange. - - If distribution of object code is made by offering access to copy -from a designated place, then offering equivalent access to copy the -source code from the same place satisfies the requirement to -distribute the source code, even though third parties are not -compelled to copy the source along with the object code. - - 5. A program that contains no derivative of any portion of the -Library, but is designed to work with the Library by being compiled or -linked with it, is called a "work that uses the Library". Such a -work, in isolation, is not a derivative work of the Library, and -therefore falls outside the scope of this License. - - However, linking a "work that uses the Library" with the Library -creates an executable that is a derivative of the Library (because it -contains portions of the Library), rather than a "work that uses the -library". The executable is therefore covered by this License. -Section 6 states terms for distribution of such executables. - - When a "work that uses the Library" uses material from a header file -that is part of the Library, the object code for the work may be a -derivative work of the Library even though the source code is not. -Whether this is true is especially significant if the work can be -linked without the Library, or if the work is itself a library. The -threshold for this to be true is not precisely defined by law. - - If such an object file uses only numerical parameters, data -structure layouts and accessors, and small macros and small inline -functions (ten lines or less in length), then the use of the object -file is unrestricted, regardless of whether it is legally a derivative -work. (Executables containing this object code plus portions of the -Library will still fall under Section 6.) - - Otherwise, if the work is a derivative of the Library, you may -distribute the object code for the work under the terms of Section 6. -Any executables containing that work also fall under Section 6, -whether or not they are linked directly with the Library itself. - - 6. As an exception to the Sections above, you may also combine or -link a "work that uses the Library" with the Library to produce a -work containing portions of the Library, and distribute that work -under terms of your choice, provided that the terms permit -modification of the work for the customer's own use and reverse -engineering for debugging such modifications. - - You must give prominent notice with each copy of the work that the -Library is used in it and that the Library and its use are covered by -this License. You must supply a copy of this License. If the work -during execution displays copyright notices, you must include the -copyright notice for the Library among them, as well as a reference -directing the user to the copy of this License. Also, you must do one -of these things: - - a) Accompany the work with the complete corresponding - machine-readable source code for the Library including whatever - changes were used in the work (which must be distributed under - Sections 1 and 2 above); and, if the work is an executable linked - with the Library, with the complete machine-readable "work that - uses the Library", as object code and/or source code, so that the - user can modify the Library and then relink to produce a modified - executable containing the modified Library. (It is understood - that the user who changes the contents of definitions files in the - Library will not necessarily be able to recompile the application - to use the modified definitions.) - - b) Use a suitable shared library mechanism for linking with the - Library. A suitable mechanism is one that (1) uses at run time a - copy of the library already present on the user's computer system, - rather than copying library functions into the executable, and (2) - will operate properly with a modified version of the library, if - the user installs one, as long as the modified version is - interface-compatible with the version that the work was made with. - - c) Accompany the work with a written offer, valid for at - least three years, to give the same user the materials - specified in Subsection 6a, above, for a charge no more - than the cost of performing this distribution. - - d) If distribution of the work is made by offering access to copy - from a designated place, offer equivalent access to copy the above - specified materials from the same place. - - e) Verify that the user has already received a copy of these - materials or that you have already sent this user a copy. - - For an executable, the required form of the "work that uses the -Library" must include any data and utility programs needed for -reproducing the executable from it. However, as a special exception, -the materials to be distributed need not include anything that is -normally distributed (in either source or binary form) with the major -components (compiler, kernel, and so on) of the operating system on -which the executable runs, unless that component itself accompanies -the executable. - - It may happen that this requirement contradicts the license -restrictions of other proprietary libraries that do not normally -accompany the operating system. Such a contradiction means you cannot -use both them and the Library together in an executable that you -distribute. - - 7. You may place library facilities that are a work based on the -Library side-by-side in a single library together with other library -facilities not covered by this License, and distribute such a combined -library, provided that the separate distribution of the work based on -the Library and of the other library facilities is otherwise -permitted, and provided that you do these two things: - - a) Accompany the combined library with a copy of the same work - based on the Library, uncombined with any other library - facilities. This must be distributed under the terms of the - Sections above. - - b) Give prominent notice with the combined library of the fact - that part of it is a work based on the Library, and explaining - where to find the accompanying uncombined form of the same work. - - 8. You may not copy, modify, sublicense, link with, or distribute -the Library except as expressly provided under this License. Any -attempt otherwise to copy, modify, sublicense, link with, or -distribute the Library is void, and will automatically terminate your -rights under this License. However, parties who have received copies, -or rights, from you under this License will not have their licenses -terminated so long as such parties remain in full compliance. - - 9. You are not required to accept this License, since you have not -signed it. However, nothing else grants you permission to modify or -distribute the Library or its derivative works. These actions are -prohibited by law if you do not accept this License. Therefore, by -modifying or distributing the Library (or any work based on the -Library), you indicate your acceptance of this License to do so, and -all its terms and conditions for copying, distributing or modifying -the Library or works based on it. - - 10. Each time you redistribute the Library (or any work based on the -Library), the recipient automatically receives a license from the -original licensor to copy, distribute, link with or modify the Library -subject to these terms and conditions. You may not impose any further -restrictions on the recipients' exercise of the rights granted herein. -You are not responsible for enforcing compliance by third parties with -this License. - - 11. If, as a consequence of a court judgment or allegation of patent -infringement or for any other reason (not limited to patent issues), -conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot -distribute so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you -may not distribute the Library at all. For example, if a patent -license would not permit royalty-free redistribution of the Library by -all those who receive copies directly or indirectly through you, then -the only way you could satisfy both it and this License would be to -refrain entirely from distribution of the Library. - -If any portion of this section is held invalid or unenforceable under any -particular circumstance, the balance of the section is intended to apply, -and the section as a whole is intended to apply in other circumstances. - -It is not the purpose of this section to induce you to infringe any -patents or other property right claims or to contest validity of any -such claims; this section has the sole purpose of protecting the -integrity of the free software distribution system which is -implemented by public license practices. Many people have made -generous contributions to the wide range of software distributed -through that system in reliance on consistent application of that -system; it is up to the author/donor to decide if he or she is willing -to distribute software through any other system and a licensee cannot -impose that choice. - -This section is intended to make thoroughly clear what is believed to -be a consequence of the rest of this License. - - 12. If the distribution and/or use of the Library is restricted in -certain countries either by patents or by copyrighted interfaces, the -original copyright holder who places the Library under this License may add -an explicit geographical distribution limitation excluding those countries, -so that distribution is permitted only in or among countries not thus -excluded. In such case, this License incorporates the limitation as if -written in the body of this License. - - 13. The Free Software Foundation may publish revised and/or new -versions of the Lesser General Public License from time to time. -Such new versions will be similar in spirit to the present version, -but may differ in detail to address new problems or concerns. - -Each version is given a distinguishing version number. If the Library -specifies a version number of this License which applies to it and -"any later version", you have the option of following the terms and -conditions either of that version or of any later version published by -the Free Software Foundation. If the Library does not specify a -license version number, you may choose any version ever published by -the Free Software Foundation. - - 14. If you wish to incorporate parts of the Library into other free -programs whose distribution conditions are incompatible with these, -write to the author to ask for permission. For software which is -copyrighted by the Free Software Foundation, write to the Free -Software Foundation; we sometimes make exceptions for this. Our -decision will be guided by the two goals of preserving the free status -of all derivatives of our free software and of promoting the sharing -and reuse of software generally. - - NO WARRANTY - - 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO -WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. -EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR -OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY -KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE -LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME -THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. - - 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN -WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY -AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU -FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR -CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE -LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING -RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A -FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF -SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGES. - - END OF TERMS AND CONDITIONS - diff --git a/src/Spring/Spring.Data.NHibernate21/Data/NHibernate/Bytecode/BytecodeProvider.cs b/src/Spring/Spring.Data.NHibernate/Data/NHibernate/Bytecode/BytecodeProvider.cs similarity index 96% rename from src/Spring/Spring.Data.NHibernate21/Data/NHibernate/Bytecode/BytecodeProvider.cs rename to src/Spring/Spring.Data.NHibernate/Data/NHibernate/Bytecode/BytecodeProvider.cs index d9740c6c..1015476d 100644 --- a/src/Spring/Spring.Data.NHibernate21/Data/NHibernate/Bytecode/BytecodeProvider.cs +++ b/src/Spring/Spring.Data.NHibernate/Data/NHibernate/Bytecode/BytecodeProvider.cs @@ -1,96 +1,92 @@ -#if NH_2_1 - -#region License - -/* - * Copyright © 2002-2011 the original author or authors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#endregion - -using System; -using NHibernate.Bytecode; -using NHibernate.Properties; -using NHibernate.Type; -using Spring.Objects.Factory; - -namespace Spring.Data.NHibernate.Bytecode -{ - /// - /// The Spring for .NET-backed ByteCodeprovider for NHibernate - /// - /// Fabio Maulo - public class BytecodeProvider : IBytecodeProvider - { - private readonly IListableObjectFactory listableObjectFactory; - private readonly IObjectsFactory objectsFactory; - private readonly DefaultCollectionTypeFactory collectionTypefactory; - private readonly IProxyFactoryFactory proxyFactoryFactory; - - /// - /// Creates a new bytecode Provider instance using the specified object factory - /// - /// - public BytecodeProvider(IListableObjectFactory listableObjectFactory) - { - this.listableObjectFactory = listableObjectFactory; - this.objectsFactory = new ObjectsFactory(listableObjectFactory); - this.collectionTypefactory = new DefaultCollectionTypeFactory(); - this.proxyFactoryFactory = new ProxyFactoryFactory(); - } - - /// - /// 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. - public IReflectionOptimizer GetReflectionOptimizer(Type clazz, IGetter[] getters, ISetter[] setters) - { - return new ReflectionOptimizer(listableObjectFactory, clazz, getters, setters); - } - - /// - /// The specific factory for this provider capable of - /// generating run-time proxies for lazy-loading purposes. - /// - public IProxyFactoryFactory ProxyFactoryFactory - { - get { return this.proxyFactoryFactory; } - } - - /// - /// NHibernate's object instaciator. - /// - /// - /// For entities and its implementations. - /// - public IObjectsFactory ObjectsFactory - { - get { return this.objectsFactory; } - } - - /// - /// Instanciator of NHibernate's collections default types. - /// - public ICollectionTypeFactory CollectionTypeFactory - { - get { return this.collectionTypefactory; } - } - - } -} - -#endif \ No newline at end of file +#region License + +/* + * Copyright © 2002-2011 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#endregion + +using System; +using NHibernate.Bytecode; +using NHibernate.Properties; +using NHibernate.Type; +using Spring.Objects.Factory; + +namespace Spring.Data.NHibernate.Bytecode +{ + /// + /// The Spring for .NET-backed ByteCodeprovider for NHibernate + /// + /// Fabio Maulo + public class BytecodeProvider : IBytecodeProvider + { + private readonly IListableObjectFactory listableObjectFactory; + private readonly IObjectsFactory objectsFactory; + private readonly DefaultCollectionTypeFactory collectionTypefactory; + private readonly IProxyFactoryFactory proxyFactoryFactory; + + /// + /// Creates a new bytecode Provider instance using the specified object factory + /// + /// + public BytecodeProvider(IListableObjectFactory listableObjectFactory) + { + this.listableObjectFactory = listableObjectFactory; + this.objectsFactory = new ObjectsFactory(listableObjectFactory); + this.collectionTypefactory = new DefaultCollectionTypeFactory(); + this.proxyFactoryFactory = new ProxyFactoryFactory(); + } + + /// + /// 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. + public IReflectionOptimizer GetReflectionOptimizer(Type clazz, IGetter[] getters, ISetter[] setters) + { + return new ReflectionOptimizer(listableObjectFactory, clazz, getters, setters); + } + + /// + /// The specific factory for this provider capable of + /// generating run-time proxies for lazy-loading purposes. + /// + public IProxyFactoryFactory ProxyFactoryFactory + { + get { return this.proxyFactoryFactory; } + } + + /// + /// NHibernate's object instaciator. + /// + /// + /// For entities and its implementations. + /// + public IObjectsFactory ObjectsFactory + { + get { return this.objectsFactory; } + } + + /// + /// Instanciator of NHibernate's collections default types. + /// + public ICollectionTypeFactory CollectionTypeFactory + { + get { return this.collectionTypefactory; } + } + + } +} diff --git a/src/Spring/Spring.Data.NHibernate21/Data/NHibernate/Bytecode/LazyInitializer.cs b/src/Spring/Spring.Data.NHibernate/Data/NHibernate/Bytecode/LazyInitializer.cs similarity index 96% rename from src/Spring/Spring.Data.NHibernate21/Data/NHibernate/Bytecode/LazyInitializer.cs rename to src/Spring/Spring.Data.NHibernate/Data/NHibernate/Bytecode/LazyInitializer.cs index 31f3cdc7..83fb2b53 100644 --- a/src/Spring/Spring.Data.NHibernate21/Data/NHibernate/Bytecode/LazyInitializer.cs +++ b/src/Spring/Spring.Data.NHibernate/Data/NHibernate/Bytecode/LazyInitializer.cs @@ -1,134 +1,132 @@ -#if NH_2_1 -#region License - -/* - * Copyright © 2002-2011 the original author or authors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#endregion - -using System; -using System.Reflection; -using AopAlliance.Intercept; -using NHibernate.Engine; -using NHibernate.Proxy.Poco; -using NHibernate.Type; -using Spring.Aop; -using Spring.Reflection.Dynamic; - -namespace Spring.Data.NHibernate.Bytecode -{ - /// - /// - /// - /// Fabio Maulo - [Serializable] - public class LazyInitializer : BasicLazyInitializer, IMethodInterceptor, ITargetSource - { - private static readonly MethodInfo exceptionInternalPreserveStackTrace; - - static LazyInitializer() - { - exceptionInternalPreserveStackTrace = typeof(Exception).GetMethod("InternalPreserveStackTrace", BindingFlags.Instance | BindingFlags.NonPublic); - } - - /// - /// - /// - /// - /// - /// - /// - /// - /// - public LazyInitializer(string entityName, Type persistentClass, object id, MethodInfo getIdentifierMethod, - MethodInfo setIdentifierMethod, IAbstractComponentType componentIdType, - ISessionImplementor session) - : base( - entityName, persistentClass, id, getIdentifierMethod, - setIdentifierMethod, componentIdType, session) { } - - #region Implementation of IInterceptor - - /// - /// Implement this method to perform extra treatments before and after - /// the call to the supplied . - /// - /// - ///

- /// Polite implementations would certainly like to invoke - /// . - ///

- ///
- /// - /// The method invocation that is being intercepted. - /// - /// - /// The result of the call to the - /// method of - /// the supplied ; this return value may - /// well have been intercepted by the interceptor. - /// - /// - /// If any of the interceptors in the chain or the target object itself - /// throws an exception. - /// - public object Invoke(IMethodInvocation invocation) - { - try - { - MethodInfo methodInfo = invocation.Method; - object returnValue = base.Invoke(methodInfo, invocation.Arguments, invocation.Proxy); - - if (returnValue != InvokeImplementation) - { - return returnValue; - } - - SafeMethod method = new SafeMethod(methodInfo); - return method.Invoke(GetImplementation(), invocation.Arguments); - } - catch (TargetInvocationException ex) - { - exceptionInternalPreserveStackTrace.Invoke(ex.InnerException, new Object[] { }); - throw ex.InnerException; - } - } - - #endregion - - #region Implementation of ITargetSource - - object ITargetSource.GetTarget() - { - return Target; - } - - void ITargetSource.ReleaseTarget(object target) { } - - Type ITargetSource.TargetType - { - get { return PersistentClass; } - } - - bool ITargetSource.IsStatic - { - get { return false; } - } - - #endregion - } -} -#endif \ No newline at end of file +#region License + +/* + * Copyright © 2002-2011 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#endregion + +using System; +using System.Reflection; +using AopAlliance.Intercept; +using NHibernate.Engine; +using NHibernate.Proxy.Poco; +using NHibernate.Type; +using Spring.Aop; +using Spring.Reflection.Dynamic; + +namespace Spring.Data.NHibernate.Bytecode +{ + /// + /// + /// + /// Fabio Maulo + [Serializable] + public class LazyInitializer : BasicLazyInitializer, IMethodInterceptor, ITargetSource + { + private static readonly MethodInfo exceptionInternalPreserveStackTrace; + + static LazyInitializer() + { + exceptionInternalPreserveStackTrace = typeof(Exception).GetMethod("InternalPreserveStackTrace", BindingFlags.Instance | BindingFlags.NonPublic); + } + + /// + /// + /// + /// + /// + /// + /// + /// + /// + public LazyInitializer(string entityName, Type persistentClass, object id, MethodInfo getIdentifierMethod, + MethodInfo setIdentifierMethod, IAbstractComponentType componentIdType, + ISessionImplementor session) + : base( + entityName, persistentClass, id, getIdentifierMethod, + setIdentifierMethod, componentIdType, session) { } + + #region Implementation of IInterceptor + + /// + /// Implement this method to perform extra treatments before and after + /// the call to the supplied . + /// + /// + ///

+ /// Polite implementations would certainly like to invoke + /// . + ///

+ ///
+ /// + /// The method invocation that is being intercepted. + /// + /// + /// The result of the call to the + /// method of + /// the supplied ; this return value may + /// well have been intercepted by the interceptor. + /// + /// + /// If any of the interceptors in the chain or the target object itself + /// throws an exception. + /// + public object Invoke(IMethodInvocation invocation) + { + try + { + MethodInfo methodInfo = invocation.Method; + object returnValue = base.Invoke(methodInfo, invocation.Arguments, invocation.Proxy); + + if (returnValue != InvokeImplementation) + { + return returnValue; + } + + SafeMethod method = new SafeMethod(methodInfo); + return method.Invoke(GetImplementation(), invocation.Arguments); + } + catch (TargetInvocationException ex) + { + exceptionInternalPreserveStackTrace.Invoke(ex.InnerException, new Object[] { }); + throw ex.InnerException; + } + } + + #endregion + + #region Implementation of ITargetSource + + object ITargetSource.GetTarget() + { + return Target; + } + + void ITargetSource.ReleaseTarget(object target) { } + + Type ITargetSource.TargetType + { + get { return PersistentClass; } + } + + bool ITargetSource.IsStatic + { + get { return false; } + } + + #endregion + } +} diff --git a/src/Spring/Spring.Data.NHibernate21/Data/NHibernate/Bytecode/ObjectsFactory.cs b/src/Spring/Spring.Data.NHibernate/Data/NHibernate/Bytecode/ObjectsFactory.cs similarity index 96% rename from src/Spring/Spring.Data.NHibernate21/Data/NHibernate/Bytecode/ObjectsFactory.cs rename to src/Spring/Spring.Data.NHibernate/Data/NHibernate/Bytecode/ObjectsFactory.cs index cd19baf0..209a8a95 100644 --- a/src/Spring/Spring.Data.NHibernate21/Data/NHibernate/Bytecode/ObjectsFactory.cs +++ b/src/Spring/Spring.Data.NHibernate/Data/NHibernate/Bytecode/ObjectsFactory.cs @@ -1,84 +1,82 @@ -#if NH_2_1 -#region License - -/* - * Copyright © 2002-2011 the original author or authors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#endregion - -#region Imports - -using System; - -using NHibernate.Bytecode; - -using Spring.Objects.Factory; - -#endregion - -namespace Spring.Data.NHibernate.Bytecode -{ - /// - /// - /// - /// Fabio Maulo - public class ObjectsFactory : IObjectsFactory - { - private readonly IListableObjectFactory listableObjectFactory; - - /// - /// - /// - public ObjectsFactory(IListableObjectFactory listableObjectFactory) - { - this.listableObjectFactory = listableObjectFactory; - } - - /// - /// Creates an instance of the specified type. - /// - /// The type of object to create. - /// A reference to the created object. - public object CreateInstance(Type type) - { - string[] namesForType = listableObjectFactory.GetObjectNamesForType(type); - return namesForType.Length > 0 ? listableObjectFactory.GetObject(namesForType[0], type) : Activator.CreateInstance(type); - } - - /// - /// 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 - public object CreateInstance(Type type, bool nonPublic) - { - string[] namesForType = listableObjectFactory.GetObjectNamesForType(type); - return namesForType.Length > 0 ? listableObjectFactory.GetObject(namesForType[0], type) : Activator.CreateInstance(type); - } - - /// - /// 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. - public object CreateInstance(Type type, params object[] ctorArgs) - { - return Activator.CreateInstance(type, ctorArgs); - } - - } -} -#endif \ No newline at end of file +#region License + +/* + * Copyright © 2002-2011 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#endregion + +#region Imports + +using System; + +using NHibernate.Bytecode; + +using Spring.Objects.Factory; + +#endregion + +namespace Spring.Data.NHibernate.Bytecode +{ + /// + /// + /// + /// Fabio Maulo + public class ObjectsFactory : IObjectsFactory + { + private readonly IListableObjectFactory listableObjectFactory; + + /// + /// + /// + public ObjectsFactory(IListableObjectFactory listableObjectFactory) + { + this.listableObjectFactory = listableObjectFactory; + } + + /// + /// Creates an instance of the specified type. + /// + /// The type of object to create. + /// A reference to the created object. + public object CreateInstance(Type type) + { + string[] namesForType = listableObjectFactory.GetObjectNamesForType(type); + return namesForType.Length > 0 ? listableObjectFactory.GetObject(namesForType[0], type) : Activator.CreateInstance(type); + } + + /// + /// 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 + public object CreateInstance(Type type, bool nonPublic) + { + string[] namesForType = listableObjectFactory.GetObjectNamesForType(type); + return namesForType.Length > 0 ? listableObjectFactory.GetObject(namesForType[0], type) : Activator.CreateInstance(type); + } + + /// + /// 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. + public object CreateInstance(Type type, params object[] ctorArgs) + { + return Activator.CreateInstance(type, ctorArgs); + } + + } +} diff --git a/src/Spring/Spring.Data.NHibernate21/Data/NHibernate/Bytecode/ProxyFactory.cs b/src/Spring/Spring.Data.NHibernate/Data/NHibernate/Bytecode/ProxyFactory.cs similarity index 96% rename from src/Spring/Spring.Data.NHibernate21/Data/NHibernate/Bytecode/ProxyFactory.cs rename to src/Spring/Spring.Data.NHibernate/Data/NHibernate/Bytecode/ProxyFactory.cs index 3ba34c28..26369ef9 100644 --- a/src/Spring/Spring.Data.NHibernate21/Data/NHibernate/Bytecode/ProxyFactory.cs +++ b/src/Spring/Spring.Data.NHibernate/Data/NHibernate/Bytecode/ProxyFactory.cs @@ -1,86 +1,84 @@ -#if NH_2_1 -#region License - -/* - * Copyright © 2002-2011 the original author or authors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#endregion - -using System; -using Common.Logging; -using NHibernate; -using NHibernate.Engine; -using NHibernate.Proxy; - -namespace Spring.Data.NHibernate.Bytecode -{ - /// - /// A Spring for .NET backed implementation for creating - /// NHibernate proxies. - /// - /// - /// Erich Eichinger - public class ProxyFactory : AbstractProxyFactory - { - private static readonly ILog log = LogManager.GetLogger(typeof(ProxyFactory)); - - [Serializable] - private class SerializableProxyFactory : global::Spring.Aop.Framework.ProxyFactory - { - // ensure proxy types are generated as Serializable - public override bool IsSerializable - { - get { return true; } - } - } - - #region IProxyFactory Members - - /// - /// Creates 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. - public override INHibernateProxy GetProxy(object id, ISessionImplementor session) - { - try - { - // PersistentClass = PersistentClass.IsInterface ? typeof(object) : PersistentClass - LazyInitializer initializer = new LazyInitializer(EntityName, PersistentClass, - id, GetIdentifierMethod, SetIdentifierMethod, ComponentIdType, session); - - SerializableProxyFactory proxyFactory = new SerializableProxyFactory(); - proxyFactory.Interfaces = Interfaces; - proxyFactory.TargetSource = initializer; - proxyFactory.ProxyTargetType = IsClassProxy; - proxyFactory.AddAdvice(initializer); - - object proxyInstance = proxyFactory.GetProxy(); - return (INHibernateProxy)proxyInstance; - } - catch (Exception ex) - { - log.Error("Creating a proxy instance failed", ex); - throw new HibernateException("Creating a proxy instance failed", ex); - } - } - - #endregion - } -} -#endif \ No newline at end of file +#region License + +/* + * Copyright © 2002-2011 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#endregion + +using System; +using Common.Logging; +using NHibernate; +using NHibernate.Engine; +using NHibernate.Proxy; + +namespace Spring.Data.NHibernate.Bytecode +{ + /// + /// A Spring for .NET backed implementation for creating + /// NHibernate proxies. + /// + /// + /// Erich Eichinger + public class ProxyFactory : AbstractProxyFactory + { + private static readonly ILog log = LogManager.GetLogger(typeof(ProxyFactory)); + + [Serializable] + private class SerializableProxyFactory : global::Spring.Aop.Framework.ProxyFactory + { + // ensure proxy types are generated as Serializable + public override bool IsSerializable + { + get { return true; } + } + } + + #region IProxyFactory Members + + /// + /// Creates 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. + public override INHibernateProxy GetProxy(object id, ISessionImplementor session) + { + try + { + // PersistentClass = PersistentClass.IsInterface ? typeof(object) : PersistentClass + LazyInitializer initializer = new LazyInitializer(EntityName, PersistentClass, + id, GetIdentifierMethod, SetIdentifierMethod, ComponentIdType, session); + + SerializableProxyFactory proxyFactory = new SerializableProxyFactory(); + proxyFactory.Interfaces = Interfaces; + proxyFactory.TargetSource = initializer; + proxyFactory.ProxyTargetType = IsClassProxy; + proxyFactory.AddAdvice(initializer); + + object proxyInstance = proxyFactory.GetProxy(); + return (INHibernateProxy)proxyInstance; + } + catch (Exception ex) + { + log.Error("Creating a proxy instance failed", ex); + throw new HibernateException("Creating a proxy instance failed", ex); + } + } + + #endregion + } +} diff --git a/src/Spring/Spring.Data.NHibernate21/Data/NHibernate/Bytecode/ProxyFactoryFactory.cs b/src/Spring/Spring.Data.NHibernate/Data/NHibernate/Bytecode/ProxyFactoryFactory.cs similarity index 95% rename from src/Spring/Spring.Data.NHibernate21/Data/NHibernate/Bytecode/ProxyFactoryFactory.cs rename to src/Spring/Spring.Data.NHibernate/Data/NHibernate/Bytecode/ProxyFactoryFactory.cs index cd81e4a0..7f0c7980 100644 --- a/src/Spring/Spring.Data.NHibernate21/Data/NHibernate/Bytecode/ProxyFactoryFactory.cs +++ b/src/Spring/Spring.Data.NHibernate/Data/NHibernate/Bytecode/ProxyFactoryFactory.cs @@ -1,69 +1,67 @@ -#if NH_2_1 -#region License - -/* - * Copyright © 2002-2011 the original author or authors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#endregion - -#region Imports - -using System; -using NHibernate.Bytecode; -using NHibernate.Proxy; - -#endregion - -namespace Spring.Data.NHibernate.Bytecode -{ - /// - /// Creates a Spring for .NET backed instance. - /// - /// Erich Eichinger - public class ProxyFactoryFactory : IProxyFactoryFactory - { - /// - /// Build a proxy factory specifically for handling runtime lazy loading. - /// - /// The lazy-load proxy factory. - public IProxyFactory BuildProxyFactory() - { - return new ProxyFactory(); - } - - /// - /// - public bool IsInstrumented(Type entityClass) - { - return false; - } - - /// - /// - public bool IsProxy(object entity) - { - return (entity is INHibernateProxy); - } - - /// - /// - public IProxyValidator ProxyValidator - { - get { return new DynProxyTypeValidator(); } - } - } -} -#endif \ No newline at end of file +#region License + +/* + * Copyright © 2002-2011 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#endregion + +#region Imports + +using System; +using NHibernate.Bytecode; +using NHibernate.Proxy; + +#endregion + +namespace Spring.Data.NHibernate.Bytecode +{ + /// + /// Creates a Spring for .NET backed instance. + /// + /// Erich Eichinger + public class ProxyFactoryFactory : IProxyFactoryFactory + { + /// + /// Build a proxy factory specifically for handling runtime lazy loading. + /// + /// The lazy-load proxy factory. + public IProxyFactory BuildProxyFactory() + { + return new ProxyFactory(); + } + + /// + /// + public bool IsInstrumented(Type entityClass) + { + return false; + } + + /// + /// + public bool IsProxy(object entity) + { + return (entity is INHibernateProxy); + } + + /// + /// + public IProxyValidator ProxyValidator + { + get { return new DynProxyTypeValidator(); } + } + } +} diff --git a/src/Spring/Spring.Data.NHibernate21/Data/NHibernate/Bytecode/ReflectionOptimizer.cs b/src/Spring/Spring.Data.NHibernate/Data/NHibernate/Bytecode/ReflectionOptimizer.cs similarity index 96% rename from src/Spring/Spring.Data.NHibernate21/Data/NHibernate/Bytecode/ReflectionOptimizer.cs rename to src/Spring/Spring.Data.NHibernate/Data/NHibernate/Bytecode/ReflectionOptimizer.cs index c816d8b8..eb4c93e3 100644 --- a/src/Spring/Spring.Data.NHibernate21/Data/NHibernate/Bytecode/ReflectionOptimizer.cs +++ b/src/Spring/Spring.Data.NHibernate/Data/NHibernate/Bytecode/ReflectionOptimizer.cs @@ -1,81 +1,79 @@ -#if NH_2_1 -#region License - -/* - * Copyright © 2002-2011 the original author or authors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#endregion - -#region Imports - -using System; - -using NHibernate.Properties; - -using Spring.Objects.Factory; - -#endregion - -namespace Spring.Data.NHibernate.Bytecode -{ - /// - /// - /// - /// Fabio Maulo - public class ReflectionOptimizer : global::NHibernate.Bytecode.Lightweight.ReflectionOptimizer - { - private readonly IListableObjectFactory listableObjectFactory; - - /// - /// - /// - /// - /// - /// - public ReflectionOptimizer(IListableObjectFactory listableObjectFactory, Type mappedType, IGetter[] getters, - ISetter[] setters) - : base(mappedType, getters, setters) - { - this.listableObjectFactory = listableObjectFactory; - } - - /// - /// Perform instantiation of an instance of the underlying class. - /// - /// The new instance. - public override object CreateInstance() - { - string[] namesForType = listableObjectFactory.GetObjectNamesForType(mappedType); - if (namesForType.Length > 0) - { - return listableObjectFactory.GetObject(namesForType[0], mappedType); - } - else - { - return base.CreateInstance(); - } - } - - /// - /// - /// - /// - protected override void ThrowExceptionForNoDefaultCtor(Type type) - { - } - } -} -#endif \ No newline at end of file +#region License + +/* + * Copyright © 2002-2011 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#endregion + +#region Imports + +using System; + +using NHibernate.Properties; + +using Spring.Objects.Factory; + +#endregion + +namespace Spring.Data.NHibernate.Bytecode +{ + /// + /// + /// + /// Fabio Maulo + public class ReflectionOptimizer : global::NHibernate.Bytecode.Lightweight.ReflectionOptimizer + { + private readonly IListableObjectFactory listableObjectFactory; + + /// + /// + /// + /// + /// + /// + public ReflectionOptimizer(IListableObjectFactory listableObjectFactory, Type mappedType, IGetter[] getters, + ISetter[] setters) + : base(mappedType, getters, setters) + { + this.listableObjectFactory = listableObjectFactory; + } + + /// + /// Perform instantiation of an instance of the underlying class. + /// + /// The new instance. + public override object CreateInstance() + { + string[] namesForType = listableObjectFactory.GetObjectNamesForType(mappedType); + if (namesForType.Length > 0) + { + return listableObjectFactory.GetObject(namesForType[0], mappedType); + } + else + { + return base.CreateInstance(); + } + } + + /// + /// + /// + /// + protected override void ThrowExceptionForNoDefaultCtor(Type type) + { + } + } +} diff --git a/src/Spring/Spring.Data.NHibernate21/Data/NHibernate/DelegatingLocalSessionFactoryObject.cs b/src/Spring/Spring.Data.NHibernate/Data/NHibernate/DelegatingLocalSessionFactoryObject.cs similarity index 97% rename from src/Spring/Spring.Data.NHibernate21/Data/NHibernate/DelegatingLocalSessionFactoryObject.cs rename to src/Spring/Spring.Data.NHibernate/Data/NHibernate/DelegatingLocalSessionFactoryObject.cs index 02bb319b..03e68234 100644 --- a/src/Spring/Spring.Data.NHibernate21/Data/NHibernate/DelegatingLocalSessionFactoryObject.cs +++ b/src/Spring/Spring.Data.NHibernate/Data/NHibernate/DelegatingLocalSessionFactoryObject.cs @@ -1,51 +1,51 @@ -using System.Data; -using System.Collections; -using System.Collections.Generic; - -using NHibernate; -using NHibernate.Cfg; -using NHibernate.Connection; - -using Spring.Data.NHibernate; - -namespace Spring.Data.NHibernate -{ - /// - /// Delegates to an implementation of ISessionFactory that can select among multiple instances based on - /// thread local storage. - /// - public class DelegatingLocalSessionFactoryObject : LocalSessionFactoryObject - { - /// - /// Subclasses can override this method to perform custom initialization - /// of the SessionFactory instance, creating it via the given Configuration - /// object that got prepared by this LocalSessionFactoryObject. - /// - /// - ///

The default implementation invokes Configuration's BuildSessionFactory. - /// A custom implementation could prepare the instance in a specific way, - /// or use a custom ISessionFactory subclass. - ///

- ///
- /// The ISessionFactory instance. - protected override ISessionFactory NewSessionFactory(Configuration config) - { - return new SimpleDelegatingSessionFactory(config); - } - - /// - /// PostProcessConfiguration - /// - /// - protected override void PostProcessConfiguration(Configuration config) - { - // called before NewSessionFactory - if (!config.Properties.ContainsKey(Environment.ConnectionString)) - { - throw new System.ArgumentException("Must specify connection string"); - } - } - - } - +using System.Data; +using System.Collections; +using System.Collections.Generic; + +using NHibernate; +using NHibernate.Cfg; +using NHibernate.Connection; + +using Spring.Data.NHibernate; + +namespace Spring.Data.NHibernate +{ + /// + /// Delegates to an implementation of ISessionFactory that can select among multiple instances based on + /// thread local storage. + /// + public class DelegatingLocalSessionFactoryObject : LocalSessionFactoryObject + { + /// + /// Subclasses can override this method to perform custom initialization + /// of the SessionFactory instance, creating it via the given Configuration + /// object that got prepared by this LocalSessionFactoryObject. + /// + /// + ///

The default implementation invokes Configuration's BuildSessionFactory. + /// A custom implementation could prepare the instance in a specific way, + /// or use a custom ISessionFactory subclass. + ///

+ ///
+ /// The ISessionFactory instance. + protected override ISessionFactory NewSessionFactory(Configuration config) + { + return new SimpleDelegatingSessionFactory(config); + } + + /// + /// PostProcessConfiguration + /// + /// + protected override void PostProcessConfiguration(Configuration config) + { + // called before NewSessionFactory + if (!config.Properties.ContainsKey(Environment.ConnectionString)) + { + throw new System.ArgumentException("Must specify connection string"); + } + } + + } + } \ No newline at end of file diff --git a/src/Spring/Spring.Data.NHibernate21/Data/NHibernate/DelegatingSessionFactory.cs b/src/Spring/Spring.Data.NHibernate/Data/NHibernate/DelegatingSessionFactory.cs similarity index 96% rename from src/Spring/Spring.Data.NHibernate21/Data/NHibernate/DelegatingSessionFactory.cs rename to src/Spring/Spring.Data.NHibernate/Data/NHibernate/DelegatingSessionFactory.cs index b038ebff..9cf34e57 100644 --- a/src/Spring/Spring.Data.NHibernate21/Data/NHibernate/DelegatingSessionFactory.cs +++ b/src/Spring/Spring.Data.NHibernate/Data/NHibernate/DelegatingSessionFactory.cs @@ -1,167 +1,167 @@ -using System.Data; -using System.Collections; -using System.Collections.Generic; - -using NHibernate; -using NHibernate.Cfg; -using NHibernate.Connection; -using NHibernate.Dialect; -using NHibernate.Engine; -using NHibernate.Metadata; -using NHibernate.Stat; - -namespace Spring.Data.NHibernate -{ -#pragma warning disable 1591 - /// - /// DelegatingSessionFactory class - /// - public abstract class DelegatingSessionFactory : ISessionFactory - { - public ICollection DefinedFilterNames - { - get { return TargetSessionFactory.DefinedFilterNames; } - } - - public bool IsClosed - { - get { return TargetSessionFactory.IsClosed; } - } - - public IStatistics Statistics - { - get { return TargetSessionFactory.Statistics; } - } - - public abstract ISessionFactory TargetSessionFactory - { - get; - } - - public void Close() - { - TargetSessionFactory.Close(); - } - - public void Dispose() - { - TargetSessionFactory.Dispose(); - } - - public void Evict(System.Type persistentClass, object id) - { - TargetSessionFactory.Evict(persistentClass, id); - } - - public void Evict(System.Type persistentClass) - { - TargetSessionFactory.Evict(persistentClass); - } - - public void EvictCollection(string roleName, object id) - { - TargetSessionFactory.EvictCollection(roleName, id); - } - - public void EvictCollection(string roleName) - { - TargetSessionFactory.EvictCollection(roleName); - } - - public void EvictEntity(string entityName) - { - TargetSessionFactory.EvictEntity(entityName); - } - - public void EvictEntity(string entityName, object id) - { - TargetSessionFactory.EvictEntity(entityName, id); - } - - public void EvictQueries(string cacheRegion) - { - TargetSessionFactory.EvictQueries(cacheRegion); - } - - public void EvictQueries() - { - TargetSessionFactory.EvictQueries(); - } - - public IDictionary GetAllClassMetadata() - { - return TargetSessionFactory.GetAllClassMetadata(); - } - - public IDictionary GetAllCollectionMetadata() - { - return TargetSessionFactory.GetAllCollectionMetadata(); - } - - public IClassMetadata GetClassMetadata(System.Type persistentType) - { - return TargetSessionFactory.GetClassMetadata(persistentType); - } - - public IClassMetadata GetClassMetadata(string entityName) - { - return TargetSessionFactory.GetClassMetadata(entityName); - } - - public ICollectionMetadata GetCollectionMetadata(string roleName) - { - return TargetSessionFactory.GetCollectionMetadata(roleName); - } - - public ISession GetCurrentSession() - { - return TargetSessionFactory.GetCurrentSession(); - } - - public FilterDefinition GetFilterDefinition(string filterName) - { - return TargetSessionFactory.GetFilterDefinition(filterName); - } - - public ISession OpenSession(IInterceptor interceptor) - { - return TargetSessionFactory.OpenSession(interceptor); - } - - public ISession OpenSession() - { - return TargetSessionFactory.OpenSession(); - } - - public ISession OpenSession(IDbConnection conn, IInterceptor interceptor) - { - return TargetSessionFactory.OpenSession(conn, interceptor); - } - - public ISession OpenSession(IDbConnection conn) - { - return TargetSessionFactory.OpenSession(conn); - } - - public IStatelessSession OpenStatelessSession() - { - return TargetSessionFactory.OpenStatelessSession(); - } - - public IStatelessSession OpenStatelessSession(IDbConnection connection) - { - return TargetSessionFactory.OpenStatelessSession(connection); - } - - IDictionary ISessionFactory.GetAllClassMetadata() - { - return TargetSessionFactory.GetAllClassMetadata(); - } - - IDictionary ISessionFactory.GetAllCollectionMetadata() - { - return TargetSessionFactory.GetAllCollectionMetadata(); - } - - } -} +using System.Data; +using System.Collections; +using System.Collections.Generic; + +using NHibernate; +using NHibernate.Cfg; +using NHibernate.Connection; +using NHibernate.Dialect; +using NHibernate.Engine; +using NHibernate.Metadata; +using NHibernate.Stat; + +namespace Spring.Data.NHibernate +{ +#pragma warning disable 1591 + /// + /// DelegatingSessionFactory class + /// + public abstract class DelegatingSessionFactory : ISessionFactory + { + public ICollection DefinedFilterNames + { + get { return TargetSessionFactory.DefinedFilterNames; } + } + + public bool IsClosed + { + get { return TargetSessionFactory.IsClosed; } + } + + public IStatistics Statistics + { + get { return TargetSessionFactory.Statistics; } + } + + public abstract ISessionFactory TargetSessionFactory + { + get; + } + + public void Close() + { + TargetSessionFactory.Close(); + } + + public void Dispose() + { + TargetSessionFactory.Dispose(); + } + + public void Evict(System.Type persistentClass, object id) + { + TargetSessionFactory.Evict(persistentClass, id); + } + + public void Evict(System.Type persistentClass) + { + TargetSessionFactory.Evict(persistentClass); + } + + public void EvictCollection(string roleName, object id) + { + TargetSessionFactory.EvictCollection(roleName, id); + } + + public void EvictCollection(string roleName) + { + TargetSessionFactory.EvictCollection(roleName); + } + + public void EvictEntity(string entityName) + { + TargetSessionFactory.EvictEntity(entityName); + } + + public void EvictEntity(string entityName, object id) + { + TargetSessionFactory.EvictEntity(entityName, id); + } + + public void EvictQueries(string cacheRegion) + { + TargetSessionFactory.EvictQueries(cacheRegion); + } + + public void EvictQueries() + { + TargetSessionFactory.EvictQueries(); + } + + public IDictionary GetAllClassMetadata() + { + return TargetSessionFactory.GetAllClassMetadata(); + } + + public IDictionary GetAllCollectionMetadata() + { + return TargetSessionFactory.GetAllCollectionMetadata(); + } + + public IClassMetadata GetClassMetadata(System.Type persistentType) + { + return TargetSessionFactory.GetClassMetadata(persistentType); + } + + public IClassMetadata GetClassMetadata(string entityName) + { + return TargetSessionFactory.GetClassMetadata(entityName); + } + + public ICollectionMetadata GetCollectionMetadata(string roleName) + { + return TargetSessionFactory.GetCollectionMetadata(roleName); + } + + public ISession GetCurrentSession() + { + return TargetSessionFactory.GetCurrentSession(); + } + + public FilterDefinition GetFilterDefinition(string filterName) + { + return TargetSessionFactory.GetFilterDefinition(filterName); + } + + public ISession OpenSession(IInterceptor interceptor) + { + return TargetSessionFactory.OpenSession(interceptor); + } + + public ISession OpenSession() + { + return TargetSessionFactory.OpenSession(); + } + + public ISession OpenSession(IDbConnection conn, IInterceptor interceptor) + { + return TargetSessionFactory.OpenSession(conn, interceptor); + } + + public ISession OpenSession(IDbConnection conn) + { + return TargetSessionFactory.OpenSession(conn); + } + + public IStatelessSession OpenStatelessSession() + { + return TargetSessionFactory.OpenStatelessSession(); + } + + public IStatelessSession OpenStatelessSession(IDbConnection connection) + { + return TargetSessionFactory.OpenStatelessSession(connection); + } + + IDictionary ISessionFactory.GetAllClassMetadata() + { + return TargetSessionFactory.GetAllClassMetadata(); + } + + IDictionary ISessionFactory.GetAllCollectionMetadata() + { + return TargetSessionFactory.GetAllCollectionMetadata(); + } + + } +} diff --git a/src/Spring/Spring.Data.NHibernate20/Data/NHibernate/FilterDefiniitionFactoryObject.cs b/src/Spring/Spring.Data.NHibernate/Data/NHibernate/FilterDefinitionFactoryObject.cs similarity index 94% rename from src/Spring/Spring.Data.NHibernate20/Data/NHibernate/FilterDefiniitionFactoryObject.cs rename to src/Spring/Spring.Data.NHibernate/Data/NHibernate/FilterDefinitionFactoryObject.cs index 06d460f6..3d9e00ea 100644 --- a/src/Spring/Spring.Data.NHibernate20/Data/NHibernate/FilterDefiniitionFactoryObject.cs +++ b/src/Spring/Spring.Data.NHibernate/Data/NHibernate/FilterDefinitionFactoryObject.cs @@ -1,182 +1,178 @@ -#region License - -/* - * Copyright © 2002-2011 the original author or authors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#endregion - -#region Imports - -using System; -using System.Collections; -using System.Collections.Generic; -using NHibernate.Engine; -using NHibernate.Type; - -using Spring.Objects.Factory; - -#endregion - -namespace Spring.Data.NHibernate -{ - /// - /// Convenient FactoryObject for defining Hibernate FilterDefinitions. - /// Exposes a corresponding Hibernate FilterDefinition object. - /// - /// - /// - ///

- /// Typically defined as an inner object within a LocalSessionFactoryObject - /// definition, as the list element for the "filterDefinitions" object property. - /// For example: - ///

- /// - ///
-    /// <objectn id="sessionFactory" type="Spring.Data.NHibernate.LocalSessionFactoryObject, Spring.Data.NHibernate">
-    ///   ...
-    ///   <property name="FilterDefinitions">
-    ///    <list>
-    ///       <object type="Spring.Data.NHibernate.FilterDefinitionFactoryObject, Spring.Data.NHibernate">
-    ///         <property name="FilterName" value="myFilter"/>
-    ///         <property name="ParameterTypes">
-    ///           <props>
-    ///             <prop key="MyParam">string</prop>
-    ///             <prop key="MyOtherParam">long</prop>
-    ///           </props>
-    ///         </property>
-    ///       </object>
-    ///     </list>
-    ///   </property>
-    ///   ...
-    /// </object>
-    /// 
- ///

- /// Alternatively, specify an object id (or name) attribute for the inner object, - /// instead of the "FilterName" property. - ///

- ///
- /// Juergen Hoeller - /// Marko Lahma (.NET) - /// - /// - /// $Id: FilterDefiniitionFactoryObject.cs,v 1.1 2008/04/07 20:12:53 lahma Exp $ - public class FilterDefinitionFactoryObject : IFactoryObject, IObjectNameAware, IInitializingObject - { - private string filterName; - - private IDictionary parameterTypeMap = new Dictionary(); - - private string defaultFilterCondition; - - private FilterDefinition filterDefinition; - - /// - /// Set the name of the filter. - /// - public string FilterName - { - set { this.filterName = value; } - } - - /// - /// Set the parameter types for the filter, - /// with parameter names as keys and type names as values. - /// - /// - public IDictionary ParameterTypes - { - set - { - if (value != null) - { - this.parameterTypeMap = new Dictionary(value.Count); - foreach (DictionaryEntry entry in value) - { - string paramName = (string) entry.Key; - string typeName = (string) entry.Value; - this.parameterTypeMap.Add(paramName, TypeFactory.HeuristicType(typeName)); - } - } - else - { - this.parameterTypeMap = new Dictionary(); - } - } - } - - /// - /// Specify a default filter condition for the filter, if any. - /// - public string DefaultFilterCondition - { - set { this.defaultFilterCondition = value; } - } - - /// - /// If no explicit filter name has been specified, the object name of - /// the FilterDefinitionFactoryObject will be used. - /// - /// - public string ObjectName - { - set - { - if (this.filterName == null) - { - this.filterName = value; - } - } - } - - /// - /// Initializes the filter definitions. - /// - public void AfterPropertiesSet() - { -#if NH_2_1 - this.filterDefinition = new FilterDefinition(this.filterName, this.defaultFilterCondition, this.parameterTypeMap, true); -#else - this.filterDefinition = new FilterDefinition(this.filterName, this.defaultFilterCondition, this.parameterTypeMap); -#endif - } - - /// - /// Returns the singleton filter definition. - /// - /// - public object GetObject() - { - return this.filterDefinition; - } - - /// - /// Returns the type of the object this factory produces. - /// - public Type ObjectType - { - get { return typeof(FilterDefinition); } - } - - /// - /// Returns whether this factory produces singletons, always true. - /// - public bool IsSingleton - { - get { return true; } - } - - } +#region License + +/* + * Copyright © 2002-2011 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#endregion + +#region Imports + +using System; +using System.Collections; +using System.Collections.Generic; +using NHibernate.Engine; +using NHibernate.Type; + +using Spring.Objects.Factory; + +#endregion + +namespace Spring.Data.NHibernate +{ + /// + /// Convenient FactoryObject for defining Hibernate FilterDefinitions. + /// Exposes a corresponding Hibernate FilterDefinition object. + /// + /// + /// + ///

+ /// Typically defined as an inner object within a LocalSessionFactoryObject + /// definition, as the list element for the "filterDefinitions" object property. + /// For example: + ///

+ /// + ///
+    /// <objectn id="sessionFactory" type="Spring.Data.NHibernate.LocalSessionFactoryObject, Spring.Data.NHibernate">
+    ///   ...
+    ///   <property name="FilterDefinitions">
+    ///    <list>
+    ///       <object type="Spring.Data.NHibernate.FilterDefinitionFactoryObject, Spring.Data.NHibernate">
+    ///         <property name="FilterName" value="myFilter"/>
+    ///         <property name="ParameterTypes">
+    ///           <props>
+    ///             <prop key="MyParam">string</prop>
+    ///             <prop key="MyOtherParam">long</prop>
+    ///           </props>
+    ///         </property>
+    ///       </object>
+    ///     </list>
+    ///   </property>
+    ///   ...
+    /// </object>
+    /// 
+ ///

+ /// Alternatively, specify an object id (or name) attribute for the inner object, + /// instead of the "FilterName" property. + ///

+ ///
+ /// Juergen Hoeller + /// Marko Lahma (.NET) + /// + /// + /// $Id: FilterDefiniitionFactoryObject.cs,v 1.1 2008/04/07 20:12:53 lahma Exp $ + public class FilterDefinitionFactoryObject : IFactoryObject, IObjectNameAware, IInitializingObject + { + private string filterName; + + private IDictionary parameterTypeMap = new Dictionary(); + + private string defaultFilterCondition; + + private FilterDefinition filterDefinition; + + /// + /// Set the name of the filter. + /// + public string FilterName + { + set { this.filterName = value; } + } + + /// + /// Set the parameter types for the filter, + /// with parameter names as keys and type names as values. + /// + /// + public IDictionary ParameterTypes + { + set + { + if (value != null) + { + this.parameterTypeMap = new Dictionary(value.Count); + foreach (DictionaryEntry entry in value) + { + string paramName = (string) entry.Key; + string typeName = (string) entry.Value; + this.parameterTypeMap.Add(paramName, TypeFactory.HeuristicType(typeName)); + } + } + else + { + this.parameterTypeMap = new Dictionary(); + } + } + } + + /// + /// Specify a default filter condition for the filter, if any. + /// + public string DefaultFilterCondition + { + set { this.defaultFilterCondition = value; } + } + + /// + /// If no explicit filter name has been specified, the object name of + /// the FilterDefinitionFactoryObject will be used. + /// + /// + public string ObjectName + { + set + { + if (this.filterName == null) + { + this.filterName = value; + } + } + } + + /// + /// Initializes the filter definitions. + /// + public void AfterPropertiesSet() + { + this.filterDefinition = new FilterDefinition(this.filterName, this.defaultFilterCondition, this.parameterTypeMap, true); + } + + /// + /// Returns the singleton filter definition. + /// + /// + public object GetObject() + { + return this.filterDefinition; + } + + /// + /// Returns the type of the object this factory produces. + /// + public Type ObjectType + { + get { return typeof(FilterDefinition); } + } + + /// + /// Returns whether this factory produces singletons, always true. + /// + public bool IsSingleton + { + get { return true; } + } + + } } \ No newline at end of file diff --git a/src/Spring/Spring.Data.NHibernate12/Data/NHibernate/Generic/FindHibernateDelegate.cs b/src/Spring/Spring.Data.NHibernate/Data/NHibernate/Generic/FindHibernateDelegate.cs similarity index 96% rename from src/Spring/Spring.Data.NHibernate12/Data/NHibernate/Generic/FindHibernateDelegate.cs rename to src/Spring/Spring.Data.NHibernate/Data/NHibernate/Generic/FindHibernateDelegate.cs index a5faab19..c291ba2d 100644 --- a/src/Spring/Spring.Data.NHibernate12/Data/NHibernate/Generic/FindHibernateDelegate.cs +++ b/src/Spring/Spring.Data.NHibernate/Data/NHibernate/Generic/FindHibernateDelegate.cs @@ -1,45 +1,45 @@ -#region License - -/* - * Copyright © 2002-2011 the original author or authors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#endregion - -#region Imports - -using NHibernate; -using System.Collections.Generic; - -#endregion - -namespace Spring.Data.NHibernate.Generic -{ - /// - /// Gets called by HibernateTemplate with an active - /// Hibernate Session. Does not need to care about activating or closing - /// the Session, or handling transactions. - /// - /// - ///

- /// Allows for returning an IList of result objects created within the callback. - /// Note that there's special support for single step actions: - /// see HibernateTemplate.find etc. - ///

- ///
- /// The type of result object - /// Sree Nivask (.NET) - public delegate IList FindHibernateDelegate(ISession session); -} +#region License + +/* + * Copyright © 2002-2011 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#endregion + +#region Imports + +using NHibernate; +using System.Collections.Generic; + +#endregion + +namespace Spring.Data.NHibernate.Generic +{ + /// + /// Gets called by HibernateTemplate with an active + /// Hibernate Session. Does not need to care about activating or closing + /// the Session, or handling transactions. + /// + /// + ///

+ /// Allows for returning an IList of result objects created within the callback. + /// Note that there's special support for single step actions: + /// see HibernateTemplate.find etc. + ///

+ ///
+ /// The type of result object + /// Sree Nivask (.NET) + public delegate IList FindHibernateDelegate(ISession session); +} diff --git a/src/Spring/Spring.Data.NHibernate12/Data/NHibernate/Generic/HibernateDaoSupport.cs b/src/Spring/Spring.Data.NHibernate/Data/NHibernate/Generic/HibernateDaoSupport.cs similarity index 97% rename from src/Spring/Spring.Data.NHibernate12/Data/NHibernate/Generic/HibernateDaoSupport.cs rename to src/Spring/Spring.Data.NHibernate/Data/NHibernate/Generic/HibernateDaoSupport.cs index d01b8536..741bf506 100644 --- a/src/Spring/Spring.Data.NHibernate12/Data/NHibernate/Generic/HibernateDaoSupport.cs +++ b/src/Spring/Spring.Data.NHibernate/Data/NHibernate/Generic/HibernateDaoSupport.cs @@ -1,234 +1,234 @@ -#region License - -/* - * Copyright © 2002-2011 the original author or authors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#endregion - -#region Imports - -using System; -using NHibernate; -using Spring.Dao; -using Spring.Dao.Support; - -#endregion - -namespace Spring.Data.NHibernate.Generic.Support -{ - /// - /// Convenient super class for Hibernate data access objects. - /// - /// - /// Requires a SessionFactory to be set, providing a HibernateTemplate - /// based on it to subclasses. Can alternatively be initialized directly with - /// a HibernateTemplate, to reuse the latter's settings such as the SessionFactory, - /// exception translator, flush mode, etc - /// - /// This base call is mainly intended for HibernateTemplate usage. - /// - /// This class will create its own HibernateTemplate if only a SessionFactory - /// is passed in. The "allowCreate" flag on that HibernateTemplate will be "true" - /// by default. A custom HibernateTemplate instance can be used through overriding - /// CreateHibernateTemplate. - /// - /// - /// Sree Nivask (.NET) - /// Mark Pollack (.NET) - public abstract class HibernateDaoSupport : DaoSupport - { - #region Fields - - private HibernateTemplate hibernateTemplate; - - #endregion - - #region Constructor (s) - /// - /// Initializes a new instance of the class. - /// - public HibernateDaoSupport() - { - - } - - #endregion - - #region Properties - - /// - /// Gets or sets the hibernate template. - /// - /// Set the HibernateTemplate for this DAO explicitly, - /// as an alternative to specifying a SessionFactory. - /// - /// The hibernate template. - public HibernateTemplate HibernateTemplate - { - get - { - return hibernateTemplate; - } - set - { - hibernateTemplate = value; - } - } - - /// - /// Gets or sets the session factory to be used by this DAO. - /// Will automatically create a HibernateTemplate for the given SessionFactory. - /// - /// The session factory. - public ISessionFactory SessionFactory - { - get - { - return (this.hibernateTemplate != null ? this.hibernateTemplate.SessionFactory : null); - } - set - { - hibernateTemplate = CreateHibernateTemplate(value); - } - } - - /// - /// Get a Hibernate Session, either from the current transaction or a new one. - /// The latter is only allowed if the "allowCreate" setting of this object's - /// HibernateTemplate is true. - /// - /// - ///

Note that this is not meant to be invoked from HibernateTemplate code - /// but rather just in plain Hibernate code. Use it in combination with - /// ReleaseSession. - ///

- ///

In general, it is recommended to use HibernateTemplate, either with - /// the provided convenience operations or with a custom HibernateCallback - /// that provides you with a Session to work on. HibernateTemplate will care - /// for all resource management and for proper exception conversion. - ///

- ///
- /// The Hibernate session. - public ISession Session - { - get - { - return DoGetSession(HibernateTemplate.AllowCreate); - } - } - - #endregion - - #region Methods - - /// - /// Create a HibernateTemplate for the given ISessionFactory. - /// - /// - /// Only invoked if populating the DAO with a ISessionFactory reference! - ///

Can be overridden in subclasses to provide a HibernateTemplate instance - /// with different configuration, or a custom HibernateTemplate subclass. - ///

- ///
- /// The new HibernateTemplate instance - protected virtual HibernateTemplate CreateHibernateTemplate(ISessionFactory sessionFactory) - { - return new HibernateTemplate(sessionFactory); - } - - /// - /// Check if the hibernate template property has been set. - /// - /// If HibernateTemplate property is null. - protected override void CheckDaoConfig() - { - if (this.hibernateTemplate == null) - { - throw new ArgumentException("sessionFactory or hibernateTemplate is required"); - } - } - /// - /// Get a Hibernate Session, either from the current transaction or - /// a new one. The latter is only allowed if "allowCreate" is true. - /// - /// Note that this is not meant to be invoked from HibernateTemplate code - /// but rather just in plain Hibernate code. Either rely on a thread-bound - /// Session (via HibernateInterceptor), or use it in combination with - /// ReleaseSession. - /// - /// In general, it is recommended to use HibernateTemplate, either with - /// the provided convenience operations or with a custom HibernateCallback - /// that provides you with a Session to work on. HibernateTemplate will care - /// for all resource management and for proper exception conversion. - /// - /// - /// if a non-transactional Session should be created when no - /// transactional Session can be found for the current thread - /// - /// Hibernate session. - /// - /// If the Session couldn't be created - /// - /// - /// if no thread-bound Session found and allowCreate false - /// - /// - protected ISession DoGetSession(bool allowCreate) - { - return (!allowCreate ? - SessionFactoryUtils.GetSession(SessionFactory, false) : - SessionFactoryUtils.GetSession( - SessionFactory, - this.hibernateTemplate.EntityInterceptor, - this.hibernateTemplate.AdoExceptionTranslator)); - } - - /// - /// Convert the given HibernateException to an appropriate exception from the - /// org.springframework.dao hierarchy. Will automatically detect - /// wrapped ADO.NET Exceptions and convert them accordingly. - /// - /// HibernateException that occured. - /// - /// The corresponding DataAccessException instance - /// - /// - /// The default implementation delegates to SessionFactoryUtils - /// and convertAdoAccessException. Can be overridden in subclasses. - /// - protected DataAccessException ConvertHibernateAccessException(HibernateException ex) - { - return hibernateTemplate.ConvertHibernateAccessException(ex); - } - - /// - /// Close the given Hibernate Session, created via this DAO's SessionFactory, - /// if it isn't bound to the thread. - /// - /// - /// Typically used in plain Hibernate code, in combination with the - /// Session property and ConvertHibernateAccessException. - /// - /// The session to close. - protected void ReleaseSession(ISession session) - { - SessionFactoryUtils.ReleaseSession(session, SessionFactory); - } - #endregion - - - } -} +#region License + +/* + * Copyright © 2002-2011 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#endregion + +#region Imports + +using System; +using NHibernate; +using Spring.Dao; +using Spring.Dao.Support; + +#endregion + +namespace Spring.Data.NHibernate.Generic.Support +{ + /// + /// Convenient super class for Hibernate data access objects. + /// + /// + /// Requires a SessionFactory to be set, providing a HibernateTemplate + /// based on it to subclasses. Can alternatively be initialized directly with + /// a HibernateTemplate, to reuse the latter's settings such as the SessionFactory, + /// exception translator, flush mode, etc + /// + /// This base call is mainly intended for HibernateTemplate usage. + /// + /// This class will create its own HibernateTemplate if only a SessionFactory + /// is passed in. The "allowCreate" flag on that HibernateTemplate will be "true" + /// by default. A custom HibernateTemplate instance can be used through overriding + /// CreateHibernateTemplate. + /// + /// + /// Sree Nivask (.NET) + /// Mark Pollack (.NET) + public abstract class HibernateDaoSupport : DaoSupport + { + #region Fields + + private HibernateTemplate hibernateTemplate; + + #endregion + + #region Constructor (s) + /// + /// Initializes a new instance of the class. + /// + public HibernateDaoSupport() + { + + } + + #endregion + + #region Properties + + /// + /// Gets or sets the hibernate template. + /// + /// Set the HibernateTemplate for this DAO explicitly, + /// as an alternative to specifying a SessionFactory. + /// + /// The hibernate template. + public HibernateTemplate HibernateTemplate + { + get + { + return hibernateTemplate; + } + set + { + hibernateTemplate = value; + } + } + + /// + /// Gets or sets the session factory to be used by this DAO. + /// Will automatically create a HibernateTemplate for the given SessionFactory. + /// + /// The session factory. + public ISessionFactory SessionFactory + { + get + { + return (this.hibernateTemplate != null ? this.hibernateTemplate.SessionFactory : null); + } + set + { + hibernateTemplate = CreateHibernateTemplate(value); + } + } + + /// + /// Get a Hibernate Session, either from the current transaction or a new one. + /// The latter is only allowed if the "allowCreate" setting of this object's + /// HibernateTemplate is true. + /// + /// + ///

Note that this is not meant to be invoked from HibernateTemplate code + /// but rather just in plain Hibernate code. Use it in combination with + /// ReleaseSession. + ///

+ ///

In general, it is recommended to use HibernateTemplate, either with + /// the provided convenience operations or with a custom HibernateCallback + /// that provides you with a Session to work on. HibernateTemplate will care + /// for all resource management and for proper exception conversion. + ///

+ ///
+ /// The Hibernate session. + public ISession Session + { + get + { + return DoGetSession(HibernateTemplate.AllowCreate); + } + } + + #endregion + + #region Methods + + /// + /// Create a HibernateTemplate for the given ISessionFactory. + /// + /// + /// Only invoked if populating the DAO with a ISessionFactory reference! + ///

Can be overridden in subclasses to provide a HibernateTemplate instance + /// with different configuration, or a custom HibernateTemplate subclass. + ///

+ ///
+ /// The new HibernateTemplate instance + protected virtual HibernateTemplate CreateHibernateTemplate(ISessionFactory sessionFactory) + { + return new HibernateTemplate(sessionFactory); + } + + /// + /// Check if the hibernate template property has been set. + /// + /// If HibernateTemplate property is null. + protected override void CheckDaoConfig() + { + if (this.hibernateTemplate == null) + { + throw new ArgumentException("sessionFactory or hibernateTemplate is required"); + } + } + /// + /// Get a Hibernate Session, either from the current transaction or + /// a new one. The latter is only allowed if "allowCreate" is true. + /// + /// Note that this is not meant to be invoked from HibernateTemplate code + /// but rather just in plain Hibernate code. Either rely on a thread-bound + /// Session (via HibernateInterceptor), or use it in combination with + /// ReleaseSession. + /// + /// In general, it is recommended to use HibernateTemplate, either with + /// the provided convenience operations or with a custom HibernateCallback + /// that provides you with a Session to work on. HibernateTemplate will care + /// for all resource management and for proper exception conversion. + /// + /// + /// if a non-transactional Session should be created when no + /// transactional Session can be found for the current thread + /// + /// Hibernate session. + /// + /// If the Session couldn't be created + /// + /// + /// if no thread-bound Session found and allowCreate false + /// + /// + protected ISession DoGetSession(bool allowCreate) + { + return (!allowCreate ? + SessionFactoryUtils.GetSession(SessionFactory, false) : + SessionFactoryUtils.GetSession( + SessionFactory, + this.hibernateTemplate.EntityInterceptor, + this.hibernateTemplate.AdoExceptionTranslator)); + } + + /// + /// Convert the given HibernateException to an appropriate exception from the + /// org.springframework.dao hierarchy. Will automatically detect + /// wrapped ADO.NET Exceptions and convert them accordingly. + /// + /// HibernateException that occured. + /// + /// The corresponding DataAccessException instance + /// + /// + /// The default implementation delegates to SessionFactoryUtils + /// and convertAdoAccessException. Can be overridden in subclasses. + /// + protected DataAccessException ConvertHibernateAccessException(HibernateException ex) + { + return hibernateTemplate.ConvertHibernateAccessException(ex); + } + + /// + /// Close the given Hibernate Session, created via this DAO's SessionFactory, + /// if it isn't bound to the thread. + /// + /// + /// Typically used in plain Hibernate code, in combination with the + /// Session property and ConvertHibernateAccessException. + /// + /// The session to close. + protected void ReleaseSession(ISession session) + { + SessionFactoryUtils.ReleaseSession(session, SessionFactory); + } + #endregion + + + } +} diff --git a/src/Spring/Spring.Data.NHibernate12/Data/NHibernate/Generic/HibernateDelegate.cs b/src/Spring/Spring.Data.NHibernate/Data/NHibernate/Generic/HibernateDelegate.cs similarity index 96% rename from src/Spring/Spring.Data.NHibernate12/Data/NHibernate/Generic/HibernateDelegate.cs rename to src/Spring/Spring.Data.NHibernate/Data/NHibernate/Generic/HibernateDelegate.cs index a9e60987..70e0c897 100644 --- a/src/Spring/Spring.Data.NHibernate12/Data/NHibernate/Generic/HibernateDelegate.cs +++ b/src/Spring/Spring.Data.NHibernate/Data/NHibernate/Generic/HibernateDelegate.cs @@ -1,44 +1,44 @@ -#region License - -/* - * Copyright © 2002-2011 the original author or authors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#endregion - -#region Imports - -using NHibernate; - -#endregion - -namespace Spring.Data.NHibernate.Generic -{ - /// - /// Gets called by HibernateTemplate with an active - /// Hibernate Session. Does not need to care about activating or closing - /// the Session, or handling transactions. - /// - /// - ///

- /// Allows for returning the result object created within the callback. - /// Note that there's special support for single step actions: - /// see HibernateTemplate.find etc. - ///

- ///
- /// The type of result object - /// Sree Nivask (.NET) - public delegate T HibernateDelegate(ISession session); -} +#region License + +/* + * Copyright © 2002-2011 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#endregion + +#region Imports + +using NHibernate; + +#endregion + +namespace Spring.Data.NHibernate.Generic +{ + /// + /// Gets called by HibernateTemplate with an active + /// Hibernate Session. Does not need to care about activating or closing + /// the Session, or handling transactions. + /// + /// + ///

+ /// Allows for returning the result object created within the callback. + /// Note that there's special support for single step actions: + /// see HibernateTemplate.find etc. + ///

+ ///
+ /// The type of result object + /// Sree Nivask (.NET) + public delegate T HibernateDelegate(ISession session); +} diff --git a/src/Spring/Spring.Data.NHibernate12/Data/NHibernate/Generic/HibernateTemplate.cs b/src/Spring/Spring.Data.NHibernate/Data/NHibernate/Generic/HibernateTemplate.cs similarity index 97% rename from src/Spring/Spring.Data.NHibernate12/Data/NHibernate/Generic/HibernateTemplate.cs rename to src/Spring/Spring.Data.NHibernate/Data/NHibernate/Generic/HibernateTemplate.cs index 08fc3df4..2d36b613 100644 --- a/src/Spring/Spring.Data.NHibernate12/Data/NHibernate/Generic/HibernateTemplate.cs +++ b/src/Spring/Spring.Data.NHibernate/Data/NHibernate/Generic/HibernateTemplate.cs @@ -1,1726 +1,1726 @@ -#region License - -/* - * Copyright © 2002-2011 the original author or authors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#endregion - -#region Imports - -using System; -using System.Collections.Generic; -using NHibernate; -using NHibernate.Type; -using Spring.Aop.Framework; -using Spring.Dao; -using Spring.Data.Common; -using Spring.Data.Support; -using Spring.Objects.Factory; - -#endregion - -namespace Spring.Data.NHibernate.Generic -{ - /// - /// Generic version of the Helper class that simplifies NHibernate data access code - /// - /// - ///

Typically used to implement data access or business logic services that - /// use NHibernate within their implementation but are Hibernate-agnostic in their - /// interface. The latter or code calling the latter only have to deal with - /// domain objects.

- /// - ///

The central method is Execute() supporting Hibernate access code which - /// implements the HibernateCallback interface. It provides NHibernate Session - /// handling such that neither the IHibernateCallback implementation nor the calling - /// code needs to explicitly care about retrieving/closing NHibernate Sessions, - /// or handling Session lifecycle exceptions. For typical single step actions, - /// there are various convenience methods (Find, Load, SaveOrUpdate, Delete). - ///

- /// - ///

Can be used within a service implementation via direct instantiation - /// with a ISessionFactory reference, or get prepared in an application context - /// and given to services as an object reference. Note: The ISessionFactory should - /// always be configured as an object in the application context, in the first case - /// given to the service directly, in the second case to the prepared template. - ///

- /// - ///

This class can be considered as a direct alternative to working with the raw - /// Hibernate Session API (through SessionFactoryUtils.Session). - ///

- /// - ///

LocalSessionFactoryObject is the preferred way of obtaining a reference - /// to a specific NHibernate ISessionFactory. - ///

- ///
- /// Sree Nivask (.NET) - /// Mark Pollack (.NET) - public class HibernateTemplate : HibernateAccessor, IHibernateOperations - { - #region Fields - - NHibernate.HibernateTemplate classicHibernateTemplate; - - #endregion - - #region Constructor (s) - - /// - /// Initializes a new instance of the class. - /// - public HibernateTemplate() - { - classicHibernateTemplate = new NHibernate.HibernateTemplate(); - } - - /// - /// Initializes a new instance of the class. - /// - /// Allows creation of a new non-transactional session when no - /// transactional Session can be found for the current thread - /// The session factory to create sessions. - public HibernateTemplate(ISessionFactory sessionFactory) - { - classicHibernateTemplate = new Spring.Data.NHibernate.HibernateTemplate(sessionFactory); - AfterPropertiesSet(); - } - - /// - /// Initializes a new instance of the class. - /// - /// The session factory to create sessions. - /// if set to true allow creation - /// of a new non-transactional session when no transactional Session can be found - /// for the current thread. - public HibernateTemplate(ISessionFactory sessionFactory, bool allowCreate) - { - classicHibernateTemplate = new Spring.Data.NHibernate.HibernateTemplate(sessionFactory, allowCreate); - AfterPropertiesSet(); - } - - /// - /// Gets or sets if a new Session should be created when no transactional Session - /// can be found for the current thread. - /// - /// - /// true if allowed to create non-transaction session; - /// otherwise, false. - /// - /// - ///

HibernateTemplate is aware of a corresponding Session bound to the - /// current thread, for example when using HibernateTransactionManager. - /// If allowCreate is true, a new non-transactional Session will be created - /// if none found, which needs to be closed at the end of the operation. - /// If false, an InvalidOperationException will get thrown in this case. - ///

- ///
- public override bool AllowCreate - { - get { return classicHibernateTemplate.AllowCreate; } - set { classicHibernateTemplate.AllowCreate = value; } - } - /// - /// Gets or sets a value indicating whether to always - /// use a new Hibernate Session for this template. - /// - /// true if always use new session; otherwise, false. - /// - ///

- /// Default is "false"; if activated, all operations on this template will - /// work on a new NHibernate ISession even in case of a pre-bound ISession - /// (for example, within a transaction). - ///

- ///

Within a transaction, a new NHibernate ISession used by this template - /// will participate in the transaction through using the same ADO.NET - /// Connection. In such a scenario, multiple Sessions will participate - /// in the same database transaction. - ///

- ///

Turn this on for operations that are supposed to always execute - /// independently, without side effects caused by a shared NHibernate ISession. - ///

- ///
- public override bool AlwaysUseNewSession - { - get { return classicHibernateTemplate.AlwaysUseNewSession; } - set { classicHibernateTemplate.AlwaysUseNewSession = value; } - } - - - /// - /// Set whether to expose the native Hibernate Session to IHibernateCallback - /// code. Default is "false": a Session proxy will be returned, - /// suppressing close calls and automatically applying - /// query cache settings and transaction timeouts. - /// - /// true if expose native session; otherwise, false. - public override bool ExposeNativeSession - { - get { return classicHibernateTemplate.ExposeNativeSession; } - set { classicHibernateTemplate.ExposeNativeSession = value; } - } - - /// - /// Gets or sets the template flush mode. - /// - /// - /// Default is Auto. Will get applied to any new ISession - /// created by the template. - /// - /// The template flush mode. - public override TemplateFlushMode TemplateFlushMode - { - get { return classicHibernateTemplate.TemplateFlushMode; } - set { classicHibernateTemplate.TemplateFlushMode = value; } - } - - /// - /// Gets or sets the entity interceptor that allows to inspect and change - /// property values before writing to and reading from the database. - /// - /// - /// Will get applied to any new ISession created by this object. - ///

Such an interceptor can either be set at the ISessionFactory level, - /// i.e. on LocalSessionFactoryObject, or at the ISession level, i.e. on - /// HibernateTemplate, HibernateInterceptor, and HibernateTransactionManager. - /// It's preferable to set it on LocalSessionFactoryObject or HibernateTransactionManager - /// to avoid repeated configuration and guarantee consistent behavior in transactions. - ///

- ///
- /// The interceptor. - public override IInterceptor EntityInterceptor - { - get { return classicHibernateTemplate.EntityInterceptor; } - set { classicHibernateTemplate.EntityInterceptor = value; } - } - - /// - /// Set the object name of a Hibernate entity interceptor that allows to inspect - /// and change property values before writing to and reading from the database. - /// - /// - /// Will get applied to any new Session created by this transaction manager. - ///

Requires the object factory to be known, to be able to resolve the object - /// name to an interceptor instance on session creation. Typically used for - /// prototype interceptors, i.e. a new interceptor instance per session. - ///

- ///

Can also be used for shared interceptor instances, but it is recommended - /// to set the interceptor reference directly in such a scenario. - ///

- ///
- /// The name of the entity interceptor in the object factory/application context. - public override string EntityInterceptorObjectName - { - set { classicHibernateTemplate.EntityInterceptorObjectName = value;} - } - - /// - /// Gets or sets the session factory that should be used to create - /// NHibernate ISessions. - /// - /// The session factory. - public override ISessionFactory SessionFactory - { - get { return classicHibernateTemplate.SessionFactory; } - set { classicHibernateTemplate.SessionFactory = value; } - } - - /// - /// Set the object factory instance. - /// - /// The object factory instance - public override IObjectFactory ObjectFactory - { - set { classicHibernateTemplate.ObjectFactory = value; } - } - - /// - /// Gets or sets a value indicating whether to - /// cache all queries executed by this template. - /// - /// - /// If this is true, all IQuery and ICriteria objects created by - /// this template will be marked as cacheable (including all - /// queries through find methods). - ///

To specify the query region to be used for queries cached - /// by this template, set the QueryCacheRegion property. - ///

- ///
- /// true if cache queries; otherwise, false. - public override bool CacheQueries - { - get { return classicHibernateTemplate.CacheQueries; } - set { classicHibernateTemplate.CacheQueries = value; } - } - - /// - /// Gets or sets the name of the cache region for queries executed by this template. - /// - /// - /// If this is specified, it will be applied to all IQuery and ICriteria objects - /// created by this template (including all queries through find methods). - ///

The cache region will not take effect unless queries created by this - /// template are configured to be cached via the CacheQueries property. - ///

- ///
- /// The query cache region. - public override string QueryCacheRegion - { - get { return classicHibernateTemplate.QueryCacheRegion; } - set { classicHibernateTemplate.QueryCacheRegion = value; } - } - - /// - /// Gets or sets the fetch size for this HibernateTemplate. - /// - /// The size of the fetch. - /// This is important for processing - /// large result sets: Setting this higher than the default value will increase - /// processing speed at the cost of memory consumption; setting this lower can - /// avoid transferring row data that will never be read by the application. - ///

Default is 0, indicating to use the driver's default.

- ///
- public override int FetchSize - { - get { return classicHibernateTemplate.FetchSize; } - set { classicHibernateTemplate.FetchSize = value; } - } - - /// - /// Gets or sets the maximum number of rows for this HibernateTemplate. - /// - /// The max results. - /// - /// This is important - /// for processing subsets of large result sets, avoiding to read and hold - /// the entire result set in the database or in the ADO.NET driver if we're - /// never interested in the entire result in the first place (for example, - /// when performing searches that might return a large number of matches). - ///

Default is 0, indicating to use the driver's default.

- ///
- public override int MaxResults - { - get { return classicHibernateTemplate.MaxResults; } - set { classicHibernateTemplate.MaxResults = value; } - } - - /// - /// Set the ADO.NET exception translator for this instance. - /// Applied to System.Data.Common.DbException (or provider specific exception type - /// in .NET 1.1) thrown by callback code, be it direct - /// DbException or wrapped Hibernate ADOExceptions. - ///

The default exception translator is either a ErrorCodeExceptionTranslator - /// if a DbProvider is available, or a FalbackExceptionTranslator otherwise - ///

- ///
- /// The ADO exception translator. - public override IAdoExceptionTranslator AdoExceptionTranslator - { - get { return classicHibernateTemplate.AdoExceptionTranslator; } - set { classicHibernateTemplate.AdoExceptionTranslator = value; } - } - - /// - /// Gets the classic hibernate template for access to non-generic methods. - /// - /// The classic hibernate template. - public NHibernate.HibernateTemplate ClassicHibernateTemplate - { - get { return classicHibernateTemplate; } - } - - /// - /// Gets or sets the proxy factory. - /// - /// This may be useful to set if you create many instances of - /// HibernateTemplate and/or HibernateDaoSupport. This allows the same - /// ProxyFactory implementation to be used thereby limiting the - /// number of dynamic proxy types created in the temporary assembly, which - /// are never garbage collected due to .NET runtime semantics. - /// - /// The proxy factory. - public virtual ProxyFactory ProxyFactory - { - get { return classicHibernateTemplate.ProxyFactory; } - set { classicHibernateTemplate.ProxyFactory = value; } - } - - #endregion - - #region Properties - - - - - #endregion - - #region Methods - - /// - /// Remove all objects from the Session cache, and cancel all pending saves, - /// updates and deletes. - /// - public void Clear() - { - classicHibernateTemplate.Clear(); - } - - - /// - /// Delete the given persistent instance. - /// - /// The persistent instance to delete. - /// In case of Hibernate errors - public void Delete(object entity) - { - classicHibernateTemplate.Delete(entity); - } - - - /// - /// Delete the given persistent instance. - /// - /// Tthe persistent instance to delete. - /// The lock mode to obtain. - /// - /// Obtains the specified lock mode if the instance exists, implicitly - /// checking whether the corresponding database entry still exists - /// (throwing an OptimisticLockingFailureException if not found). - /// - /// In case of Hibernate errors - public void Delete(object entity, LockMode lockMode) - { - classicHibernateTemplate.Delete(entity, lockMode); - } - - /// - /// Delete all objects returned by the query. - /// - /// a query expressed in Hibernate's query language. - /// The number of entity instances deleted. - /// In case of Hibernate errors - public int Delete(string queryString) - { - return classicHibernateTemplate.Delete(queryString); - } - - /// - /// Delete all objects returned by the query. - /// - /// a query expressed in Hibernate's query language. - /// The value of the parameter. - /// The Hibernate type of the parameter (or null). - /// The number of entity instances deleted. - /// In case of Hibernate errors - public int Delete(string queryString, object value, IType type) - { - return classicHibernateTemplate.Delete(queryString, value, type); - } - - /// - /// Delete all objects returned by the query. - /// - /// a query expressed in Hibernate's query language. - /// The values of the parameters. - /// Hibernate types of the parameters (or null) - /// The number of entity instances deleted. - /// In case of Hibernate errors - public int Delete(string queryString, object[] values, IType[] types) - { - return classicHibernateTemplate.Delete(queryString, values, types); - } - - /// - /// Flush all pending saves, updates and deletes to the database. - /// - /// - /// Only invoke this for selective eager flushing, for example when ADO.NET code - /// needs to see certain changes within the same transaction. Else, it's preferable - /// to rely on auto-flushing at transaction completion. - /// - /// In case of Hibernate errors - public void Flush() - { - classicHibernateTemplate.Flush(); - } - - /// - /// Load the persistent instance with the given identifier - /// into the given object, throwing an exception if not found. - /// - /// Entity the object (of the target class) to load into. - /// An identifier of the persistent instance. - /// If object not found. - /// In case of Hibernate errors - public void Load(object entity, object id) - { - classicHibernateTemplate.Load(entity, id); - } - - /// - /// Re-read the state of the given persistent instance. - /// - /// The persistent instance to re-read. - /// In case of Hibernate errors - public void Refresh(object entity) - { - classicHibernateTemplate.Refresh(entity); - } - - /// - /// Re-read the state of the given persistent instance. - /// Obtains the specified lock mode for the instance. - /// - /// The persistent instance to re-read. - /// The lock mode to obtain. - /// In case of Hibernate errors - public void Refresh(object entity, LockMode lockMode) - { - classicHibernateTemplate.Refresh(entity, lockMode); - } - - /// - /// Determines whether the given object is in the Session cache. - /// - /// the persistence instance to check. - /// - /// true if session cache contains the specified entity; otherwise, false. - /// - /// In case of Hibernate errors - public bool Contains(object entity) - { - return classicHibernateTemplate.Contains(entity); - } - - /// - /// Remove the given object from the Session cache. - /// - /// The persistent instance to evict. - /// In case of Hibernate errors - public void Evict(object entity) - { - classicHibernateTemplate.Evict(entity); - } - - /// - /// Obtain the specified lock level upon the given object, implicitly - /// checking whether the corresponding database entry still exists - /// (throwing an OptimisticLockingFailureException if not found). - /// - /// The he persistent instance to lock. - /// The lock mode to obtain. - /// If not found - /// In case of Hibernate errors - public void Lock(object entity, LockMode lockMode) - { - classicHibernateTemplate.Lock(entity, lockMode); - } - - /// - /// Persist the given transient instance. - /// - /// The transient instance to persist. - /// The generated identifier. - /// In case of Hibernate errors - public object Save(object entity) - { - return classicHibernateTemplate.Save(entity); - } - - /// - /// Persist the given transient instance with the given identifier. - /// - /// The transient instance to persist. - /// The identifier to assign. - /// In case of Hibernate errors - public void Save(object entity, object id) - { - classicHibernateTemplate.Save(entity, id); - } - - /// - /// Update the given persistent instance. - /// - /// The persistent instance to update. - /// In case of Hibernate errors - public void Update(object entity) - { - classicHibernateTemplate.Update(entity); - } - - /// - /// Update the given persistent instance. - /// Obtains the specified lock mode if the instance exists, implicitly - /// checking whether the corresponding database entry still exists - /// (throwing an OptimisticLockingFailureException if not found). - /// - /// The persistent instance to update. - /// The lock mode to obtain. - /// In case of Hibernate errors - public void Update(object entity, LockMode lockMode) - { - classicHibernateTemplate.Update(entity, lockMode); - } - - /// - /// Save or update the given persistent instance, - /// according to its id (matching the configured "unsaved-value"?). - /// - /// Tthe persistent instance to save or update - /// (to be associated with the Hibernate Session). - /// In case of Hibernate errors - public void SaveOrUpdate(object entity) - { - classicHibernateTemplate.SaveOrUpdate(entity); - } - - /// - /// Save or update the contents of given persistent object, - /// according to its id (matching the configured "unsaved-value"?). - /// Will copy the contained fields to an already loaded instance - /// with the same id, if appropriate. - /// - /// The persistent object to save or update. - /// (not necessarily to be associated with the Hibernate Session) - /// - /// The actually associated persistent object. - /// (either an already loaded instance with the same id, or the given object) - /// In case of Hibernate errors - public object SaveOrUpdateCopy(object entity) - { - return classicHibernateTemplate.SaveOrUpdateCopy(entity); - } - -#if !NH_1_2 - /// - /// 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. - /// - /// The persistent object to merge. - /// (not necessarily to be associated with the Hibernate Session) - /// - /// An updated persistent instance - /// In case of Hibernate errors - public object Merge(object entity) - { - return classicHibernateTemplate.Merge(entity); - } -#endif - - #endregion - - #region IHibernateOperations Gets - - /// - /// Return the persistent instance of the given entity type - /// with the given identifier, or null if not found. - /// Obtains the specified lock mode if the instance exists. - /// - /// The object type to get. - /// The id of the object to get. - /// the persistent instance, or null if not found - /// In case of Hibernate errors - public T Get(object id) - { - return Get(id, null); - } - - /// - /// Return the persistent instance of the given entity type - /// with the given identifier, or null if not found. - /// Obtains the specified lock mode if the instance exists. - /// - /// The object type to get. - /// The lock mode to obtain. - /// The lock mode. - /// the persistent instance, or null if not found - /// In case of Hibernate errors - public T Get(object id, LockMode lockMode) - { - return Execute(new GetByTypeHibernateCallback(id, lockMode), true); - } - - #endregion - - #region IHibernateOperations Loads - - /// - /// Return the persistent instance of the given entity class - /// with the given identifier, throwing an exception if not found. - /// - /// The object type to load. - /// An identifier of the persistent instance. - /// The persistent instance - /// If not found - /// In case of Hibernate errors - public T Load(object id) - { - return Load(id, null); - } - - /// - /// Return the persistent instance of the given entity class - /// with the given identifier, throwing an exception if not found. - /// Obtains the specified lock mode if the instance exists. - /// - /// The object type to load. - /// An identifier of the persistent instance. - /// The lock mode. - /// The persistent instance - /// If not found - /// In case of Hibernate errors - public T Load(object id, LockMode lockMode) - { - return Execute(new LoadByTypeHibernateCallback(id, lockMode), true); - } - - /// - /// Return all persistent instances of the given entity class. - /// Note: Use queries or criteria for retrieving a specific subset. - /// - /// The object type to load. - /// A generic List containing 0 or more persistent instances - /// In case of Hibernate errors - public IList LoadAll() - { - return ExecuteFind(new LoadAllByTypeHibernateCallback(this), true); - } - - #endregion - - #region IHibernateOperations Finds - - /// - /// Execute a query for persistent instances. - /// - /// The object type to find. - /// a query expressed in Hibernate's query language - /// - /// a generic List containing 0 or more persistent instances - /// - /// In case of Hibernate errors - public IList Find(string queryString) - { - return Find(queryString, (object[]) null, (IType[]) null); - } - - /// - /// Execute a query for persistent instances, binding - /// one value to a "?" parameter in the query string. - /// - /// The object type to find. - /// a query expressed in Hibernate's query language - /// the value of the parameter - /// - /// a generic List containing 0 or more persistent instances - /// - /// In case of Hibernate errors - public IList Find(string queryString, object value) - { - return Find(queryString, new object[] {value}, (IType[]) null); - } - - /// - /// Execute a query for persistent instances, binding one value - /// to a "?" parameter of the given type in the query string. - /// - /// The object type to find. - /// a query expressed in Hibernate's query language - /// The value of the parameter. - /// Hibernate type of the parameter (or null) - /// - /// a generic List containing 0 or more persistent instances - /// - /// In case of Hibernate errors - public IList Find(string queryString, object value, IType type) - { - return Find(queryString, new object[] {value}, new IType[] {type}); - } - - /// - /// Execute a query for persistent instances, binding a - /// number of values to "?" parameters in the query string. - /// - /// The object type to find. - /// a query expressed in Hibernate's query language - /// the values of the parameters - /// a generic List containing 0 or more persistent instances - /// In case of Hibernate errors - public IList Find(string queryString, object[] values) - { - return Find(queryString, values, (IType[]) null); - } - - /// - /// Execute a query for persistent instances, binding a number of - /// values to "?" parameters of the given types in the query string. - /// - /// The object type to find. - /// A query expressed in Hibernate's query language - /// The values of the parameters - /// Hibernate types of the parameters (or null) - /// - /// a generic List containing 0 or more persistent instances - /// - /// In case of Hibernate errors - /// If values and types are not null and their lengths are not equal - public IList Find(string queryString, object[] values, IType[] types) - { - if (values != null && types != null && values.Length != types.Length) - { - throw new ArgumentException("Length of values array must match length of types array"); - } - return ExecuteFind(new FindHibernateCallback(this, queryString, values, types), true); - } - - /// - /// Execute a query for persistent instances, binding - /// one value to a named parameter in the query string. - /// - /// The object type to find. - /// The name of a Hibernate query in a mapping file - /// The name of the parameter - /// The value of the parameter - /// a generic List containing 0 or more persistent instances - /// In case of Hibernate errors - public IList FindByNamedParam(string queryName, string paramName, object value) - { - return FindByNamedParam(queryName, paramName, value, null); - } - - /// - /// Execute a query for persistent instances, binding - /// one value to a named parameter in the query string. - /// - /// The object type to find. - /// The name of a Hibernate query in a mapping file - /// The name of the parameter - /// The value of the parameter - /// Hibernate type of the parameter (or null) - /// A generic List containing 0 or more persistent instances - /// In case of Hibernate errors - public IList FindByNamedParam(string queryName, string paramName, object value, IType type) - { - return FindByNamedParam(queryName, new string[] {paramName}, new object[] {value}, new IType[] {type}); - } - - /// - /// Execute a query for persistent instances, binding a - /// number of values to named parameters in the query string. - /// - /// The object type to find. - /// A query expressed in Hibernate's query language - /// The names of the parameters - /// The values of the parameters - /// A generic List containing 0 or more persistent instances - /// In case of Hibernate errors - public IList FindByNamedParam(string queryString, string[] paramNames, object[] values) - { - return FindByNamedParam(queryString, paramNames, values, null); - } - - /// - /// Execute a query for persistent instances, binding a - /// number of values to named parameters in the query string. - /// - /// The object type to find. - /// A query expressed in Hibernate's query language - /// The names of the parameters - /// The values of the parameters - /// Hibernate types of the parameters (or null) - /// A generic List containing 0 or more persistent instances - /// In case of Hibernate errors - /// If paramNames length is not equal to values length or - /// if paramNames length is not equal to types length (when types is not null) - public IList FindByNamedParam(string queryString, string[] paramNames, object[] values, IType[] types) - { - if (paramNames.Length != values.Length) - { - throw new ArgumentOutOfRangeException("paramNames", - "Length of paramNames array must match length of values array"); - } - if (types != null && paramNames.Length != types.Length) - { - throw new ArgumentOutOfRangeException("paramNames", - "Length of paramNames array must match length of types array"); - } - - return - ExecuteFind(new FindByNamedParamHibernateCallback(this, queryString, paramNames, values, types), true); - } - - /// - /// Execute a named query for persistent instances. - /// A named query is defined in a Hibernate mapping file. - /// - /// The object type to find. - /// The name of a Hibernate query in a mapping file - /// A generic List containing 0 or more persistent instances - /// In case of Hibernate errors - public IList FindByNamedQuery(string queryName) - { - return FindByNamedQuery(queryName, (object[]) null, (IType[]) null); - } - - /// - /// Execute a named query for persistent instances, binding - /// one value to a "?" parameter in the query string. - /// A named query is defined in a Hibernate mapping file. - /// - /// The object type to find. - /// The name of a Hibernate query in a mapping file - /// The value of the parameter - /// A generic List containing 0 or more persistent instances - /// In case of Hibernate errors - public IList FindByNamedQuery(string queryName, object value) - { - return FindByNamedQuery(queryName, new object[] {value}, (IType[]) null); - } - - /// - /// Execute a named query for persistent instances, binding - /// one value to a "?" parameter in the query string. - /// A named query is defined in a Hibernate mapping file. - /// - /// The object type to find. - /// The name of a Hibernate query in a mapping file - /// The value of the parameter - /// Hibernate type of the parameter (or null) - /// A generic List containing 0 or more persistent instances - /// In case of Hibernate errors - public IList FindByNamedQuery(string queryName, object value, IType type) - { - return FindByNamedQuery(queryName, new object[] {value}, new IType[] {type}); - } - - /// - /// Execute a named query for persistent instances, binding a - /// number of values to "?" parameters in the query string. - /// A named query is defined in a Hibernate mapping file. - /// - /// The object type to find. - /// The name of a Hibernate query in a mapping file - /// The values of the parameters - /// A generic List containing 0 or more persistent instances - /// In case of Hibernate errors - public IList FindByNamedQuery(string queryName, object[] values) - { - return FindByNamedQuery(queryName, values, (IType[]) null); - } - - /// - /// Execute a named query for persistent instances, binding a - /// number of values to "?" parameters in the query string. - /// A named query is defined in a Hibernate mapping file. - /// - /// The object type to find. - /// The name of a Hibernate query in a mapping file - /// The values of the parameters - /// Hibernate types of the parameters (or null) - /// A generic List containing 0 or more persistent instances - /// In case of Hibernate errors - /// If values and types are not null and their lengths differ. - public IList FindByNamedQuery(string queryName, object[] values, IType[] types) - { - if (values != null && types != null && values.Length != types.Length) - { - throw new ArgumentOutOfRangeException("Length of values array must match length of types array"); - } - return ExecuteFind(new FindByNamedQueryHibernateCallback(this, queryName, values, types), true); - } - - /// - /// Execute a named query for persistent instances, binding - /// one value to a named parameter in the query string. - /// A named query is defined in a Hibernate mapping file. - /// - /// The object type to find. - /// The name of a Hibernate query in a mapping file - /// Name of the parameter - /// The value of the parameter - /// A generic List containing 0 or more persistent instances - /// In case of Hibernate errors - public IList FindByNamedQueryAndNamedParam(string queryName, string paramName, object value) - { - return FindByNamedQueryAndNamedParam(queryName, paramName, value, null); - } - - /// - /// Execute a named query for persistent instances, binding - /// one value to a named parameter in the query string. - /// A named query is defined in a Hibernate mapping file. - /// - /// The object type to find. - /// The name of a Hibernate query in a mapping file - /// Name of the parameter - /// The value of the parameter - /// The Hibernate type of the parameter (or null) - /// A generic List containing 0 or more persistent instances - /// In case of Hibernate errors - public IList FindByNamedQueryAndNamedParam(string queryName, string paramName, object value, IType type) - { - return FindByNamedQueryAndNamedParam( - queryName, new string[] {paramName}, new object[] {value}, new IType[] {type}); - } - - /// - /// Execute a named query for persistent instances, binding - /// number of values to named parameters in the query string. - /// A named query is defined in a Hibernate mapping file. - /// - /// The object type to find. - /// The name of a Hibernate query in a mapping file - /// The names of the parameters - /// The values of the parameters. - /// A generic List containing 0 or more persistent instances - /// In case of Hibernate errors - public IList FindByNamedQueryAndNamedParam(string queryName, string[] paramNames, object[] values) - { - return FindByNamedQueryAndNamedParam(queryName, paramNames, values, null); - } - - /// - /// Execute a named query for persistent instances, binding - /// number of values to named parameters in the query string. - /// A named query is defined in a Hibernate mapping file. - /// - /// The object type to find. - /// The name of a Hibernate query in a mapping file - /// The names of the parameters - /// The values of the parameters. - /// Hibernate types of the parameters (or null) - /// A generic List containing 0 or more persistent instances - /// In case of Hibernate errors - /// If paramNames length is not equal to values length or - /// if paramNames length is not equal to types length (when types is not null) - public IList FindByNamedQueryAndNamedParam(string queryName, string[] paramNames, object[] values, - IType[] types) - { - if (paramNames != null && values != null && paramNames.Length != values.Length) - { - throw new ArgumentOutOfRangeException("paramNames", - "Length of paramNames array must match length of values array"); - } - if (paramNames != null && types != null && paramNames.Length != types.Length) - { - throw new ArgumentOutOfRangeException("paramNams", - "Length of paramNames array must match length of types array"); - } - return - ExecuteFind( - new FindByNamedQueryAndNamedParamHibernateCallback(this, queryName, paramNames, values, types), - true); - } - - /// - /// Execute a named query for persistent instances, binding the properties - /// of the given object to named parameters in the query string. - /// A named query is defined in a Hibernate mapping file. - /// - /// The object type to find. - /// The name of a Hibernate query in a mapping file - /// The values of the parameters - /// A generic List containing 0 or more persistent instances - /// In case of Hibernate errors - public IList FindByNamedQueryAndValueObject(string queryName, object valueObject) - { - return - ExecuteFind(new FindByNamedQueryAndValueObjectHibernateCallback(this, queryName, valueObject), true); - } - - /// - /// Execute a query for persistent instances, binding the properties - /// of the given object to named parameters in the query string. - /// - /// The object type to find. - /// A query expressed in Hibernate's query language - /// The values of the parameters - /// A generic List containing 0 or more persistent instances - /// In case of Hibernate errors - public IList FindByValueObject(string queryString, object valueObject) - { - return ExecuteFind(new FindByValueObjectHibernateCallback(this, queryString, valueObject), true); - } - - #endregion - - #region Execute methods - - /// - /// Execute the action specified by the given action object within a Session. - /// - /// - /// Application exceptions thrown by the action object get propagated to the - /// caller (can only be unchecked). Hibernate exceptions are transformed into - /// appropriate DAO ones. Allows for returning the result object. - ///

Note: Callback code is not supposed to handle transactions itself! - /// Use an appropriate transaction manager like HibernateTransactionManager. - /// Generally, callback code must not touch any Session lifecycle methods, - /// like close, disconnect, or reconnect, to let the template do its work. - ///

- ///
- /// The object type retrieved. - /// The delegate callback object that specifies the Hibernate action. - /// a result object returned by the action, or null - /// - /// In case of Hibernate errors - public T Execute(HibernateDelegate del) - { - return Execute(new ExecuteHibernateCallbackUsingDelegate(del)); - } - - /// - /// Execute the action specified by the delegate within a Session. - /// - /// The object type retrieved. - /// The HibernateDelegate that specifies the action - /// to perform. - /// if set to true expose the native hibernate session to - /// callback code. - /// a result object returned by the action, or null - /// - /// In case of Hibernate errors - public T Execute(HibernateDelegate del, bool exposeNativeSession) - { - return Execute(new ExecuteHibernateCallbackUsingDelegate(del), true); - } - - /// - /// Execute the action specified by the given action object within a Session. - /// - /// The object type retrieved. - /// The callback object that specifies the Hibernate action. - /// - /// a result object returned by the action, or null - /// - /// - /// Application exceptions thrown by the action object get propagated to the - /// caller (can only be unchecked). Hibernate exceptions are transformed into - /// appropriate DAO ones. Allows for returning the result object. - ///

Note: Callback code is not supposed to handle transactions itself! - /// Use an appropriate transaction manager like HibernateTransactionManager. - /// Generally, callback code must not touch any Session lifecycle methods, - /// like close, disconnect, or reconnect, to let the template do its work. - ///

- ///
- /// In case of Hibernate errors - public T Execute(IHibernateCallback action) - { - return Execute(action, ExposeNativeSession); - } - - /// - /// Execute the action specified by the given action object within a Session. - /// - /// The object type retrieved. - /// callback object that specifies the Hibernate action. - /// if set to true expose the native hibernate session to - /// callback code. - /// - /// a result object returned by the action, or null - /// - /// In case of Hibernate errors - public T Execute(IHibernateCallback action, bool exposeNativeSession) - { - ISession session = Session; - - bool existingTransaction = SessionFactoryUtils.IsSessionTransactional(session, SessionFactory); - if (existingTransaction) - { - //log.Debug("Found thread-bound Session for HibernateTemplate"); - } - - FlushModeHolder previousFlushModeHolder = new FlushModeHolder(); - try - { - previousFlushModeHolder = ApplyFlushMode(session, existingTransaction); - ISession sessionToExpose = (exposeNativeSession ? session : classicHibernateTemplate.CreateSessionProxy(session)); - T result = action.DoInHibernate(sessionToExpose); - FlushIfNecessary(session, existingTransaction); - return result; - } - catch (ADOException ex) - { - IDbProvider dbProvider = SessionFactoryUtils.GetDbProvider(SessionFactory); - if (dbProvider != null && dbProvider.IsDataAccessException(ex.InnerException)) - { - throw ConvertAdoAccessException(ex); - } - else - { - throw new HibernateSystemException(ex); - } - } - catch (HibernateException ex) - { - throw ConvertHibernateAccessException(ex); - } - catch (Exception ex) - { - IDbProvider dbProvider = SessionFactoryUtils.GetDbProvider(SessionFactory); - if (dbProvider != null && dbProvider.IsDataAccessException(ex)) - { - throw ConvertAdoAccessException(ex); - } - else - { - // Callback code throw application exception or other non DB related exception. - throw; - } - } - finally - { - if (existingTransaction) - { - //log.Debug("Not closing pre-bound Hibernate Session after HibernateTemplate"); - if (previousFlushModeHolder.ModeWasSet) - { - session.FlushMode = previousFlushModeHolder.Mode; - } - } - else - { - SessionFactoryUtils.ReleaseSession(session, SessionFactory); - } - } - } - - /// - /// Execute the action specified by the given action object within a Session assuming that an IList is returned. - /// - /// The object type to find. - /// callback object that specifies the Hibernate action. - /// if set to true expose the native hibernate session to - /// callback code. - /// - /// an IList returned by the action, or null - /// - /// In case of Hibernate errors - public IList ExecuteFind(IFindHibernateCallback action, bool exposeNativeSession) - { - ISession session = Session; - - bool existingTransaction = SessionFactoryUtils.IsSessionTransactional(session, SessionFactory); - - FlushModeHolder previousFlushModeHolder = new FlushModeHolder(); - try - { - previousFlushModeHolder = ApplyFlushMode(session, existingTransaction); - ISession sessionToExpose = (exposeNativeSession ? session : classicHibernateTemplate.CreateSessionProxy(session)); - IList result = action.DoInHibernate(sessionToExpose); - FlushIfNecessary(session, existingTransaction); - return result; - } - catch (ADOException ex) - { - IDbProvider dbProvider = SessionFactoryUtils.GetDbProvider(SessionFactory); - if (dbProvider != null && dbProvider.IsDataAccessException(ex.InnerException)) - { - throw ConvertAdoAccessException(ex); - } - else - { - // Callback code throw application exception or other non DB related exception. - throw; - } - } - catch (HibernateException ex) - { - throw ConvertHibernateAccessException(ex); - } - catch (Exception ex) - { - IDbProvider dbProvider = SessionFactoryUtils.GetDbProvider(SessionFactory); - if (dbProvider != null && dbProvider.IsDataAccessException(ex)) - { - throw ConvertAdoAccessException(ex); - } - else - { - // Callback code throw application exception or other non DB related exception. - throw; - } - } - finally - { - if (existingTransaction) - { - if (previousFlushModeHolder.ModeWasSet) - { - session.FlushMode = previousFlushModeHolder.Mode; - } - } - else - { - SessionFactoryUtils.ReleaseSession(session, SessionFactory); - } - } - } - - /// - /// Execute the action specified by the given action object within a Session. - /// - /// - /// Application exceptions thrown by the action object get propagated to the - /// caller (can only be unchecked). Hibernate exceptions are transformed into - /// appropriate DAO ones. Allows for returning the result object. - ///

Note: Callback code is not supposed to handle transactions itself! - /// Use an appropriate transaction manager like HibernateTransactionManager. - /// Generally, callback code must not touch any Session lifecycle methods, - /// like close, disconnect, or reconnect, to let the template do its work. - ///

- ///
- /// The object type to find. - /// The delegate callback object that specifies the Hibernate action. - /// A generic IList returned by the action, or null - /// - /// In case of Hibernate errors - public IList ExecuteFind(FindHibernateDelegate del) - { - return ExecuteFind(new ExecuteFindHibernateCallbackUsingDelegate(del)); - } - - /// - /// Execute the action specified by the delegate within a Session. - /// - /// The object type to find. - /// The FindHibernateDelegate that specifies the action - /// to perform. - /// if set to true expose the native hibernate session to - /// callback code. - /// A generic IList returned by the action, or null - /// - /// In case of Hibernate errors - public IList ExecuteFind(FindHibernateDelegate del, bool exposeNativeSession) - { - return ExecuteFind(new ExecuteFindHibernateCallbackUsingDelegate(del), true); - } - - /// - /// Execute the action specified by the given action object within a Session. - /// - /// The object type to find. - /// The callback object that specifies the Hibernate action. - /// - /// A generic IList returned by the action, or null - /// - /// - /// Application exceptions thrown by the action object get propagated to the - /// caller (can only be unchecked). Hibernate exceptions are transformed into - /// appropriate DAO ones. Allows for returning the result object. - ///

Note: Callback code is not supposed to handle transactions itself! - /// Use an appropriate transaction manager like HibernateTransactionManager. - /// Generally, callback code must not touch any Session lifecycle methods, - /// like close, disconnect, or reconnect, to let the template do its work. - ///

- ///
- public IList ExecuteFind(IFindHibernateCallback action) - { - return ExecuteFind(action, ExposeNativeSession); - } - - #endregion - - } - - #region Internal Supporting Callback Classes - - internal class ExecuteHibernateCallbackUsingDelegate : IHibernateCallback - { - private HibernateDelegate del; - - public ExecuteHibernateCallbackUsingDelegate(HibernateDelegate d) - { - del = d; - } - - public T DoInHibernate(ISession session) - { - return del(session); - } - } - - internal class GetByTypeHibernateCallback : IHibernateCallback - { - private object id; - private LockMode lockMode; - - public GetByTypeHibernateCallback(object id, LockMode lockMode) - { - this.id = id; - this.lockMode = lockMode; - } - - /// - /// Gets called by HibernateTemplate with an active - /// Hibernate Session. Does not need to care about activating or closing - /// the Session, or handling transactions. - /// - /// - ///

- /// Allows for returning a result object created within the callback, i.e. - /// a domain object or a collection of domain objects. Note that there's - /// special support for single step actions: see HibernateTemplate.find etc. - ///

- ///
- public T DoInHibernate(ISession session) - { - if (lockMode != null) - { - return session.Get(id, lockMode); - } - else - { - return session.Get(id); - } - } - } - - internal class LoadByTypeHibernateCallback : IHibernateCallback - { - private object id; - private LockMode lockMode; - - public LoadByTypeHibernateCallback(object id, LockMode lockMode) - { - this.id = id; - this.lockMode = lockMode; - } - - /// - /// Gets called by HibernateTemplate with an active - /// Hibernate Session. Does not need to care about activating or closing - /// the Session, or handling transactions. - /// - /// - ///

- /// Allows for returning a result object created within the callback, i.e. - /// a domain object or a collection of domain objects. Note that there's - /// special support for single step actions: see HibernateTemplate.find etc. - ///

- ///
- public T DoInHibernate(ISession session) - { - if (lockMode != null) - { - return session.Load(id, lockMode); - } - else - { - return session.Load(id); - } - } - } - - internal class LoadAllByTypeHibernateCallback : IFindHibernateCallback - { - private HibernateTemplate outer; - - public LoadAllByTypeHibernateCallback(HibernateTemplate template) - { - outer = template; - } - - /// - /// Gets called by HibernateTemplate with an active - /// Hibernate Session. Does not need to care about activating or closing - /// the Session, or handling transactions. - /// - /// - ///

- /// Allows for returning a result object created within the callback, i.e. - /// a domain object or a collection of domain objects. Note that there's - /// special support for single step actions: see HibernateTemplate.find etc. - ///

- ///
- public IList DoInHibernate(ISession session) - { - ICriteria criteria = session.CreateCriteria(typeof (T)); - outer.PrepareCriteria(criteria); - return criteria.List(); - } - } - - internal class FindHibernateCallback : IFindHibernateCallback - { - private HibernateTemplate outer; - private string queryString; - private object[] values; - private IType[] types; - - public FindHibernateCallback(HibernateTemplate template, string queryString, object[] values, IType[] types) - { - outer = template; - this.queryString = queryString; - this.values = values; - this.types = types; - } - - /// - /// Gets called by HibernateTemplate with an active - /// Hibernate Session. Does not need to care about activating or closing - /// the Session, or handling transactions. - /// - /// - ///

- /// Allows for returning a result object created within the callback, i.e. - /// a domain object or a collection of domain objects. Note that there's - /// special support for single step actions: see HibernateTemplate.find etc. - ///

- ///
- public IList DoInHibernate(ISession session) - { - IQuery queryObject = session.CreateQuery(queryString); - outer.PrepareQuery(queryObject); - - if (values != null) - { - for (int i = 0; i < values.Length; i++) - { - if (types != null && types[i] != null) - { - queryObject.SetParameter(i, values[i], types[i]); - } - else - { - queryObject.SetParameter(i, values[i]); - } - } - } - - return queryObject.List(); - } - } - - internal class FindByNamedParamHibernateCallback : IFindHibernateCallback - { - HibernateTemplate outer; - private string queryString; - private string[] paramNames; - private object[] values; - private IType[] types; - - public FindByNamedParamHibernateCallback(HibernateTemplate template, string queryString, string[] paramNames, - object[] values, IType[] types) - { - outer = template; - this.queryString = queryString; - this.paramNames = paramNames; - this.values = values; - this.types = types; - } - - /// - /// Gets called by HibernateTemplate with an active - /// Hibernate Session. Does not need to care about activating or closing - /// the Session, or handling transactions. - /// - /// - ///

- /// Allows for returning a result object created within the callback, i.e. - /// a domain object or a collection of domain objects. Note that there's - /// special support for single step actions: see HibernateTemplate.find etc. - ///

- ///
- public IList DoInHibernate(ISession session) - { - IQuery queryObject = session.CreateQuery(queryString); - outer.PrepareQuery(queryObject); - if (values != null) - { - for (int i = 0; i < values.Length; i++) - { - outer.ApplyNamedParameterToQuery(queryObject, paramNames[i], values[i], - (types != null ? types[i] : null)); - } - } - return queryObject.List(); - } - } - - internal class FindByNamedQueryHibernateCallback : IFindHibernateCallback - { - HibernateTemplate outer; - private string queryName; - private object[] values; - private IType[] types; - - public FindByNamedQueryHibernateCallback(HibernateTemplate template, string queryName, object[] values, - IType[] types) - { - outer = template; - this.queryName = queryName; - this.values = values; - this.types = types; - } - - /// - /// Gets called by HibernateTemplate with an active - /// Hibernate Session. Does not need to care about activating or closing - /// the Session, or handling transactions. - /// - /// - ///

- /// Allows for returning a result object created within the callback, i.e. - /// a domain object or a collection of domain objects. Note that there's - /// special support for single step actions: see HibernateTemplate.find etc. - ///

- ///
- public IList DoInHibernate(ISession session) - { - IQuery queryObject = session.GetNamedQuery(queryName); - outer.PrepareQuery(queryObject); - if (values != null) - { - for (int i = 0; i < values.Length; i++) - { - if (types != null && types[i] != null) - { - queryObject.SetParameter(i, values[i], types[i]); - } - else - { - queryObject.SetParameter(i, values[i]); - } - } - } - return queryObject.List(); - } - } - - internal class FindByNamedQueryAndNamedParamHibernateCallback : IFindHibernateCallback - { - HibernateTemplate outer; - private string queryName; - private string[] paramNames; - private object[] values; - private IType[] types; - - public FindByNamedQueryAndNamedParamHibernateCallback(HibernateTemplate template, string queryName, - string[] paramNames, object[] values, IType[] types) - { - outer = template; - this.queryName = queryName; - this.paramNames = paramNames; - this.values = values; - this.types = types; - } - - /// - /// Gets called by HibernateTemplate with an active - /// Hibernate Session. Does not need to care about activating or closing - /// the Session, or handling transactions. - /// - /// - ///

- /// Allows for returning a result object created within the callback, i.e. - /// a domain object or a collection of domain objects. Note that there's - /// special support for single step actions: see HibernateTemplate.find etc. - ///

- ///
- public IList DoInHibernate(ISession session) - { - IQuery queryObject = session.GetNamedQuery(queryName); - outer.PrepareQuery(queryObject); - if (values != null) - { - for (int i = 0; i < values.Length; i++) - { - outer.ApplyNamedParameterToQuery(queryObject, paramNames[i], values[i], - (types != null ? types[i] : null)); - } - } - return queryObject.List(); - } - } - - internal class FindByNamedQueryAndValueObjectHibernateCallback : IFindHibernateCallback - { - HibernateTemplate outer; - private string queryName; - private object valueObject; - - public FindByNamedQueryAndValueObjectHibernateCallback(HibernateTemplate template, string queryName, - object valueObject) - { - outer = template; - this.queryName = queryName; - this.valueObject = valueObject; - } - - /// - /// Gets called by HibernateTemplate with an active - /// Hibernate Session. Does not need to care about activating or closing - /// the Session, or handling transactions. - /// - /// - ///

- /// Allows for returning a result object created within the callback, i.e. - /// a domain object or a collection of domain objects. Note that there's - /// special support for single step actions: see HibernateTemplate.find etc. - ///

- ///
- public IList DoInHibernate(ISession session) - { - IQuery queryObject = session.GetNamedQuery(queryName); - outer.PrepareQuery(queryObject); - queryObject.SetProperties(valueObject); - return queryObject.List(); - } - } - - internal class FindByValueObjectHibernateCallback : IFindHibernateCallback - { - HibernateTemplate outer; - private string queryString; - private object valueObject; - - public FindByValueObjectHibernateCallback(HibernateTemplate template, string queryString, object valueObject) - { - outer = template; - this.queryString = queryString; - this.valueObject = valueObject; - } - - public IList DoInHibernate(ISession session) - { - IQuery queryObject = session.CreateQuery(queryString); - outer.PrepareQuery(queryObject); - queryObject.SetProperties(valueObject); - return queryObject.List(); - } - } - - internal class ExecuteFindHibernateCallbackUsingDelegate : IFindHibernateCallback - { - private FindHibernateDelegate del; - - public ExecuteFindHibernateCallbackUsingDelegate(FindHibernateDelegate d) - { - del = d; - } - - public IList DoInHibernate(ISession session) - { - return del(session); - } - } - #endregion +#region License + +/* + * Copyright © 2002-2011 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#endregion + +#region Imports + +using System; +using System.Collections.Generic; +using NHibernate; +using NHibernate.Type; +using Spring.Aop.Framework; +using Spring.Dao; +using Spring.Data.Common; +using Spring.Data.Support; +using Spring.Objects.Factory; + +#endregion + +namespace Spring.Data.NHibernate.Generic +{ + /// + /// Generic version of the Helper class that simplifies NHibernate data access code + /// + /// + ///

Typically used to implement data access or business logic services that + /// use NHibernate within their implementation but are Hibernate-agnostic in their + /// interface. The latter or code calling the latter only have to deal with + /// domain objects.

+ /// + ///

The central method is Execute() supporting Hibernate access code which + /// implements the HibernateCallback interface. It provides NHibernate Session + /// handling such that neither the IHibernateCallback implementation nor the calling + /// code needs to explicitly care about retrieving/closing NHibernate Sessions, + /// or handling Session lifecycle exceptions. For typical single step actions, + /// there are various convenience methods (Find, Load, SaveOrUpdate, Delete). + ///

+ /// + ///

Can be used within a service implementation via direct instantiation + /// with a ISessionFactory reference, or get prepared in an application context + /// and given to services as an object reference. Note: The ISessionFactory should + /// always be configured as an object in the application context, in the first case + /// given to the service directly, in the second case to the prepared template. + ///

+ /// + ///

This class can be considered as a direct alternative to working with the raw + /// Hibernate Session API (through SessionFactoryUtils.Session). + ///

+ /// + ///

LocalSessionFactoryObject is the preferred way of obtaining a reference + /// to a specific NHibernate ISessionFactory. + ///

+ ///
+ /// Sree Nivask (.NET) + /// Mark Pollack (.NET) + public class HibernateTemplate : HibernateAccessor, IHibernateOperations + { + #region Fields + + NHibernate.HibernateTemplate classicHibernateTemplate; + + #endregion + + #region Constructor (s) + + /// + /// Initializes a new instance of the class. + /// + public HibernateTemplate() + { + classicHibernateTemplate = new NHibernate.HibernateTemplate(); + } + + /// + /// Initializes a new instance of the class. + /// + /// Allows creation of a new non-transactional session when no + /// transactional Session can be found for the current thread + /// The session factory to create sessions. + public HibernateTemplate(ISessionFactory sessionFactory) + { + classicHibernateTemplate = new Spring.Data.NHibernate.HibernateTemplate(sessionFactory); + AfterPropertiesSet(); + } + + /// + /// Initializes a new instance of the class. + /// + /// The session factory to create sessions. + /// if set to true allow creation + /// of a new non-transactional session when no transactional Session can be found + /// for the current thread. + public HibernateTemplate(ISessionFactory sessionFactory, bool allowCreate) + { + classicHibernateTemplate = new Spring.Data.NHibernate.HibernateTemplate(sessionFactory, allowCreate); + AfterPropertiesSet(); + } + + /// + /// Gets or sets if a new Session should be created when no transactional Session + /// can be found for the current thread. + /// + /// + /// true if allowed to create non-transaction session; + /// otherwise, false. + /// + /// + ///

HibernateTemplate is aware of a corresponding Session bound to the + /// current thread, for example when using HibernateTransactionManager. + /// If allowCreate is true, a new non-transactional Session will be created + /// if none found, which needs to be closed at the end of the operation. + /// If false, an InvalidOperationException will get thrown in this case. + ///

+ ///
+ public override bool AllowCreate + { + get { return classicHibernateTemplate.AllowCreate; } + set { classicHibernateTemplate.AllowCreate = value; } + } + /// + /// Gets or sets a value indicating whether to always + /// use a new Hibernate Session for this template. + /// + /// true if always use new session; otherwise, false. + /// + ///

+ /// Default is "false"; if activated, all operations on this template will + /// work on a new NHibernate ISession even in case of a pre-bound ISession + /// (for example, within a transaction). + ///

+ ///

Within a transaction, a new NHibernate ISession used by this template + /// will participate in the transaction through using the same ADO.NET + /// Connection. In such a scenario, multiple Sessions will participate + /// in the same database transaction. + ///

+ ///

Turn this on for operations that are supposed to always execute + /// independently, without side effects caused by a shared NHibernate ISession. + ///

+ ///
+ public override bool AlwaysUseNewSession + { + get { return classicHibernateTemplate.AlwaysUseNewSession; } + set { classicHibernateTemplate.AlwaysUseNewSession = value; } + } + + + /// + /// Set whether to expose the native Hibernate Session to IHibernateCallback + /// code. Default is "false": a Session proxy will be returned, + /// suppressing close calls and automatically applying + /// query cache settings and transaction timeouts. + /// + /// true if expose native session; otherwise, false. + public override bool ExposeNativeSession + { + get { return classicHibernateTemplate.ExposeNativeSession; } + set { classicHibernateTemplate.ExposeNativeSession = value; } + } + + /// + /// Gets or sets the template flush mode. + /// + /// + /// Default is Auto. Will get applied to any new ISession + /// created by the template. + /// + /// The template flush mode. + public override TemplateFlushMode TemplateFlushMode + { + get { return classicHibernateTemplate.TemplateFlushMode; } + set { classicHibernateTemplate.TemplateFlushMode = value; } + } + + /// + /// Gets or sets the entity interceptor that allows to inspect and change + /// property values before writing to and reading from the database. + /// + /// + /// Will get applied to any new ISession created by this object. + ///

Such an interceptor can either be set at the ISessionFactory level, + /// i.e. on LocalSessionFactoryObject, or at the ISession level, i.e. on + /// HibernateTemplate, HibernateInterceptor, and HibernateTransactionManager. + /// It's preferable to set it on LocalSessionFactoryObject or HibernateTransactionManager + /// to avoid repeated configuration and guarantee consistent behavior in transactions. + ///

+ ///
+ /// The interceptor. + public override IInterceptor EntityInterceptor + { + get { return classicHibernateTemplate.EntityInterceptor; } + set { classicHibernateTemplate.EntityInterceptor = value; } + } + + /// + /// Set the object name of a Hibernate entity interceptor that allows to inspect + /// and change property values before writing to and reading from the database. + /// + /// + /// Will get applied to any new Session created by this transaction manager. + ///

Requires the object factory to be known, to be able to resolve the object + /// name to an interceptor instance on session creation. Typically used for + /// prototype interceptors, i.e. a new interceptor instance per session. + ///

+ ///

Can also be used for shared interceptor instances, but it is recommended + /// to set the interceptor reference directly in such a scenario. + ///

+ ///
+ /// The name of the entity interceptor in the object factory/application context. + public override string EntityInterceptorObjectName + { + set { classicHibernateTemplate.EntityInterceptorObjectName = value;} + } + + /// + /// Gets or sets the session factory that should be used to create + /// NHibernate ISessions. + /// + /// The session factory. + public override ISessionFactory SessionFactory + { + get { return classicHibernateTemplate.SessionFactory; } + set { classicHibernateTemplate.SessionFactory = value; } + } + + /// + /// Set the object factory instance. + /// + /// The object factory instance + public override IObjectFactory ObjectFactory + { + set { classicHibernateTemplate.ObjectFactory = value; } + } + + /// + /// Gets or sets a value indicating whether to + /// cache all queries executed by this template. + /// + /// + /// If this is true, all IQuery and ICriteria objects created by + /// this template will be marked as cacheable (including all + /// queries through find methods). + ///

To specify the query region to be used for queries cached + /// by this template, set the QueryCacheRegion property. + ///

+ ///
+ /// true if cache queries; otherwise, false. + public override bool CacheQueries + { + get { return classicHibernateTemplate.CacheQueries; } + set { classicHibernateTemplate.CacheQueries = value; } + } + + /// + /// Gets or sets the name of the cache region for queries executed by this template. + /// + /// + /// If this is specified, it will be applied to all IQuery and ICriteria objects + /// created by this template (including all queries through find methods). + ///

The cache region will not take effect unless queries created by this + /// template are configured to be cached via the CacheQueries property. + ///

+ ///
+ /// The query cache region. + public override string QueryCacheRegion + { + get { return classicHibernateTemplate.QueryCacheRegion; } + set { classicHibernateTemplate.QueryCacheRegion = value; } + } + + /// + /// Gets or sets the fetch size for this HibernateTemplate. + /// + /// The size of the fetch. + /// This is important for processing + /// large result sets: Setting this higher than the default value will increase + /// processing speed at the cost of memory consumption; setting this lower can + /// avoid transferring row data that will never be read by the application. + ///

Default is 0, indicating to use the driver's default.

+ ///
+ public override int FetchSize + { + get { return classicHibernateTemplate.FetchSize; } + set { classicHibernateTemplate.FetchSize = value; } + } + + /// + /// Gets or sets the maximum number of rows for this HibernateTemplate. + /// + /// The max results. + /// + /// This is important + /// for processing subsets of large result sets, avoiding to read and hold + /// the entire result set in the database or in the ADO.NET driver if we're + /// never interested in the entire result in the first place (for example, + /// when performing searches that might return a large number of matches). + ///

Default is 0, indicating to use the driver's default.

+ ///
+ public override int MaxResults + { + get { return classicHibernateTemplate.MaxResults; } + set { classicHibernateTemplate.MaxResults = value; } + } + + /// + /// Set the ADO.NET exception translator for this instance. + /// Applied to System.Data.Common.DbException (or provider specific exception type + /// in .NET 1.1) thrown by callback code, be it direct + /// DbException or wrapped Hibernate ADOExceptions. + ///

The default exception translator is either a ErrorCodeExceptionTranslator + /// if a DbProvider is available, or a FalbackExceptionTranslator otherwise + ///

+ ///
+ /// The ADO exception translator. + public override IAdoExceptionTranslator AdoExceptionTranslator + { + get { return classicHibernateTemplate.AdoExceptionTranslator; } + set { classicHibernateTemplate.AdoExceptionTranslator = value; } + } + + /// + /// Gets the classic hibernate template for access to non-generic methods. + /// + /// The classic hibernate template. + public NHibernate.HibernateTemplate ClassicHibernateTemplate + { + get { return classicHibernateTemplate; } + } + + /// + /// Gets or sets the proxy factory. + /// + /// This may be useful to set if you create many instances of + /// HibernateTemplate and/or HibernateDaoSupport. This allows the same + /// ProxyFactory implementation to be used thereby limiting the + /// number of dynamic proxy types created in the temporary assembly, which + /// are never garbage collected due to .NET runtime semantics. + /// + /// The proxy factory. + public virtual ProxyFactory ProxyFactory + { + get { return classicHibernateTemplate.ProxyFactory; } + set { classicHibernateTemplate.ProxyFactory = value; } + } + + #endregion + + #region Properties + + + + + #endregion + + #region Methods + + /// + /// Remove all objects from the Session cache, and cancel all pending saves, + /// updates and deletes. + /// + public void Clear() + { + classicHibernateTemplate.Clear(); + } + + + /// + /// Delete the given persistent instance. + /// + /// The persistent instance to delete. + /// In case of Hibernate errors + public void Delete(object entity) + { + classicHibernateTemplate.Delete(entity); + } + + + /// + /// Delete the given persistent instance. + /// + /// Tthe persistent instance to delete. + /// The lock mode to obtain. + /// + /// Obtains the specified lock mode if the instance exists, implicitly + /// checking whether the corresponding database entry still exists + /// (throwing an OptimisticLockingFailureException if not found). + /// + /// In case of Hibernate errors + public void Delete(object entity, LockMode lockMode) + { + classicHibernateTemplate.Delete(entity, lockMode); + } + + /// + /// Delete all objects returned by the query. + /// + /// a query expressed in Hibernate's query language. + /// The number of entity instances deleted. + /// In case of Hibernate errors + public int Delete(string queryString) + { + return classicHibernateTemplate.Delete(queryString); + } + + /// + /// Delete all objects returned by the query. + /// + /// a query expressed in Hibernate's query language. + /// The value of the parameter. + /// The Hibernate type of the parameter (or null). + /// The number of entity instances deleted. + /// In case of Hibernate errors + public int Delete(string queryString, object value, IType type) + { + return classicHibernateTemplate.Delete(queryString, value, type); + } + + /// + /// Delete all objects returned by the query. + /// + /// a query expressed in Hibernate's query language. + /// The values of the parameters. + /// Hibernate types of the parameters (or null) + /// The number of entity instances deleted. + /// In case of Hibernate errors + public int Delete(string queryString, object[] values, IType[] types) + { + return classicHibernateTemplate.Delete(queryString, values, types); + } + + /// + /// Flush all pending saves, updates and deletes to the database. + /// + /// + /// Only invoke this for selective eager flushing, for example when ADO.NET code + /// needs to see certain changes within the same transaction. Else, it's preferable + /// to rely on auto-flushing at transaction completion. + /// + /// In case of Hibernate errors + public void Flush() + { + classicHibernateTemplate.Flush(); + } + + /// + /// Load the persistent instance with the given identifier + /// into the given object, throwing an exception if not found. + /// + /// Entity the object (of the target class) to load into. + /// An identifier of the persistent instance. + /// If object not found. + /// In case of Hibernate errors + public void Load(object entity, object id) + { + classicHibernateTemplate.Load(entity, id); + } + + /// + /// Re-read the state of the given persistent instance. + /// + /// The persistent instance to re-read. + /// In case of Hibernate errors + public void Refresh(object entity) + { + classicHibernateTemplate.Refresh(entity); + } + + /// + /// Re-read the state of the given persistent instance. + /// Obtains the specified lock mode for the instance. + /// + /// The persistent instance to re-read. + /// The lock mode to obtain. + /// In case of Hibernate errors + public void Refresh(object entity, LockMode lockMode) + { + classicHibernateTemplate.Refresh(entity, lockMode); + } + + /// + /// Determines whether the given object is in the Session cache. + /// + /// the persistence instance to check. + /// + /// true if session cache contains the specified entity; otherwise, false. + /// + /// In case of Hibernate errors + public bool Contains(object entity) + { + return classicHibernateTemplate.Contains(entity); + } + + /// + /// Remove the given object from the Session cache. + /// + /// The persistent instance to evict. + /// In case of Hibernate errors + public void Evict(object entity) + { + classicHibernateTemplate.Evict(entity); + } + + /// + /// Obtain the specified lock level upon the given object, implicitly + /// checking whether the corresponding database entry still exists + /// (throwing an OptimisticLockingFailureException if not found). + /// + /// The he persistent instance to lock. + /// The lock mode to obtain. + /// If not found + /// In case of Hibernate errors + public void Lock(object entity, LockMode lockMode) + { + classicHibernateTemplate.Lock(entity, lockMode); + } + + /// + /// Persist the given transient instance. + /// + /// The transient instance to persist. + /// The generated identifier. + /// In case of Hibernate errors + public object Save(object entity) + { + return classicHibernateTemplate.Save(entity); + } + + /// + /// Persist the given transient instance with the given identifier. + /// + /// The transient instance to persist. + /// The identifier to assign. + /// In case of Hibernate errors + public void Save(object entity, object id) + { + classicHibernateTemplate.Save(entity, id); + } + + /// + /// Update the given persistent instance. + /// + /// The persistent instance to update. + /// In case of Hibernate errors + public void Update(object entity) + { + classicHibernateTemplate.Update(entity); + } + + /// + /// Update the given persistent instance. + /// Obtains the specified lock mode if the instance exists, implicitly + /// checking whether the corresponding database entry still exists + /// (throwing an OptimisticLockingFailureException if not found). + /// + /// The persistent instance to update. + /// The lock mode to obtain. + /// In case of Hibernate errors + public void Update(object entity, LockMode lockMode) + { + classicHibernateTemplate.Update(entity, lockMode); + } + + /// + /// Save or update the given persistent instance, + /// according to its id (matching the configured "unsaved-value"?). + /// + /// Tthe persistent instance to save or update + /// (to be associated with the Hibernate Session). + /// In case of Hibernate errors + public void SaveOrUpdate(object entity) + { + classicHibernateTemplate.SaveOrUpdate(entity); + } + + /// + /// Save or update the contents of given persistent object, + /// according to its id (matching the configured "unsaved-value"?). + /// Will copy the contained fields to an already loaded instance + /// with the same id, if appropriate. + /// + /// The persistent object to save or update. + /// (not necessarily to be associated with the Hibernate Session) + /// + /// The actually associated persistent object. + /// (either an already loaded instance with the same id, or the given object) + /// In case of Hibernate errors + public object SaveOrUpdateCopy(object entity) + { + return classicHibernateTemplate.SaveOrUpdateCopy(entity); + } + +#if !NH_1_2 + /// + /// 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. + /// + /// The persistent object to merge. + /// (not necessarily to be associated with the Hibernate Session) + /// + /// An updated persistent instance + /// In case of Hibernate errors + public object Merge(object entity) + { + return classicHibernateTemplate.Merge(entity); + } +#endif + + #endregion + + #region IHibernateOperations Gets + + /// + /// Return the persistent instance of the given entity type + /// with the given identifier, or null if not found. + /// Obtains the specified lock mode if the instance exists. + /// + /// The object type to get. + /// The id of the object to get. + /// the persistent instance, or null if not found + /// In case of Hibernate errors + public T Get(object id) + { + return Get(id, null); + } + + /// + /// Return the persistent instance of the given entity type + /// with the given identifier, or null if not found. + /// Obtains the specified lock mode if the instance exists. + /// + /// The object type to get. + /// The lock mode to obtain. + /// The lock mode. + /// the persistent instance, or null if not found + /// In case of Hibernate errors + public T Get(object id, LockMode lockMode) + { + return Execute(new GetByTypeHibernateCallback(id, lockMode), true); + } + + #endregion + + #region IHibernateOperations Loads + + /// + /// Return the persistent instance of the given entity class + /// with the given identifier, throwing an exception if not found. + /// + /// The object type to load. + /// An identifier of the persistent instance. + /// The persistent instance + /// If not found + /// In case of Hibernate errors + public T Load(object id) + { + return Load(id, null); + } + + /// + /// Return the persistent instance of the given entity class + /// with the given identifier, throwing an exception if not found. + /// Obtains the specified lock mode if the instance exists. + /// + /// The object type to load. + /// An identifier of the persistent instance. + /// The lock mode. + /// The persistent instance + /// If not found + /// In case of Hibernate errors + public T Load(object id, LockMode lockMode) + { + return Execute(new LoadByTypeHibernateCallback(id, lockMode), true); + } + + /// + /// Return all persistent instances of the given entity class. + /// Note: Use queries or criteria for retrieving a specific subset. + /// + /// The object type to load. + /// A generic List containing 0 or more persistent instances + /// In case of Hibernate errors + public IList LoadAll() + { + return ExecuteFind(new LoadAllByTypeHibernateCallback(this), true); + } + + #endregion + + #region IHibernateOperations Finds + + /// + /// Execute a query for persistent instances. + /// + /// The object type to find. + /// a query expressed in Hibernate's query language + /// + /// a generic List containing 0 or more persistent instances + /// + /// In case of Hibernate errors + public IList Find(string queryString) + { + return Find(queryString, (object[]) null, (IType[]) null); + } + + /// + /// Execute a query for persistent instances, binding + /// one value to a "?" parameter in the query string. + /// + /// The object type to find. + /// a query expressed in Hibernate's query language + /// the value of the parameter + /// + /// a generic List containing 0 or more persistent instances + /// + /// In case of Hibernate errors + public IList Find(string queryString, object value) + { + return Find(queryString, new object[] {value}, (IType[]) null); + } + + /// + /// Execute a query for persistent instances, binding one value + /// to a "?" parameter of the given type in the query string. + /// + /// The object type to find. + /// a query expressed in Hibernate's query language + /// The value of the parameter. + /// Hibernate type of the parameter (or null) + /// + /// a generic List containing 0 or more persistent instances + /// + /// In case of Hibernate errors + public IList Find(string queryString, object value, IType type) + { + return Find(queryString, new object[] {value}, new IType[] {type}); + } + + /// + /// Execute a query for persistent instances, binding a + /// number of values to "?" parameters in the query string. + /// + /// The object type to find. + /// a query expressed in Hibernate's query language + /// the values of the parameters + /// a generic List containing 0 or more persistent instances + /// In case of Hibernate errors + public IList Find(string queryString, object[] values) + { + return Find(queryString, values, (IType[]) null); + } + + /// + /// Execute a query for persistent instances, binding a number of + /// values to "?" parameters of the given types in the query string. + /// + /// The object type to find. + /// A query expressed in Hibernate's query language + /// The values of the parameters + /// Hibernate types of the parameters (or null) + /// + /// a generic List containing 0 or more persistent instances + /// + /// In case of Hibernate errors + /// If values and types are not null and their lengths are not equal + public IList Find(string queryString, object[] values, IType[] types) + { + if (values != null && types != null && values.Length != types.Length) + { + throw new ArgumentException("Length of values array must match length of types array"); + } + return ExecuteFind(new FindHibernateCallback(this, queryString, values, types), true); + } + + /// + /// Execute a query for persistent instances, binding + /// one value to a named parameter in the query string. + /// + /// The object type to find. + /// The name of a Hibernate query in a mapping file + /// The name of the parameter + /// The value of the parameter + /// a generic List containing 0 or more persistent instances + /// In case of Hibernate errors + public IList FindByNamedParam(string queryName, string paramName, object value) + { + return FindByNamedParam(queryName, paramName, value, null); + } + + /// + /// Execute a query for persistent instances, binding + /// one value to a named parameter in the query string. + /// + /// The object type to find. + /// The name of a Hibernate query in a mapping file + /// The name of the parameter + /// The value of the parameter + /// Hibernate type of the parameter (or null) + /// A generic List containing 0 or more persistent instances + /// In case of Hibernate errors + public IList FindByNamedParam(string queryName, string paramName, object value, IType type) + { + return FindByNamedParam(queryName, new string[] {paramName}, new object[] {value}, new IType[] {type}); + } + + /// + /// Execute a query for persistent instances, binding a + /// number of values to named parameters in the query string. + /// + /// The object type to find. + /// A query expressed in Hibernate's query language + /// The names of the parameters + /// The values of the parameters + /// A generic List containing 0 or more persistent instances + /// In case of Hibernate errors + public IList FindByNamedParam(string queryString, string[] paramNames, object[] values) + { + return FindByNamedParam(queryString, paramNames, values, null); + } + + /// + /// Execute a query for persistent instances, binding a + /// number of values to named parameters in the query string. + /// + /// The object type to find. + /// A query expressed in Hibernate's query language + /// The names of the parameters + /// The values of the parameters + /// Hibernate types of the parameters (or null) + /// A generic List containing 0 or more persistent instances + /// In case of Hibernate errors + /// If paramNames length is not equal to values length or + /// if paramNames length is not equal to types length (when types is not null) + public IList FindByNamedParam(string queryString, string[] paramNames, object[] values, IType[] types) + { + if (paramNames.Length != values.Length) + { + throw new ArgumentOutOfRangeException("paramNames", + "Length of paramNames array must match length of values array"); + } + if (types != null && paramNames.Length != types.Length) + { + throw new ArgumentOutOfRangeException("paramNames", + "Length of paramNames array must match length of types array"); + } + + return + ExecuteFind(new FindByNamedParamHibernateCallback(this, queryString, paramNames, values, types), true); + } + + /// + /// Execute a named query for persistent instances. + /// A named query is defined in a Hibernate mapping file. + /// + /// The object type to find. + /// The name of a Hibernate query in a mapping file + /// A generic List containing 0 or more persistent instances + /// In case of Hibernate errors + public IList FindByNamedQuery(string queryName) + { + return FindByNamedQuery(queryName, (object[]) null, (IType[]) null); + } + + /// + /// Execute a named query for persistent instances, binding + /// one value to a "?" parameter in the query string. + /// A named query is defined in a Hibernate mapping file. + /// + /// The object type to find. + /// The name of a Hibernate query in a mapping file + /// The value of the parameter + /// A generic List containing 0 or more persistent instances + /// In case of Hibernate errors + public IList FindByNamedQuery(string queryName, object value) + { + return FindByNamedQuery(queryName, new object[] {value}, (IType[]) null); + } + + /// + /// Execute a named query for persistent instances, binding + /// one value to a "?" parameter in the query string. + /// A named query is defined in a Hibernate mapping file. + /// + /// The object type to find. + /// The name of a Hibernate query in a mapping file + /// The value of the parameter + /// Hibernate type of the parameter (or null) + /// A generic List containing 0 or more persistent instances + /// In case of Hibernate errors + public IList FindByNamedQuery(string queryName, object value, IType type) + { + return FindByNamedQuery(queryName, new object[] {value}, new IType[] {type}); + } + + /// + /// Execute a named query for persistent instances, binding a + /// number of values to "?" parameters in the query string. + /// A named query is defined in a Hibernate mapping file. + /// + /// The object type to find. + /// The name of a Hibernate query in a mapping file + /// The values of the parameters + /// A generic List containing 0 or more persistent instances + /// In case of Hibernate errors + public IList FindByNamedQuery(string queryName, object[] values) + { + return FindByNamedQuery(queryName, values, (IType[]) null); + } + + /// + /// Execute a named query for persistent instances, binding a + /// number of values to "?" parameters in the query string. + /// A named query is defined in a Hibernate mapping file. + /// + /// The object type to find. + /// The name of a Hibernate query in a mapping file + /// The values of the parameters + /// Hibernate types of the parameters (or null) + /// A generic List containing 0 or more persistent instances + /// In case of Hibernate errors + /// If values and types are not null and their lengths differ. + public IList FindByNamedQuery(string queryName, object[] values, IType[] types) + { + if (values != null && types != null && values.Length != types.Length) + { + throw new ArgumentOutOfRangeException("Length of values array must match length of types array"); + } + return ExecuteFind(new FindByNamedQueryHibernateCallback(this, queryName, values, types), true); + } + + /// + /// Execute a named query for persistent instances, binding + /// one value to a named parameter in the query string. + /// A named query is defined in a Hibernate mapping file. + /// + /// The object type to find. + /// The name of a Hibernate query in a mapping file + /// Name of the parameter + /// The value of the parameter + /// A generic List containing 0 or more persistent instances + /// In case of Hibernate errors + public IList FindByNamedQueryAndNamedParam(string queryName, string paramName, object value) + { + return FindByNamedQueryAndNamedParam(queryName, paramName, value, null); + } + + /// + /// Execute a named query for persistent instances, binding + /// one value to a named parameter in the query string. + /// A named query is defined in a Hibernate mapping file. + /// + /// The object type to find. + /// The name of a Hibernate query in a mapping file + /// Name of the parameter + /// The value of the parameter + /// The Hibernate type of the parameter (or null) + /// A generic List containing 0 or more persistent instances + /// In case of Hibernate errors + public IList FindByNamedQueryAndNamedParam(string queryName, string paramName, object value, IType type) + { + return FindByNamedQueryAndNamedParam( + queryName, new string[] {paramName}, new object[] {value}, new IType[] {type}); + } + + /// + /// Execute a named query for persistent instances, binding + /// number of values to named parameters in the query string. + /// A named query is defined in a Hibernate mapping file. + /// + /// The object type to find. + /// The name of a Hibernate query in a mapping file + /// The names of the parameters + /// The values of the parameters. + /// A generic List containing 0 or more persistent instances + /// In case of Hibernate errors + public IList FindByNamedQueryAndNamedParam(string queryName, string[] paramNames, object[] values) + { + return FindByNamedQueryAndNamedParam(queryName, paramNames, values, null); + } + + /// + /// Execute a named query for persistent instances, binding + /// number of values to named parameters in the query string. + /// A named query is defined in a Hibernate mapping file. + /// + /// The object type to find. + /// The name of a Hibernate query in a mapping file + /// The names of the parameters + /// The values of the parameters. + /// Hibernate types of the parameters (or null) + /// A generic List containing 0 or more persistent instances + /// In case of Hibernate errors + /// If paramNames length is not equal to values length or + /// if paramNames length is not equal to types length (when types is not null) + public IList FindByNamedQueryAndNamedParam(string queryName, string[] paramNames, object[] values, + IType[] types) + { + if (paramNames != null && values != null && paramNames.Length != values.Length) + { + throw new ArgumentOutOfRangeException("paramNames", + "Length of paramNames array must match length of values array"); + } + if (paramNames != null && types != null && paramNames.Length != types.Length) + { + throw new ArgumentOutOfRangeException("paramNams", + "Length of paramNames array must match length of types array"); + } + return + ExecuteFind( + new FindByNamedQueryAndNamedParamHibernateCallback(this, queryName, paramNames, values, types), + true); + } + + /// + /// Execute a named query for persistent instances, binding the properties + /// of the given object to named parameters in the query string. + /// A named query is defined in a Hibernate mapping file. + /// + /// The object type to find. + /// The name of a Hibernate query in a mapping file + /// The values of the parameters + /// A generic List containing 0 or more persistent instances + /// In case of Hibernate errors + public IList FindByNamedQueryAndValueObject(string queryName, object valueObject) + { + return + ExecuteFind(new FindByNamedQueryAndValueObjectHibernateCallback(this, queryName, valueObject), true); + } + + /// + /// Execute a query for persistent instances, binding the properties + /// of the given object to named parameters in the query string. + /// + /// The object type to find. + /// A query expressed in Hibernate's query language + /// The values of the parameters + /// A generic List containing 0 or more persistent instances + /// In case of Hibernate errors + public IList FindByValueObject(string queryString, object valueObject) + { + return ExecuteFind(new FindByValueObjectHibernateCallback(this, queryString, valueObject), true); + } + + #endregion + + #region Execute methods + + /// + /// Execute the action specified by the given action object within a Session. + /// + /// + /// Application exceptions thrown by the action object get propagated to the + /// caller (can only be unchecked). Hibernate exceptions are transformed into + /// appropriate DAO ones. Allows for returning the result object. + ///

Note: Callback code is not supposed to handle transactions itself! + /// Use an appropriate transaction manager like HibernateTransactionManager. + /// Generally, callback code must not touch any Session lifecycle methods, + /// like close, disconnect, or reconnect, to let the template do its work. + ///

+ ///
+ /// The object type retrieved. + /// The delegate callback object that specifies the Hibernate action. + /// a result object returned by the action, or null + /// + /// In case of Hibernate errors + public T Execute(HibernateDelegate del) + { + return Execute(new ExecuteHibernateCallbackUsingDelegate(del)); + } + + /// + /// Execute the action specified by the delegate within a Session. + /// + /// The object type retrieved. + /// The HibernateDelegate that specifies the action + /// to perform. + /// if set to true expose the native hibernate session to + /// callback code. + /// a result object returned by the action, or null + /// + /// In case of Hibernate errors + public T Execute(HibernateDelegate del, bool exposeNativeSession) + { + return Execute(new ExecuteHibernateCallbackUsingDelegate(del), true); + } + + /// + /// Execute the action specified by the given action object within a Session. + /// + /// The object type retrieved. + /// The callback object that specifies the Hibernate action. + /// + /// a result object returned by the action, or null + /// + /// + /// Application exceptions thrown by the action object get propagated to the + /// caller (can only be unchecked). Hibernate exceptions are transformed into + /// appropriate DAO ones. Allows for returning the result object. + ///

Note: Callback code is not supposed to handle transactions itself! + /// Use an appropriate transaction manager like HibernateTransactionManager. + /// Generally, callback code must not touch any Session lifecycle methods, + /// like close, disconnect, or reconnect, to let the template do its work. + ///

+ ///
+ /// In case of Hibernate errors + public T Execute(IHibernateCallback action) + { + return Execute(action, ExposeNativeSession); + } + + /// + /// Execute the action specified by the given action object within a Session. + /// + /// The object type retrieved. + /// callback object that specifies the Hibernate action. + /// if set to true expose the native hibernate session to + /// callback code. + /// + /// a result object returned by the action, or null + /// + /// In case of Hibernate errors + public T Execute(IHibernateCallback action, bool exposeNativeSession) + { + ISession session = Session; + + bool existingTransaction = SessionFactoryUtils.IsSessionTransactional(session, SessionFactory); + if (existingTransaction) + { + //log.Debug("Found thread-bound Session for HibernateTemplate"); + } + + FlushModeHolder previousFlushModeHolder = new FlushModeHolder(); + try + { + previousFlushModeHolder = ApplyFlushMode(session, existingTransaction); + ISession sessionToExpose = (exposeNativeSession ? session : classicHibernateTemplate.CreateSessionProxy(session)); + T result = action.DoInHibernate(sessionToExpose); + FlushIfNecessary(session, existingTransaction); + return result; + } + catch (ADOException ex) + { + IDbProvider dbProvider = SessionFactoryUtils.GetDbProvider(SessionFactory); + if (dbProvider != null && dbProvider.IsDataAccessException(ex.InnerException)) + { + throw ConvertAdoAccessException(ex); + } + else + { + throw new HibernateSystemException(ex); + } + } + catch (HibernateException ex) + { + throw ConvertHibernateAccessException(ex); + } + catch (Exception ex) + { + IDbProvider dbProvider = SessionFactoryUtils.GetDbProvider(SessionFactory); + if (dbProvider != null && dbProvider.IsDataAccessException(ex)) + { + throw ConvertAdoAccessException(ex); + } + else + { + // Callback code throw application exception or other non DB related exception. + throw; + } + } + finally + { + if (existingTransaction) + { + //log.Debug("Not closing pre-bound Hibernate Session after HibernateTemplate"); + if (previousFlushModeHolder.ModeWasSet) + { + session.FlushMode = previousFlushModeHolder.Mode; + } + } + else + { + SessionFactoryUtils.ReleaseSession(session, SessionFactory); + } + } + } + + /// + /// Execute the action specified by the given action object within a Session assuming that an IList is returned. + /// + /// The object type to find. + /// callback object that specifies the Hibernate action. + /// if set to true expose the native hibernate session to + /// callback code. + /// + /// an IList returned by the action, or null + /// + /// In case of Hibernate errors + public IList ExecuteFind(IFindHibernateCallback action, bool exposeNativeSession) + { + ISession session = Session; + + bool existingTransaction = SessionFactoryUtils.IsSessionTransactional(session, SessionFactory); + + FlushModeHolder previousFlushModeHolder = new FlushModeHolder(); + try + { + previousFlushModeHolder = ApplyFlushMode(session, existingTransaction); + ISession sessionToExpose = (exposeNativeSession ? session : classicHibernateTemplate.CreateSessionProxy(session)); + IList result = action.DoInHibernate(sessionToExpose); + FlushIfNecessary(session, existingTransaction); + return result; + } + catch (ADOException ex) + { + IDbProvider dbProvider = SessionFactoryUtils.GetDbProvider(SessionFactory); + if (dbProvider != null && dbProvider.IsDataAccessException(ex.InnerException)) + { + throw ConvertAdoAccessException(ex); + } + else + { + // Callback code throw application exception or other non DB related exception. + throw; + } + } + catch (HibernateException ex) + { + throw ConvertHibernateAccessException(ex); + } + catch (Exception ex) + { + IDbProvider dbProvider = SessionFactoryUtils.GetDbProvider(SessionFactory); + if (dbProvider != null && dbProvider.IsDataAccessException(ex)) + { + throw ConvertAdoAccessException(ex); + } + else + { + // Callback code throw application exception or other non DB related exception. + throw; + } + } + finally + { + if (existingTransaction) + { + if (previousFlushModeHolder.ModeWasSet) + { + session.FlushMode = previousFlushModeHolder.Mode; + } + } + else + { + SessionFactoryUtils.ReleaseSession(session, SessionFactory); + } + } + } + + /// + /// Execute the action specified by the given action object within a Session. + /// + /// + /// Application exceptions thrown by the action object get propagated to the + /// caller (can only be unchecked). Hibernate exceptions are transformed into + /// appropriate DAO ones. Allows for returning the result object. + ///

Note: Callback code is not supposed to handle transactions itself! + /// Use an appropriate transaction manager like HibernateTransactionManager. + /// Generally, callback code must not touch any Session lifecycle methods, + /// like close, disconnect, or reconnect, to let the template do its work. + ///

+ ///
+ /// The object type to find. + /// The delegate callback object that specifies the Hibernate action. + /// A generic IList returned by the action, or null + /// + /// In case of Hibernate errors + public IList ExecuteFind(FindHibernateDelegate del) + { + return ExecuteFind(new ExecuteFindHibernateCallbackUsingDelegate(del)); + } + + /// + /// Execute the action specified by the delegate within a Session. + /// + /// The object type to find. + /// The FindHibernateDelegate that specifies the action + /// to perform. + /// if set to true expose the native hibernate session to + /// callback code. + /// A generic IList returned by the action, or null + /// + /// In case of Hibernate errors + public IList ExecuteFind(FindHibernateDelegate del, bool exposeNativeSession) + { + return ExecuteFind(new ExecuteFindHibernateCallbackUsingDelegate(del), true); + } + + /// + /// Execute the action specified by the given action object within a Session. + /// + /// The object type to find. + /// The callback object that specifies the Hibernate action. + /// + /// A generic IList returned by the action, or null + /// + /// + /// Application exceptions thrown by the action object get propagated to the + /// caller (can only be unchecked). Hibernate exceptions are transformed into + /// appropriate DAO ones. Allows for returning the result object. + ///

Note: Callback code is not supposed to handle transactions itself! + /// Use an appropriate transaction manager like HibernateTransactionManager. + /// Generally, callback code must not touch any Session lifecycle methods, + /// like close, disconnect, or reconnect, to let the template do its work. + ///

+ ///
+ public IList ExecuteFind(IFindHibernateCallback action) + { + return ExecuteFind(action, ExposeNativeSession); + } + + #endregion + + } + + #region Internal Supporting Callback Classes + + internal class ExecuteHibernateCallbackUsingDelegate : IHibernateCallback + { + private HibernateDelegate del; + + public ExecuteHibernateCallbackUsingDelegate(HibernateDelegate d) + { + del = d; + } + + public T DoInHibernate(ISession session) + { + return del(session); + } + } + + internal class GetByTypeHibernateCallback : IHibernateCallback + { + private object id; + private LockMode lockMode; + + public GetByTypeHibernateCallback(object id, LockMode lockMode) + { + this.id = id; + this.lockMode = lockMode; + } + + /// + /// Gets called by HibernateTemplate with an active + /// Hibernate Session. Does not need to care about activating or closing + /// the Session, or handling transactions. + /// + /// + ///

+ /// Allows for returning a result object created within the callback, i.e. + /// a domain object or a collection of domain objects. Note that there's + /// special support for single step actions: see HibernateTemplate.find etc. + ///

+ ///
+ public T DoInHibernate(ISession session) + { + if (lockMode != null) + { + return session.Get(id, lockMode); + } + else + { + return session.Get(id); + } + } + } + + internal class LoadByTypeHibernateCallback : IHibernateCallback + { + private object id; + private LockMode lockMode; + + public LoadByTypeHibernateCallback(object id, LockMode lockMode) + { + this.id = id; + this.lockMode = lockMode; + } + + /// + /// Gets called by HibernateTemplate with an active + /// Hibernate Session. Does not need to care about activating or closing + /// the Session, or handling transactions. + /// + /// + ///

+ /// Allows for returning a result object created within the callback, i.e. + /// a domain object or a collection of domain objects. Note that there's + /// special support for single step actions: see HibernateTemplate.find etc. + ///

+ ///
+ public T DoInHibernate(ISession session) + { + if (lockMode != null) + { + return session.Load(id, lockMode); + } + else + { + return session.Load(id); + } + } + } + + internal class LoadAllByTypeHibernateCallback : IFindHibernateCallback + { + private HibernateTemplate outer; + + public LoadAllByTypeHibernateCallback(HibernateTemplate template) + { + outer = template; + } + + /// + /// Gets called by HibernateTemplate with an active + /// Hibernate Session. Does not need to care about activating or closing + /// the Session, or handling transactions. + /// + /// + ///

+ /// Allows for returning a result object created within the callback, i.e. + /// a domain object or a collection of domain objects. Note that there's + /// special support for single step actions: see HibernateTemplate.find etc. + ///

+ ///
+ public IList DoInHibernate(ISession session) + { + ICriteria criteria = session.CreateCriteria(typeof (T)); + outer.PrepareCriteria(criteria); + return criteria.List(); + } + } + + internal class FindHibernateCallback : IFindHibernateCallback + { + private HibernateTemplate outer; + private string queryString; + private object[] values; + private IType[] types; + + public FindHibernateCallback(HibernateTemplate template, string queryString, object[] values, IType[] types) + { + outer = template; + this.queryString = queryString; + this.values = values; + this.types = types; + } + + /// + /// Gets called by HibernateTemplate with an active + /// Hibernate Session. Does not need to care about activating or closing + /// the Session, or handling transactions. + /// + /// + ///

+ /// Allows for returning a result object created within the callback, i.e. + /// a domain object or a collection of domain objects. Note that there's + /// special support for single step actions: see HibernateTemplate.find etc. + ///

+ ///
+ public IList DoInHibernate(ISession session) + { + IQuery queryObject = session.CreateQuery(queryString); + outer.PrepareQuery(queryObject); + + if (values != null) + { + for (int i = 0; i < values.Length; i++) + { + if (types != null && types[i] != null) + { + queryObject.SetParameter(i, values[i], types[i]); + } + else + { + queryObject.SetParameter(i, values[i]); + } + } + } + + return queryObject.List(); + } + } + + internal class FindByNamedParamHibernateCallback : IFindHibernateCallback + { + HibernateTemplate outer; + private string queryString; + private string[] paramNames; + private object[] values; + private IType[] types; + + public FindByNamedParamHibernateCallback(HibernateTemplate template, string queryString, string[] paramNames, + object[] values, IType[] types) + { + outer = template; + this.queryString = queryString; + this.paramNames = paramNames; + this.values = values; + this.types = types; + } + + /// + /// Gets called by HibernateTemplate with an active + /// Hibernate Session. Does not need to care about activating or closing + /// the Session, or handling transactions. + /// + /// + ///

+ /// Allows for returning a result object created within the callback, i.e. + /// a domain object or a collection of domain objects. Note that there's + /// special support for single step actions: see HibernateTemplate.find etc. + ///

+ ///
+ public IList DoInHibernate(ISession session) + { + IQuery queryObject = session.CreateQuery(queryString); + outer.PrepareQuery(queryObject); + if (values != null) + { + for (int i = 0; i < values.Length; i++) + { + outer.ApplyNamedParameterToQuery(queryObject, paramNames[i], values[i], + (types != null ? types[i] : null)); + } + } + return queryObject.List(); + } + } + + internal class FindByNamedQueryHibernateCallback : IFindHibernateCallback + { + HibernateTemplate outer; + private string queryName; + private object[] values; + private IType[] types; + + public FindByNamedQueryHibernateCallback(HibernateTemplate template, string queryName, object[] values, + IType[] types) + { + outer = template; + this.queryName = queryName; + this.values = values; + this.types = types; + } + + /// + /// Gets called by HibernateTemplate with an active + /// Hibernate Session. Does not need to care about activating or closing + /// the Session, or handling transactions. + /// + /// + ///

+ /// Allows for returning a result object created within the callback, i.e. + /// a domain object or a collection of domain objects. Note that there's + /// special support for single step actions: see HibernateTemplate.find etc. + ///

+ ///
+ public IList DoInHibernate(ISession session) + { + IQuery queryObject = session.GetNamedQuery(queryName); + outer.PrepareQuery(queryObject); + if (values != null) + { + for (int i = 0; i < values.Length; i++) + { + if (types != null && types[i] != null) + { + queryObject.SetParameter(i, values[i], types[i]); + } + else + { + queryObject.SetParameter(i, values[i]); + } + } + } + return queryObject.List(); + } + } + + internal class FindByNamedQueryAndNamedParamHibernateCallback : IFindHibernateCallback + { + HibernateTemplate outer; + private string queryName; + private string[] paramNames; + private object[] values; + private IType[] types; + + public FindByNamedQueryAndNamedParamHibernateCallback(HibernateTemplate template, string queryName, + string[] paramNames, object[] values, IType[] types) + { + outer = template; + this.queryName = queryName; + this.paramNames = paramNames; + this.values = values; + this.types = types; + } + + /// + /// Gets called by HibernateTemplate with an active + /// Hibernate Session. Does not need to care about activating or closing + /// the Session, or handling transactions. + /// + /// + ///

+ /// Allows for returning a result object created within the callback, i.e. + /// a domain object or a collection of domain objects. Note that there's + /// special support for single step actions: see HibernateTemplate.find etc. + ///

+ ///
+ public IList DoInHibernate(ISession session) + { + IQuery queryObject = session.GetNamedQuery(queryName); + outer.PrepareQuery(queryObject); + if (values != null) + { + for (int i = 0; i < values.Length; i++) + { + outer.ApplyNamedParameterToQuery(queryObject, paramNames[i], values[i], + (types != null ? types[i] : null)); + } + } + return queryObject.List(); + } + } + + internal class FindByNamedQueryAndValueObjectHibernateCallback : IFindHibernateCallback + { + HibernateTemplate outer; + private string queryName; + private object valueObject; + + public FindByNamedQueryAndValueObjectHibernateCallback(HibernateTemplate template, string queryName, + object valueObject) + { + outer = template; + this.queryName = queryName; + this.valueObject = valueObject; + } + + /// + /// Gets called by HibernateTemplate with an active + /// Hibernate Session. Does not need to care about activating or closing + /// the Session, or handling transactions. + /// + /// + ///

+ /// Allows for returning a result object created within the callback, i.e. + /// a domain object or a collection of domain objects. Note that there's + /// special support for single step actions: see HibernateTemplate.find etc. + ///

+ ///
+ public IList DoInHibernate(ISession session) + { + IQuery queryObject = session.GetNamedQuery(queryName); + outer.PrepareQuery(queryObject); + queryObject.SetProperties(valueObject); + return queryObject.List(); + } + } + + internal class FindByValueObjectHibernateCallback : IFindHibernateCallback + { + HibernateTemplate outer; + private string queryString; + private object valueObject; + + public FindByValueObjectHibernateCallback(HibernateTemplate template, string queryString, object valueObject) + { + outer = template; + this.queryString = queryString; + this.valueObject = valueObject; + } + + public IList DoInHibernate(ISession session) + { + IQuery queryObject = session.CreateQuery(queryString); + outer.PrepareQuery(queryObject); + queryObject.SetProperties(valueObject); + return queryObject.List(); + } + } + + internal class ExecuteFindHibernateCallbackUsingDelegate : IFindHibernateCallback + { + private FindHibernateDelegate del; + + public ExecuteFindHibernateCallbackUsingDelegate(FindHibernateDelegate d) + { + del = d; + } + + public IList DoInHibernate(ISession session) + { + return del(session); + } + } + #endregion } \ No newline at end of file diff --git a/src/Spring/Spring.Data.NHibernate12/Data/NHibernate/Generic/IFindHibernateCallback.cs b/src/Spring/Spring.Data.NHibernate/Data/NHibernate/Generic/IFindHibernateCallback.cs similarity index 97% rename from src/Spring/Spring.Data.NHibernate12/Data/NHibernate/Generic/IFindHibernateCallback.cs rename to src/Spring/Spring.Data.NHibernate/Data/NHibernate/Generic/IFindHibernateCallback.cs index 609fc09a..239cb813 100644 --- a/src/Spring/Spring.Data.NHibernate12/Data/NHibernate/Generic/IFindHibernateCallback.cs +++ b/src/Spring/Spring.Data.NHibernate/Data/NHibernate/Generic/IFindHibernateCallback.cs @@ -1,55 +1,55 @@ -#region License - -/* - * Copyright © 2002-2011 the original author or authors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#endregion - -using System.Collections.Generic; -using NHibernate; - -namespace Spring.Data.NHibernate.Generic -{ - /// - /// Callback interface (Generic version) for NHibernate code that - /// returns a List of objects. - /// - /// The type of result object - /// To be used with HibernateTemplate execute - /// method. The typical implementation will call - /// Session.load/find/save/update to perform - /// some operations on persistent objects. - /// - /// Sree Nivask (.NET) - /// Mark Pollack (.NET) - public interface IFindHibernateCallback - { - /// - /// Gets called by HibernateTemplate with an active - /// Hibernate Session. Does not need to care about activating or closing - /// the Session, or handling transactions. - /// - /// - ///

- /// Allows for returning a result object created within the callback, i.e. - /// a domain object or a collection of domain objects. Note that there's - /// special support for single step actions: see HibernateTemplate.find etc. - ///

- ///
- /// Collection result object. - IList DoInHibernate(ISession session); - } -} +#region License + +/* + * Copyright © 2002-2011 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#endregion + +using System.Collections.Generic; +using NHibernate; + +namespace Spring.Data.NHibernate.Generic +{ + /// + /// Callback interface (Generic version) for NHibernate code that + /// returns a List of objects. + /// + /// The type of result object + /// To be used with HibernateTemplate execute + /// method. The typical implementation will call + /// Session.load/find/save/update to perform + /// some operations on persistent objects. + /// + /// Sree Nivask (.NET) + /// Mark Pollack (.NET) + public interface IFindHibernateCallback + { + /// + /// Gets called by HibernateTemplate with an active + /// Hibernate Session. Does not need to care about activating or closing + /// the Session, or handling transactions. + /// + /// + ///

+ /// Allows for returning a result object created within the callback, i.e. + /// a domain object or a collection of domain objects. Note that there's + /// special support for single step actions: see HibernateTemplate.find etc. + ///

+ ///
+ /// Collection result object. + IList DoInHibernate(ISession session); + } +} diff --git a/src/Spring/Spring.Data.NHibernate12/Data/NHibernate/Generic/IHibernateCallback.cs b/src/Spring/Spring.Data.NHibernate/Data/NHibernate/Generic/IHibernateCallback.cs similarity index 97% rename from src/Spring/Spring.Data.NHibernate12/Data/NHibernate/Generic/IHibernateCallback.cs rename to src/Spring/Spring.Data.NHibernate/Data/NHibernate/Generic/IHibernateCallback.cs index 7af73200..1f11cd3b 100644 --- a/src/Spring/Spring.Data.NHibernate12/Data/NHibernate/Generic/IHibernateCallback.cs +++ b/src/Spring/Spring.Data.NHibernate/Data/NHibernate/Generic/IHibernateCallback.cs @@ -1,58 +1,58 @@ -#region License - -/* - * Copyright © 2002-2011 the original author or authors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#endregion - -#region Imports - -using NHibernate; - -#endregion - -namespace Spring.Data.NHibernate.Generic -{ - /// - /// Callback interface (Generic version) for NHibernate code. - /// - /// The type of result object - /// To be used with HibernateTemplate execute - /// method. The typical implementation will call - /// Session.load/find/save/update to perform - /// some operations on persistent objects. - /// - /// - /// Sree Nivask (.NET) - public interface IHibernateCallback - { - /// - /// Gets called by HibernateTemplate with an active - /// Hibernate Session. Does not need to care about activating or closing - /// the Session, or handling transactions. - /// - /// - ///

- /// Allows for returning a result object created within the callback, i.e. - /// a domain object or a collection of domain objects. Note that there's - /// special support for single step actions: see HibernateTemplate.find etc. - ///

- ///
- /// A result object. - /// The active Hibernate session - T DoInHibernate(ISession session); - } -} +#region License + +/* + * Copyright © 2002-2011 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#endregion + +#region Imports + +using NHibernate; + +#endregion + +namespace Spring.Data.NHibernate.Generic +{ + /// + /// Callback interface (Generic version) for NHibernate code. + /// + /// The type of result object + /// To be used with HibernateTemplate execute + /// method. The typical implementation will call + /// Session.load/find/save/update to perform + /// some operations on persistent objects. + /// + /// + /// Sree Nivask (.NET) + public interface IHibernateCallback + { + /// + /// Gets called by HibernateTemplate with an active + /// Hibernate Session. Does not need to care about activating or closing + /// the Session, or handling transactions. + /// + /// + ///

+ /// Allows for returning a result object created within the callback, i.e. + /// a domain object or a collection of domain objects. Note that there's + /// special support for single step actions: see HibernateTemplate.find etc. + ///

+ ///
+ /// A result object. + /// The active Hibernate session + T DoInHibernate(ISession session); + } +} diff --git a/src/Spring/Spring.Data.NHibernate12/Data/NHibernate/Generic/IHibernateOperations.cs b/src/Spring/Spring.Data.NHibernate/Data/NHibernate/Generic/IHibernateOperations.cs similarity index 98% rename from src/Spring/Spring.Data.NHibernate12/Data/NHibernate/Generic/IHibernateOperations.cs rename to src/Spring/Spring.Data.NHibernate/Data/NHibernate/Generic/IHibernateOperations.cs index ac82ff0a..b1f5fc4c 100644 --- a/src/Spring/Spring.Data.NHibernate12/Data/NHibernate/Generic/IHibernateOperations.cs +++ b/src/Spring/Spring.Data.NHibernate/Data/NHibernate/Generic/IHibernateOperations.cs @@ -1,491 +1,491 @@ -#region License - -/* - * Copyright © 2002-2011 the original author or authors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#endregion - -using System; -using System.Collections.Generic; -using NHibernate; -using NHibernate.Type; -using Spring.Dao; - -namespace Spring.Data.NHibernate.Generic -{ - /// - /// Interface that specifies a basic set of Hibernate operations. - /// - /// - /// Implemented by HibernateTemplate. Not often used, but a useful option - /// to enhance testability, as it can easily be mocked or stubbed. - ///

Provides HibernateTemplate's data access methods that mirror - /// various Session methods. See the NHibernate ISession documentation - /// for details on those methods. - ///

- ///
- /// - /// Sree Nivask (.NET) - /// Mark Pollack (.NET) - public interface IHibernateOperations : ICommonHibernateOperations - { - - /// - /// Return the persistent instance of the given entity type - /// with the given identifier, or if not found. - /// Obtains the specified lock mode if the instance exists. - /// - /// The object type to get. - /// The id of the object to get. - /// the persistent instance, or if not found - /// In case of Hibernate errors - T Get(object id); - - /// - /// Return the persistent instance of the given entity type - /// with the given identifier, or null if not found. - /// Obtains the specified lock mode if the instance exists. - /// - /// The object type to get. - /// The lock mode to obtain. - /// The lock mode. - /// the persistent instance, or null if not found - /// In case of Hibernate errors - T Get(object id, LockMode lockMode); - - /// - /// Return the persistent instance of the given entity class - /// with the given identifier, throwing an exception if not found. - /// - /// The object type to load. - /// An identifier of the persistent instance. - /// The persistent instance - /// If not found - /// In case of Hibernate errors - T Load(object id); - - /// - /// Return the persistent instance of the given entity class - /// with the given identifier, throwing an exception if not found. - /// Obtains the specified lock mode if the instance exists. - /// - /// The object type to load. - /// An identifier of the persistent instance. - /// The lock mode. - /// The persistent instance - /// If not found - /// In case of Hibernate errors - T Load(object id, LockMode lockMode); - - /// - /// Return all persistent instances of the given entity class. - /// Note: Use queries or criteria for retrieving a specific subset. - /// - /// The object type to load. - /// A generic List containing 0 or more persistent instances - /// In case of Hibernate errors - IList LoadAll(); - - /// - /// Execute a query for persistent instances. - /// - /// The object type to find. - /// a query expressed in Hibernate's query language - /// - /// a generic List containing 0 or more persistent instances - /// - /// In case of Hibernate errors - IList Find(string queryString); - - /// - /// Execute a query for persistent instances, binding - /// one value to a "?" parameter in the query string. - /// - /// The object type to find. - /// a query expressed in Hibernate's query language - /// the value of the parameter - /// - /// a generic List containing 0 or more persistent instances - /// - /// In case of Hibernate errors - IList Find(string queryString, object value); - - /// - /// Execute a query for persistent instances, binding one value - /// to a "?" parameter of the given type in the query string. - /// - /// The object type to find. - /// a query expressed in Hibernate's query language - /// The value of the parameter. - /// Hibernate type of the parameter (or null) - /// - /// a generic List containing 0 or more persistent instances - /// - /// In case of Hibernate errors - IList Find(string queryString, object value, IType type); - - /// - /// Execute a query for persistent instances, binding a - /// number of values to "?" parameters in the query string. - /// - /// The object type to find. - /// a query expressed in Hibernate's query language - /// the values of the parameters - /// a generic List containing 0 or more persistent instances - /// In case of Hibernate errors - IList Find(string queryString, object[] values); - - /// - /// Execute a query for persistent instances, binding a number of - /// values to "?" parameters of the given types in the query string. - /// - /// The object type to find. - /// A query expressed in Hibernate's query language - /// The values of the parameters - /// Hibernate types of the parameters (or null) - /// - /// a generic List containing 0 or more persistent instances - /// - /// In case of Hibernate errors - /// If values and types are not null and their lenths are not equal - IList Find(string queryString, object[] values, IType[] types); - - /// - /// Execute a query for persistent instances, binding - /// one value to a named parameter in the query string. - /// - /// The object type to find. - /// The name of a Hibernate query in a mapping file - /// The name of the parameter - /// The value of the parameter - /// a generic List containing 0 or more persistent instances - /// In case of Hibernate errors - IList FindByNamedParam(string queryName, string paramName, object value); - - /// - /// Execute a query for persistent instances, binding - /// one value to a named parameter in the query string. - /// - /// The object type to find. - /// The name of a Hibernate query in a mapping file - /// The name of the parameter - /// The value of the parameter - /// Hibernate type of the parameter (or null) - /// A generic List containing 0 or more persistent instances - /// In case of Hibernate errors - IList FindByNamedParam(string queryName, string paramName, object value, IType type); - - /// - /// Execute a query for persistent instances, binding a - /// number of values to named parameters in the query string. - /// - /// The object type to find. - /// A query expressed in Hibernate's query language - /// The names of the parameters - /// The values of the parameters - /// A generic List containing 0 or more persistent instances - /// In case of Hibernate errors - IList FindByNamedParam(string queryString, string[] paramNames, object[] values); - - /// - /// Execute a query for persistent instances, binding a - /// number of values to named parameters in the query string. - /// - /// The object type to find. - /// A query expressed in Hibernate's query language - /// The names of the parameters - /// The values of the parameters - /// Hibernate types of the parameters (or null) - /// A generic List containing 0 or more persistent instances - /// In case of Hibernate errors - /// If paramNames length is not equal to values length or - /// if paramNames length is not equal to types length (when types is not null) - IList FindByNamedParam(string queryString, string[] paramNames, object[] values, IType[] types); - - /// - /// Execute a named query for persistent instances. - /// A named query is defined in a Hibernate mapping file. - /// - /// The object type to find. - /// The name of a Hibernate query in a mapping file - /// A generic List containing 0 or more persistent instances - /// In case of Hibernate errors - IList FindByNamedQuery(string queryName); - - /// - /// Execute a named query for persistent instances, binding - /// one value to a "?" parameter in the query string. - /// A named query is defined in a Hibernate mapping file. - /// - /// The object type to find. - /// The name of a Hibernate query in a mapping file - /// The value of the parameter - /// A generic List containing 0 or more persistent instances - /// In case of Hibernate errors - IList FindByNamedQuery(string queryName, object value); - - /// - /// Execute a named query for persistent instances, binding - /// one value to a "?" parameter in the query string. - /// A named query is defined in a Hibernate mapping file. - /// - /// The object type to find. - /// The name of a Hibernate query in a mapping file - /// The value of the parameter - /// Hibernate type of the parameter (or null) - /// A generic List containing 0 or more persistent instances - /// In case of Hibernate errors - IList FindByNamedQuery(string queryName, object value, IType type); - - /// - /// Execute a named query for persistent instances, binding a - /// number of values to "?" parameters in the query string. - /// A named query is defined in a Hibernate mapping file. - /// - /// The object type to find. - /// The name of a Hibernate query in a mapping file - /// The values of the parameters - /// A generic List containing 0 or more persistent instances - /// In case of Hibernate errors - IList FindByNamedQuery(string queryName, object[] values); - - /// - /// Execute a named query for persistent instances, binding a - /// number of values to "?" parameters in the query string. - /// A named query is defined in a Hibernate mapping file. - /// - /// The object type to find. - /// The name of a Hibernate query in a mapping file - /// The values of the parameters - /// Hibernate types of the parameters (or null) - /// A generic List containing 0 or more persistent instances - /// In case of Hibernate errors - /// If values and types are not null and their lengths differ. - IList FindByNamedQuery(string queryName, object[] values, IType[] types); - - /// - /// Execute a named query for persistent instances, binding - /// one value to a named parameter in the query string. - /// A named query is defined in a Hibernate mapping file. - /// - /// The object type to find. - /// The name of a Hibernate query in a mapping file - /// Name of the parameter - /// The value of the parameter - /// A generic List containing 0 or more persistent instances - /// In case of Hibernate errors - IList FindByNamedQueryAndNamedParam(string queryName, string paramName, object value); - - /// - /// Execute a named query for persistent instances, binding - /// one value to a named parameter in the query string. - /// A named query is defined in a Hibernate mapping file. - /// - /// The object type to find. - /// The name of a Hibernate query in a mapping file - /// Name of the parameter - /// The value of the parameter - /// The Hibernate type of the parameter (or null) - /// A generic List containing 0 or more persistent instances - /// In case of Hibernate errors - IList FindByNamedQueryAndNamedParam(string queryName, string paramName, object value, IType type); - - /// - /// Execute a named query for persistent instances, binding - /// number of values to named parameters in the query string. - /// A named query is defined in a Hibernate mapping file. - /// - /// The object type to find. - /// The name of a Hibernate query in a mapping file - /// The names of the parameters - /// The values of the parameters. - /// A generic List containing 0 or more persistent instances - /// In case of Hibernate errors - IList FindByNamedQueryAndNamedParam(string queryName, string[] paramNames, object[] values); - - /// - /// Execute a named query for persistent instances, binding - /// number of values to named parameters in the query string. - /// A named query is defined in a Hibernate mapping file. - /// - /// The object type to find. - /// The name of a Hibernate query in a mapping file - /// The names of the parameters - /// The values of the parameters. - /// Hibernate types of the parameters (or null) - /// A generic List containing 0 or more persistent instances - /// In case of Hibernate errors - /// If paramNames length is not equal to values length or - /// if paramNames length is not equal to types length (when types is not null) - IList FindByNamedQueryAndNamedParam(string queryName, string[] paramNames, object[] values, IType[] types); - - /// - /// Execute a named query for persistent instances, binding the properties - /// of the given object to named parameters in the query string. - /// A named query is defined in a Hibernate mapping file. - /// - /// The object type to find. - /// The name of a Hibernate query in a mapping file - /// The values of the parameters - /// A generic List containing 0 or more persistent instances - /// In case of Hibernate errors - IList FindByNamedQueryAndValueObject(string queryName, object valueObject); - - /// - /// Execute a query for persistent instances, binding the properties - /// of the given object to named parameters in the query string. - /// - /// The object type to find. - /// A query expressed in Hibernate's query language - /// The values of the parameters - /// A generic List containing 0 or more persistent instances - /// In case of Hibernate errors - IList FindByValueObject(string queryString, object valueObject); - - /// - /// Execute the action specified by the given action object within a Session. - /// - /// - /// Application exceptions thrown by the action object get propagated to the - /// caller (can only be unchecked). Hibernate exceptions are transformed into - /// appropriate DAO ones. Allows for returning the result object. - ///

Note: Callback code is not supposed to handle transactions itself! - /// Use an appropriate transaction manager like HibernateTransactionManager. - /// Generally, callback code must not touch any Session lifecycle methods, - /// like close, disconnect, or reconnect, to let the template do its work. - ///

- ///
- /// The object type retrieved. - /// The delegate callback object that specifies the Hibernate action. - /// a result object returned by the action, or null - /// - /// In case of Hibernate errors - T Execute(HibernateDelegate del); - - /// - /// Execute the action specified by the delegate within a Session. - /// - /// The object type retrieved. - /// The HibernateDelegate that specifies the action - /// to perform. - /// if set to true expose the native hibernate session to - /// callback code. - /// a result object returned by the action, or null - /// - /// In case of Hibernate errors - T Execute(HibernateDelegate del, bool exposeNativeSession); - - /// - /// Execute the action specified by the given action object within a Session. - /// - /// The object type retrieved. - /// The callback object that specifies the Hibernate action. - /// - /// a result object returned by the action, or null - /// - /// - /// Application exceptions thrown by the action object get propagated to the - /// caller (can only be unchecked). Hibernate exceptions are transformed into - /// appropriate DAO ones. Allows for returning the result object. - ///

Note: Callback code is not supposed to handle transactions itself! - /// Use an appropriate transaction manager like HibernateTransactionManager. - /// Generally, callback code must not touch any Session lifecycle methods, - /// like close, disconnect, or reconnect, to let the template do its work. - ///

- ///
- /// In case of Hibernate errors - T Execute(IHibernateCallback action); - - /// - /// Execute the action specified by the given action object within a Session. - /// - /// The object type retrieved. - /// callback object that specifies the Hibernate action. - /// if set to true expose the native hibernate session to - /// callback code. - /// - /// a result object returned by the action, or null - /// - /// In case of Hibernate errors - T Execute(IHibernateCallback action, bool exposeNativeSession); - - /// - /// Execute the action specified by the given action object within a Session. - /// - /// - /// Application exceptions thrown by the action object get propagated to the - /// caller (can only be unchecked). Hibernate exceptions are transformed into - /// appropriate DAO ones. Allows for returning the result object. - ///

Note: Callback code is not supposed to handle transactions itself! - /// Use an appropriate transaction manager like HibernateTransactionManager. - /// Generally, callback code must not touch any Session lifecycle methods, - /// like close, disconnect, or reconnect, to let the template do its work. - ///

- ///
- /// The object type to find. - /// The delegate callback object that specifies the Hibernate action. - /// A generic IList returned by the action, or null - /// - /// In case of Hibernate errors - IList ExecuteFind(FindHibernateDelegate del); - - /// - /// Execute the action specified by the delegate within a Session. - /// - /// The object type to find. - /// The FindHibernateDelegate that specifies the action - /// to perform. - /// if set to true expose the native hibernate session to - /// callback code. - /// A generic IList returned by the action, or null - /// - /// In case of Hibernate errors - IList ExecuteFind(FindHibernateDelegate del, bool exposeNativeSession); - - /// - /// Execute the action specified by the given action object within a Session. - /// - /// The object type to find. - /// The callback object that specifies the Hibernate action. - /// - /// A generic IList returned by the action, or null - /// - /// - /// Application exceptions thrown by the action object get propagated to the - /// caller (can only be unchecked). Hibernate exceptions are transformed into - /// appropriate DAO ones. Allows for returning the result object. - ///

Note: Callback code is not supposed to handle transactions itself! - /// Use an appropriate transaction manager like HibernateTransactionManager. - /// Generally, callback code must not touch any Session lifecycle methods, - /// like close, disconnect, or reconnect, to let the template do its work. - ///

- ///
- IList ExecuteFind(IFindHibernateCallback action); - - /// - /// Execute the action specified by the given action object within a Session assuming that an IList is returned. - /// - /// The object type to find. - /// callback object that specifies the Hibernate action. - /// if set to true expose the native hibernate session to - /// callback code. - /// - /// an IList returned by the action, or null - /// - /// In case of Hibernate errors - IList ExecuteFind(IFindHibernateCallback action, bool exposeNativeSession); - } +#region License + +/* + * Copyright © 2002-2011 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#endregion + +using System; +using System.Collections.Generic; +using NHibernate; +using NHibernate.Type; +using Spring.Dao; + +namespace Spring.Data.NHibernate.Generic +{ + /// + /// Interface that specifies a basic set of Hibernate operations. + /// + /// + /// Implemented by HibernateTemplate. Not often used, but a useful option + /// to enhance testability, as it can easily be mocked or stubbed. + ///

Provides HibernateTemplate's data access methods that mirror + /// various Session methods. See the NHibernate ISession documentation + /// for details on those methods. + ///

+ ///
+ /// + /// Sree Nivask (.NET) + /// Mark Pollack (.NET) + public interface IHibernateOperations : ICommonHibernateOperations + { + + /// + /// Return the persistent instance of the given entity type + /// with the given identifier, or if not found. + /// Obtains the specified lock mode if the instance exists. + /// + /// The object type to get. + /// The id of the object to get. + /// the persistent instance, or if not found + /// In case of Hibernate errors + T Get(object id); + + /// + /// Return the persistent instance of the given entity type + /// with the given identifier, or null if not found. + /// Obtains the specified lock mode if the instance exists. + /// + /// The object type to get. + /// The lock mode to obtain. + /// The lock mode. + /// the persistent instance, or null if not found + /// In case of Hibernate errors + T Get(object id, LockMode lockMode); + + /// + /// Return the persistent instance of the given entity class + /// with the given identifier, throwing an exception if not found. + /// + /// The object type to load. + /// An identifier of the persistent instance. + /// The persistent instance + /// If not found + /// In case of Hibernate errors + T Load(object id); + + /// + /// Return the persistent instance of the given entity class + /// with the given identifier, throwing an exception if not found. + /// Obtains the specified lock mode if the instance exists. + /// + /// The object type to load. + /// An identifier of the persistent instance. + /// The lock mode. + /// The persistent instance + /// If not found + /// In case of Hibernate errors + T Load(object id, LockMode lockMode); + + /// + /// Return all persistent instances of the given entity class. + /// Note: Use queries or criteria for retrieving a specific subset. + /// + /// The object type to load. + /// A generic List containing 0 or more persistent instances + /// In case of Hibernate errors + IList LoadAll(); + + /// + /// Execute a query for persistent instances. + /// + /// The object type to find. + /// a query expressed in Hibernate's query language + /// + /// a generic List containing 0 or more persistent instances + /// + /// In case of Hibernate errors + IList Find(string queryString); + + /// + /// Execute a query for persistent instances, binding + /// one value to a "?" parameter in the query string. + /// + /// The object type to find. + /// a query expressed in Hibernate's query language + /// the value of the parameter + /// + /// a generic List containing 0 or more persistent instances + /// + /// In case of Hibernate errors + IList Find(string queryString, object value); + + /// + /// Execute a query for persistent instances, binding one value + /// to a "?" parameter of the given type in the query string. + /// + /// The object type to find. + /// a query expressed in Hibernate's query language + /// The value of the parameter. + /// Hibernate type of the parameter (or null) + /// + /// a generic List containing 0 or more persistent instances + /// + /// In case of Hibernate errors + IList Find(string queryString, object value, IType type); + + /// + /// Execute a query for persistent instances, binding a + /// number of values to "?" parameters in the query string. + /// + /// The object type to find. + /// a query expressed in Hibernate's query language + /// the values of the parameters + /// a generic List containing 0 or more persistent instances + /// In case of Hibernate errors + IList Find(string queryString, object[] values); + + /// + /// Execute a query for persistent instances, binding a number of + /// values to "?" parameters of the given types in the query string. + /// + /// The object type to find. + /// A query expressed in Hibernate's query language + /// The values of the parameters + /// Hibernate types of the parameters (or null) + /// + /// a generic List containing 0 or more persistent instances + /// + /// In case of Hibernate errors + /// If values and types are not null and their lenths are not equal + IList Find(string queryString, object[] values, IType[] types); + + /// + /// Execute a query for persistent instances, binding + /// one value to a named parameter in the query string. + /// + /// The object type to find. + /// The name of a Hibernate query in a mapping file + /// The name of the parameter + /// The value of the parameter + /// a generic List containing 0 or more persistent instances + /// In case of Hibernate errors + IList FindByNamedParam(string queryName, string paramName, object value); + + /// + /// Execute a query for persistent instances, binding + /// one value to a named parameter in the query string. + /// + /// The object type to find. + /// The name of a Hibernate query in a mapping file + /// The name of the parameter + /// The value of the parameter + /// Hibernate type of the parameter (or null) + /// A generic List containing 0 or more persistent instances + /// In case of Hibernate errors + IList FindByNamedParam(string queryName, string paramName, object value, IType type); + + /// + /// Execute a query for persistent instances, binding a + /// number of values to named parameters in the query string. + /// + /// The object type to find. + /// A query expressed in Hibernate's query language + /// The names of the parameters + /// The values of the parameters + /// A generic List containing 0 or more persistent instances + /// In case of Hibernate errors + IList FindByNamedParam(string queryString, string[] paramNames, object[] values); + + /// + /// Execute a query for persistent instances, binding a + /// number of values to named parameters in the query string. + /// + /// The object type to find. + /// A query expressed in Hibernate's query language + /// The names of the parameters + /// The values of the parameters + /// Hibernate types of the parameters (or null) + /// A generic List containing 0 or more persistent instances + /// In case of Hibernate errors + /// If paramNames length is not equal to values length or + /// if paramNames length is not equal to types length (when types is not null) + IList FindByNamedParam(string queryString, string[] paramNames, object[] values, IType[] types); + + /// + /// Execute a named query for persistent instances. + /// A named query is defined in a Hibernate mapping file. + /// + /// The object type to find. + /// The name of a Hibernate query in a mapping file + /// A generic List containing 0 or more persistent instances + /// In case of Hibernate errors + IList FindByNamedQuery(string queryName); + + /// + /// Execute a named query for persistent instances, binding + /// one value to a "?" parameter in the query string. + /// A named query is defined in a Hibernate mapping file. + /// + /// The object type to find. + /// The name of a Hibernate query in a mapping file + /// The value of the parameter + /// A generic List containing 0 or more persistent instances + /// In case of Hibernate errors + IList FindByNamedQuery(string queryName, object value); + + /// + /// Execute a named query for persistent instances, binding + /// one value to a "?" parameter in the query string. + /// A named query is defined in a Hibernate mapping file. + /// + /// The object type to find. + /// The name of a Hibernate query in a mapping file + /// The value of the parameter + /// Hibernate type of the parameter (or null) + /// A generic List containing 0 or more persistent instances + /// In case of Hibernate errors + IList FindByNamedQuery(string queryName, object value, IType type); + + /// + /// Execute a named query for persistent instances, binding a + /// number of values to "?" parameters in the query string. + /// A named query is defined in a Hibernate mapping file. + /// + /// The object type to find. + /// The name of a Hibernate query in a mapping file + /// The values of the parameters + /// A generic List containing 0 or more persistent instances + /// In case of Hibernate errors + IList FindByNamedQuery(string queryName, object[] values); + + /// + /// Execute a named query for persistent instances, binding a + /// number of values to "?" parameters in the query string. + /// A named query is defined in a Hibernate mapping file. + /// + /// The object type to find. + /// The name of a Hibernate query in a mapping file + /// The values of the parameters + /// Hibernate types of the parameters (or null) + /// A generic List containing 0 or more persistent instances + /// In case of Hibernate errors + /// If values and types are not null and their lengths differ. + IList FindByNamedQuery(string queryName, object[] values, IType[] types); + + /// + /// Execute a named query for persistent instances, binding + /// one value to a named parameter in the query string. + /// A named query is defined in a Hibernate mapping file. + /// + /// The object type to find. + /// The name of a Hibernate query in a mapping file + /// Name of the parameter + /// The value of the parameter + /// A generic List containing 0 or more persistent instances + /// In case of Hibernate errors + IList FindByNamedQueryAndNamedParam(string queryName, string paramName, object value); + + /// + /// Execute a named query for persistent instances, binding + /// one value to a named parameter in the query string. + /// A named query is defined in a Hibernate mapping file. + /// + /// The object type to find. + /// The name of a Hibernate query in a mapping file + /// Name of the parameter + /// The value of the parameter + /// The Hibernate type of the parameter (or null) + /// A generic List containing 0 or more persistent instances + /// In case of Hibernate errors + IList FindByNamedQueryAndNamedParam(string queryName, string paramName, object value, IType type); + + /// + /// Execute a named query for persistent instances, binding + /// number of values to named parameters in the query string. + /// A named query is defined in a Hibernate mapping file. + /// + /// The object type to find. + /// The name of a Hibernate query in a mapping file + /// The names of the parameters + /// The values of the parameters. + /// A generic List containing 0 or more persistent instances + /// In case of Hibernate errors + IList FindByNamedQueryAndNamedParam(string queryName, string[] paramNames, object[] values); + + /// + /// Execute a named query for persistent instances, binding + /// number of values to named parameters in the query string. + /// A named query is defined in a Hibernate mapping file. + /// + /// The object type to find. + /// The name of a Hibernate query in a mapping file + /// The names of the parameters + /// The values of the parameters. + /// Hibernate types of the parameters (or null) + /// A generic List containing 0 or more persistent instances + /// In case of Hibernate errors + /// If paramNames length is not equal to values length or + /// if paramNames length is not equal to types length (when types is not null) + IList FindByNamedQueryAndNamedParam(string queryName, string[] paramNames, object[] values, IType[] types); + + /// + /// Execute a named query for persistent instances, binding the properties + /// of the given object to named parameters in the query string. + /// A named query is defined in a Hibernate mapping file. + /// + /// The object type to find. + /// The name of a Hibernate query in a mapping file + /// The values of the parameters + /// A generic List containing 0 or more persistent instances + /// In case of Hibernate errors + IList FindByNamedQueryAndValueObject(string queryName, object valueObject); + + /// + /// Execute a query for persistent instances, binding the properties + /// of the given object to named parameters in the query string. + /// + /// The object type to find. + /// A query expressed in Hibernate's query language + /// The values of the parameters + /// A generic List containing 0 or more persistent instances + /// In case of Hibernate errors + IList FindByValueObject(string queryString, object valueObject); + + /// + /// Execute the action specified by the given action object within a Session. + /// + /// + /// Application exceptions thrown by the action object get propagated to the + /// caller (can only be unchecked). Hibernate exceptions are transformed into + /// appropriate DAO ones. Allows for returning the result object. + ///

Note: Callback code is not supposed to handle transactions itself! + /// Use an appropriate transaction manager like HibernateTransactionManager. + /// Generally, callback code must not touch any Session lifecycle methods, + /// like close, disconnect, or reconnect, to let the template do its work. + ///

+ ///
+ /// The object type retrieved. + /// The delegate callback object that specifies the Hibernate action. + /// a result object returned by the action, or null + /// + /// In case of Hibernate errors + T Execute(HibernateDelegate del); + + /// + /// Execute the action specified by the delegate within a Session. + /// + /// The object type retrieved. + /// The HibernateDelegate that specifies the action + /// to perform. + /// if set to true expose the native hibernate session to + /// callback code. + /// a result object returned by the action, or null + /// + /// In case of Hibernate errors + T Execute(HibernateDelegate del, bool exposeNativeSession); + + /// + /// Execute the action specified by the given action object within a Session. + /// + /// The object type retrieved. + /// The callback object that specifies the Hibernate action. + /// + /// a result object returned by the action, or null + /// + /// + /// Application exceptions thrown by the action object get propagated to the + /// caller (can only be unchecked). Hibernate exceptions are transformed into + /// appropriate DAO ones. Allows for returning the result object. + ///

Note: Callback code is not supposed to handle transactions itself! + /// Use an appropriate transaction manager like HibernateTransactionManager. + /// Generally, callback code must not touch any Session lifecycle methods, + /// like close, disconnect, or reconnect, to let the template do its work. + ///

+ ///
+ /// In case of Hibernate errors + T Execute(IHibernateCallback action); + + /// + /// Execute the action specified by the given action object within a Session. + /// + /// The object type retrieved. + /// callback object that specifies the Hibernate action. + /// if set to true expose the native hibernate session to + /// callback code. + /// + /// a result object returned by the action, or null + /// + /// In case of Hibernate errors + T Execute(IHibernateCallback action, bool exposeNativeSession); + + /// + /// Execute the action specified by the given action object within a Session. + /// + /// + /// Application exceptions thrown by the action object get propagated to the + /// caller (can only be unchecked). Hibernate exceptions are transformed into + /// appropriate DAO ones. Allows for returning the result object. + ///

Note: Callback code is not supposed to handle transactions itself! + /// Use an appropriate transaction manager like HibernateTransactionManager. + /// Generally, callback code must not touch any Session lifecycle methods, + /// like close, disconnect, or reconnect, to let the template do its work. + ///

+ ///
+ /// The object type to find. + /// The delegate callback object that specifies the Hibernate action. + /// A generic IList returned by the action, or null + /// + /// In case of Hibernate errors + IList ExecuteFind(FindHibernateDelegate del); + + /// + /// Execute the action specified by the delegate within a Session. + /// + /// The object type to find. + /// The FindHibernateDelegate that specifies the action + /// to perform. + /// if set to true expose the native hibernate session to + /// callback code. + /// A generic IList returned by the action, or null + /// + /// In case of Hibernate errors + IList ExecuteFind(FindHibernateDelegate del, bool exposeNativeSession); + + /// + /// Execute the action specified by the given action object within a Session. + /// + /// The object type to find. + /// The callback object that specifies the Hibernate action. + /// + /// A generic IList returned by the action, or null + /// + /// + /// Application exceptions thrown by the action object get propagated to the + /// caller (can only be unchecked). Hibernate exceptions are transformed into + /// appropriate DAO ones. Allows for returning the result object. + ///

Note: Callback code is not supposed to handle transactions itself! + /// Use an appropriate transaction manager like HibernateTransactionManager. + /// Generally, callback code must not touch any Session lifecycle methods, + /// like close, disconnect, or reconnect, to let the template do its work. + ///

+ ///
+ IList ExecuteFind(IFindHibernateCallback action); + + /// + /// Execute the action specified by the given action object within a Session assuming that an IList is returned. + /// + /// The object type to find. + /// callback object that specifies the Hibernate action. + /// if set to true expose the native hibernate session to + /// callback code. + /// + /// an IList returned by the action, or null + /// + /// In case of Hibernate errors + IList ExecuteFind(IFindHibernateCallback action, bool exposeNativeSession); + } } \ No newline at end of file diff --git a/src/Spring/Spring.Data.NHibernate/Data/NHibernate/HibernateAccessor.cs b/src/Spring/Spring.Data.NHibernate/Data/NHibernate/HibernateAccessor.cs index a5c204c3..d2c2c3f1 100644 --- a/src/Spring/Spring.Data.NHibernate/Data/NHibernate/HibernateAccessor.cs +++ b/src/Spring/Spring.Data.NHibernate/Data/NHibernate/HibernateAccessor.cs @@ -1,7 +1,7 @@ #region License /* - * Copyright © 2002-2010 the original author or authors. + * Copyright © 2002-2011 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -186,6 +186,7 @@ namespace Spring.Data.NHibernate /// to set the interceptor reference directly in such a scenario. ///

/// + /// The name of the entity interceptor in the object factory/application context. public abstract string EntityInterceptorObjectName { set; @@ -205,6 +206,7 @@ namespace Spring.Data.NHibernate /// /// Set the object factory instance. /// + /// The object factory instance. public abstract IObjectFactory ObjectFactory { set; @@ -442,10 +444,9 @@ namespace Spring.Data.NHibernate /// /// the corresponding DataAccessException instance /// - protected virtual DataAccessException ConvertAdoAccessException(ADOException ex) + protected virtual DataAccessException ConvertAdoAccessException(ADOException ex) { - return AdoExceptionTranslator.Translate( - "Hibernate operation: " + ex.Message, null, ex.InnerException); + return SessionFactoryUtils.ConvertAdoAccessException(AdoExceptionTranslator, ex); } /// @@ -631,6 +632,7 @@ namespace Spring.Data.NHibernate /// /// Ensure SessionFactory is not null /// + /// If SessionFactory property is null. public virtual void AfterPropertiesSet() { if (SessionFactory == null) diff --git a/src/Spring/Spring.Data.NHibernate/Data/NHibernate/HibernateObjectRetrievalFailureException.cs b/src/Spring/Spring.Data.NHibernate/Data/NHibernate/HibernateObjectRetrievalFailureException.cs index 6b10bfae..0e767f5a 100644 --- a/src/Spring/Spring.Data.NHibernate/Data/NHibernate/HibernateObjectRetrievalFailureException.cs +++ b/src/Spring/Spring.Data.NHibernate/Data/NHibernate/HibernateObjectRetrievalFailureException.cs @@ -37,6 +37,7 @@ namespace Spring.Data.NHibernate /// ObjectDeletedException, and WrongClassException. /// /// Mark Pollack (.NET) + /// $Id: HibernateObjectRetrievalFailureException.cs,v 1.1 2008/04/07 20:12:53 lahma Exp $ [Serializable] public class HibernateObjectRetrievalFailureException : ObjectRetrievalFailureException { @@ -50,6 +51,15 @@ namespace Spring.Data.NHibernate { } + /// + /// Initializes a new instance of the class. + /// + /// The message. + public HibernateObjectRetrievalFailureException(string message) + : base(message) + { + } + /// /// Initializes a new instance of the class. @@ -82,10 +92,26 @@ namespace Spring.Data.NHibernate /// Initializes a new instance of the class. /// /// The ex. - public HibernateObjectRetrievalFailureException(WrongClassException ex) : base(ex.Type, ex.Identifier, ex.Message, ex) - { - + public HibernateObjectRetrievalFailureException(WrongClassException ex) : base(ex.EntityName, ex.Identifier, ex.Message, ex) + { } + + /// + /// Creates a new instance of the HibernateObjectRetrievalFailureException class with the specified message + /// and root cause. + /// + /// + /// A message about the exception. + /// + /// + /// The root exception that is being wrapped. + /// + public HibernateObjectRetrievalFailureException(string message, Exception rootCause) + : base(message, rootCause) + { + } + + /// /// Creates a new instance of the /// class. diff --git a/src/Spring/Spring.Data.NHibernate/Data/NHibernate/HibernateOptimisticLockingFailureException.cs b/src/Spring/Spring.Data.NHibernate/Data/NHibernate/HibernateOptimisticLockingFailureException.cs index 34f0e5ad..9e467660 100644 --- a/src/Spring/Spring.Data.NHibernate/Data/NHibernate/HibernateOptimisticLockingFailureException.cs +++ b/src/Spring/Spring.Data.NHibernate/Data/NHibernate/HibernateOptimisticLockingFailureException.cs @@ -1,7 +1,7 @@ #region License /* - * Copyright © 2002-2010 the original author or authors. + * Copyright © 2002-2011 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -35,8 +35,9 @@ namespace Spring.Data.NHibernate /// /// Converts Hibernate's StaleObjectStateException. /// - /// Juergen Hoeller /// Mark Pollack (.NET) + /// $Id: HibernateOptimisticLockingFailureException.cs,v 1.2 2008/04/23 11:41:41 lahma Exp $ + /// [Serializable] public class HibernateOptimisticLockingFailureException : ObjectOptimisticLockingFailureException { @@ -53,11 +54,43 @@ namespace Spring.Data.NHibernate { } + /// + /// Creates a new instance of the + /// class. + /// + /// + /// A message about the exception. + /// + public HibernateOptimisticLockingFailureException(string message) : base(message) { } + /// /// Initializes a new instance of the class. /// - /// The StaleObjectStateException. - public HibernateOptimisticLockingFailureException(StaleObjectStateException ex) : base(ex.PersistentType, ex.Identifier, ex.Message, ex) + /// The ex. + public HibernateOptimisticLockingFailureException(StaleObjectStateException ex) : base(ex.EntityName, ex.Identifier, ex.Message, ex) + { + } + + /// + /// Initializes a new instance of the class. + /// + /// The StaleStateException. + public HibernateOptimisticLockingFailureException(StaleStateException ex) : base(ex.Message, ex) + { + } + + /// + /// Creates a new instance of the HibernateOptimisticLockingFailureException class with the specified message + /// and root cause. + /// + /// + /// A message about the exception. + /// + /// + /// The root exception that is being wrapped. + /// + public HibernateOptimisticLockingFailureException(string message, Exception rootCause) + : base(message, rootCause) { } @@ -77,6 +110,8 @@ namespace Spring.Data.NHibernate { } + + #endregion #region Properties diff --git a/src/Spring/Spring.Data.NHibernate21/Data/NHibernate/HibernateTxScopeTransactionManager.cs b/src/Spring/Spring.Data.NHibernate/Data/NHibernate/HibernateTxScopeTransactionManager.cs similarity index 97% rename from src/Spring/Spring.Data.NHibernate21/Data/NHibernate/HibernateTxScopeTransactionManager.cs rename to src/Spring/Spring.Data.NHibernate/Data/NHibernate/HibernateTxScopeTransactionManager.cs index 5e1c5c05..ae91f71c 100644 --- a/src/Spring/Spring.Data.NHibernate21/Data/NHibernate/HibernateTxScopeTransactionManager.cs +++ b/src/Spring/Spring.Data.NHibernate/Data/NHibernate/HibernateTxScopeTransactionManager.cs @@ -1,1143 +1,1141 @@ -#region License - -/* - * Copyright © 2002-2011 the original author or authors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#endregion - -#region Imports - -using System; -using System.Data; -using System.Reflection; -using System.Transactions; -using NHibernate; -using NHibernate.Transaction; - -using Spring.Core.TypeResolution; -using Spring.Dao; -using Spring.Data.Common; -using Spring.Data.Core; -using Spring.Data.Support; -using Spring.Objects.Factory; -using Spring.Transaction; -using Spring.Transaction.Support; -using Spring.Util; -using HibernateTransactionException = NHibernate.TransactionException; - -#endregion - -namespace Spring.Data.NHibernate -{ - /// - /// PlatformTransactionManager implementation for a single Hibernate SessionFactory. - /// Binds a Hibernate Session from the specified factory to the thread, potentially - /// allowing for one thread Session per factory - /// - /// - /// SessionFactoryUtils and HibernateTemplate are aware of thread-bound Sessions and participate in such - /// transactions automatically. Using either of those is required for Hibernate - /// access code that needs to support this transaction handling mechanism. - /// - /// Supports custom isolation levels at the start of the transaction - /// , and timeouts that get applied as appropriate - /// Hibernate query timeouts. To support the latter, application code must either use - /// HibernateTemplate (which by default applies the timeouts) or call - /// SessionFactoryUtils.applyTransactionTimeout for each created - /// Hibernate Query object. - /// - /// Note that you can specify a Spring IDbProvider instance which if shared with - /// a corresponding instance of AdoTemplate will allow for mixing ADO.NET/NHibernate - /// operations within a single transaction. - /// - /// Mark Pollack (.NET) - public class HibernateTxScopeTransactionManager : AbstractPlatformTransactionManager, IResourceTransactionManager, IObjectFactoryAware, IInitializingObject - { - #region Fields - - private ISessionFactory sessionFactory; - - private IDbProvider dbProvider; - - private bool autodetectDbProvider = true; - - private Object entityInterceptor; - - private IAdoExceptionTranslator adoExceptionTranslator; - - private IAdoExceptionTranslator defaultExceptionTranslator; - - /// - /// Just needed for entityInterceptorBeanName. - /// - private IObjectFactory objectFactory; - - private TxScopeTransactionManager txScopeTranactionManager; - - #endregion - - #region Constructor (s) - - /// - /// Initializes a new instance of the class. - /// - public HibernateTxScopeTransactionManager() - { - txScopeTranactionManager = new TxScopeTransactionManager(); - } - - /// - /// Initializes a new instance of the class. - /// - /// The session factory. - public HibernateTxScopeTransactionManager(ISessionFactory sessionFactory) - { - this.sessionFactory = sessionFactory; - AfterPropertiesSet(); - } - - #endregion - - #region Properties - - /// - /// Gets or sets the db provider. - /// - /// The db provider. - public IDbProvider DbProvider - { - get { return dbProvider; } - set { dbProvider = value; } - } - - /// - /// Gets or sets a Hibernate entity interceptor that allows to inspect and change - /// property values before writing to and reading from the database. - /// When getting, return the current Hibernate entity interceptor, or null if none. - /// - /// The entity interceptor. - /// - /// Resolves an entity interceptor object name via the object factory, - /// if necessary. - /// Will get applied to any new Session created by this transaction manager. - /// Such an interceptor can either be set at the SessionFactory level, - /// i.e. on LocalSessionFactoryObject, or at the Session level, i.e. on - /// HibernateTemplate, HibernateInterceptor, and HibernateTransactionManager. - /// It's preferable to set it on LocalSessionFactoryObject or HibernateTransactionManager - /// to avoid repeated configuration and guarantee consistent behavior in transactions. - /// - /// If object factory is null and need to get entity interceptor via object name. - public IInterceptor EntityInterceptor - { - get - { - if (this.entityInterceptor is IInterceptor) - { - return (IInterceptor)entityInterceptor; - } - else if (this.entityInterceptor is string) - { - if (this.objectFactory == null) - { - throw new InvalidOperationException("Cannot get entity interceptor via object name if no object factory set"); - } - String objectName = (String)this.entityInterceptor; - return (IInterceptor)this.objectFactory.GetObject(objectName, typeof(IInterceptor)); - } - else - { - return null; - } - } - set - { - entityInterceptor = value; - } - } - - /// - /// Sets the object name of a Hibernate entity interceptor that - /// allows to inspect and change property values before writing to and reading from the database. - /// - /// The name of the entity interceptor object. - /// - /// Will get applied to any new Session created by this transaction manager. - ///

Requires the object factory to be known, to be able to resolve the object - /// name to an interceptor instance on session creation. Typically used for - /// prototype interceptors, i.e. a new interceptor instance per session. - ///

- ///

Can also be used for shared interceptor instances, but it is recommended - /// to set the interceptor reference directly in such a scenario. - ///

- ///
- public string EntityInterceptorObjectName - { - set - { - entityInterceptor = value; - } - } - - /// - /// Gets or sets the ADO.NET exception translator for this transaction manager. - /// - /// - /// Applied to ADO.NET Exceptions (wrapped by Hibernate's ADOException) - /// - /// The ADO exception translator. - public IAdoExceptionTranslator AdoExceptionTranslator - { - get { return adoExceptionTranslator; } - set { adoExceptionTranslator = value; } - } - - /// - /// Gets the default IAdoException translator, lazily creating it if nece - /// - /// The default IAdoException translator. - public IAdoExceptionTranslator DefaultAdoExceptionTranslator - { - get - { - lock (this) - { - if (defaultExceptionTranslator == null) - { - if (dbProvider != null) - { - defaultExceptionTranslator = new ErrorCodeExceptionTranslator(dbProvider); - } - else - { - defaultExceptionTranslator = SessionFactoryUtils.NewAdoExceptionTranslator(SessionFactory); - } - } - return defaultExceptionTranslator; - } - } - } - - /// - /// Gets or sets the SessionFactory that this instance should manage transactions for. - /// - /// The session factory. - public ISessionFactory SessionFactory - { - get { return sessionFactory; } - set { sessionFactory = value; } - } - - - /// - /// Gets the resource factory that this transaction manager operates on, - /// For the HibenratePlatformTransactionManager this the SessionFactory - /// - /// The SessionFactory. - public object ResourceFactory - { - get { return sessionFactory; } - } - - /// - /// Set whether to autodetect a ADO.NET connection used by the Hibernate SessionFactory, - /// if set via LocalSessionFactoryObject's DbProvider. Default is "true". - /// - /// - /// true if [autodetect data source]; otherwise, false. - /// - /// - ///

Can be turned off to deliberately ignore an available IDbProvider, - /// to not expose Hibernate transactions as ADO.NET transactions for that IDbProvider. - ///

- ///
- public bool AutodetectDbProvider - { - set { autodetectDbProvider = value; } - } - - #endregion - - #region Methods - - #endregion - - - /// - /// The object factory just needs to be known for resolving entity interceptor - /// It does not need to be set for any other mode of operation. - /// - /// - /// Owning - /// (may not be ). The object can immediately - /// call methods on the factory. - /// - public IObjectFactory ObjectFactory - { - set - { - objectFactory = value; - } - } - - /// - /// Return the current transaction object. - /// - /// The current transaction object. - /// - /// If transaction support is not available. - /// - /// - /// In the case of lookup or system errors. - /// - protected override object DoGetTransaction() - { - - - HibernateTransactionObject txObject = new HibernateTransactionObject(); - txObject.SavepointAllowed = NestedTransactionsAllowed; - if (TransactionSynchronizationManager.HasResource(SessionFactory)) - { - SessionHolder sessionHolder = - (SessionHolder)TransactionSynchronizationManager.GetResource(SessionFactory); - if (log.IsDebugEnabled) - { - log.Debug("Found thread-bound Session [" + sessionHolder.Session + - "] for Hibernate transaction"); - } - txObject.SetSessionHolder(sessionHolder, false); - if (DbProvider != null) - { - ConnectionHolder conHolder = (ConnectionHolder) - TransactionSynchronizationManager.GetResource(DbProvider); - txObject.ConnectionHolder = conHolder; - } - } - txObject.PromotableTxScopeTransactionObject = new TxScopeTransactionManager.PromotableTxScopeTransactionObject(); - - return txObject; - } - - /// - /// Check if the given transaction object indicates an existing, - /// i.e. already begun, transaction. - /// - /// - /// Transaction object returned by - /// . - /// - /// True if there is an existing transaction. - /// - /// In the case of system errors. - /// - protected override bool IsExistingTransaction(object transaction) - { - return - ((HibernateTransactionObject)transaction).PromotableTxScopeTransactionObject.TxScopeAdapter. - IsExistingTransaction; - //return ((HibernateTransactionObject) transaction).HasTransaction(); - } - - /// - /// Begin a new transaction with the given transaction definition. - /// - /// - /// Transaction object returned by - /// . - /// - /// - /// instance, describing - /// propagation behavior, isolation level, timeout etc. - /// - /// - /// Does not have to care about applying the propagation behavior, - /// as this has already been handled by this abstract manager. - /// - /// - /// In the case of creation or system errors. - /// - protected override void DoBegin(object transaction, ITransactionDefinition definition) - { - - TxScopeTransactionManager.PromotableTxScopeTransactionObject promotableTxScopeTransactionObject = - ((HibernateTransactionObject)transaction).PromotableTxScopeTransactionObject; - try - { - DoTxScopeBegin(promotableTxScopeTransactionObject, definition); - } - catch (Exception e) - { - throw new CannotCreateTransactionException("Transaction Scope failure on begin", e); - } - - HibernateTransactionObject txObject = (HibernateTransactionObject)transaction; - - if (DbProvider != null && TransactionSynchronizationManager.HasResource(DbProvider) - && !txObject.ConnectionHolder.SynchronizedWithTransaction) - { - throw new IllegalTransactionStateException( - "Pre-bound ADO.NET Connection found - HibernateTransactionManager does not support " + - "running within AdoTransactionManager if told to manage the DbProvider itself. " + - "It is recommended to use a single HibernateTransactionManager for all transactions " + - "on a single DbProvider, no matter whether Hibernate or ADO.NET access."); - } - ISession session = null; - try - { - - if (txObject.SessionHolder == null || txObject.SessionHolder.SynchronizedWithTransaction) - { - IInterceptor interceptor = EntityInterceptor; - ISession newSession = (interceptor != null ? - SessionFactory.OpenSession(interceptor) : SessionFactory.OpenSession()); - - if (log.IsDebugEnabled) - { - log.Debug("Opened new Session [" + newSession + "] for Hibernate transaction"); - } - txObject.SetSessionHolder(new SessionHolder(newSession), true); - - } - txObject.SessionHolder.SynchronizedWithTransaction = true; - session = txObject.SessionHolder.Session; - - IDbConnection con = session.Connection; - //TODO isolation level mgmt - //IsolationLevel previousIsolationLevel = - - if (definition.ReadOnly && txObject.NewSessionHolder) - { - // Just set to NEVER in case of a new Session for this transaction. - session.FlushMode = FlushMode.Never; - } - - if (!definition.ReadOnly && !txObject.NewSessionHolder) - { - // We need AUTO or COMMIT for a non-read-only transaction. - FlushMode flushMode = session.FlushMode; - if (FlushMode.Never == flushMode) - { - session.FlushMode = FlushMode.Auto; - txObject.SessionHolder.PreviousFlushMode = flushMode; - } - } - - // Add the Hibernate transaction to the session holder. - // for now pass in tx options isolation level. - ITransaction hibernateTx = session.BeginTransaction(definition.TransactionIsolationLevel); - IDbTransaction adoTx = GetIDbTransaction(hibernateTx); - - // Add the Hibernate transaction to the session holder. - txObject.SessionHolder.Transaction = hibernateTx; - - // Register transaction timeout. - int timeout = DetermineTimeout(definition); - if (timeout != DefaultTransactionDefinition.TIMEOUT_DEFAULT) - { - txObject.SessionHolder.TimeoutInSeconds = timeout; - } - - // Register the Hibernate Session's ADO.NET Connection/TX pair for the DbProvider, if set. - if (DbProvider != null) - { - //investigate passing null for tx. - ConnectionHolder conHolder = new ConnectionHolder(con, adoTx); - if (timeout != DefaultTransactionDefinition.TIMEOUT_DEFAULT) - { - conHolder.TimeoutInMillis = definition.TransactionTimeout; - } - if (log.IsDebugEnabled) - { - log.Debug("Exposing Hibernate transaction as ADO transaction [" + con + "]"); - } - TransactionSynchronizationManager.BindResource(DbProvider, conHolder); - txObject.ConnectionHolder = conHolder; - } - - // Bind the session holder to the thread. - if (txObject.NewSessionHolder) - { - TransactionSynchronizationManager.BindResource(SessionFactory, txObject.SessionHolder); - } - - } - catch (Exception ex) - { - SessionFactoryUtils.CloseSession(session); - throw new CannotCreateTransactionException("Could not open Hibernate Session for transaction", ex); - } - - - } - - private void DoTxScopeBegin(TxScopeTransactionManager.PromotableTxScopeTransactionObject txObject, - Spring.Transaction.ITransactionDefinition definition) - { - - TransactionScopeOption txScopeOption = CreateTransactionScopeOptions(definition); - TransactionOptions txOptions = CreateTransactionOptions(definition); - txObject.TxScopeAdapter.CreateTransactionScope(txScopeOption, txOptions, definition.EnterpriseServicesInteropOption); - - } - - private static TransactionScopeOption CreateTransactionScopeOptions(ITransactionDefinition definition) - { - TransactionScopeOption txScopeOption; - if (definition.PropagationBehavior == TransactionPropagation.Required) - { - txScopeOption = TransactionScopeOption.Required; - } - else if (definition.PropagationBehavior == TransactionPropagation.RequiresNew) - { - txScopeOption = TransactionScopeOption.RequiresNew; - } - else if (definition.PropagationBehavior == TransactionPropagation.NotSupported) - { - txScopeOption = TransactionScopeOption.Suppress; - } - else - { - throw new Spring.Transaction.TransactionSystemException("Transaction Propagation Behavior" + - definition.PropagationBehavior + - " not supported by TransactionScope. Use Required or RequiredNew"); - } - return txScopeOption; - } - - - private static TransactionOptions CreateTransactionOptions(ITransactionDefinition definition) - { - TransactionOptions txOptions = new TransactionOptions(); - switch (definition.TransactionIsolationLevel) - { - case System.Data.IsolationLevel.Chaos: - txOptions.IsolationLevel = System.Transactions.IsolationLevel.Chaos; - break; - case System.Data.IsolationLevel.ReadCommitted: - txOptions.IsolationLevel = System.Transactions.IsolationLevel.ReadCommitted; - break; - case System.Data.IsolationLevel.ReadUncommitted: - txOptions.IsolationLevel = System.Transactions.IsolationLevel.ReadUncommitted; - break; - case System.Data.IsolationLevel.RepeatableRead: - txOptions.IsolationLevel = System.Transactions.IsolationLevel.RepeatableRead; - break; - case System.Data.IsolationLevel.Serializable: - txOptions.IsolationLevel = System.Transactions.IsolationLevel.Serializable; - break; - case System.Data.IsolationLevel.Snapshot: - txOptions.IsolationLevel = System.Transactions.IsolationLevel.Snapshot; - break; - case System.Data.IsolationLevel.Unspecified: - txOptions.IsolationLevel = System.Transactions.IsolationLevel.Unspecified; - break; - } - - if (definition.TransactionTimeout != DefaultTransactionDefinition.TIMEOUT_DEFAULT) - { - txOptions.Timeout = new TimeSpan(0, 0, definition.TransactionTimeout); - } - return txOptions; - } - - - - /// - /// Suspend the resources of the current transaction. - /// - /// - /// Transaction object returned by - /// . - /// - /// - /// An object that holds suspended resources (will be kept unexamined for passing it into - /// .) - /// - /// - /// Transaction synchronization will already have been suspended. - /// - /// - /// If suspending is not supported by the transaction manager implementation. - /// - /// - /// in case of system errors. - /// - protected override object DoSuspend(object transaction) - { - HibernateTransactionObject txObject = (HibernateTransactionObject)transaction; - txObject.SetSessionHolder(null, false); - SessionHolder sessionHolder = - (SessionHolder)TransactionSynchronizationManager.UnbindResource(SessionFactory); - ConnectionHolder connectionHolder = null; - if (DbProvider != null) - { - connectionHolder = (ConnectionHolder)TransactionSynchronizationManager.UnbindResource(DbProvider); - } - return new SuspendedResourcesHolder(sessionHolder, connectionHolder); - - } - - /// - /// Resume the resources of the current transaction. - /// - /// - /// Transaction object returned by - /// . - /// - /// - /// The object that holds suspended resources as returned by - /// . - /// - /// - /// Transaction synchronization will be resumed afterwards. - /// - /// - /// If suspending is not supported by the transaction manager implementation. - /// - /// - /// In the case of system errors. - /// - protected override void DoResume(object transaction, object suspendedResources) - { - SuspendedResourcesHolder resourcesHolder = (SuspendedResourcesHolder)suspendedResources; - if (TransactionSynchronizationManager.HasResource(SessionFactory)) - { - // From non-transactional code running in active transaction synchronization - // -> can be safely removed, will be closed on transaction completion. - TransactionSynchronizationManager.UnbindResource(SessionFactory); - } - TransactionSynchronizationManager.BindResource(SessionFactory, resourcesHolder.SessionHolder); - if (DbProvider != null) - { - TransactionSynchronizationManager.BindResource(DbProvider, resourcesHolder.ConnectionHolder); - } - } - - /// - /// Perform an actual commit on the given transaction. - /// - /// The status representation of the transaction. - /// - ///

- /// An implementation does not need to check the rollback-only flag. - ///

- ///
- /// - /// In the case of system errors. - /// - protected override void DoCommit(DefaultTransactionStatus status) - { - HibernateTransactionObject txObject = (HibernateTransactionObject)status.Transaction; - if (status.Debug) - { - log.Debug("Committing Hibernate transaction on Session [" + - txObject.SessionHolder.Session + "]"); - } - try - { - txObject.SessionHolder.Transaction.Commit(); - } - // Note, unfortunate collision of namespaces/classname for NHibernate.TransactionException - // and Spring.Data.NHibernate requires this wierd construct. - catch (Exception ex) - { - Type nhibTxExceptiontype = TypeResolutionUtils.ResolveType("NHibernate.TransactionException, NHibernate"); - if (ex.GetType().Equals(nhibTxExceptiontype)) - { - // assumably from commit call to the underlying ADO.NET connection - throw new TransactionSystemException("Could not commit Hibernate transaction", ex); - } - HibernateException hibEx = ex as HibernateException; - if (hibEx != null) - { - // assumably failed to flush changes to database - throw ConvertHibernateAccessException(hibEx); - } - throw; - } - finally - { - DoTxScopeCommit(status); - } - - - - } - - /// - /// Does the tx scope commit. - /// - /// The status. - protected void DoTxScopeCommit(DefaultTransactionStatus status) - { - TxScopeTransactionManager.PromotableTxScopeTransactionObject txObject = - ((HibernateTransactionObject)status.Transaction).PromotableTxScopeTransactionObject; - try - { - txObject.TxScopeAdapter.Complete(); - txObject.TxScopeAdapter.Dispose(); - } - catch (TransactionAbortedException ex) - { - throw new UnexpectedRollbackException("Transaction unexpectedly rolled back (maybe due to a timeout)", ex); - } - catch (TransactionInDoubtException ex) - { - throw new HeuristicCompletionException(TransactionOutcomeState.Unknown, ex); - } - catch (Exception ex) - { - throw new TransactionSystemException("Failure on Transaction Scope Commit", ex); - } - } - - /// - /// Perform an actual rollback on the given transaction. - /// - /// The status representation of the transaction. - /// - /// An implementation does not need to check the new transaction flag. - /// - /// - /// In the case of system errors. - /// - protected override void DoRollback(DefaultTransactionStatus status) - { - HibernateTransactionObject txObject = (HibernateTransactionObject)status.Transaction; - - if (!txObject.NewSessionHolder) - { - // Clear all pending inserts/updates/deletes in the Session. - // Necessary for pre-bound Sessions, to avoid inconsistent state. - txObject.SessionHolder.Session.Clear(); - } - - DoTxScopeRollback(status); - return; - - -/* HibernateTransactionObject txObject = (HibernateTransactionObject)status.Transaction; - - if (status.Debug) - { - log.Debug("Rolling back Hibernate transaction on Session [" + - txObject.SessionHolder.Session + "]"); - } - try - { - if (txObject.SessionHolder.Session != null && txObject.SessionHolder.Transaction != null && !txObject.SessionHolder.Transaction.IsActive) - { - return; - } - - IDbTransaction adoTx = GetIDbTransaction(txObject.SessionHolder.Transaction); - - if (adoTx != null && adoTx.Connection != null) - { - txObject.SessionHolder.Transaction.Rollback(); - } - else - { - if (status.Debug) - { - log.Debug("Unable to RollBack Hibernate transaction; connection for Hibernate transaction on Session [" + - txObject.SessionHolder.Session + "] was null"); - } - } - - } - catch (HibernateTransactionException ex) - { - throw new TransactionSystemException("Could not roll back Hibernate transaction", ex); - } - catch (HibernateException ex) - { - // Shouldn't really happen, as a rollback doesn't cause a flush. - throw ConvertHibernateAccessException(ex); - } - finally - { - if (!txObject.NewSessionHolder) - { - // Clear all pending inserts/updates/deletes in the Session. - // Necessary for pre-bound Sessions, to avoid inconsistent state. - txObject.SessionHolder.Session.Clear(); - } - DoTxScopeRollback(status); - }*/ - } - - /// - /// Does the tx scope rollback. - /// - /// The status. - protected void DoTxScopeRollback(DefaultTransactionStatus status) - { - TxScopeTransactionManager.PromotableTxScopeTransactionObject txObject = - ((HibernateTransactionObject)status.Transaction).PromotableTxScopeTransactionObject; - - try - { - - txObject.TxScopeAdapter.Dispose(); - } - catch (Exception e) - { - throw new Spring.Transaction.TransactionSystemException("Failure on Transaction Scope rollback.", e); - } - } - - /// - /// Set the given transaction rollback-only. Only called on rollback - /// if the current transaction takes part in an existing one. - /// - /// The status representation of the transaction. - /// - /// In the case of system errors. - /// - protected override void DoSetRollbackOnly(DefaultTransactionStatus status) - { - HibernateTransactionObject txObject = (HibernateTransactionObject)status.Transaction; - if (status.Debug) - { - log.Debug("Setting Hibernate transaction on Session [" + - txObject.SessionHolder.Session + "] rollback-only"); - } - txObject.SetRollbackOnly(); - - DoTxScopeSetRollbackOnly(status); - } - - /// - /// Does the tx scope set rollback only. - /// - /// The status. - protected void DoTxScopeSetRollbackOnly(DefaultTransactionStatus status) - { - if (status.Debug) - { - log.Debug("Setting transaction rollback-only"); - } - try - { - System.Transactions.Transaction.Current.Rollback(); - } - catch (Exception ex) - { - throw new TransactionSystemException("Failure on System.Transactions.Transaction.Current.Rollback", ex); - } - } - - - /// - /// Gets the ADO.NET IDbTransaction object from the NHibernate ITransaction object. - /// - /// The hibernate transaction. - /// The ADO.NET transaction. Null if could not get the transaction. Warning - /// messages will be logged in that case. - protected IDbTransaction GetIDbTransaction(ITransaction hibernateTx) - { - AdoTransaction hibernateAdoTx = hibernateTx as AdoTransaction; - - IDbTransaction adoTransaction = null; - if (hibernateAdoTx != null) - { - try - { - FieldInfo fi = hibernateAdoTx.GetType().GetField("trans", BindingFlags.Instance | BindingFlags.NonPublic); - adoTransaction = fi.GetValue(hibernateAdoTx) as IDbTransaction; - } - catch (Exception e) - { - log.Warn("Could not extract IDbTransaction from Hibernate AdoTransaction using field name trans.", e); - } - } - else - { - log.Warn("Hibernate ITransaction not of expected type AdoTransaction. Could not extract IDbTransaction from Hibernate AdoTransaction."); - } - return adoTransaction; - } - - /// - /// Convert the given HibernateException to an appropriate exception from - /// the Spring.Dao hierarchy. Can be overridden in subclasses. - /// - /// The HibernateException that occured. - /// The corresponding DataAccessException instance - protected virtual DataAccessException ConvertHibernateAccessException(HibernateException ex) - { - if (AdoExceptionTranslator != null && ex is ADOException) - { - return ConvertAdoAccessException((ADOException)ex, AdoExceptionTranslator); - } - else if (ex is ADOException) - { - return ConvertAdoAccessException((ADOException)ex, DefaultAdoExceptionTranslator); - } - return SessionFactoryUtils.ConvertHibernateAccessException(ex); - } - - /// - /// Convert the given ADOException to an appropriate exception from the - /// the Spring.Dao hierarchy. Can be overridden in subclasses. - /// - /// The ADOException that occured, wrapping the underlying - /// ADO.NET thrown exception. - /// The translator to convert hibernate ADOExceptions. - /// - /// The corresponding DataAccessException instance - /// - protected virtual DataAccessException ConvertAdoAccessException(ADOException ex, IAdoExceptionTranslator translator) - { - return translator.Translate("Hibernate flushing: " + ex.Message, null, ex.InnerException); - } - - /// - /// Cleanup resources after transaction completion. - /// - /// Transaction object returned by - /// . - /// - /// - /// This implemenation unbinds the SessionFactory and - /// DbProvider from thread local storage and closes the - /// ISession. - /// - ///

- /// Called after - /// and - /// - /// execution on any outcome. - ///

- ///

- /// Should not throw any exceptions but just issue warnings on errors. - ///

- ///
- protected override void DoCleanupAfterCompletion(object transaction) - { - HibernateTransactionObject txObject = (HibernateTransactionObject)transaction; - - // Remove the session holder from the thread. - if (txObject.NewSessionHolder) - { - TransactionSynchronizationManager.UnbindResource(SessionFactory); - } - // Remove the ADO.NET connection holder from the thread, if exposed. - if (DbProvider != null) - { - TransactionSynchronizationManager.UnbindResource(DbProvider); - } - /* - try - { - //TODO investigate isolation level settings... - //IDbConnection con = txObject.SessionHolder.Session.Connection; - //AdoUtils.ResetConnectionAfterTransaction(con, txObject.PreviousIsolationLevel); - } - catch (HibernateException ex) - { - log.Info("Could not access ADO.NET IDbConnection of Hibernate Session", ex); - } - */ - ISession session = txObject.SessionHolder.Session; - if (txObject.NewSessionHolder) - { - if (log.IsDebugEnabled) - { - log.Debug("Closing Hibernate Session [" + session + "] after transaction"); - } - SessionFactoryUtils.CloseSessionOrRegisterDeferredClose(session, SessionFactory); - } - else - { - if (log.IsDebugEnabled) - { - log.Debug("Not closing pre-bound Hibernate Session [" + session + "] after transaction"); - } - if (txObject.SessionHolder.AssignedPreviousFlushMode) - { - session.FlushMode = txObject.SessionHolder.PreviousFlushMode; - } - } - txObject.SessionHolder.Clear(); - - - } - - private class HibernateTransactionObject : AdoTransactionObjectSupport - { - - private SessionHolder sessionHolder; - - private bool newSessionHolder; - - private TxScopeTransactionManager.PromotableTxScopeTransactionObject promotableTxScopeTransactionObject; - - - public void SetSessionHolder(SessionHolder sessionHolder, bool newSessionHolder) - { - this.sessionHolder = sessionHolder; - this.newSessionHolder = newSessionHolder; - } - - public TxScopeTransactionManager.PromotableTxScopeTransactionObject PromotableTxScopeTransactionObject - { - get { return promotableTxScopeTransactionObject; } - set { this.promotableTxScopeTransactionObject = value; } - } - - public SessionHolder SessionHolder - { - get - { - return sessionHolder; - } - } - - public bool NewSessionHolder - { - get - { - return newSessionHolder; - } - } - - public bool HasTransaction() - { - return (this.sessionHolder != null && this.sessionHolder.Transaction != null); - } - - public void SetRollbackOnly() - { - if (SessionHolder != null) - { - SessionHolder.RollbackOnly = true; - } - if (ConnectionHolder != null) - { - ConnectionHolder.RollbackOnly = true; - } - } - - /// - /// Return whether the transaction is internally marked as rollback-only. - /// - /// - /// True of the transaction is marked as rollback-only. - public override bool RollbackOnly - { - get - { - return ((SessionHolder != null && SessionHolder.RollbackOnly) || - (ConnectionHolder != null && ConnectionHolder.RollbackOnly)); - } - } - } - - private class SuspendedResourcesHolder - { - - private readonly SessionHolder sessionHolder; - - private readonly ConnectionHolder connectionHolder; - - public SuspendedResourcesHolder(SessionHolder sessionHolder, ConnectionHolder conHolder) - { - this.sessionHolder = sessionHolder; - this.connectionHolder = conHolder; - } - - public SessionHolder SessionHolder - { - get - { - return sessionHolder; - } - - } - - public ConnectionHolder ConnectionHolder - { - get - { - return connectionHolder; - } - - } - } - - /// - /// Invoked by an - /// after it has injected all of an object's dependencies. - /// - /// - ///

- /// This method allows the object instance to perform the kind of - /// initialization only possible when all of it's dependencies have - /// been injected (set), and to throw an appropriate exception in the - /// event of misconfiguration. - ///

- ///

- /// Please do consult the class level documentation for the - /// interface for a - /// description of exactly when this method is invoked. In - /// particular, it is worth noting that the - /// - /// and - /// callbacks will have been invoked prior to this method being - /// called. - ///

- ///
- /// - /// In the event of misconfiguration (such as the failure to set a - /// required property) or if initialization fails. - /// - public void AfterPropertiesSet() - { - if (SessionFactory == null) - { - throw new ArgumentException("sessionFactory is required"); - } - if (this.entityInterceptor is string && this.objectFactory == null) - { - throw new ArgumentException("objectFactory is required for entityInterceptorBeanName"); - } - - // Try to derive a DbProvider given the SessionFactory. - if (this.autodetectDbProvider && DbProvider == null) - { - IDbProvider sfDbProvider = SessionFactoryUtils.GetDbProvider(SessionFactory); - if (sfDbProvider != null) - { - // Use the SessionFactory's DataSource for exposing transactions to ADO.NET code. - if (log.IsInfoEnabled) - { - log.Info("Derived DbProvider [" + sfDbProvider.DbMetadata.ProductName + - "] of Hibernate SessionFactory for HibernateTransactionManager"); - } - DbProvider = sfDbProvider; - } - else - { - log.Info("Could not auto detect DbProvider from SessionFactory configuration"); - } - - } - } - } - - -} +#region License + +/* + * Copyright © 2002-2011 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#endregion + +#region Imports + +using System; +using System.Data; +using System.Reflection; +using System.Transactions; +using NHibernate; +using NHibernate.Transaction; + +using Spring.Core.TypeResolution; +using Spring.Dao; +using Spring.Data.Common; +using Spring.Data.Core; +using Spring.Data.Support; +using Spring.Objects.Factory; +using Spring.Transaction; +using Spring.Transaction.Support; + +#endregion + +namespace Spring.Data.NHibernate +{ + /// + /// PlatformTransactionManager implementation for a single Hibernate SessionFactory. + /// Binds a Hibernate Session from the specified factory to the thread, potentially + /// allowing for one thread Session per factory + /// + /// + /// SessionFactoryUtils and HibernateTemplate are aware of thread-bound Sessions and participate in such + /// transactions automatically. Using either of those is required for Hibernate + /// access code that needs to support this transaction handling mechanism. + /// + /// Supports custom isolation levels at the start of the transaction + /// , and timeouts that get applied as appropriate + /// Hibernate query timeouts. To support the latter, application code must either use + /// HibernateTemplate (which by default applies the timeouts) or call + /// SessionFactoryUtils.applyTransactionTimeout for each created + /// Hibernate Query object. + /// + /// Note that you can specify a Spring IDbProvider instance which if shared with + /// a corresponding instance of AdoTemplate will allow for mixing ADO.NET/NHibernate + /// operations within a single transaction. + /// + /// Mark Pollack (.NET) + public class HibernateTxScopeTransactionManager : AbstractPlatformTransactionManager, IResourceTransactionManager, IObjectFactoryAware, IInitializingObject + { + #region Fields + + private ISessionFactory sessionFactory; + + private IDbProvider dbProvider; + + private bool autodetectDbProvider = true; + + private Object entityInterceptor; + + private IAdoExceptionTranslator adoExceptionTranslator; + + private IAdoExceptionTranslator defaultExceptionTranslator; + + /// + /// Just needed for entityInterceptorBeanName. + /// + private IObjectFactory objectFactory; + + private TxScopeTransactionManager txScopeTranactionManager; + + #endregion + + #region Constructor (s) + + /// + /// Initializes a new instance of the class. + /// + public HibernateTxScopeTransactionManager() + { + txScopeTranactionManager = new TxScopeTransactionManager(); + } + + /// + /// Initializes a new instance of the class. + /// + /// The session factory. + public HibernateTxScopeTransactionManager(ISessionFactory sessionFactory) + { + this.sessionFactory = sessionFactory; + AfterPropertiesSet(); + } + + #endregion + + #region Properties + + /// + /// Gets or sets the db provider. + /// + /// The db provider. + public IDbProvider DbProvider + { + get { return dbProvider; } + set { dbProvider = value; } + } + + /// + /// Gets or sets a Hibernate entity interceptor that allows to inspect and change + /// property values before writing to and reading from the database. + /// When getting, return the current Hibernate entity interceptor, or null if none. + /// + /// The entity interceptor. + /// + /// Resolves an entity interceptor object name via the object factory, + /// if necessary. + /// Will get applied to any new Session created by this transaction manager. + /// Such an interceptor can either be set at the SessionFactory level, + /// i.e. on LocalSessionFactoryObject, or at the Session level, i.e. on + /// HibernateTemplate, HibernateInterceptor, and HibernateTransactionManager. + /// It's preferable to set it on LocalSessionFactoryObject or HibernateTransactionManager + /// to avoid repeated configuration and guarantee consistent behavior in transactions. + /// + /// If object factory is null and need to get entity interceptor via object name. + public IInterceptor EntityInterceptor + { + get + { + if (this.entityInterceptor is IInterceptor) + { + return (IInterceptor)entityInterceptor; + } + else if (this.entityInterceptor is string) + { + if (this.objectFactory == null) + { + throw new InvalidOperationException("Cannot get entity interceptor via object name if no object factory set"); + } + String objectName = (String)this.entityInterceptor; + return (IInterceptor)this.objectFactory.GetObject(objectName, typeof(IInterceptor)); + } + else + { + return null; + } + } + set + { + entityInterceptor = value; + } + } + + /// + /// Sets the object name of a Hibernate entity interceptor that + /// allows to inspect and change property values before writing to and reading from the database. + /// + /// The name of the entity interceptor object. + /// + /// Will get applied to any new Session created by this transaction manager. + ///

Requires the object factory to be known, to be able to resolve the object + /// name to an interceptor instance on session creation. Typically used for + /// prototype interceptors, i.e. a new interceptor instance per session. + ///

+ ///

Can also be used for shared interceptor instances, but it is recommended + /// to set the interceptor reference directly in such a scenario. + ///

+ ///
+ public string EntityInterceptorObjectName + { + set + { + entityInterceptor = value; + } + } + + /// + /// Gets or sets the ADO.NET exception translator for this transaction manager. + /// + /// + /// Applied to ADO.NET Exceptions (wrapped by Hibernate's ADOException) + /// + /// The ADO exception translator. + public IAdoExceptionTranslator AdoExceptionTranslator + { + get { return adoExceptionTranslator; } + set { adoExceptionTranslator = value; } + } + + /// + /// Gets the default IAdoException translator, lazily creating it if nece + /// + /// The default IAdoException translator. + public IAdoExceptionTranslator DefaultAdoExceptionTranslator + { + get + { + lock (this) + { + if (defaultExceptionTranslator == null) + { + if (dbProvider != null) + { + defaultExceptionTranslator = new ErrorCodeExceptionTranslator(dbProvider); + } + else + { + defaultExceptionTranslator = SessionFactoryUtils.NewAdoExceptionTranslator(SessionFactory); + } + } + return defaultExceptionTranslator; + } + } + } + + /// + /// Gets or sets the SessionFactory that this instance should manage transactions for. + /// + /// The session factory. + public ISessionFactory SessionFactory + { + get { return sessionFactory; } + set { sessionFactory = value; } + } + + + /// + /// Gets the resource factory that this transaction manager operates on, + /// For the HibenratePlatformTransactionManager this the SessionFactory + /// + /// The SessionFactory. + public object ResourceFactory + { + get { return sessionFactory; } + } + + /// + /// Set whether to autodetect a ADO.NET connection used by the Hibernate SessionFactory, + /// if set via LocalSessionFactoryObject's DbProvider. Default is "true". + /// + /// + /// true if [autodetect data source]; otherwise, false. + /// + /// + ///

Can be turned off to deliberately ignore an available IDbProvider, + /// to not expose Hibernate transactions as ADO.NET transactions for that IDbProvider. + ///

+ ///
+ public bool AutodetectDbProvider + { + set { autodetectDbProvider = value; } + } + + #endregion + + #region Methods + + #endregion + + + /// + /// The object factory just needs to be known for resolving entity interceptor + /// It does not need to be set for any other mode of operation. + /// + /// + /// Owning + /// (may not be ). The object can immediately + /// call methods on the factory. + /// + public IObjectFactory ObjectFactory + { + set + { + objectFactory = value; + } + } + + /// + /// Return the current transaction object. + /// + /// The current transaction object. + /// + /// If transaction support is not available. + /// + /// + /// In the case of lookup or system errors. + /// + protected override object DoGetTransaction() + { + + + HibernateTransactionObject txObject = new HibernateTransactionObject(); + txObject.SavepointAllowed = NestedTransactionsAllowed; + if (TransactionSynchronizationManager.HasResource(SessionFactory)) + { + SessionHolder sessionHolder = + (SessionHolder)TransactionSynchronizationManager.GetResource(SessionFactory); + if (log.IsDebugEnabled) + { + log.Debug("Found thread-bound Session [" + sessionHolder.Session + + "] for Hibernate transaction"); + } + txObject.SetSessionHolder(sessionHolder, false); + if (DbProvider != null) + { + ConnectionHolder conHolder = (ConnectionHolder) + TransactionSynchronizationManager.GetResource(DbProvider); + txObject.ConnectionHolder = conHolder; + } + } + txObject.PromotableTxScopeTransactionObject = new TxScopeTransactionManager.PromotableTxScopeTransactionObject(); + + return txObject; + } + + /// + /// Check if the given transaction object indicates an existing, + /// i.e. already begun, transaction. + /// + /// + /// Transaction object returned by + /// . + /// + /// True if there is an existing transaction. + /// + /// In the case of system errors. + /// + protected override bool IsExistingTransaction(object transaction) + { + return + ((HibernateTransactionObject)transaction).PromotableTxScopeTransactionObject.TxScopeAdapter. + IsExistingTransaction; + //return ((HibernateTransactionObject) transaction).HasTransaction(); + } + + /// + /// Begin a new transaction with the given transaction definition. + /// + /// + /// Transaction object returned by + /// . + /// + /// + /// instance, describing + /// propagation behavior, isolation level, timeout etc. + /// + /// + /// Does not have to care about applying the propagation behavior, + /// as this has already been handled by this abstract manager. + /// + /// + /// In the case of creation or system errors. + /// + protected override void DoBegin(object transaction, ITransactionDefinition definition) + { + + TxScopeTransactionManager.PromotableTxScopeTransactionObject promotableTxScopeTransactionObject = + ((HibernateTransactionObject)transaction).PromotableTxScopeTransactionObject; + try + { + DoTxScopeBegin(promotableTxScopeTransactionObject, definition); + } + catch (Exception e) + { + throw new CannotCreateTransactionException("Transaction Scope failure on begin", e); + } + + HibernateTransactionObject txObject = (HibernateTransactionObject)transaction; + + if (DbProvider != null && TransactionSynchronizationManager.HasResource(DbProvider) + && !txObject.ConnectionHolder.SynchronizedWithTransaction) + { + throw new IllegalTransactionStateException( + "Pre-bound ADO.NET Connection found - HibernateTransactionManager does not support " + + "running within AdoTransactionManager if told to manage the DbProvider itself. " + + "It is recommended to use a single HibernateTransactionManager for all transactions " + + "on a single DbProvider, no matter whether Hibernate or ADO.NET access."); + } + ISession session = null; + try + { + + if (txObject.SessionHolder == null || txObject.SessionHolder.SynchronizedWithTransaction) + { + IInterceptor interceptor = EntityInterceptor; + ISession newSession = (interceptor != null ? + SessionFactory.OpenSession(interceptor) : SessionFactory.OpenSession()); + + if (log.IsDebugEnabled) + { + log.Debug("Opened new Session [" + newSession + "] for Hibernate transaction"); + } + txObject.SetSessionHolder(new SessionHolder(newSession), true); + + } + txObject.SessionHolder.SynchronizedWithTransaction = true; + session = txObject.SessionHolder.Session; + + IDbConnection con = session.Connection; + //TODO isolation level mgmt + //IsolationLevel previousIsolationLevel = + + if (definition.ReadOnly && txObject.NewSessionHolder) + { + // Just set to NEVER in case of a new Session for this transaction. + session.FlushMode = FlushMode.Never; + } + + if (!definition.ReadOnly && !txObject.NewSessionHolder) + { + // We need AUTO or COMMIT for a non-read-only transaction. + FlushMode flushMode = session.FlushMode; + if (FlushMode.Never == flushMode) + { + session.FlushMode = FlushMode.Auto; + txObject.SessionHolder.PreviousFlushMode = flushMode; + } + } + + // Add the Hibernate transaction to the session holder. + // for now pass in tx options isolation level. + ITransaction hibernateTx = session.BeginTransaction(definition.TransactionIsolationLevel); + IDbTransaction adoTx = GetIDbTransaction(hibernateTx); + + // Add the Hibernate transaction to the session holder. + txObject.SessionHolder.Transaction = hibernateTx; + + // Register transaction timeout. + int timeout = DetermineTimeout(definition); + if (timeout != DefaultTransactionDefinition.TIMEOUT_DEFAULT) + { + txObject.SessionHolder.TimeoutInSeconds = timeout; + } + + // Register the Hibernate Session's ADO.NET Connection/TX pair for the DbProvider, if set. + if (DbProvider != null) + { + //investigate passing null for tx. + ConnectionHolder conHolder = new ConnectionHolder(con, adoTx); + if (timeout != DefaultTransactionDefinition.TIMEOUT_DEFAULT) + { + conHolder.TimeoutInMillis = definition.TransactionTimeout; + } + if (log.IsDebugEnabled) + { + log.Debug("Exposing Hibernate transaction as ADO transaction [" + con + "]"); + } + TransactionSynchronizationManager.BindResource(DbProvider, conHolder); + txObject.ConnectionHolder = conHolder; + } + + // Bind the session holder to the thread. + if (txObject.NewSessionHolder) + { + TransactionSynchronizationManager.BindResource(SessionFactory, txObject.SessionHolder); + } + + } + catch (Exception ex) + { + SessionFactoryUtils.CloseSession(session); + throw new CannotCreateTransactionException("Could not open Hibernate Session for transaction", ex); + } + + + } + + private void DoTxScopeBegin(TxScopeTransactionManager.PromotableTxScopeTransactionObject txObject, + Spring.Transaction.ITransactionDefinition definition) + { + + TransactionScopeOption txScopeOption = CreateTransactionScopeOptions(definition); + TransactionOptions txOptions = CreateTransactionOptions(definition); + txObject.TxScopeAdapter.CreateTransactionScope(txScopeOption, txOptions, definition.EnterpriseServicesInteropOption); + + } + + private static TransactionScopeOption CreateTransactionScopeOptions(ITransactionDefinition definition) + { + TransactionScopeOption txScopeOption; + if (definition.PropagationBehavior == TransactionPropagation.Required) + { + txScopeOption = TransactionScopeOption.Required; + } + else if (definition.PropagationBehavior == TransactionPropagation.RequiresNew) + { + txScopeOption = TransactionScopeOption.RequiresNew; + } + else if (definition.PropagationBehavior == TransactionPropagation.NotSupported) + { + txScopeOption = TransactionScopeOption.Suppress; + } + else + { + throw new Spring.Transaction.TransactionSystemException("Transaction Propagation Behavior" + + definition.PropagationBehavior + + " not supported by TransactionScope. Use Required or RequiredNew"); + } + return txScopeOption; + } + + + private static TransactionOptions CreateTransactionOptions(ITransactionDefinition definition) + { + TransactionOptions txOptions = new TransactionOptions(); + switch (definition.TransactionIsolationLevel) + { + case System.Data.IsolationLevel.Chaos: + txOptions.IsolationLevel = System.Transactions.IsolationLevel.Chaos; + break; + case System.Data.IsolationLevel.ReadCommitted: + txOptions.IsolationLevel = System.Transactions.IsolationLevel.ReadCommitted; + break; + case System.Data.IsolationLevel.ReadUncommitted: + txOptions.IsolationLevel = System.Transactions.IsolationLevel.ReadUncommitted; + break; + case System.Data.IsolationLevel.RepeatableRead: + txOptions.IsolationLevel = System.Transactions.IsolationLevel.RepeatableRead; + break; + case System.Data.IsolationLevel.Serializable: + txOptions.IsolationLevel = System.Transactions.IsolationLevel.Serializable; + break; + case System.Data.IsolationLevel.Snapshot: + txOptions.IsolationLevel = System.Transactions.IsolationLevel.Snapshot; + break; + case System.Data.IsolationLevel.Unspecified: + txOptions.IsolationLevel = System.Transactions.IsolationLevel.Unspecified; + break; + } + + if (definition.TransactionTimeout != DefaultTransactionDefinition.TIMEOUT_DEFAULT) + { + txOptions.Timeout = new TimeSpan(0, 0, definition.TransactionTimeout); + } + return txOptions; + } + + + + /// + /// Suspend the resources of the current transaction. + /// + /// + /// Transaction object returned by + /// . + /// + /// + /// An object that holds suspended resources (will be kept unexamined for passing it into + /// .) + /// + /// + /// Transaction synchronization will already have been suspended. + /// + /// + /// If suspending is not supported by the transaction manager implementation. + /// + /// + /// in case of system errors. + /// + protected override object DoSuspend(object transaction) + { + HibernateTransactionObject txObject = (HibernateTransactionObject)transaction; + txObject.SetSessionHolder(null, false); + SessionHolder sessionHolder = + (SessionHolder)TransactionSynchronizationManager.UnbindResource(SessionFactory); + ConnectionHolder connectionHolder = null; + if (DbProvider != null) + { + connectionHolder = (ConnectionHolder)TransactionSynchronizationManager.UnbindResource(DbProvider); + } + return new SuspendedResourcesHolder(sessionHolder, connectionHolder); + + } + + /// + /// Resume the resources of the current transaction. + /// + /// + /// Transaction object returned by + /// . + /// + /// + /// The object that holds suspended resources as returned by + /// . + /// + /// + /// Transaction synchronization will be resumed afterwards. + /// + /// + /// If suspending is not supported by the transaction manager implementation. + /// + /// + /// In the case of system errors. + /// + protected override void DoResume(object transaction, object suspendedResources) + { + SuspendedResourcesHolder resourcesHolder = (SuspendedResourcesHolder)suspendedResources; + if (TransactionSynchronizationManager.HasResource(SessionFactory)) + { + // From non-transactional code running in active transaction synchronization + // -> can be safely removed, will be closed on transaction completion. + TransactionSynchronizationManager.UnbindResource(SessionFactory); + } + TransactionSynchronizationManager.BindResource(SessionFactory, resourcesHolder.SessionHolder); + if (DbProvider != null) + { + TransactionSynchronizationManager.BindResource(DbProvider, resourcesHolder.ConnectionHolder); + } + } + + /// + /// Perform an actual commit on the given transaction. + /// + /// The status representation of the transaction. + /// + ///

+ /// An implementation does not need to check the rollback-only flag. + ///

+ ///
+ /// + /// In the case of system errors. + /// + protected override void DoCommit(DefaultTransactionStatus status) + { + HibernateTransactionObject txObject = (HibernateTransactionObject)status.Transaction; + if (status.Debug) + { + log.Debug("Committing Hibernate transaction on Session [" + + txObject.SessionHolder.Session + "]"); + } + try + { + txObject.SessionHolder.Transaction.Commit(); + } + // Note, unfortunate collision of namespaces/classname for NHibernate.TransactionException + // and Spring.Data.NHibernate requires this wierd construct. + catch (Exception ex) + { + Type nhibTxExceptiontype = TypeResolutionUtils.ResolveType("NHibernate.TransactionException, NHibernate"); + if (ex.GetType().Equals(nhibTxExceptiontype)) + { + // assumably from commit call to the underlying ADO.NET connection + throw new TransactionSystemException("Could not commit Hibernate transaction", ex); + } + HibernateException hibEx = ex as HibernateException; + if (hibEx != null) + { + // assumably failed to flush changes to database + throw ConvertHibernateAccessException(hibEx); + } + throw; + } + finally + { + DoTxScopeCommit(status); + } + + + + } + + /// + /// Does the tx scope commit. + /// + /// The status. + protected void DoTxScopeCommit(DefaultTransactionStatus status) + { + TxScopeTransactionManager.PromotableTxScopeTransactionObject txObject = + ((HibernateTransactionObject)status.Transaction).PromotableTxScopeTransactionObject; + try + { + txObject.TxScopeAdapter.Complete(); + txObject.TxScopeAdapter.Dispose(); + } + catch (TransactionAbortedException ex) + { + throw new UnexpectedRollbackException("Transaction unexpectedly rolled back (maybe due to a timeout)", ex); + } + catch (TransactionInDoubtException ex) + { + throw new HeuristicCompletionException(TransactionOutcomeState.Unknown, ex); + } + catch (Exception ex) + { + throw new TransactionSystemException("Failure on Transaction Scope Commit", ex); + } + } + + /// + /// Perform an actual rollback on the given transaction. + /// + /// The status representation of the transaction. + /// + /// An implementation does not need to check the new transaction flag. + /// + /// + /// In the case of system errors. + /// + protected override void DoRollback(DefaultTransactionStatus status) + { + HibernateTransactionObject txObject = (HibernateTransactionObject)status.Transaction; + + if (!txObject.NewSessionHolder) + { + // Clear all pending inserts/updates/deletes in the Session. + // Necessary for pre-bound Sessions, to avoid inconsistent state. + txObject.SessionHolder.Session.Clear(); + } + + DoTxScopeRollback(status); + return; + + +/* HibernateTransactionObject txObject = (HibernateTransactionObject)status.Transaction; + + if (status.Debug) + { + log.Debug("Rolling back Hibernate transaction on Session [" + + txObject.SessionHolder.Session + "]"); + } + try + { + if (txObject.SessionHolder.Session != null && txObject.SessionHolder.Transaction != null && !txObject.SessionHolder.Transaction.IsActive) + { + return; + } + + IDbTransaction adoTx = GetIDbTransaction(txObject.SessionHolder.Transaction); + + if (adoTx != null && adoTx.Connection != null) + { + txObject.SessionHolder.Transaction.Rollback(); + } + else + { + if (status.Debug) + { + log.Debug("Unable to RollBack Hibernate transaction; connection for Hibernate transaction on Session [" + + txObject.SessionHolder.Session + "] was null"); + } + } + + } + catch (HibernateTransactionException ex) + { + throw new TransactionSystemException("Could not roll back Hibernate transaction", ex); + } + catch (HibernateException ex) + { + // Shouldn't really happen, as a rollback doesn't cause a flush. + throw ConvertHibernateAccessException(ex); + } + finally + { + if (!txObject.NewSessionHolder) + { + // Clear all pending inserts/updates/deletes in the Session. + // Necessary for pre-bound Sessions, to avoid inconsistent state. + txObject.SessionHolder.Session.Clear(); + } + DoTxScopeRollback(status); + }*/ + } + + /// + /// Does the tx scope rollback. + /// + /// The status. + protected void DoTxScopeRollback(DefaultTransactionStatus status) + { + TxScopeTransactionManager.PromotableTxScopeTransactionObject txObject = + ((HibernateTransactionObject)status.Transaction).PromotableTxScopeTransactionObject; + + try + { + + txObject.TxScopeAdapter.Dispose(); + } + catch (Exception e) + { + throw new Spring.Transaction.TransactionSystemException("Failure on Transaction Scope rollback.", e); + } + } + + /// + /// Set the given transaction rollback-only. Only called on rollback + /// if the current transaction takes part in an existing one. + /// + /// The status representation of the transaction. + /// + /// In the case of system errors. + /// + protected override void DoSetRollbackOnly(DefaultTransactionStatus status) + { + HibernateTransactionObject txObject = (HibernateTransactionObject)status.Transaction; + if (status.Debug) + { + log.Debug("Setting Hibernate transaction on Session [" + + txObject.SessionHolder.Session + "] rollback-only"); + } + txObject.SetRollbackOnly(); + + DoTxScopeSetRollbackOnly(status); + } + + /// + /// Does the tx scope set rollback only. + /// + /// The status. + protected void DoTxScopeSetRollbackOnly(DefaultTransactionStatus status) + { + if (status.Debug) + { + log.Debug("Setting transaction rollback-only"); + } + try + { + System.Transactions.Transaction.Current.Rollback(); + } + catch (Exception ex) + { + throw new TransactionSystemException("Failure on System.Transactions.Transaction.Current.Rollback", ex); + } + } + + + /// + /// Gets the ADO.NET IDbTransaction object from the NHibernate ITransaction object. + /// + /// The hibernate transaction. + /// The ADO.NET transaction. Null if could not get the transaction. Warning + /// messages will be logged in that case. + protected IDbTransaction GetIDbTransaction(ITransaction hibernateTx) + { + AdoTransaction hibernateAdoTx = hibernateTx as AdoTransaction; + + IDbTransaction adoTransaction = null; + if (hibernateAdoTx != null) + { + try + { + FieldInfo fi = hibernateAdoTx.GetType().GetField("trans", BindingFlags.Instance | BindingFlags.NonPublic); + adoTransaction = fi.GetValue(hibernateAdoTx) as IDbTransaction; + } + catch (Exception e) + { + log.Warn("Could not extract IDbTransaction from Hibernate AdoTransaction using field name trans.", e); + } + } + else + { + log.Warn("Hibernate ITransaction not of expected type AdoTransaction. Could not extract IDbTransaction from Hibernate AdoTransaction."); + } + return adoTransaction; + } + + /// + /// Convert the given HibernateException to an appropriate exception from + /// the Spring.Dao hierarchy. Can be overridden in subclasses. + /// + /// The HibernateException that occured. + /// The corresponding DataAccessException instance + protected virtual DataAccessException ConvertHibernateAccessException(HibernateException ex) + { + if (AdoExceptionTranslator != null && ex is ADOException) + { + return ConvertAdoAccessException((ADOException)ex, AdoExceptionTranslator); + } + else if (ex is ADOException) + { + return ConvertAdoAccessException((ADOException)ex, DefaultAdoExceptionTranslator); + } + return SessionFactoryUtils.ConvertHibernateAccessException(ex); + } + + /// + /// Convert the given ADOException to an appropriate exception from the + /// the Spring.Dao hierarchy. Can be overridden in subclasses. + /// + /// The ADOException that occured, wrapping the underlying + /// ADO.NET thrown exception. + /// The translator to convert hibernate ADOExceptions. + /// + /// The corresponding DataAccessException instance + /// + protected virtual DataAccessException ConvertAdoAccessException(ADOException ex, IAdoExceptionTranslator translator) + { + return translator.Translate("Hibernate flushing: " + ex.Message, null, ex.InnerException); + } + + /// + /// Cleanup resources after transaction completion. + /// + /// Transaction object returned by + /// . + /// + /// + /// This implemenation unbinds the SessionFactory and + /// DbProvider from thread local storage and closes the + /// ISession. + /// + ///

+ /// Called after + /// and + /// + /// execution on any outcome. + ///

+ ///

+ /// Should not throw any exceptions but just issue warnings on errors. + ///

+ ///
+ protected override void DoCleanupAfterCompletion(object transaction) + { + HibernateTransactionObject txObject = (HibernateTransactionObject)transaction; + + // Remove the session holder from the thread. + if (txObject.NewSessionHolder) + { + TransactionSynchronizationManager.UnbindResource(SessionFactory); + } + // Remove the ADO.NET connection holder from the thread, if exposed. + if (DbProvider != null) + { + TransactionSynchronizationManager.UnbindResource(DbProvider); + } + /* + try + { + //TODO investigate isolation level settings... + //IDbConnection con = txObject.SessionHolder.Session.Connection; + //AdoUtils.ResetConnectionAfterTransaction(con, txObject.PreviousIsolationLevel); + } + catch (HibernateException ex) + { + log.Info("Could not access ADO.NET IDbConnection of Hibernate Session", ex); + } + */ + ISession session = txObject.SessionHolder.Session; + if (txObject.NewSessionHolder) + { + if (log.IsDebugEnabled) + { + log.Debug("Closing Hibernate Session [" + session + "] after transaction"); + } + SessionFactoryUtils.CloseSessionOrRegisterDeferredClose(session, SessionFactory); + } + else + { + if (log.IsDebugEnabled) + { + log.Debug("Not closing pre-bound Hibernate Session [" + session + "] after transaction"); + } + if (txObject.SessionHolder.AssignedPreviousFlushMode) + { + session.FlushMode = txObject.SessionHolder.PreviousFlushMode; + } + } + txObject.SessionHolder.Clear(); + + + } + + private class HibernateTransactionObject : AdoTransactionObjectSupport + { + + private SessionHolder sessionHolder; + + private bool newSessionHolder; + + private TxScopeTransactionManager.PromotableTxScopeTransactionObject promotableTxScopeTransactionObject; + + + public void SetSessionHolder(SessionHolder sessionHolder, bool newSessionHolder) + { + this.sessionHolder = sessionHolder; + this.newSessionHolder = newSessionHolder; + } + + public TxScopeTransactionManager.PromotableTxScopeTransactionObject PromotableTxScopeTransactionObject + { + get { return promotableTxScopeTransactionObject; } + set { this.promotableTxScopeTransactionObject = value; } + } + + public SessionHolder SessionHolder + { + get + { + return sessionHolder; + } + } + + public bool NewSessionHolder + { + get + { + return newSessionHolder; + } + } + + public bool HasTransaction() + { + return (this.sessionHolder != null && this.sessionHolder.Transaction != null); + } + + public void SetRollbackOnly() + { + if (SessionHolder != null) + { + SessionHolder.RollbackOnly = true; + } + if (ConnectionHolder != null) + { + ConnectionHolder.RollbackOnly = true; + } + } + + /// + /// Return whether the transaction is internally marked as rollback-only. + /// + /// + /// True of the transaction is marked as rollback-only. + public override bool RollbackOnly + { + get + { + return ((SessionHolder != null && SessionHolder.RollbackOnly) || + (ConnectionHolder != null && ConnectionHolder.RollbackOnly)); + } + } + } + + private class SuspendedResourcesHolder + { + + private readonly SessionHolder sessionHolder; + + private readonly ConnectionHolder connectionHolder; + + public SuspendedResourcesHolder(SessionHolder sessionHolder, ConnectionHolder conHolder) + { + this.sessionHolder = sessionHolder; + this.connectionHolder = conHolder; + } + + public SessionHolder SessionHolder + { + get + { + return sessionHolder; + } + + } + + public ConnectionHolder ConnectionHolder + { + get + { + return connectionHolder; + } + + } + } + + /// + /// Invoked by an + /// after it has injected all of an object's dependencies. + /// + /// + ///

+ /// This method allows the object instance to perform the kind of + /// initialization only possible when all of it's dependencies have + /// been injected (set), and to throw an appropriate exception in the + /// event of misconfiguration. + ///

+ ///

+ /// Please do consult the class level documentation for the + /// interface for a + /// description of exactly when this method is invoked. In + /// particular, it is worth noting that the + /// + /// and + /// callbacks will have been invoked prior to this method being + /// called. + ///

+ ///
+ /// + /// In the event of misconfiguration (such as the failure to set a + /// required property) or if initialization fails. + /// + public void AfterPropertiesSet() + { + if (SessionFactory == null) + { + throw new ArgumentException("sessionFactory is required"); + } + if (this.entityInterceptor is string && this.objectFactory == null) + { + throw new ArgumentException("objectFactory is required for entityInterceptorBeanName"); + } + + // Try to derive a DbProvider given the SessionFactory. + if (this.autodetectDbProvider && DbProvider == null) + { + IDbProvider sfDbProvider = SessionFactoryUtils.GetDbProvider(SessionFactory); + if (sfDbProvider != null) + { + // Use the SessionFactory's DataSource for exposing transactions to ADO.NET code. + if (log.IsInfoEnabled) + { + log.Info("Derived DbProvider [" + sfDbProvider.DbMetadata.ProductName + + "] of Hibernate SessionFactory for HibernateTransactionManager"); + } + DbProvider = sfDbProvider; + } + else + { + log.Info("Could not auto detect DbProvider from SessionFactory configuration"); + } + + } + } + } + + +} diff --git a/src/Spring/Spring.Data.NHibernate/Data/NHibernate/LocalSessionFactoryObject.cs b/src/Spring/Spring.Data.NHibernate/Data/NHibernate/LocalSessionFactoryObject.cs index 3083647f..23f41534 100644 --- a/src/Spring/Spring.Data.NHibernate/Data/NHibernate/LocalSessionFactoryObject.cs +++ b/src/Spring/Spring.Data.NHibernate/Data/NHibernate/LocalSessionFactoryObject.cs @@ -1,403 +1,1055 @@ -#region License - -/* - * Copyright © 2002-2010 the original author or authors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#endregion - -#region Imports - -using System.Collections; -using System.Data; -using Common.Logging; -using NHibernate; -using NHibernate.Cfg; -using NHibernate.Connection; -#if NH21 -using NHibernate.Engine; -#endif +#region License -using Spring.Core.IO; -using Spring.Data.Common; -using Spring.Objects.Factory; -using Environment = NHibernate.Cfg.Environment; - -#endregion - -namespace Spring.Data.NHibernate -{ - /// - /// An IFactoryObject that creates a local Hibernate SessionFactory instance. - /// Behaves like a SessionFactory instance when used as bean reference, - /// e.g. for HibernateTemplate's "SessionFactory" property. - /// - /// - /// The typical usage will be to register this as singleton factory - /// in an application context and give objects references to application services - /// that need it. - /// - /// Hibernate configuration settings can be set using the IDictionary property 'HibernateProperties'. - /// - /// - /// - /// Mark Pollack (.NET) - public class LocalSessionFactoryObject : IFactoryObject, IInitializingObject, System.IDisposable - { - #region Fields - - private Configuration configuration; - - private ISessionFactory sessionFactory; - - private string[] mappingAssemblies; - - private string[] mappingResources; - - private string[] configFilenames; - - /// - /// TODO: consider changing to NamevalueCollection for easier - /// cut-n-paste from existing App.config based configurations. - /// - private IDictionary hibernateProperties; - - private IDbProvider dbProvider; - - #endregion - - #region Constants - - /// - /// The shared instance for this class (and derived classes). - /// - protected static readonly ILog log = - LogManager.GetLogger(typeof (LocalSessionFactoryObject)); - - #endregion - - #region Constructor (s) - /// - /// Initializes a new instance of the class. - /// - public LocalSessionFactoryObject() - { - - } - - #endregion - - #region Properties - - /// - /// Sets the assemblies to load that contain mapping files. - /// - /// The mapping assemblies. - public string[] MappingAssemblies - { - set { mappingAssemblies = value; } - } - - /// - /// Sets the hibernate configuration files to load, i.e. hibernate.cfg.xml. - /// - public string[] ConfigFilenames - { - set { configFilenames = value; } - } - - /// - /// Sets the locations of Spring IResources that contain mapping - /// files. - /// - /// The location of mapping resources. - public string[] MappingResources - { - set { mappingResources = value;} - } - - /// - /// Return the Configuration object used to build the SessionFactory. - /// Allows access to configuration metadata stored there (rarely needed). - /// - /// The hibernate configuration. - public Configuration Configuration - { - get { return configuration; } - } - - /// - /// Set NHibernate configuration properties, like "hibernate.dialect". - /// - /// The hibernate properties. - /// - ///

Can be used to override values in a NHibernate XML config file, - /// or to specify all necessary properties locally. - ///

- ///

Note: Do not specify a transaction provider here when using - /// Spring-driven transactions. It is also advisable to omit connection - /// provider settings and use a Spring-set IDbProvider instead. - ///

- ///
- public IDictionary HibernateProperties - { - get - { - if (hibernateProperties == null) - { - hibernateProperties = new Hashtable(); - } - return hibernateProperties; - } - set - { - hibernateProperties = value; - } - } - - /// - /// Get or set the DataSource to be used by the SessionFactory. - /// - /// The db provider. - /// - /// If set, this will override corresponding settings in Hibernate properties. - /// Note: If this is set, the Hibernate settings should not define - /// a connection string - /// (hibernate.connection.connection_string) to avoid meaningless double configuration. - /// - /// - public IDbProvider DbProvider - { - set { dbProvider = value; } - get { return dbProvider; } - } - - - #endregion - - #region Methods - - #endregion - - /// - /// Return the singleon session factory. - /// - public object GetObject() - { - return sessionFactory; - } - - /// - /// Return the type or subclass. - /// - /// The type created by this factory - public System.Type ObjectType - { - get - { - return (sessionFactory != null) ? sessionFactory.GetType() : typeof(ISessionFactory); - } - } - - /// - /// Returns true - /// - /// true - public bool IsSingleton - { - get - { - return true; - } - } - - /// - /// Initialize the SessionFactory for the given or the - /// default location. - /// - public void AfterPropertiesSet() - { - // Create Configuration instance. - Configuration config = NewConfiguration(); - - - if (this.dbProvider != null) - { - config.SetProperty(Environment.ConnectionString, dbProvider.ConnectionString); - config.SetProperty(Environment.ConnectionProvider, typeof(DbProviderWrapper).AssemblyQualifiedName); - } - - if (this.hibernateProperties != null) - { - if (config.GetProperty(Environment.ConnectionProvider) != null && - hibernateProperties.Contains(Environment.ConnectionProvider)) - { - #region Logging - if (log.IsInfoEnabled) - { - log.Info("Overriding use of Spring's Hibernate Connection Provider with [" + - hibernateProperties[Environment.ConnectionProvider] + "]"); - } - #endregion - config.Properties.Remove(Environment.ConnectionProvider); - } - config.AddProperties(hibernateProperties); - } - if (this.mappingAssemblies != null) - { - foreach (string assemblyName in mappingAssemblies) - { - config.AddAssembly(assemblyName); - } - } - - IResourceLoader resourceLoader = new ConfigurableResourceLoader(); - - if (this.mappingResources != null) - { - foreach (string resourceName in mappingResources) - { - config.AddInputStream(resourceLoader.GetResource(resourceName).InputStream); - } - } - - if (configFilenames != null) - { - foreach (string configFilename in configFilenames) - { - config.Configure(configFilename); - } - } - - // Perform custom post-processing in subclasses. - PostProcessConfiguration(config); - - // Build SessionFactory instance. - log.Info("Building new Hibernate SessionFactory"); - this.configuration = config; - this.sessionFactory = NewSessionFactory(config); - - - } - - /// - /// Close the SessionFactory on application context shutdown. - /// - public void Dispose() - { - if (sessionFactory != null) - { - #region Instrumentation - if (log.IsInfoEnabled) - { - log.Info("Closing Hibernate SessionFactory"); - } - #endregion - sessionFactory.Close(); - } - } - - /// - /// Subclasses can override this method to perform custom initialization - /// of the Configuration instance used for ISessionFactory creation. - /// - /// - /// The properties of this LocalSessionFactoryObject will be applied to - /// the Configuration object that gets returned here. - ///

The default implementation creates a new Configuration instance. - /// A custom implementation could prepare the instance in a specific way, - /// or use a custom Configuration subclass. - ///

- ///
- protected virtual Configuration NewConfiguration() - { - return new Configuration(); - } - - /// - /// To be implemented by subclasses that want to to perform custom - /// post-processing of the Configuration object after this FactoryObject - /// performed its default initialization. - /// - /// The current configuration object. - protected virtual void PostProcessConfiguration(Configuration config) - { - } - - /// - /// Subclasses can override this method to perform custom initialization - /// of the SessionFactory instance, creating it via the given Configuration - /// object that got prepared by this LocalSessionFactoryObject. - /// - /// - ///

The default implementation invokes Configuration's BuildSessionFactory. - /// A custom implementation could prepare the instance in a specific way, - /// or use a custom ISessionFactory subclass. - ///

- ///
- protected virtual ISessionFactory NewSessionFactory(Configuration config) - { - ISessionFactory sf = config.BuildSessionFactory(); - DbProviderWrapper dbProviderWrapper = null; -#if NH21 - ISessionFactoryImplementor sfImplementor = sf as ISessionFactoryImplementor; - if (sfImplementor != null) +/* + * Copyright © 2002-2011 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#endregion + +#region Imports + +using System; +using System.Collections; +using System.Collections.Generic; +using System.Data; +using System.Data.Common; + +using Common.Logging; +using NHibernate; +using NHibernate.Bytecode; +using NHibernate.Cfg; +using NHibernate.Connection; +using NHibernate.Dialect; +using NHibernate.Engine; +using NHibernate.Event; +using NHibernate.Tool.hbm2ddl; +using Spring.Context; +using Spring.Core.IO; +using Spring.Dao; +using Spring.Dao.Attributes; +using Spring.Dao.Support; +using Spring.Data.Common; +using Spring.Data.Support; +using Spring.Objects.Factory; +using Spring.Objects.Factory.Config; +using Spring.Util; + +using Environment = NHibernate.Cfg.Environment; +using Configuration = NHibernate.Cfg.Configuration; + +#endregion + +namespace Spring.Data.NHibernate +{ + /// + /// An IFactoryObject that creates a local Hibernate SessionFactory instance. + /// Behaves like a SessionFactory instance when used as bean reference, + /// e.g. for HibernateTemplate's "SessionFactory" property. + /// + /// + /// The typical usage will be to register this as singleton factory + /// in an application context and give objects references to application services + /// that need it. + /// + /// Hibernate configuration settings can be set using the IDictionary property 'HibernateProperties'. + /// + /// + /// This class implements the interface, + /// as autodetected by Spring's + /// for AOP-based translation of PersistenceExceptionTranslationPostProcessor. + /// Hence, the presence of e.g. LocalSessionFactoryBean automatically enables + /// a PersistenceExceptionTranslationPostProcessor to translate Hibernate exceptions. + /// + /// + /// Mark Pollack (.NET) + public class LocalSessionFactoryObject : IFactoryObject, IInitializingObject, IPersistenceExceptionTranslator, IDisposable + , IApplicationContextAware + { + #region Fields + + private Configuration configuration; + + private ISessionFactory sessionFactory; + + private string[] mappingAssemblies; + + private string[] mappingResources; + + private string[] configFilenames; + + private IDictionary hibernateProperties; + + private IDbProvider dbProvider; + + private bool exposeTransactionAwareSessionFactory = false; + + private IInterceptor entityInterceptor; + + private INamingStrategy namingStrategy; + + private IObjectDefinition[] typeDefinitions; + + private FilterDefinition[] filterDefinitions; + + private Properties entityCacheStrategies; + + private Properties collectionCacheStrategies; + + private IDictionary eventListeners; + + private bool schemaUpdate = false; + + private IAdoExceptionTranslator adoExceptionTranslator; + + private IResourceLoader resourceLoader; + + private IApplicationContext applicationContext; + + // Configuration time DB provider. + // This will not be available after configuration has been done. + private static IDbProvider configTimeDbProvider; + + private IBytecodeProvider bytecodeProvider; + + #endregion + + #region Constants + + /// + /// The shared instance for this class (and derived classes). + /// + protected static readonly ILog log = + LogManager.GetLogger(typeof (LocalSessionFactoryObject)); + + #endregion + + #region Constructor (s) + /// + /// Initializes a new instance of the class. + /// + public LocalSessionFactoryObject() + { + + } + + #endregion + + #region Properties + + /// + /// Setting the Application Context determines were resources are loaded from + /// + public IApplicationContext ApplicationContext + { + set { this.applicationContext = value; } + protected get { return this.applicationContext; } + } + + /// + /// Gets or sets the to use for loading mapping assemblies etc. + /// + public IResourceLoader ResourceLoader + { + get + { + if (resourceLoader == null) + { + resourceLoader = new ConfigurableResourceLoader(); + } + return resourceLoader; + } + set { resourceLoader = value; } + } + + /// + /// Sets the assemblies to load that contain mapping files. + /// + /// The mapping assemblies. + public string[] MappingAssemblies + { + set { mappingAssemblies = value; } + } + + /// + /// Sets the hibernate configuration files to load, i.e. hibernate.cfg.xml. + /// + public string[] ConfigFilenames + { + set { configFilenames = value; } + } + + /// + /// Sets the locations of Spring IResources that contain mapping + /// files. + /// + /// The location of mapping resources. + public string[] MappingResources + { + set { mappingResources = value;} + } + + /// + /// Return the Configuration object used to build the SessionFactory. + /// Allows access to configuration metadata stored there (rarely needed). + /// + /// The hibernate configuration. + public Configuration Configuration + { + get { return configuration; } + } + + /// + /// Set NHibernate configuration properties, like "hibernate.dialect". + /// + /// The hibernate properties. + /// + ///

Can be used to override values in a NHibernate XML config file, + /// or to specify all necessary properties locally. + ///

+ ///

Note: Do not specify a transaction provider here when using + /// Spring-driven transactions. It is also advisable to omit connection + /// provider settings and use a Spring-set IDbProvider instead. + ///

+ ///
+ public IDictionary HibernateProperties + { + get + { + if (hibernateProperties == null) + { + hibernateProperties = new Hashtable(); + } + return hibernateProperties; + } + set + { + hibernateProperties = value; + } + } + + /// + /// Get or set the DataSource to be used by the SessionFactory. + /// + /// The db provider. + /// + /// If set, this will override corresponding settings in Hibernate properties. + /// Note: If this is set, the Hibernate settings should not define + /// a connection string + /// (hibernate.connection.connection_string) to avoid meaningless double configuration. + /// + /// + public IDbProvider DbProvider + { + set { dbProvider = value; } + get { return dbProvider; } + } + + /// + /// Gets or sets a value indicating whether to expose a transaction aware session factory. + /// + /// + /// true if want to expose transaction aware session factory; otherwise, false. + /// + public bool ExposeTransactionAwareSessionFactory + { + set { exposeTransactionAwareSessionFactory = value; } + get { return exposeTransactionAwareSessionFactory; } + } + + + /// + /// Set a NHibernate entity interceptor that allows to inspect and change + /// property values before writing to and reading from the database. + /// Will get applied to any new Session created by this factory. + ///

Such an interceptor can either be set at the SessionFactory level, i.e. on + /// LocalSessionFactoryObject, or at the Session level, i.e. on HibernateTemplate, + /// HibernateInterceptor, and HibernateTransactionManager. It's preferable to set + /// it on LocalSessionFactoryObject or HibernateTransactionManager to avoid repeated + /// configuration and guarantee consistent behavior in transactions.

+ ///
+ /// + /// + public IInterceptor EntityInterceptor + { + set { this.entityInterceptor = value; } + } + + /// + /// Set a Hibernate NamingStrategy for the SessionFactory, determining the + /// physical column and table names given the info in the mapping document. + /// + public INamingStrategy NamingStrategy + { + set { this.namingStrategy = value; } + } + + /// + /// Specify the Hibernate type definitions to register with the SessionFactory, + /// as Spring IObjectDefinition instances. This is an alternative to specifying + /// <typedef> elements in Hibernate mapping files. + ///

Unfortunately, Hibernate itself does not define a complete object that + /// represents a type definition, hence the need for Spring's TypeDefinitionBean.

+ /// @see TypeDefinitionBean + /// @see org.hibernate.cfg.Mappings#addTypeDef(String, String, java.util.Properties) + ///
+ public IObjectDefinition[] TypeDefinitions + { + set { this.typeDefinitions = value; } + } + + + /// + /// Specify the NHibernate FilterDefinitions to register with the SessionFactory. + /// This is an alternative to specifying <filter-def> elements in + /// Hibernate mapping files. + /// + /// + /// Typically, the passed-in FilterDefinition objects will have been defined + /// as Spring FilterDefinitionFactoryBeans, probably as inner beans within the + /// LocalSessionFactoryObject definition. + /// + /// + public FilterDefinition[] FilterDefinitions + { + set { this.filterDefinitions = value; } + } + + /// + /// Specify the cache strategies for entities (persistent classes or named entities). + /// This configuration setting corresponds to the <class-cache> entry + /// in the "hibernate.cfg.xml" configuration format. + ///

For example: + ///

+        /// <property name="entityCacheStrategies">
+        ///   <props>
+        ///     <prop key="MyCompany.Customer">read-write</prop>
+        ///     <prop key="MyCompany.Product">read-only,myRegion</prop>
+        ///   </props>
+        /// </property>
+ ///

+ ///
+ public Properties EntityCacheStrategies + { + set { this.entityCacheStrategies = value; } + } + + /// + /// Specify the cache strategies for persistent collections (with specific roles). + /// This configuration setting corresponds to the <collection-cache> entry + /// in the "hibernate.cfg.xml" configuration format. + ///

For example: + ///

+        /// <property name="CollectionCacheStrategies">
+        ///   <props>
+        ///     <prop key="MyCompany.Order.Items">read-write</prop>
+        ///     <prop key="MyCompany.Product.Categories">read-only,myRegion</prop>
+        ///   </props>
+        /// </property>
+ ///

+ ///
+ public Properties CollectionCacheStrategies + { + set { this.collectionCacheStrategies = value; } + } + + + /// + /// Specify the NHibernate event listeners to register, with listener types + /// as keys and listener objects as values. + ///

+ /// Instead of a single listener object, you can also pass in a list + /// or set of listeners objects as value. + ///

+ ///
+ /// listener objects as values + /// + /// See the NHibernate documentation for further details on listener types + /// and associated listener interfaces. + /// + public IDictionary EventListeners + { + set { this.eventListeners = value; } + } + + /// + /// Set whether to execute a schema update after SessionFactory initialization. + ///

+ /// For details on how to make schema update scripts work, see the NHibernate + /// documentation, as this class leverages the same schema update script support + /// in as NHibernate's own SchemaUpdate tool. + ///

+ ///
+ public bool SchemaUpdate + { + set { schemaUpdate = value; } + } + + /// + /// Set the ADO.NET exception translator for this instance. + /// Applied to System.Data.Common.DbException (or provider specific exception type + /// in .NET 1.1) thrown by callback code, be it direct + /// DbException or wrapped Hibernate ADOExceptions. + ///

The default exception translator is either a ErrorCodeExceptionTranslator + /// if a DbProvider is available, or a FalbackExceptionTranslator otherwise + ///

+ ///
+ /// The ADO exception translator. + public virtual IAdoExceptionTranslator AdoExceptionTranslator + { + set { adoExceptionTranslator = value; } + get { - dbProviderWrapper = sfImplementor.ConnectionProvider as DbProviderWrapper; - } -#else - dbProviderWrapper = sf.ConnectionProvider as DbProviderWrapper; -#endif - if (dbProviderWrapper != null) - { - dbProviderWrapper.DbProvider = dbProvider; - } - return sf; - } - - #region DbProviderWrapper Helper class - - internal class DbProviderWrapper : ConnectionProvider - { - private IDbProvider _dbProvider; - - public DbProviderWrapper() - { - } - - public IDbProvider DbProvider - { - get { return _dbProvider; } - set { _dbProvider = value; } - } - - public override void CloseConnection(IDbConnection conn) - { - base.CloseConnection(conn); - conn.Dispose(); - } - - public override IDbConnection GetConnection() - { - IDbConnection dbCon = _dbProvider.CreateConnection(); - dbCon.Open(); - return dbCon; - } - } - - #endregion // DbProviderWrapper Helper class - - } -} + if (adoExceptionTranslator == null) + { + adoExceptionTranslator = SessionFactoryUtils.NewAdoExceptionTranslator(sessionFactory); + } + return adoExceptionTranslator; + } + } + + /// + /// Sets custom byte code provider implementation to be used. This corresponds to setting + /// the property before NHibernate session factory + /// configuration. + /// + public virtual IBytecodeProvider BytecodeProvider + { + get { return this.bytecodeProvider; } + set { this.bytecodeProvider = value; } + } + + #endregion + + #region Methods + + #endregion + + /// + /// Return the singleon session factory. + /// + /// The singleon session factory. + public object GetObject() + { + return sessionFactory; + } + + /// + /// Return the type or subclass. + /// + /// The type created by this factory + public Type ObjectType + { + get + { + return (sessionFactory != null) ? sessionFactory.GetType() : typeof(ISessionFactory); + } + } + + /// + /// Returns true + /// + /// true + public bool IsSingleton + { + get { return true; } + } + + /// + /// Initialize the SessionFactory for the given or the + /// default location. + /// + public virtual void AfterPropertiesSet() + { + // Create Configuration instance. + Configuration config = NewConfiguration(); + + if (this.dbProvider != null) + { + config.SetProperty(Environment.ConnectionString, dbProvider.ConnectionString); + config.SetProperty(Environment.ConnectionProvider, typeof(DbProviderWrapper).AssemblyQualifiedName); + configTimeDbProvider = this.dbProvider; + } + + if (ExposeTransactionAwareSessionFactory) + { + // Set ICurrentSessionContext implementation, + // providing the Spring-managed ISession s current Session. + // Can be overridden by a custom value for the corresponding Hibernate property + config.SetProperty(Environment.CurrentSessionContextClass, typeof(SpringSessionContext).AssemblyQualifiedName); + } + + if (this.entityInterceptor != null) + { + // Set given entity interceptor at SessionFactory level. + config.SetInterceptor(this.entityInterceptor); + } + + if (this.namingStrategy != null) + { + // Pass given naming strategy to Hibernate Configuration. + config.SetNamingStrategy(this.namingStrategy); + } + + if (this.typeDefinitions != null) + { + // Register specified Hibernate type definitions. + IDictionary typedProperties = new Dictionary(); + foreach (DictionaryEntry entry in hibernateProperties) + { + typedProperties.Add((string) entry.Key, (string) entry.Value); + } + + Dialect dialect = Dialect.GetDialect(typedProperties); + Mappings mappings = config.CreateMappings(dialect); + for (int i = 0; i < this.typeDefinitions.Length; i++) + { + IObjectDefinition typeDef = this.typeDefinitions[i]; + Dictionary typedParamMap = new Dictionary(); + foreach (DictionaryEntry entry in typeDef.PropertyValues) + { + typedParamMap.Add((string) entry.Key, (string) entry.Value); + } + mappings.AddTypeDef(typeDef.ObjectTypeName, typeDef.ObjectTypeName, typedParamMap); + } + } + + if (this.filterDefinitions != null) + { + // Register specified NHibernate FilterDefinitions. + for (int i = 0; i < this.filterDefinitions.Length; i++) + { + config.AddFilterDefinition(this.filterDefinitions[i]); + } + } + + // check whether proxy factory has been initialized + if (config.GetProperty(Environment.ProxyFactoryFactoryClass) == null + && (hibernateProperties == null || !hibernateProperties.Contains(Environment.ProxyFactoryFactoryClass))) + { + // nothing set by user, lets use Spring.NET's proxy factory factory + #region Logging + if (log.IsInfoEnabled) + { + log.Info("Setting proxy factory to Spring provided one as user did not specify any"); + } + #endregion + config.Properties.Add( + Environment.ProxyFactoryFactoryClass, typeof(Bytecode.ProxyFactoryFactory).AssemblyQualifiedName); + } + + if (this.hibernateProperties != null) + { + if (config.GetProperty(Environment.ConnectionProvider) != null && + hibernateProperties.Contains(Environment.ConnectionProvider)) + { + #region Logging + if (log.IsInfoEnabled) + { + log.Info("Overriding use of Spring's Hibernate Connection Provider with [" + + hibernateProperties[Environment.ConnectionProvider] + "]"); + } + #endregion + config.Properties.Remove(Environment.ConnectionProvider); + } + + Dictionary genericHibernateProperties = new Dictionary(); + foreach (DictionaryEntry entry in hibernateProperties) + { + genericHibernateProperties.Add((string) entry.Key, (string) entry.Value); + } + config.AddProperties(genericHibernateProperties); + } + if (this.mappingAssemblies != null) + { + foreach (string assemblyName in mappingAssemblies) + { + config.AddAssembly(assemblyName); + } + } + + if (this.mappingResources != null) + { + IResourceLoader loader = this.ResourceLoader; + if (loader == null) + { + loader = this.applicationContext; + } + foreach (string resourceName in mappingResources) + { + config.AddInputStream(loader.GetResource(resourceName).InputStream); + } + } + + if (configFilenames != null) + { + foreach (string configFilename in configFilenames) + { + config.Configure(configFilename); + } + } + + // Tell Hibernate to eagerly compile the mappings that we registered, + // for availability of the mapping information in further processing. + PostProcessMappings(config); + config.BuildMappings(); + + if (this.entityCacheStrategies != null) + { + // Register cache strategies for mapped entities. + foreach (string className in this.entityCacheStrategies.Keys) + { + String[] strategyAndRegion = StringUtils.CommaDelimitedListToStringArray(this.entityCacheStrategies.GetProperty(className)); + if (strategyAndRegion.Length > 1) + { + config.SetCacheConcurrencyStrategy(className, strategyAndRegion[0], strategyAndRegion[1]); + } + else if (strategyAndRegion.Length > 0) + { + config.SetCacheConcurrencyStrategy(className, strategyAndRegion[0]); + } + } + } + + if (this.collectionCacheStrategies != null) + { + // Register cache strategies for mapped collections. + foreach (string collRole in collectionCacheStrategies.Keys) + { + string[] strategyAndRegion = StringUtils.CommaDelimitedListToStringArray(this.collectionCacheStrategies.GetProperty(collRole)); + if (strategyAndRegion.Length > 1) + { + throw new Exception("Collection cache concurrency strategy region definition not supported yet"); + //config.SetCollectionCacheConcurrencyStrategy(collRole, strategyAndRegion[0], strategyAndRegion[1]); + } + else if (strategyAndRegion.Length > 0) + { + config.SetCollectionCacheConcurrencyStrategy(collRole, strategyAndRegion[0]); + } + } + } + + if (this.eventListeners != null) + { + // Register specified NHibernate event listeners. + foreach (DictionaryEntry entry in eventListeners) + { + ListenerType listenerType; + try + { + listenerType = (ListenerType) Enum.Parse(typeof (ListenerType), (string) entry.Key); + } + catch + { + throw new ArgumentException(string.Format("Unable to parse string '{0}' as valid {1}", entry.Key, typeof (ListenerType))); + } + + object listenerObject = entry.Value; + if (listenerObject is ICollection) + { + ICollection listeners = (ICollection) listenerObject; + EventListeners listenerRegistry = config.EventListeners; + + // create the array and check that types are valid at the same time + ArrayList items = new ArrayList(listeners); + object[] listenerArray = (object[])items.ToArray(listenerRegistry.GetListenerClassFor(listenerType)); + config.SetListeners(listenerType, listenerArray); + } + else + { + config.SetListener(listenerType, listenerObject); + } + } + } + + // Perform custom post-processing in subclasses. + PostProcessConfiguration(config); + + if (BytecodeProvider != null) + { + // set custom IBytecodeProvider + Environment.BytecodeProvider = BytecodeProvider; + } + else + { + // use Spring's as default + // Environment.BytecodeProvider = new Bytecode.BytecodeProvider(this.applicationContext); + } + + // Build SessionFactory instance. + log.Info("Building new Hibernate SessionFactory"); + this.configuration = config; + this.sessionFactory = NewSessionFactory(config); + + AfterSessionFactoryCreation(); + + // set config time DB provider back to null + configTimeDbProvider = null; + } + + /// + /// Close the SessionFactory on application context shutdown. + /// + public void Dispose() + { + if (sessionFactory != null) + { + #region Instrumentation + if (log.IsInfoEnabled) + { + log.Info("Closing Hibernate SessionFactory"); + } + #endregion + sessionFactory.Close(); + } + + } + + /// + /// Subclasses can override this method to perform custom initialization + /// of the Configuration instance used for ISessionFactory creation. + /// + /// + /// The properties of this LocalSessionFactoryObject will be applied to + /// the Configuration object that gets returned here. + ///

The default implementation creates a new Configuration instance. + /// A custom implementation could prepare the instance in a specific way, + /// or use a custom Configuration subclass. + ///

+ ///
+ /// The configuration instance. + protected virtual Configuration NewConfiguration() + { + return new Configuration(); + } + + /// + /// To be implemented by subclasses that want to to register further mappings + /// on the Configuration object after this FactoryObject registered its specified + /// mappings. + /// + /// + /// Invoked before the BuildMappings call, + /// so that it can still extend and modify the mapping information. + /// + /// the current Configuration object + protected virtual void PostProcessMappings(Configuration config) + { + } + + /// + /// To be implemented by subclasses that want to to perform custom + /// post-processing of the Configuration object after this FactoryObject + /// performed its default initialization. + /// + /// The current configuration object. + protected virtual void PostProcessConfiguration(Configuration config) + { + } + + /// + /// Executes schema update if requested. + /// + protected virtual void AfterSessionFactoryCreation() + { + if (this.schemaUpdate) + { + UpdateDatabaseSchema(); + } + } + + /// + /// Execute schema drop script, determined by the Configuration object + /// used for creating the SessionFactory. A replacement for NHibernate's + /// SchemaExport class, to be invoked on application setup. + /// + /// + /// Fetch the LocalSessionFactoryBean itself rather than the exposed + /// SessionFactory to be able to invoke this method, e.g. via + /// LocalSessionFactoryObject lsfb = (LocalSessionFactoryObject) ctx.GetObject("mySessionFactory");. + ///

+ /// Uses the SessionFactory that this bean generates for accessing a ADO.NET + /// connection to perform the script. + ///

+ ///
+ public void DropDatabaseSchema() + { + log.Info("Dropping database schema for NHibernate SessionFactory"); + HibernateTemplate hibernateTemplate = new HibernateTemplate(sessionFactory); + hibernateTemplate.Execute( + new HibernateDelegate(delegate(ISession session) + { + IDbConnection con = session.Connection; + Dialect dialect = Dialect.GetDialect(Configuration.Properties); + string[] sql = Configuration.GenerateDropSchemaScript(dialect); + ExecuteSchemaScript(con, sql); + return null; + })); + + } + + /// + /// Execute schema creation script, determined by the Configuration object + /// used for creating the SessionFactory. A replacement for NHibernate's + /// SchemaExport class, to be invoked on application setup. + /// + /// + /// Fetch the LocalSessionFactoryObject itself rather than the exposed + /// SessionFactory to be able to invoke this method, e.g. via + /// LocalSessionFactoryObject lsfo = (LocalSessionFactoryObject) ctx.GetObject("mySessionFactory");. + ///

+ /// Uses the SessionFactory that this bean generates for accessing a ADO.NET + /// connection to perform the script. + ///

+ ///
+ public void CreateDatabaseSchema() + { + log.Info("Creating database schema for Hibernate SessionFactory"); + HibernateTemplate hibernateTemplate = new HibernateTemplate(sessionFactory); + hibernateTemplate.Execute( + new HibernateDelegate(delegate (ISession session) + { + IDbConnection con = session.Connection; + Dialect dialect = Dialect.GetDialect(Configuration.Properties); + string[] sql = Configuration.GenerateSchemaCreationScript(dialect); + ExecuteSchemaScript(con, sql); + return null; + + })); + } + + /// + /// Execute schema update script, determined by the Configuration object + /// used for creating the SessionFactory. A replacement for NHibernate's + /// SchemaUpdate class, for automatically executing schema update scripts + /// on application startup. Can also be invoked manually. + /// + /// + /// Fetch the LocalSessionFactoryObject itself rather than the exposed + /// SessionFactory to be able to invoke this method, e.g. via + /// LocalSessionFactoryObject lsfo = (LocalSessionFactoryObject) ctx.GetObject("mySessionFactory");. + ///

+ /// Uses the SessionFactory that this bean generates for accessing a ADO.NET + /// connection to perform the script. + ///

+ ///
+ public virtual void UpdateDatabaseSchema() + { + log.Info("Updating database schema for Hibernate SessionFactory"); + HibernateTemplate hibernateTemplate = new HibernateTemplate(sessionFactory); + hibernateTemplate.TemplateFlushMode = TemplateFlushMode.Never; + hibernateTemplate.Execute( + new HibernateDelegate(delegate(ISession session) + { + IDbConnection con = session.Connection; + Dialect dialect = Dialect.GetDialect(Configuration.Properties); + DatabaseMetadata metadata = new DatabaseMetadata((DbConnection) con, dialect); + string[] sql = Configuration.GenerateSchemaUpdateScript(dialect, metadata); + ExecuteSchemaScript(con, sql); + return null; + })); + } + + + /// + /// Execute the given schema script on the given ADO.NET Connection. + /// + /// + /// Note that the default implementation will log unsuccessful statements + /// and continue to execute. Override the ExecuteSchemaStatement + /// method to treat failures differently. + /// + /// The connection to use. + /// The SQL statement to execute. + protected virtual void ExecuteSchemaScript(IDbConnection con, string[] sql) + { + if (sql != null && sql.Length > 0) + { + IDbCommand cmd = con.CreateCommand(); + try + { + for (int i = 0; i < sql.Length; i++) + { + ExecuteSchemaStatement(cmd, sql[i]); + } + } + finally + { + AdoUtils.DisposeCommand(cmd); + } + } + } + + /// + /// Execute the given schema SQL on the given ADO.NET command. + /// + /// + /// Note that the default implementation will log unsuccessful statements + /// and continue to execute. Override this method to treat failures differently. + /// + /// + /// + protected virtual void ExecuteSchemaStatement(IDbCommand cmd, string sql) + { + if (log.IsDebugEnabled) + { + log.Debug("Executing schema statement: " + sql); + } + try + { + cmd.CommandText = sql; + cmd.ExecuteNonQuery(); + } + catch (ADOException ex) + { + if (log.IsWarnEnabled) + { + log.Warn("Unsuccessful schema statement: " + sql, ex); + } + } + } + + /// + /// Subclasses can override this method to perform custom initialization + /// of the SessionFactory instance, creating it via the given Configuration + /// object that got prepared by this LocalSessionFactoryObject. + /// + /// + ///

The default implementation invokes Configuration's BuildSessionFactory. + /// A custom implementation could prepare the instance in a specific way, + /// or use a custom ISessionFactory subclass. + ///

+ ///
+ /// The ISessionFactory instance. + protected virtual ISessionFactory NewSessionFactory(Configuration config) + { + ISessionFactory sf = config.BuildSessionFactory(); + ISessionFactoryImplementor sfImplementor = sf as ISessionFactoryImplementor; + + if (sfImplementor != null) + { + DbProviderWrapper dbProviderWrapper = sfImplementor.ConnectionProvider as DbProviderWrapper; + + if (dbProviderWrapper != null) + { + dbProviderWrapper.DbProvider = dbProvider; + } + } + return sf; + } + + #region DbProviderWrapper Helper class + + internal class DbProviderWrapper : ConnectionProvider + { + private IDbProvider _dbProvider; + + public DbProviderWrapper() + { + } + + public IDbProvider DbProvider + { + get { return _dbProvider; } + set { _dbProvider = value; } + } + + public override void CloseConnection(IDbConnection conn) + { + base.CloseConnection(conn); + conn.Dispose(); + } + + public override IDbConnection GetConnection() + { + IDbProvider provider = _dbProvider; + if (provider == null && configTimeDbProvider != null) + { + // NH 2.1 has a need to access db provider before + // it has been set "the natural way" (it gets the DB's reserved words) + // allow it via configuration time db provider reference + provider = configTimeDbProvider; + } + + if (provider == null) + { + throw new Exception("There was no DB provider available, unable to create connection"); + } + IDbConnection dbCon = provider.CreateConnection(); + dbCon.Open(); + return dbCon; + } + } + + #endregion // DbProviderWrapper Helper class + + #region IPersistenceExceptionTranslator Members + + /// + /// Implementation of the PersistenceExceptionTranslator interface, + /// as autodetected by Spring's PersistenceExceptionTranslationPostProcessor. + /// Converts the exception if it is a HibernateException; + /// else returns null to indicate an unknown exception. + /// translate the given exception thrown by a persistence framework to a + /// corresponding exception from Spring's generic DataAccessException hierarchy, + /// if possible. + /// + /// The exception thrown. + /// + /// the corresponding DataAccessException (or null if the + /// exception could not be translated. + /// + /// + public DataAccessException TranslateExceptionIfPossible(Exception ex) + { + if (ex is HibernateException) + { + return ConvertHibernateException((HibernateException) ex); + } + return null; + } + + /// + /// Convert the given HibernateException to an appropriate exception from the + /// Spring's DAO Exception hierarchy. + /// Will automatically apply a specified IAdoExceptionTranslator to a + /// Hibernate ADOException, else rely on Hibernate's default translation. + /// + /// The Hibernate exception that occured. + /// A corresponding DataAccessException + protected virtual DataAccessException ConvertHibernateException(HibernateException ex) + { + if (ex is ADOException) + { + return ConvertAdoAccessException((ADOException)ex); + } + return SessionFactoryUtils.ConvertHibernateAccessException(ex); + } + + /// + /// Converts the ADO.NET access exception to an appropriate exception from the + /// org.springframework.dao hierarchy. Can be overridden in subclasses. + /// + /// ADOException that occured, wrapping underlying ADO.NET exception. + /// + /// the corresponding DataAccessException instance + /// + protected virtual DataAccessException ConvertAdoAccessException(ADOException ex) + { + return SessionFactoryUtils.ConvertAdoAccessException(AdoExceptionTranslator, ex); + } + + #endregion + } +} diff --git a/src/Spring/Spring.Data.NHibernate/Data/NHibernate/SessionFactoryUtils.cs b/src/Spring/Spring.Data.NHibernate/Data/NHibernate/SessionFactoryUtils.cs index 63bba962..f160a3b5 100644 --- a/src/Spring/Spring.Data.NHibernate/Data/NHibernate/SessionFactoryUtils.cs +++ b/src/Spring/Spring.Data.NHibernate/Data/NHibernate/SessionFactoryUtils.cs @@ -1,7 +1,7 @@ #region License /* - * Copyright © 2002-2010 the original author or authors. + * Copyright © 2002-2011 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -260,7 +260,7 @@ namespace Spring.Data.NHibernate // Spring transaction management is active -> // register pre-bound Session with it for transactional flushing. session = sessionHolder.ValidatedSession; - if (!sessionHolder.SynchronizedWithTransaction) + if (session != null && !sessionHolder.SynchronizedWithTransaction) { log.Debug("Registering Spring transaction synchronization for existing Hibernate Session"); TransactionSynchronizationManager.RegisterSynchronization( @@ -401,6 +401,38 @@ namespace Spring.Data.NHibernate #endregion + /// + /// Converts a Hibernate ADOException to a Spring DataAccessExcption, extracting the underlying error code from + /// ADO.NET. Will extract the ADOException Message and SqlString properties and pass them to the translate method + /// of the provided IAdoExceptionTranslator. + /// + /// The IAdoExceptionTranslator, may be a user provided implementation as configured on + /// HibernateTemplate. + /// + /// The ADOException throw + /// The translated DataAccessException or UncategorizedAdoException in case of an error in translation + /// itself. + public static DataAccessException ConvertAdoAccessException(IAdoExceptionTranslator translator, ADOException ex) + { + try + { + string sqlString = (ex.SqlString != null) + ? ex.SqlString.ToString() + : string.Empty; + return translator.Translate( + "Hibernate operation: " + ex.Message, sqlString, ex.InnerException); + } catch (Exception e) + { + log.Error("Exception thrown during exception translation. Message = [" + e.Message + "]", e); + log.Error("Exception that was attempted to be translated was [" + ex.Message + "]", ex); + if (ex.InnerException != null) + { + log.Error(" Inner Exception was [" + ex.InnerException.Message + "]", ex.InnerException); + } + throw new UncategorizedAdoException(e.Message, "", "", e); + } + } + /// /// Convert the given HibernateException to an appropriate exception from the /// Spring.Dao hierarchy. Note that it is advisable to @@ -433,10 +465,15 @@ namespace Spring.Data.NHibernate { return new HibernateOptimisticLockingFailureException((StaleObjectStateException) ex); } + if (ex is StaleStateException) + { + return new HibernateOptimisticLockingFailureException((StaleStateException)ex); + } if (ex is QueryException) { return new HibernateQueryException((QueryException) ex); } + if (ex is PersistentObjectException) { return new InvalidDataAccessApiUsageException(ex.Message, ex); @@ -641,7 +678,7 @@ namespace Spring.Data.NHibernate if (sfi != null) { - IConnectionProvider cp = sfi.ConnectionProvider as IConnectionProvider; + ConnectionProvider cp = sfi.ConnectionProvider as ConnectionProvider; if (cp != null) { IConfigurableApplicationContext ctx = @@ -652,11 +689,8 @@ namespace Spring.Data.NHibernate "Implementations of IApplicationContext must also implement IConfigurableApplicationContext"); } -#if NET_1_1 - DriverBase db = cp.Driver as DriverBase; -#else - IDriver db = cp.Driver; -#endif + + DriverBase db = cp.Driver as DriverBase; if (db != null) { Type hibCommandType = db.CreateCommand().GetType(); @@ -668,7 +702,7 @@ namespace Spring.Data.NHibernate IObjectDefinition objectdef = ctx.ObjectFactory.GetObjectDefinition(providerName); ConstructorArgumentValues ctorArgs = objectdef.ConstructorArgumentValues; ConstructorArgumentValues.ValueHolder vh = ctorArgs.NamedArgumentValues["dbmetadata"] as ConstructorArgumentValues.ValueHolder; - IObjectDefinition od = ((ObjectDefinitionHolder) vh.Value).ObjectDefinition; + IObjectDefinition od = ((ObjectDefinitionHolder)vh.Value).ObjectDefinition; ConstructorArgumentValues dbmdCtorArgs = od.ConstructorArgumentValues; string commandType = dbmdCtorArgs.GetArgumentValue("commandType", typeof(string)).Value as string; diff --git a/src/Spring/Spring.Data.NHibernate21/Data/NHibernate/SimpleDelegatingSessionFactory.cs b/src/Spring/Spring.Data.NHibernate/Data/NHibernate/SimpleDelegatingSessionFactory.cs similarity index 100% rename from src/Spring/Spring.Data.NHibernate21/Data/NHibernate/SimpleDelegatingSessionFactory.cs rename to src/Spring/Spring.Data.NHibernate/Data/NHibernate/SimpleDelegatingSessionFactory.cs diff --git a/src/Spring/Spring.Data.NHibernate12/Data/NHibernate/SpringSessionContext.cs b/src/Spring/Spring.Data.NHibernate/Data/NHibernate/SpringSessionContext.cs similarity index 97% rename from src/Spring/Spring.Data.NHibernate12/Data/NHibernate/SpringSessionContext.cs rename to src/Spring/Spring.Data.NHibernate/Data/NHibernate/SpringSessionContext.cs index 40d65e8a..0b45d4c0 100644 --- a/src/Spring/Spring.Data.NHibernate12/Data/NHibernate/SpringSessionContext.cs +++ b/src/Spring/Spring.Data.NHibernate/Data/NHibernate/SpringSessionContext.cs @@ -1,76 +1,76 @@ -#region License - -/* - * Copyright © 2002-2011 the original author or authors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#endregion - -using System; -using NHibernate; -using NHibernate.Context; -using NHibernate.Engine; - -namespace Spring.Data.NHibernate -{ - /// - /// Implementation of NHibernates 1.2's ICurrentSessionContext interface - /// that delegates to Spring's SessionFactoryUtils for providing a - /// Spirng-managed current Session. - /// - /// Used by Spring's LocalSessionFactoryBean if told to expose - /// a transaction-aware SessionFactory. - ///

This ICurrentSessionContext implementation can also be specified in - /// custom ISessionFactory setup through the - /// "hibernate.current_session_context_class" property, with the fully - /// qualified name of this class as value.

- /// Juergen Hoeller - /// Mark Pollack (.NET) - /// - public class SpringSessionContext : ICurrentSessionContext - { - private readonly ISessionFactoryImplementor sessionFactory; - - /// - /// Initializes a new instance of the class - /// - /// The NHibernate session factory. - public SpringSessionContext(ISessionFactoryImplementor sessionFactory) - { - this.sessionFactory = sessionFactory; - } - - #region ICurrentSessionContext Members - - /// - /// Retrieve the Spring-managed Session for the current thread. - /// - /// Current session associated with the thread - /// On errors retrieving thread bound session. - public ISession CurrentSession() - { - try - { - return SessionFactoryUtils.DoGetSession(sessionFactory, false); - } - catch (InvalidOperationException ex) - { - throw new HibernateException(ex.Message); - } - } - - #endregion - } +#region License + +/* + * Copyright © 2002-2011 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#endregion + +using System; +using NHibernate; +using NHibernate.Context; +using NHibernate.Engine; + +namespace Spring.Data.NHibernate +{ + /// + /// Implementation of NHibernates 1.2's ICurrentSessionContext interface + /// that delegates to Spring's SessionFactoryUtils for providing a + /// Spirng-managed current Session. + /// + /// Used by Spring's LocalSessionFactoryBean if told to expose + /// a transaction-aware SessionFactory. + ///

This ICurrentSessionContext implementation can also be specified in + /// custom ISessionFactory setup through the + /// "hibernate.current_session_context_class" property, with the fully + /// qualified name of this class as value.

+ /// Juergen Hoeller + /// Mark Pollack (.NET) + /// + public class SpringSessionContext : ICurrentSessionContext + { + private readonly ISessionFactoryImplementor sessionFactory; + + /// + /// Initializes a new instance of the class + /// + /// The NHibernate session factory. + public SpringSessionContext(ISessionFactoryImplementor sessionFactory) + { + this.sessionFactory = sessionFactory; + } + + #region ICurrentSessionContext Members + + /// + /// Retrieve the Spring-managed Session for the current thread. + /// + /// Current session associated with the thread + /// On errors retrieving thread bound session. + public ISession CurrentSession() + { + try + { + return SessionFactoryUtils.DoGetSession(sessionFactory, false); + } + catch (InvalidOperationException ex) + { + throw new HibernateException(ex.Message); + } + } + + #endregion + } } \ No newline at end of file diff --git a/src/Spring/Spring.Data.NHibernate/Data/NHibernate/SpringSessionSynchronization.cs b/src/Spring/Spring.Data.NHibernate/Data/NHibernate/SpringSessionSynchronization.cs index 506926bc..3025e498 100644 --- a/src/Spring/Spring.Data.NHibernate/Data/NHibernate/SpringSessionSynchronization.cs +++ b/src/Spring/Spring.Data.NHibernate/Data/NHibernate/SpringSessionSynchronization.cs @@ -1,7 +1,7 @@ #region License /* - * Copyright © 2002-2010 the original author or authors. + * Copyright © 2002-2011 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -59,7 +59,7 @@ namespace Spring.Data.NHibernate /// /// Initializes a new instance of the class. /// - public SpringSessionSynchronization(SessionHolder sessionHolder, ISessionFactory sessionFactory, + public SpringSessionSynchronization(SessionHolder sessionHolder, ISessionFactory sessionFactory, IAdoExceptionTranslator adoExceptionTranslator, bool newSession) { this.sessionHolder = sessionHolder; @@ -239,22 +239,23 @@ namespace Spring.Data.NHibernate /// public override void AfterCompletion(TransactionSynchronizationStatus status) { + if (!newSession) + { + ISession session = sessionHolder.Session; + + // Provide correct transaction status for releasing the Session's cache locks, + // if possible. Else, closing will release all cache locks assuming a rollback. + ISessionImplementor sessionImplementor = session as ISessionImplementor; + if (sessionImplementor != null) + { + sessionImplementor.AfterTransactionCompletion(status == TransactionSynchronizationStatus.Committed, sessionHolder.Transaction); + } - ISession session = sessionHolder.Session; - - // Provide correct transaction status for releasing the Session's cache locks, - // if possible. Else, closing will release all cache locks assuming a rollback. - ISessionImplementor sessionImplementor = session as ISessionImplementor; - if (sessionImplementor != null) - { - sessionImplementor.AfterTransactionCompletion(status == TransactionSynchronizationStatus.Committed); - } - - if (newSession) - { - SessionFactoryUtils.CloseSessionOrRegisterDeferredClose(session, sessionFactory); - } - + if (newSession) + { + SessionFactoryUtils.CloseSessionOrRegisterDeferredClose(session, sessionFactory); + } + } if (!newSession && status != TransactionSynchronizationStatus.Committed) { // Clear all pending inserts/updates/deletes in the Session. diff --git a/src/Spring/Spring.Data.NHibernate12/AssemblyInfo.cs b/src/Spring/Spring.Data.NHibernate12/AssemblyInfo.cs deleted file mode 100644 index 18ecf7b4..00000000 --- a/src/Spring/Spring.Data.NHibernate12/AssemblyInfo.cs +++ /dev/null @@ -1,5 +0,0 @@ -using System; -using System.Reflection; - -[assembly: AssemblyTitle("Spring.Net NHibernate 1.2 support")] -[assembly: AssemblyDescription("Interfaces and classes that provide NHibernate 1.2 support in Spring.Net")] \ No newline at end of file diff --git a/src/Spring/Spring.Data.NHibernate12/Data/NHibernate/HibernateAccessor.cs b/src/Spring/Spring.Data.NHibernate12/Data/NHibernate/HibernateAccessor.cs deleted file mode 100644 index 6dd1fcb0..00000000 --- a/src/Spring/Spring.Data.NHibernate12/Data/NHibernate/HibernateAccessor.cs +++ /dev/null @@ -1,731 +0,0 @@ -#region License - -/* - * Copyright © 2002-2011 the original author or authors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#endregion - -#region Imports - -using System; -using System.Collections; -using System.Reflection; -using AopAlliance.Intercept; -using Common.Logging; -using NHibernate; -using NHibernate.Impl; -using NHibernate.Type; -using Spring.Core.TypeResolution; -using Spring.Dao; -using Spring.Data.Support; -using Spring.Objects.Factory; -using IInterceptor=NHibernate.IInterceptor; -using ICriteria=NHibernate.ICriteria; - -#endregion - -namespace Spring.Data.NHibernate -{ - /// - /// Base class for HibernateTemplate defining common - /// properties like SessionFactory and flushing behavior. - /// - /// - ///

Not intended to be used directly. See HibernateTemplate. - ///

- ///
- /// Mark Pollack (.NET) - public abstract class HibernateAccessor : IInitializingObject, IObjectFactoryAware - { - - private Type criteriaType; - - #region Constants - - /// - /// The instance for this class. - /// - private readonly ILog log = LogManager.GetLogger(typeof (HibernateAccessor)); - - #endregion - - #region Constructor (s) - - /// - /// Initializes a new instance of the class. - /// - public HibernateAccessor() - { - - } - - #endregion - - - #region Properties - - /// - /// Gets or sets if a new Session should be created when no transactional Session - /// can be found for the current thread. - /// - /// - /// true if allowed to create non-transaction session; - /// otherwise, false. - /// - /// - ///

HibernateTemplate is aware of a corresponding Session bound to the - /// current thread, for example when using HibernateTransactionManager. - /// If allowCreate is true, a new non-transactional Session will be created - /// if none found, which needs to be closed at the end of the operation. - /// If false, an InvalidOperationException will get thrown in this case. - ///

- ///
- public abstract bool AllowCreate - { - get; - set; - } - - /// - /// Gets or sets a value indicating whether to always - /// use a new Hibernate Session for this template. - /// - /// true if always use new session; otherwise, false. - /// - ///

- /// Default is "false"; if activated, all operations on this template will - /// work on a new NHibernate ISession even in case of a pre-bound ISession - /// (for example, within a transaction). - ///

- ///

Within a transaction, a new NHibernate ISession used by this template - /// will participate in the transaction through using the same ADO.NET - /// Connection. In such a scenario, multiple Sessions will participate - /// in the same database transaction. - ///

- ///

Turn this on for operations that are supposed to always execute - /// independently, without side effects caused by a shared NHibernate ISession. - ///

- ///
- public abstract bool AlwaysUseNewSession - { - get; - set; - } - - /// - /// Set whether to expose the native Hibernate Session to IHibernateCallback - /// code. Default is "false": a Session proxy will be returned, - /// suppressing close calls and automatically applying - /// query cache settings and transaction timeouts. - /// - /// true if expose native session; otherwise, false. - public abstract bool ExposeNativeSession - { - get; - set; - } - - /// - /// Gets or sets the template flush mode. - /// - /// - /// Default is Auto. Will get applied to any new ISession - /// created by the template. - /// - /// The template flush mode. - public abstract TemplateFlushMode TemplateFlushMode - { - get; - set; - } - - /// - /// Gets or sets the entity interceptor that allows to inspect and change - /// property values before writing to and reading from the database. - /// - /// - /// Will get applied to any new ISession created by this object. - ///

Such an interceptor can either be set at the ISessionFactory level, - /// i.e. on LocalSessionFactoryObject, or at the ISession level, i.e. on - /// HibernateTemplate, HibernateInterceptor, and HibernateTransactionManager. - /// It's preferable to set it on LocalSessionFactoryObject or HibernateTransactionManager - /// to avoid repeated configuration and guarantee consistent behavior in transactions. - ///

- ///
- /// The interceptor. - public abstract IInterceptor EntityInterceptor - { - get; - set; - } - - /// - /// Set the object name of a Hibernate entity interceptor that allows to inspect - /// and change property values before writing to and reading from the database. - /// - /// - /// Will get applied to any new Session created by this transaction manager. - ///

Requires the object factory to be known, to be able to resolve the object - /// name to an interceptor instance on session creation. Typically used for - /// prototype interceptors, i.e. a new interceptor instance per session. - ///

- ///

Can also be used for shared interceptor instances, but it is recommended - /// to set the interceptor reference directly in such a scenario. - ///

- ///
- /// The name of the entity interceptor in the object factory/application context. - public abstract string EntityInterceptorObjectName - { - set; - } - - /// - /// Gets or sets the session factory that should be used to create - /// NHibernate ISessions. - /// - /// The session factory. - public abstract ISessionFactory SessionFactory - { - get; - set; - } - - /// - /// Set the object factory instance. - /// - /// The object factory instance. - public abstract IObjectFactory ObjectFactory - { - set; - } - - /// - /// Gets or sets a value indicating whether to - /// cache all queries executed by this template. - /// - /// - /// If this is true, all IQuery and ICriteria objects created by - /// this template will be marked as cacheable (including all - /// queries through find methods). - ///

To specify the query region to be used for queries cached - /// by this template, set the QueryCacheRegion property. - ///

- ///
- /// true if cache queries; otherwise, false. - public abstract bool CacheQueries - { - get; - set; - } - - /// - /// Gets or sets the name of the cache region for queries executed by this template. - /// - /// - /// If this is specified, it will be applied to all IQuery and ICriteria objects - /// created by this template (including all queries through find methods). - ///

The cache region will not take effect unless queries created by this - /// template are configured to be cached via the CacheQueries property. - ///

- ///
- /// The query cache region. - public abstract string QueryCacheRegion - { - get; - set; - } - - /// - /// Gets or sets the fetch size for this HibernateTemplate. - /// - /// The size of the fetch. - /// This is important for processing - /// large result sets: Setting this higher than the default value will increase - /// processing speed at the cost of memory consumption; setting this lower can - /// avoid transferring row data that will never be read by the application. - ///

Default is 0, indicating to use the driver's default.

- ///
- public abstract int FetchSize - { - get; - set; - } - - /// - /// Gets or sets the maximum number of rows for this HibernateTemplate. - /// - /// The max results. - /// - /// This is important - /// for processing subsets of large result sets, avoiding to read and hold - /// the entire result set in the database or in the ADO.NET driver if we're - /// never interested in the entire result in the first place (for example, - /// when performing searches that might return a large number of matches). - ///

Default is 0, indicating to use the driver's default.

- ///
- public abstract int MaxResults - { - get; - set; - } - - /// - /// Set the ADO.NET exception translator for this instance. - /// Applied to System.Data.Common.DbException (or provider specific exception type - /// in .NET 1.1) thrown by callback code, be it direct - /// DbException or wrapped Hibernate ADOExceptions. - ///

The default exception translator is either a ErrorCodeExceptionTranslator - /// if a DbProvider is available, or a FalbackExceptionTranslator otherwise - ///

- ///
- /// The ADO exception translator. - public abstract IAdoExceptionTranslator AdoExceptionTranslator - { - set; - get; - } - - /// - /// Gets a Session for use by this template. - /// - /// The session. - /// - /// - Returns a new Session in case of "alwaysUseNewSession" (using the same ADO.NET connection as a transaction Session, if applicable) - /// - a pre-bound Session in case of "AllowCreate" is set to false (not the default) - /// - or a pre-bound Session or new Session if no transactional or other pre-bound Session exists. - /// - protected ISession Session - { - get - { - if (AlwaysUseNewSession) - { - return SessionFactoryUtils.GetNewSession(SessionFactory, EntityInterceptor); - } - else if (!AllowCreate) - { - return SessionFactoryUtils.GetSession(SessionFactory, false); - } - else - { - return SessionFactoryUtils.GetSession( - SessionFactory, EntityInterceptor, AdoExceptionTranslator); - } - - } - - } - - #endregion - - #region Methods - - /// - /// Apply the flush mode that's been specified for this accessor - /// to the given Session. - /// - /// The current Hibernate Session. - /// if set to true - /// if executing within an existing transaction. - /// - /// the previous flush mode to restore after the operation, - /// or null if none - /// - protected FlushModeHolder ApplyFlushMode(ISession session, bool existingTransaction) - { - if (TemplateFlushMode == TemplateFlushMode.Never) - { - if (existingTransaction) - { - FlushMode previousFlushMode = session.FlushMode; - if (previousFlushMode != FlushMode.Never) - { - session.FlushMode = FlushMode.Never; - return new FlushModeHolder(previousFlushMode); - } - } - else - { - session.FlushMode = FlushMode.Never; - } - } - else if (TemplateFlushMode == TemplateFlushMode.Eager) - { - if (existingTransaction) - { - FlushMode previousFlushMode = session.FlushMode; - if (previousFlushMode != FlushMode.Auto) - { - session.FlushMode = FlushMode.Auto; - return new FlushModeHolder(previousFlushMode); - } - } - else - { - // rely on default FlushMode.AUTO - } - } - else if (TemplateFlushMode == TemplateFlushMode.Commit) - { - if (existingTransaction) - { - FlushMode previousFlushMode = session.FlushMode; - if (previousFlushMode == FlushMode.Auto) - { - session.FlushMode = FlushMode.Commit; - return new FlushModeHolder(previousFlushMode); - } - } - else - { - session.FlushMode = FlushMode.Commit; - } - } - return new FlushModeHolder(); - } - - - /// - /// Flush the given Hibernate Session if necessary. - /// - /// The current Hibernate Session. - /// if set to true - /// if executing within an existing transaction. - protected void FlushIfNecessary(ISession session, bool existingTransaction) - { - if (TemplateFlushMode == TemplateFlushMode.Eager || - (!existingTransaction && TemplateFlushMode != TemplateFlushMode.Never)) - { - log.Debug("Eagerly flushing Hibernate session"); - session.Flush(); - } - } - - /// - /// Convert the given HibernateException to an appropriate exception from the - /// org.springframework.dao hierarchy. Will automatically detect - /// wrapped ADO.NET Exceptions and convert them accordingly. - /// - /// HibernateException that occured. - /// - /// The corresponding DataAccessException instance - /// - /// - /// The default implementation delegates to SessionFactoryUtils - /// and convertAdoAccessException. Can be overridden in subclasses. - /// - public virtual DataAccessException ConvertHibernateAccessException(HibernateException ex) - { - if (ex is ADOException) - { - return ConvertAdoAccessException((ADOException) ex); - } - return SessionFactoryUtils.ConvertHibernateAccessException(ex); - } - - /// - /// Converts the ADO.NET access exception to an appropriate exception from the - /// org.springframework.dao hierarchy. Can be overridden in subclasses. - /// - /// ADOException that occured, wrapping underlying ADO.NET exception. - /// - /// the corresponding DataAccessException instance - /// - protected virtual DataAccessException ConvertAdoAccessException(ADOException ex) - { - return SessionFactoryUtils.ConvertAdoAccessException(AdoExceptionTranslator, ex); - } - - /// - /// Converts the ADO.NET access exception to an appropriate exception from the - /// org.springframework.dao hierarchy. Can be overridden in subclasses. - /// - /// - /// - /// Note that a direct SQLException can just occur when callback code - /// performs direct ADO.NET access via ISession.Connection(). - /// - /// - /// The ADO.NET exception. - /// The corresponding DataAccessException instance - protected virtual DataAccessException ConvertAdoAccessException(Exception ex) - { - return AdoExceptionTranslator.Translate("Hibernate operation", null, ex); - } - - - /// - /// Prepare the given IQuery object, applying cache settings and/or - /// a transaction timeout. - /// - /// The query object to prepare. - public virtual void PrepareQuery(IQuery queryObject) - { - if (CacheQueries) - { - queryObject.SetCacheable(true); - if (QueryCacheRegion != null) - { - queryObject.SetCacheRegion(QueryCacheRegion); - } - } - - if (FetchSize > 0) - { - AbstractQueryImpl queryImpl = queryObject as AbstractQueryImpl; - if (queryImpl != null) - { - queryImpl.SetFetchSize(FetchSize); - } - else - { - log.Warn("Could not set FetchSize for IQuery. Expected Implemention to be of type AbstractQueryImpl"); - } - } - - if (MaxResults > 0) - { - queryObject.SetMaxResults(MaxResults); - } - - SessionFactoryUtils.ApplyTransactionTimeout(queryObject, SessionFactory); - - } - - /// - /// Apply the given name parameter to the given Query object. - /// - /// The query object. - /// Name of the parameter - /// The value of the parameter - /// The NHibernate type of the parameter (or null if none specified) - public virtual void ApplyNamedParameterToQuery(IQuery queryObject, string paramName, object value, IType type) - { - - if (value is ICollection) - { - if (type != null) - { - queryObject.SetParameterList(paramName, (ICollection)value, type); - } - else - { - queryObject.SetParameterList(paramName, (ICollection)value); - } - } - else if (value is Object[]) - { - - //TODO investigate support for this conversion. - if (type != null) - { - queryObject.SetParameterList(paramName, (Object[])value, type); - } - else - { - queryObject.SetParameterList(paramName, (Object[])value); - } - } - else - { - if (type != null) - { - queryObject.SetParameter(paramName, value, type); - } - else - { - queryObject.SetParameter(paramName, value); - } - } - } - - /// - /// Prepare the given Criteria object, applying cache settings and/or - /// a transaction timeout. - /// - /// - /// Note that for NHibernate 1.2 this only works if the - /// implementation is of the type CriteriaImpl, which should generally - /// be the case. The SetFetchSize method is not available on the - /// ICriteria interface - /// - /// This is a no-op for NHibernate 1.0.x since - /// the SetFetchSize method is not on the ICriteria interface and - /// the implementation class is has internal access. - /// - /// To remove the method completely for Spring's NHibernate 1.0 - /// support while reusing code for NHibernate 1.2 would not be - /// possible. So now this ineffectual operation is left in tact for - /// NHibernate 1.0.2 support. - /// - /// The criteria object to prepare - public void PrepareCriteria(ICriteria criteria) - { - if (CacheQueries) - { - criteria.SetCacheable(true); - if (QueryCacheRegion != null) - { - criteria.SetCacheRegion(QueryCacheRegion); - } - } - - - - if (FetchSize > 0) - { - //TODO see if we can optimize performance. - //CriteriaImpl is internal in NH 1.0.x - object[] args = new object[] { FetchSize }; - try - { - Type t = TypeResolutionUtils.ResolveType("NHibernate.Impl.CriteriaImpl, NHibernate"); - if (t != null) - { - t.InvokeMember("SetFetchSize", BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Instance - | BindingFlags.InvokeMethod, - null, criteria, args); - } - } - catch (TypeLoadException e) - { - log.Warn("Can't set FetchSize for ICriteria", e); - } - } - - if (MaxResults > 0) - { - criteria.SetMaxResults(MaxResults); - } - - SessionFactoryUtils.ApplyTransactionTimeout(criteria, SessionFactory); - } - - private void InitCriteriaType() - { - - try - { - criteriaType = TypeResolutionUtils.ResolveType("Hibernate.Impl.CriteriaImpl, NHibernate"); - } - catch (TypeLoadException e) - { - log.Warn("CriteriaImpl not available. FetchSize can not be set on ICriteria objects", e); - } - } - - #endregion - - /// - /// Ensure SessionFactory is not null - /// - /// If SessionFactory property is null. - public virtual void AfterPropertiesSet() - { - if (SessionFactory == null) - { - throw new ArgumentException("sessionFactory is required"); - } - } - - #region Helper Classes - /// - /// Helper class to determine if the FlushMode enumeration - /// was changed from its default value - /// - protected class FlushModeHolder - { - /// - /// Gets or sets a value indicating whether the FlushMode - /// property was set.. - /// - /// true if FlushMode was set; otherwise, false. - public bool ModeWasSet - { - get { return modeWasSet; } - set { modeWasSet = value; } - } - - /// - /// Gets or sets the FlushMode. - /// - /// The FlushMode. - public FlushMode Mode - { - get { return flushMode; } - set { flushMode = value; } - } - - private bool modeWasSet = false; - private FlushMode flushMode; - - /// - /// Initializes a new instance of the class. - /// - public FlushModeHolder() - { - } - - /// - /// Initializes a new instance of the class. - /// - /// The flush mode. - public FlushModeHolder(FlushMode mode) - { - Mode = mode; - ModeWasSet = true; - } - - } - - - #endregion - - - } - - internal class CloseSuppressingMethodInterceptor : IMethodInterceptor - { - private HibernateAccessor hibernateAccessor; - - public CloseSuppressingMethodInterceptor(HibernateAccessor accessor) - { - hibernateAccessor = accessor; - } - - public object Invoke(IMethodInvocation invocation) - { - //anything special for equals/hashcode? - if (invocation.Method.Name.Equals("Close")) - { - return null; - } - else - { - object retValue = invocation.Proceed(); - if (retValue is IQuery) - { - hibernateAccessor.PrepareQuery((IQuery)retValue); - } - if (retValue is ICriteria) - { - hibernateAccessor.PrepareCriteria((ICriteria)retValue); - } - return retValue; - } - } - } -} diff --git a/src/Spring/Spring.Data.NHibernate12/Data/NHibernate/HibernateOptimisticLockingFailureException.cs b/src/Spring/Spring.Data.NHibernate12/Data/NHibernate/HibernateOptimisticLockingFailureException.cs deleted file mode 100644 index fd95c88a..00000000 --- a/src/Spring/Spring.Data.NHibernate12/Data/NHibernate/HibernateOptimisticLockingFailureException.cs +++ /dev/null @@ -1,107 +0,0 @@ -#region License - -/* - * Copyright © 2002-2011 the original author or authors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#endregion - -#region Imports - -using System; -using System.Runtime.Serialization; -using NHibernate; -using Spring.Dao; - -#endregion - -namespace Spring.Data.NHibernate -{ - /// - /// Hibernate-specific subclass of ObjectOptimisticLockingFailureException. - /// - /// - /// Converts Hibernate's StaleObjectStateException. - /// - /// Juergen Hoeller - /// Mark Pollack (.NET) - [Serializable] - public class HibernateOptimisticLockingFailureException : ObjectOptimisticLockingFailureException - { - #region Fields - - #endregion - - #region Constructor (s) - - /// - /// Initializes a new instance of the class. - /// - public HibernateOptimisticLockingFailureException() - { - } - - /// - /// Creates a new instance of the - /// class. - /// - /// - /// A message about the exception. - /// - public HibernateOptimisticLockingFailureException(string message) : base(message) { } - - /// - /// Initializes a new instance of the class. - /// - /// The StaleObjectStateException. - public HibernateOptimisticLockingFailureException(StaleObjectStateException ex) : base(ex.PersistentType, ex.Identifier, ex.Message, ex) - { - } - - /// - /// Initializes a new instance of the class. - /// - /// The StaleStateException. - public HibernateOptimisticLockingFailureException(StaleStateException ex) : base(ex.Message, ex) - { - } - - /// - /// Creates 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. - /// - protected HibernateOptimisticLockingFailureException(SerializationInfo info, StreamingContext context) : base(info, context) - { - } - - #endregion - - #region Properties - - #endregion - - #region Methods - - #endregion - } -} \ No newline at end of file diff --git a/src/Spring/Spring.Data.NHibernate12/Data/NHibernate/LocalSessionFactoryObject.cs b/src/Spring/Spring.Data.NHibernate12/Data/NHibernate/LocalSessionFactoryObject.cs deleted file mode 100644 index ee9a0853..00000000 --- a/src/Spring/Spring.Data.NHibernate12/Data/NHibernate/LocalSessionFactoryObject.cs +++ /dev/null @@ -1,554 +0,0 @@ -#region License - -/* - * Copyright © 2002-2011 the original author or authors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#endregion - -#region Imports - -using System; -using System.Collections; -using System.Data; -using Common.Logging; -using NHibernate; -using NHibernate.Cfg; -using NHibernate.Connection; -using Spring.Context; -using Spring.Core.IO; -using Spring.Dao; -using Spring.Dao.Attributes; -using Spring.Dao.Support; -using Spring.Data.Common; -using Spring.Data.Support; -using Spring.Objects.Factory; -using Environment = NHibernate.Cfg.Environment; - -#endregion - -namespace Spring.Data.NHibernate -{ - /// - /// An IFactoryObject that creates a local Hibernate SessionFactory instance. - /// Behaves like a SessionFactory instance when used as bean reference, - /// e.g. for HibernateTemplate's "SessionFactory" property. - /// - /// - /// The typical usage will be to register this as singleton factory - /// in an application context and give objects references to application services - /// that need it. - /// - /// Hibernate configuration settings can be set using the IDictionary property 'HibernateProperties'. - /// - /// - /// This class implements the interface, - /// as autodetected by Spring's - /// for AOP-based translation of PersistenceExceptionTranslationPostProcessor. - /// Hence, the presence of e.g. LocalSessionFactoryBean automatically enables - /// a PersistenceExceptionTranslationPostProcessor to translate Hibernate exceptions. - /// - /// - /// Mark Pollack (.NET) - public class LocalSessionFactoryObject : IFactoryObject, IInitializingObject, IPersistenceExceptionTranslator, System.IDisposable, - IApplicationContextAware - { - #region Fields - - private Configuration configuration; - - private ISessionFactory sessionFactory; - - private string[] mappingAssemblies; - - private string[] mappingResources; - - private string[] configFilenames; - - /// - /// TODO: consider changing to NamevalueCollection for easier - /// cut-n-paste from existing App.config based configurations. - /// - private IDictionary hibernateProperties; - - private IDbProvider dbProvider; - - private bool exposeTransactionAwareSessionFactory = false; - - private IAdoExceptionTranslator adoExceptionTranslator; - - private IResourceLoader resourceLoader; - - private IApplicationContext applicationContext; - - - #endregion - - #region Constants - - /// - /// The shared instance for this class (and derived classes). - /// - protected static readonly ILog log = - LogManager.GetLogger(typeof (LocalSessionFactoryObject)); - - - - #endregion - - #region Constructor (s) - /// - /// Initializes a new instance of the class. - /// - public LocalSessionFactoryObject() - { - - } - - #endregion - - #region Properties - - /// - /// Setting the Application Context determines were resources are loaded from - /// - public IApplicationContext ApplicationContext - { - set { this.applicationContext = value; } - protected get { return this.applicationContext; } - } - - /// - /// Gets or sets the to use for loading mapping assemblies etc. - /// - public IResourceLoader ResourceLoader - { - get - { - if (resourceLoader == null) - { - resourceLoader = new ConfigurableResourceLoader(); - } - return resourceLoader; - } - set { resourceLoader = value; } - } - - - - /// - /// Sets the assemblies to load that contain mapping files. - /// - /// The mapping assemblies. - public string[] MappingAssemblies - { - set { mappingAssemblies = value; } - } - - /// - /// Sets the hibernate configuration files to load, i.e. hibernate.cfg.xml. - /// - public string[] ConfigFilenames - { - set { configFilenames = value; } - } - - /// - /// Sets the locations of Spring IResources that contain mapping - /// files. - /// - /// The location of mapping resources. - public string[] MappingResources - { - set { mappingResources = value;} - } - - /// - /// Return the Configuration object used to build the SessionFactory. - /// Allows access to configuration metadata stored there (rarely needed). - /// - /// The hibernate configuration. - public Configuration Configuration - { - get { return configuration; } - } - - /// - /// Set NHibernate configuration properties, like "hibernate.dialect". - /// - /// The hibernate properties. - /// - ///

Can be used to override values in a NHibernate XML config file, - /// or to specify all necessary properties locally. - ///

- ///

Note: Do not specify a transaction provider here when using - /// Spring-driven transactions. It is also advisable to omit connection - /// provider settings and use a Spring-set IDbProvider instead. - ///

- ///
- public IDictionary HibernateProperties - { - get - { - if (hibernateProperties == null) - { - hibernateProperties = new Hashtable(); - } - return hibernateProperties; - } - set - { - hibernateProperties = value; - } - } - - /// - /// Get or set the DataSource to be used by the SessionFactory. - /// - /// The db provider. - /// - /// If set, this will override corresponding settings in Hibernate properties. - /// Note: If this is set, the Hibernate settings should not define - /// a connection string - /// (hibernate.connection.connection_string) to avoid meaningless double configuration. - /// - /// - public IDbProvider DbProvider - { - set { dbProvider = value; } - get { return dbProvider; } - } - - /// - /// Gets or sets a value indicating whether to expose a transaction aware session factory. - /// - /// - /// true if want to expose transaction aware session factory; otherwise, false. - /// - public bool ExposeTransactionAwareSessionFactory - { - set { exposeTransactionAwareSessionFactory = value; } - get { return exposeTransactionAwareSessionFactory; } - } - - /// - /// Set the ADO.NET exception translator for this instance. - /// Applied to System.Data.Common.DbException (or provider specific exception type - /// in .NET 1.1) thrown by callback code, be it direct - /// DbException or wrapped Hibernate ADOExceptions. - ///

The default exception translator is either a ErrorCodeExceptionTranslator - /// if a DbProvider is available, or a FalbackExceptionTranslator otherwise - ///

- ///
- /// The ADO exception translator. - public virtual IAdoExceptionTranslator AdoExceptionTranslator - { - set { adoExceptionTranslator = value; } - get - { - if (adoExceptionTranslator == null) - { - adoExceptionTranslator = SessionFactoryUtils.NewAdoExceptionTranslator(sessionFactory); - } - return adoExceptionTranslator; - } - } - - #endregion - - #region Methods - - #endregion - - /// - /// Return the singleon session factory. - /// - /// The singleon session factory. - public object GetObject() - { - return sessionFactory; - } - - /// - /// Return the type or subclass. - /// - /// The type created by this factory - public System.Type ObjectType - { - get - { - return (sessionFactory != null) ? sessionFactory.GetType() : typeof(ISessionFactory); - } - } - - /// - /// Returns true - /// - /// true - public bool IsSingleton - { - get - { - return true; - } - } - - /// - /// Initialize the SessionFactory for the given or the - /// default location. - /// - public virtual void AfterPropertiesSet() - { - // Create Configuration instance. - Configuration config = NewConfiguration(); - - - if (this.dbProvider != null) - { - config.SetProperty(Environment.ConnectionString, - dbProvider.ConnectionString); - config.SetProperty(Environment.ConnectionProvider, typeof(DbProviderWrapper).AssemblyQualifiedName); - - } - - if (ExposeTransactionAwareSessionFactory) - { - // Set ICurrentSessionContext implementation, - // providng the Spring-managed ISession s current Session. - // Can be overridden by a custom value for the corresponding Hibernate property - config.SetProperty(Environment.CurrentSessionContextClass, - "Spring.Data.NHibernate.SpringSessionContext, Spring.Data.NHibernate12"); - } - - if (this.hibernateProperties != null) - { - if (config.GetProperty(Environment.ConnectionProvider) !=null && - hibernateProperties.Contains(Environment.ConnectionProvider)) - { - #region Logging - if (log.IsInfoEnabled) - { - log.Info("Overriding use of Spring's Hibernate Connection Provider with [" + - hibernateProperties[Environment.ConnectionProvider] + "]"); - } - #endregion - config.Properties.Remove(Environment.ConnectionProvider); - } - config.AddProperties(hibernateProperties); - } - if (this.mappingAssemblies != null) - { - foreach (string assemblyName in mappingAssemblies) - { - config.AddAssembly(assemblyName); - } - } - - - IResourceLoader resourceLoader = new ConfigurableResourceLoader(); - - if (this.mappingResources != null) - { - IResourceLoader loader = this.ResourceLoader; - if (loader == null) - { - loader = this.applicationContext; - } - - foreach (string resourceName in mappingResources) - { - config.AddInputStream(loader.GetResource(resourceName).InputStream); - } - } - - if (configFilenames != null) - { - foreach (string configFilename in configFilenames) - { - config.Configure(configFilename); - } - } - - // Perform custom post-processing in subclasses. - PostProcessConfiguration(config); - - // Build SessionFactory instance. - log.Info("Building new Hibernate SessionFactory"); - this.configuration = config; - this.sessionFactory = NewSessionFactory(config); - - - } - - /// - /// Close the SessionFactory on application context shutdown. - /// - public void Dispose() - { - if (sessionFactory != null) - { - #region Instrumentation - if (log.IsInfoEnabled) - { - log.Info("Closing Hibernate SessionFactory"); - } - #endregion - sessionFactory.Close(); - } - - } - - /// - /// Subclasses can override this method to perform custom initialization - /// of the Configuration instance used for ISessionFactory creation. - /// - /// - /// The properties of this LocalSessionFactoryObject will be applied to - /// the Configuration object that gets returned here. - ///

The default implementation creates a new Configuration instance. - /// A custom implementation could prepare the instance in a specific way, - /// or use a custom Configuration subclass. - ///

- ///
- /// The configuration instance. - protected virtual Configuration NewConfiguration() - { - return new Configuration(); - } - - /// - /// To be implemented by subclasses that want to to perform custom - /// post-processing of the Configuration object after this FactoryObject - /// performed its default initialization. - /// - /// The current configuration object. - protected virtual void PostProcessConfiguration(Configuration config) - { - } - - /// - /// Subclasses can override this method to perform custom initialization - /// of the SessionFactory instance, creating it via the given Configuration - /// object that got prepared by this LocalSessionFactoryObject. - /// - /// - ///

The default implementation invokes Configuration's BuildSessionFactory. - /// A custom implementation could prepare the instance in a specific way, - /// or use a custom ISessionFactory subclass. - ///

- ///
- /// The ISessionFactory instance. - protected virtual ISessionFactory NewSessionFactory(Configuration config) - { - ISessionFactory sf = config.BuildSessionFactory(); - DbProviderWrapper dbProviderWrapper = sf.ConnectionProvider as DbProviderWrapper; - if (dbProviderWrapper != null) - { - dbProviderWrapper.DbProvider = dbProvider; - } - return sf; - } - - #region DbProviderWrapper Helper class - - internal class DbProviderWrapper : ConnectionProvider - { - private IDbProvider _dbProvider; - - public DbProviderWrapper() - { - } - - public IDbProvider DbProvider - { - get { return _dbProvider; } - set { _dbProvider = value; } - } - - public override void CloseConnection(IDbConnection conn) - { - base.CloseConnection(conn); - conn.Dispose(); - } - - public override IDbConnection GetConnection() - { - IDbConnection dbCon = _dbProvider.CreateConnection(); - dbCon.Open(); - return dbCon; - } - } - - #endregion // DbProviderWrapper Helper class - - #region IPersistenceExceptionTranslator Members - - /// - /// Implementation of the PersistenceExceptionTranslator interface, - /// as autodetected by Spring's PersistenceExceptionTranslationPostProcessor. - /// Converts the exception if it is a HibernateException; - /// else returns null to indicate an unknown exception. - /// translate the given exception thrown by a persistence framework to a - /// corresponding exception from Spring's generic DataAccessException hierarchy, - /// if possible. - /// - /// The exception thrown. - /// - /// the corresponding DataAccessException (or null if the - /// exception could not be translated. - /// - /// - public DataAccessException TranslateExceptionIfPossible(Exception ex) - { - if (ex is HibernateException) - { - return ConvertHibernateException((HibernateException)ex); - } - return null; - } - - /// - /// Convert the given HibernateException to an appropriate exception from the - /// Spring's DAO Exception hierarchy. - /// Will automatically apply a specified IAdoExceptionTranslator to a - /// Hibernate ADOException, else rely on Hibernate's default translation. - /// - /// The Hibernate exception that occured. - /// A corresponding DataAccessException - protected virtual DataAccessException ConvertHibernateException(HibernateException ex) - { - if (ex is ADOException) - { - return ConvertAdoAccessException((ADOException)ex); - } - return SessionFactoryUtils.ConvertHibernateAccessException(ex); - } - - /// - /// Converts the ADO.NET access exception to an appropriate exception from the - /// org.springframework.dao hierarchy. Can be overridden in subclasses. - /// - /// ADOException that occured, wrapping underlying ADO.NET exception. - /// - /// the corresponding DataAccessException instance - /// - protected virtual DataAccessException ConvertAdoAccessException(ADOException ex) - { - return SessionFactoryUtils.ConvertAdoAccessException(AdoExceptionTranslator, ex); - } - - #endregion - } -} diff --git a/src/Spring/Spring.Data.NHibernate12/Data/NHibernate/SessionFactoryUtils.cs b/src/Spring/Spring.Data.NHibernate12/Data/NHibernate/SessionFactoryUtils.cs deleted file mode 100644 index 723c246a..00000000 --- a/src/Spring/Spring.Data.NHibernate12/Data/NHibernate/SessionFactoryUtils.cs +++ /dev/null @@ -1,746 +0,0 @@ -#region License - -/* - * Copyright © 2002-2011 the original author or authors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#endregion - -#region Imports - -using System; -using System.Collections; -using Common.Logging; -using NHibernate; -using NHibernate.Connection; -using NHibernate.Driver; -using NHibernate.Engine; -using Spring.Collections; -using Spring.Context; -using Spring.Dao; -using Spring.Data.Common; -using Spring.Data.Support; -using Spring.Objects.Factory.Config; -using Spring.Threading; -using Spring.Transaction.Support; -using Spring.Util; - -#endregion - -namespace Spring.Data.NHibernate -{ - /// - /// Helper class featuring methods for Hibernate Session handling, - /// allowing for reuse of Hibernate Session instances within transactions. - /// Also provides support for exception translation. - /// - /// Mark Pollack (.NET) - public abstract class SessionFactoryUtils - { - #region Fields - - /// - /// The instance for this class. - /// - private static readonly ILog log = LogManager.GetLogger(typeof(SessionFactoryUtils)); - - #endregion - - #region Constants - - /// - /// The ordering value for synchronizaiton this session resources. - /// Set to be lower than ADO.NET synchronization. - /// - public static readonly int SESSION_SYNCHRONIZATION_ORDER = - AdoUtils.CONNECTION_SYNCHRONIZATION_ORDER - 100; - - private static readonly string DeferredCloseHolderDataSlotName = "Spring.Data.NHibernate:deferredCloseHolder"; - - #endregion - - #region Constructor (s) - /// - /// Initializes a new instance of the class. - /// - public SessionFactoryUtils() - { - - } - - #endregion - - #region Properties - - #endregion - - #region Methods - - /// - /// Get a new Hibernate Session from the given SessionFactory. - /// Will return a new Session even if there already is a pre-bound - /// Session for the given SessionFactory. - /// - /// - /// Within a transaction, this method will create a new Session - /// that shares the transaction's ADO.NET Connection. More specifically, - /// it will use the same ADO.NET Connection as the pre-bound Hibernate Session. - /// - /// The session factory to create the session with. - /// The Hibernate entity interceptor, or null if none. - /// The new session. - /// If could not open Hibernate session - public static ISession GetNewSession(ISessionFactory sessionFactory, IInterceptor interceptor) - { - try - { - SessionHolder sessionHolder = (SessionHolder) TransactionSynchronizationManager.GetResource(sessionFactory); - if (sessionHolder != null && !sessionHolder.IsEmpty) - { - if (interceptor != null) - { - return sessionFactory.OpenSession(sessionHolder.AnySession.Connection, interceptor); - } - else - { - return sessionFactory.OpenSession(sessionHolder.AnySession.Connection); - } - } - else - { - if (interceptor != null) - { - return sessionFactory.OpenSession(interceptor); - } - else - { - return sessionFactory.OpenSession(); - } - } - } - catch (HibernateException ex) - { - throw new DataAccessResourceFailureException("Could not open Hibernate Session", ex); - } - } - - /// - /// Get a Hibernate Session for the given SessionFactory. Is aware of and will - /// return any existing corresponding Session bound to the current thread, for - /// example when using HibernateTransactionManager. Will always create a new - /// Session otherwise. - /// - /// - /// Supports setting a Session-level Hibernate entity interceptor that allows - /// to inspect and change property values before writing to and reading from the - /// database. Such an interceptor can also be set at the SessionFactory level - /// (i.e. on LocalSessionFactoryObject), on HibernateTransactionManager, or on - /// HibernateInterceptor/HibernateTemplate. - /// - /// The session factory to create the - /// session with. - /// Hibernate entity interceptor, or null if none. - /// AdoExceptionTranslator to use for flushing the - /// Session on transaction synchronization (can be null; only used when actually - /// registering a transaction synchronization). - /// The Hibernate Session - /// - /// If the session couldn't be created. - /// - /// - /// If no thread-bound Session found and allowCreate is false. - /// - public static ISession GetSession( - ISessionFactory sessionFactory, IInterceptor entityInterceptor, - IAdoExceptionTranslator adoExceptionTranslator) - { - try - { - return GetSession(sessionFactory, entityInterceptor, adoExceptionTranslator, true); - } - catch (HibernateException ex) - { - throw new DataAccessResourceFailureException("Could not open Hibernate Session", ex); - } - } - - /// - /// Get a Hibernate Session for the given SessionFactory. Is aware of and will - /// return any existing corresponding Session bound to the current thread, for - /// example when using . Will create a new Session - /// otherwise, if allowCreate is true. - /// - /// The session factory to create the session with. - /// if set to true create a non-transactional Session when no - /// transactional Session can be found for the current thread. - /// The hibernate session - /// - /// If the session couldn't be created. - /// - /// - /// If no thread-bound Session found and allowCreate is false. - /// - public static ISession GetSession(ISessionFactory sessionFactory, bool allowCreate) - { - try - { - return GetSession(sessionFactory, null, null, allowCreate); - } - catch (HibernateException ex) - { - throw new DataAccessResourceFailureException("Could not open Hibernate Session", ex); - } - } - - /// - /// Get a Hibernate Session for the given SessionFactory. - /// - /// Is aware of and will return any existing corresponding - /// Session bound to the current thread, for example whenusing - /// . Will create a new - /// Session otherwise, if "allowCreate" is true. - ///

Throws the orginal HibernateException, in contrast to - /// . - ///

- /// The session factory. - /// if set to true [allow create]. - /// The Hibernate Session - /// - /// if the Session couldn't be created - /// - /// - /// If no thread-bound Session found and allowCreate is false. - /// - public static ISession DoGetSession(ISessionFactory sessionFactory, bool allowCreate) - { - return DoGetSession(sessionFactory, null, null, allowCreate); - } - - private static ISession GetSession( - ISessionFactory sessionFactory, IInterceptor entityInterceptor, - IAdoExceptionTranslator adoExceptionTranslator, bool allowCreate) - { - try - { - return DoGetSession(sessionFactory, entityInterceptor, adoExceptionTranslator, allowCreate); - } - catch (HibernateException ex) - { - throw new DataAccessResourceFailureException("Could not open Hibernate Session", ex); - } - } - - - private static ISession DoGetSession( - ISessionFactory sessionFactory, IInterceptor entityInterceptor, - IAdoExceptionTranslator adoExceptionTranslator, bool allowCreate) - { - AssertUtils.ArgumentNotNull(sessionFactory, "sessionFactory", "SessionFactory can not be null"); - - SessionHolder sessionHolder = (SessionHolder) TransactionSynchronizationManager.GetResource(sessionFactory); - if (sessionHolder != null && !sessionHolder.IsEmpty) - { - // pre-bound Hibernate Session - ISession session = null; - if (TransactionSynchronizationManager.SynchronizationActive && - sessionHolder.DoesNotHoldNonDefaultSession) - { - // Spring transaction management is active -> - // register pre-bound Session with it for transactional flushing. - session = sessionHolder.ValidatedSession; - if (session != null && !sessionHolder.SynchronizedWithTransaction) - { - log.Debug("Registering Spring transaction synchronization for existing Hibernate Session"); - TransactionSynchronizationManager.RegisterSynchronization( - new SpringSessionSynchronization(sessionHolder, sessionFactory, adoExceptionTranslator, false)); - sessionHolder.SynchronizedWithTransaction = true; - // Switch to FlushMode.AUTO if we're not within a read-only transaction. - FlushMode flushMode = session.FlushMode; - if (FlushMode.Never == flushMode && - !TransactionSynchronizationManager.CurrentTransactionReadOnly) - { - session.FlushMode = FlushMode.Auto; - sessionHolder.PreviousFlushMode = flushMode; - } - } - } - else - { - // No Spring transaction management active -> simply return default thread-bound Session, if any - // (possibly from OpenSessionInViewModule) - session = sessionHolder.ValidatedSession; - } - - if (session != null) - { - return session; - } - - } - - - ISession sess = OpenSession(sessionFactory, entityInterceptor); - // Set Session to FlushMode.Never if we're within a read-only transaction. - // Use same Session for further Hibernate actions within the transaction. - // Thread object will get removed by synchronization at transaction completion. - if (TransactionSynchronizationManager.SynchronizationActive) - { - log.Debug("Registering Spring transaction synchronization for new Hibernate Session"); - SessionHolder holderToUse = sessionHolder; - if (holderToUse == null) - { - holderToUse = new SessionHolder(sess); - } - else - { - holderToUse.AddSession(sess); - } - if (TransactionSynchronizationManager.CurrentTransactionReadOnly) - { - sess.FlushMode = FlushMode.Never; - } - TransactionSynchronizationManager.RegisterSynchronization( - new SpringSessionSynchronization(holderToUse, sessionFactory, adoExceptionTranslator, true)); - holderToUse.SynchronizedWithTransaction = true; - if (holderToUse != sessionHolder) - { - TransactionSynchronizationManager.BindResource(sessionFactory, holderToUse); - } - } - - - - // Check whether we are allowed to return the Session. - if (!allowCreate && !IsSessionTransactional(sess, sessionFactory)) - { - CloseSession(sess); - throw new InvalidOperationException ("No Hibernate Session bound to thread, " + - "and configuration does not allow creation of non-transactional one here"); - } - - return sess; - - - } - - /// - /// Open a new Session from the factory. - /// - /// The session factory to create the session with. - /// Hibernate entity interceptor, or null if none. - /// the newly opened session - internal static ISession OpenSession(ISessionFactory sessionFactory, IInterceptor entityInterceptor) - { - log.Debug("Opening Hibernate Session"); - ISession session = ( - (entityInterceptor != null) - ? sessionFactory.OpenSession(entityInterceptor) - : sessionFactory.OpenSession() - ); - - return session; - } - - /// - /// Perform the actual closing of the Hibernate Session - /// catching and logging any cleanup exceptions thrown. - /// - /// The hibernate session to close - public static void CloseSession(ISession session) - { - if (session != null) - { - log.Debug("Closing Hibernate Session"); - try - { - session.Close(); - } - catch (HibernateException ex) - { - log.Error("Could not close Hibernate Session", ex); - } - catch (Exception ex) - { - log.Error("Unexpected exception on closing Hibernate Session", ex); - } - } - } - - /// - /// Return whether the given Hibernate Session is transactional, that is, - /// bound to the current thread by Spring's transaction facilities. - /// - /// The hibernate session to check - /// The session factory that the session - /// was created with, can be null. - /// - /// true if the session transactional; otherwise, false. - /// - public static bool IsSessionTransactional(ISession session, ISessionFactory sessionFactory) - { - if (sessionFactory == null) - { - return false; - } - SessionHolder sessionHolder = - (SessionHolder) TransactionSynchronizationManager.GetResource(sessionFactory); - return (sessionHolder != null && sessionHolder.ContainsSession(session)); - } - - #endregion - - /// - /// Converts a Hibernate ADOException to a Spring DataAccessExcption, extracting the underlying error code from - /// ADO.NET. Will extract the ADOException Message and SqlString properties and pass them to the translate method - /// of the provided IAdoExceptionTranslator. - /// - /// The IAdoExceptionTranslator, may be a user provided implementation as configured on - /// HibernateTemplate. - /// - /// The ADOException throw - /// The translated DataAccessException or UncategorizedAdoException in case of an error in translation - /// itself. - public static DataAccessException ConvertAdoAccessException(IAdoExceptionTranslator translator, ADOException ex) - { - try - { - string sqlString = (ex.SqlString != null) - ? ex.SqlString.ToString() - : string.Empty; - return translator.Translate( - "Hibernate operation: " + ex.Message, sqlString, ex.InnerException); - } catch (Exception e) - { - log.Error("Exception thrown during exception translation. Message = [" + e.Message + "]", e); - log.Error("Exception that was attempted to be translated was [" + ex.Message + "]", ex); - if (ex.InnerException != null) - { - log.Error(" Inner Exception was [" + ex.InnerException.Message + "]", ex.InnerException); - } - throw new UncategorizedAdoException(e.Message, "", "", e); - } - } - - /// - /// Convert the given HibernateException to an appropriate exception from the - /// Spring.Dao hierarchy. Note that it is advisable to - /// handle AdoException specifically by using a AdoExceptionTranslator for the - /// underlying ADO.NET exception. - /// - /// The Hibernate exception that occured. - /// DataAccessException instance - public static DataAccessException ConvertHibernateAccessException(HibernateException ex) - { - if (ex is ADOException) - { - // ADOException during Hibernate access: only passed in here from custom code, - // as HibernateTemplate etc will use AdoExceptionTranslator-based handling. - return new HibernateAdoException("Ado Exception", (ADOException) ex); - } - if (ex is UnresolvableObjectException) - { - return new HibernateObjectRetrievalFailureException((UnresolvableObjectException) ex); - } - if (ex is ObjectDeletedException) - { - return new InvalidDataAccessApiUsageException(ex.Message, ex); - } - if (ex is WrongClassException) - { - return new HibernateObjectRetrievalFailureException((WrongClassException) ex); - } - if (ex is StaleObjectStateException) - { - return new HibernateOptimisticLockingFailureException((StaleObjectStateException) ex); - } - if (ex is StaleStateException) - { - return new HibernateOptimisticLockingFailureException((StaleStateException)ex); - } - if (ex is QueryException) - { - return new HibernateQueryException((QueryException) ex); - } - - if (ex is PersistentObjectException) - { - return new InvalidDataAccessApiUsageException(ex.Message, ex); - } - if (ex is TransientObjectException) - { - return new InvalidDataAccessApiUsageException(ex.Message, ex); - } - - if (ex is PropertyValueException) - { - return new DataIntegrityViolationException(ex.Message, ex); - } - if (ex is PersistentObjectException) - { - return new InvalidDataAccessApiUsageException(ex.Message, ex); - } - if (ex is NonUniqueResultException) - { - return new IncorrectResultSizeDataAccessException(ex.Message, 1); - } - // fallback - return new HibernateSystemException(ex); - } - - /// - /// Close the given Session, created via the given factory, - /// if it is not managed externally (i.e. not bound to the thread). - /// - /// The hibernate session to close - /// The hibernate SessionFactory that - /// the session was created with. - public static void ReleaseSession(ISession session, ISessionFactory sessionFactory) - { - if (session == null) - { - return; - } - // Only close non-transactional Sessions. - if (!IsSessionTransactional(session, sessionFactory)) - { - CloseSessionOrRegisterDeferredClose(session, sessionFactory); - } - } - - /// - /// Close the given Session or register it for deferred close. - /// - /// The session. - /// The session factory. - internal static void CloseSessionOrRegisterDeferredClose(ISession session, ISessionFactory sessionFactory) - { - IDictionary holderDictionary = LogicalThreadContext.GetData(DeferredCloseHolderDataSlotName) as IDictionary; - - if (holderDictionary != null && sessionFactory != null && holderDictionary.Contains(sessionFactory)) - { - log.Debug("Registering Hibernate Session for deferred close"); - // Switch Session to FlushMode.NEVER for remaining lifetime. - session.FlushMode = FlushMode.Never; - Set sessions = (Set) holderDictionary[sessionFactory]; - sessions.Add(session); - } - else - { - CloseSession(session); - } - } - - /// - ///Initialize deferred close for the current thread and the given SessionFactory. - /// Sessions will not be actually closed on close calls then, but rather at a - /// processDeferredClose call at a finishing point (like request completion). - /// - /// The session factory. - public static void InitDeferredClose(ISessionFactory sessionFactory) - { - AssertUtils.ArgumentNotNull(sessionFactory, "No SessionFactory specified"); - - log.Debug("Initializing deferred close of Hibernate Sessions"); - - IDictionary holderDictionary = LogicalThreadContext.GetData(DeferredCloseHolderDataSlotName) as IDictionary; - - if (holderDictionary == null) - { - holderDictionary = new Hashtable(); - LogicalThreadContext.SetData(DeferredCloseHolderDataSlotName, holderDictionary); - } - holderDictionary.Add(sessionFactory, new ListSet()); - } - - /// - /// Return if deferred close is active for the current thread - /// and the given SessionFactory. - /// The session factory. - /// - /// true if [is deferred close active] [the specified session factory]; otherwise, false. - /// - /// If SessionFactory argument is null. - public static bool IsDeferredCloseActive(ISessionFactory sessionFactory) - { - if (sessionFactory == null) - { - throw new ArgumentNullException("sessionFactory", "No SessionFactory specified"); - } - IDictionary holderDictionary = LogicalThreadContext.GetData(DeferredCloseHolderDataSlotName) as IDictionary; - return (holderDictionary != null && holderDictionary.Contains(sessionFactory)); - } - - /// - /// Process Sessions that have been registered for deferred close - /// for the given SessionFactory. - /// - /// The session factory. - /// If there is no session factory associated with the thread. - public static void ProcessDeferredClose(ISessionFactory sessionFactory) - { - AssertUtils.ArgumentNotNull(sessionFactory, "No SessionFactory specified"); - - IDictionary holderDictionary = LogicalThreadContext.GetData(DeferredCloseHolderDataSlotName) as IDictionary; - - if (holderDictionary == null || !holderDictionary.Contains(sessionFactory)) - { - throw new InvalidOperationException("Deferred close not active for SessionFactory [" + sessionFactory + "]"); - } - log.Debug("Processing deferred close of Hibernate Sessions"); - Set sessions = (Set) holderDictionary[sessionFactory]; - holderDictionary.Remove(sessionFactory); - foreach (ISession session in sessions) - { - CloseSession(session); - } - - if (holderDictionary.Count == 0) - { - LogicalThreadContext.FreeNamedDataSlot(DeferredCloseHolderDataSlotName); - } - - - } - - /// - /// Applies the current transaction timeout, if any, to the given - /// criteria object - /// - /// The Hibernate Criteria object. - /// Hibernate SessionFactory that the Criteria was created for - /// (can be null). - /// If criteria argument is null. - public static void ApplyTransactionTimeout(ICriteria criteria, ISessionFactory sessionFactory) - { - if (criteria == null) - { - throw new ArgumentNullException("criteria", "No Criteria object specified"); - } - - SessionHolder sessionHolder = - (SessionHolder) TransactionSynchronizationManager.GetResource(sessionFactory); - if (sessionHolder != null && sessionHolder.HasTimeout) - { - criteria.SetTimeout(sessionHolder.TimeToLiveInSeconds); - } - } - - /// - /// Applies the current transaction timeout, if any, to the given - /// Hibenrate query object. - /// - /// The Hibernate Query object. - /// Hibernate SessionFactory that the Query was created for - /// (can be null). - /// If query argument is null. - public static void ApplyTransactionTimeout(IQuery query, ISessionFactory sessionFactory) - { - if (query == null) - { - throw new ArgumentNullException("queryObject", "No query object specified"); - } - if (sessionFactory != null) - { - SessionHolder sessionHolder = - (SessionHolder) TransactionSynchronizationManager.GetResource(sessionFactory); - if (sessionHolder != null && sessionHolder.HasTimeout) - { - query.SetTimeout(sessionHolder.TimeToLiveInSeconds); - } - } - } - /// - /// Gets the Spring IDbProvider given the ISessionFactory. - /// - /// The matching is performed by comparing the assembly qualified - /// name string of the hibernate Driver.ConnectionType to those in - /// the DbProviderFactory definitions. No connections are created - /// in performing this comparison. - /// The session factory. - /// The corresponding IDbProvider, null if no mapping was found. - /// If DbProviderFactory's ApplicaitonContext is not - /// an instance of IConfigurableApplicaitonContext. - public static IDbProvider GetDbProvider(ISessionFactory sessionFactory) - { - ISessionFactoryImplementor sfi = sessionFactory as ISessionFactoryImplementor; - if (sfi != null) - { - - ConnectionProvider cp = sfi.ConnectionProvider as ConnectionProvider; - if (cp != null) - { - IConfigurableApplicationContext ctx = - Spring.Data.Common.DbProviderFactory.ApplicationContext as IConfigurableApplicationContext; - if (ctx == null) - { - throw new InvalidOperationException( - "Implementations of IApplicationContext must also implement IConfigurableApplicationContext"); - } - - - DriverBase db = cp.Driver as DriverBase; - if (db != null) - { - Type hibCommandType = db.CreateCommand().GetType(); - - string[] providerNames = ctx.GetObjectNamesForType(typeof(DbProvider), true, false); - string hibCommandAQN = hibCommandType.AssemblyQualifiedName; - foreach (string providerName in providerNames) - { - IObjectDefinition objectdef = ctx.ObjectFactory.GetObjectDefinition(providerName); - ConstructorArgumentValues ctorArgs = objectdef.ConstructorArgumentValues; - ConstructorArgumentValues.ValueHolder vh = ctorArgs.NamedArgumentValues["dbmetadata"] as ConstructorArgumentValues.ValueHolder; - IObjectDefinition od = ((ObjectDefinitionHolder)vh.Value).ObjectDefinition; - ConstructorArgumentValues dbmdCtorArgs = od.ConstructorArgumentValues; - string commandType = dbmdCtorArgs.GetArgumentValue("commandType", typeof(string)).Value as string; - - if (hibCommandAQN.Equals(commandType)) - { - IDbProvider prov = Spring.Data.Common.DbProviderFactory.GetDbProvider(providerName); - return prov; - } - } - } - else - { - log.Info("Could not derive IDbProvider from SessionFactory"); - } - } - - - } - return null; - } - - /// - /// Create a IAdoExceptionTranslator from the given SessionFactory. - /// - /// If a corresponding IDbProvider is found, a ErrorcodeExceptionTranslator - /// for the IDbProvider is created. Otherwise, a FallbackException is created. - /// The session factory to create the translator for - /// An IAdoExceptionTranslator - public static IAdoExceptionTranslator NewAdoExceptionTranslator(ISessionFactory sessionFactory) - { - IDbProvider dbProvider = GetDbProvider(sessionFactory); - if (dbProvider != null) - { - return new ErrorCodeExceptionTranslator(dbProvider); - } - log.Warn("Using FallbackException Translator. Could not translate from ISessionFactory to IDbProvider"); - return new FallbackExceptionTranslator(); - - } - } -} diff --git a/src/Spring/Spring.Data.NHibernate12/Data/NHibernate/SpringSessionSynchronization.cs b/src/Spring/Spring.Data.NHibernate12/Data/NHibernate/SpringSessionSynchronization.cs deleted file mode 100644 index 3f6a5cea..00000000 --- a/src/Spring/Spring.Data.NHibernate12/Data/NHibernate/SpringSessionSynchronization.cs +++ /dev/null @@ -1,275 +0,0 @@ -#region License - -/* - * Copyright © 2002-2011 the original author or authors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#endregion - -#region Imports - -using Common.Logging; -using NHibernate; -using NHibernate.Engine; -using Spring.Core; -using Spring.Data.Support; -using Spring.Transaction.Support; - -#endregion - -namespace Spring.Data.NHibernate -{ - /// - /// NHibnerations actions taken during the transaction lifecycle. - /// - /// Mark Pollack (.NET) - public class SpringSessionSynchronization : TransactionSynchronizationAdapter, IOrdered - { - #region Fields - - /// - /// The instance for this class. - /// - private readonly ILog log = LogManager.GetLogger(typeof(SpringSessionSynchronization)); - - private readonly SessionHolder sessionHolder; - - private readonly ISessionFactory sessionFactory; - - private readonly IAdoExceptionTranslator adoExceptionTranslator; - - private readonly bool newSession; - - private bool holderActive = true; - #endregion - - #region Constructor (s) - /// - /// Initializes a new instance of the class. - /// - public SpringSessionSynchronization(SessionHolder sessionHolder, ISessionFactory sessionFactory, - IAdoExceptionTranslator adoExceptionTranslator, bool newSession) - { - this.sessionHolder = sessionHolder; - this.sessionFactory = sessionFactory; - this.adoExceptionTranslator = adoExceptionTranslator; - this.newSession = newSession; - } - - #endregion - - #region Properties - - /// - /// Return the order value of this object, where a higher value means greater in - /// terms of sorting. - /// - /// - ///

- /// Normally starting with 0 or 1, with indicating - /// greatest. Same order values will result in arbitrary positions for the affected - /// objects. - ///

- ///

- /// Higher value can be interpreted as lower priority, consequently the first object - /// has highest priority. - ///

- ///
- /// The order value. - public int Order - { - get - { - return SessionFactoryUtils.SESSION_SYNCHRONIZATION_ORDER; - } - } - - #endregion - - #region Methods - - /// - /// Suspend this synchronization. - /// - /// - ///

- /// Unbind Hibernate resources (SessionHolder) from - /// - /// if managing any. - ///

- ///
- public override void Suspend() - { - if (this.holderActive) - { - TransactionSynchronizationManager.UnbindResource(this.sessionFactory); - } - } - - /// - /// Resume this synchronization. - /// - /// - ///

- /// Rebind Hibernate resources from - /// - /// if managing any. - ///

- ///
- public override void Resume() - { - if (this.holderActive) - { - TransactionSynchronizationManager.BindResource(this.sessionFactory, this.sessionHolder); - } - } - - /// - /// Invoked before transaction commit (before - /// ) - /// - /// - /// If the transaction is defined as a read-only transaction. - /// - /// - ///

- /// Can flush transactional sessions to the database. - ///

- ///

- /// Note that exceptions will get propagated to the commit caller and - /// cause a rollback of the transaction. - ///

- ///
- public override void BeforeCommit(bool readOnly) - { - if (!readOnly) - { - // read-write transaction -> flush the Hibernate Session - log.Debug("Flushing Hibernate Session on transaction synchronization"); - ISession session = this.sessionHolder.Session; - //Further check: only flush when not FlushMode.NEVER - if (session.FlushMode != FlushMode.Never) - { - try - { - session.Flush(); - //TODO can throw System.ObjectDisposedException... - } - catch (ADOException ex) - { - if (this.adoExceptionTranslator != null) - { - //TODO investigate how ADOException wraps inner exception. - throw this.adoExceptionTranslator.Translate( - "Hibernate transaction synchronization: " + ex.Message, null, ex.InnerException); - } - else - { - throw new HibernateAdoException("ADO.NET Exception", ex); - } - } - catch (HibernateException ex) - { - throw SessionFactoryUtils.ConvertHibernateAccessException(ex); - } - } - - } - } - - /// - /// Invoked before transaction commit (before - /// ) - /// Can e.g. flush transactional O/R Mapping sessions to the database - /// - /// - /// - /// This callback does not mean that the transaction will actually be - /// commited. A rollback decision can still occur after this method - /// has been called. This callback is rather meant to perform work - /// that's only relevant if a commit still has a chance - /// to happen, such as flushing SQL statements to the database. - /// - /// - /// Note that exceptions will get propagated to the commit caller and cause a - /// rollback of the transaction. - /// - /// (note: do not throw TransactionException subclasses here!) - /// - /// - public override void BeforeCompletion() - { - if (this.newSession) - { - // Default behavior: unbind and close the thread-bound Hibernate Session. - TransactionSynchronizationManager.UnbindResource(this.sessionFactory); - this.holderActive = false; - } - else if (this.sessionHolder.AssignedPreviousFlushMode == true) - { - // In case of pre-bound Session, restore previous flush mode. - this.sessionHolder.Session.FlushMode = (this.sessionHolder.PreviousFlushMode); - } - } - - /// - /// Invoked after transaction commit/rollback. - /// - /// - /// Status according to - /// - /// - /// Can e.g. perform resource cleanup, in this case after transaction completion. - ///

- /// Note that exceptions will get propagated to the commit or rollback - /// caller, although they will not influence the outcome of the transaction. - ///

- ///
- public override void AfterCompletion(TransactionSynchronizationStatus status) - { - if (!newSession) - { - ISession session = sessionHolder.Session; - - // Provide correct transaction status for releasing the Session's cache locks, - // if possible. Else, closing will release all cache locks assuming a rollback. - ISessionImplementor sessionImplementor = session as ISessionImplementor; - if (sessionImplementor != null) - { - sessionImplementor.AfterTransactionCompletion(status == TransactionSynchronizationStatus.Committed, sessionHolder.Transaction); - } - - if (newSession) - { - SessionFactoryUtils.CloseSessionOrRegisterDeferredClose(session, sessionFactory); - } - } - if (!newSession && status != TransactionSynchronizationStatus.Committed) - { - // Clear all pending inserts/updates/deletes in the Session. - // Necessary for pre-bound Sessions, to avoid inconsistent state. - sessionHolder.Session.Clear(); - } - - if (this.sessionHolder.DoesNotHoldNonDefaultSession) { - sessionHolder.SynchronizedWithTransaction = false; - } - - } - - #endregion - - } -} diff --git a/src/Spring/Spring.Data.NHibernate12/Data/NHibernate/Support/dontdelete.txt b/src/Spring/Spring.Data.NHibernate12/Data/NHibernate/Support/dontdelete.txt deleted file mode 100644 index b4472e3f..00000000 --- a/src/Spring/Spring.Data.NHibernate12/Data/NHibernate/Support/dontdelete.txt +++ /dev/null @@ -1 +0,0 @@ -sources are linked here from Spring.Data.NHibernate \ No newline at end of file diff --git a/src/Spring/Spring.Data.NHibernate12/Spring.Data.NHibernate12.2008.csproj b/src/Spring/Spring.Data.NHibernate12/Spring.Data.NHibernate12.2008.csproj deleted file mode 100644 index 190eb9e0..00000000 --- a/src/Spring/Spring.Data.NHibernate12/Spring.Data.NHibernate12.2008.csproj +++ /dev/null @@ -1,142 +0,0 @@ - - - Debug - AnyCPU - 9.0.21022 - 2.0 - {90F2D070-6F98-4926-A626-BD7A6071D6D9} - Library - Properties - Spring - Spring.Data.NHibernate12 - v3.5 - - - true - full - false - ..\..\..\build\VS.Net.2008\Spring.Data.NHibernate12\Debug\ - TRACE;DEBUG;NET_2_0,NH_1_2 - prompt - 4 - Spring.Data.NHibernate12.xml - - - pdbonly - true - ..\..\..\build\VS.Net.2008\Spring.Data.NHibernate12\Release\ - TRACE;NET_2_0,NH_1_2 - prompt - 4 - - - - False - ..\..\..\lib\Net\2.0\Common.Logging.dll - - - False - ..\..\..\lib\NHibernate12\net\2.0\log4net.dll - - - False - ..\..\..\lib\NHibernate12\net\2.0\NHibernate.dll - - - - - - - - - CommonAssemblyInfo.cs - - - Data\NHibernate\HibernateAdoException.cs - - - Data\NHibernate\HibernateDelegate.cs - - - Data\NHibernate\HibernateObjectRetrievalFailureException.cs - - - Data\NHibernate\HibernateQueryException.cs - - - Data\NHibernate\HibernateSystemException.cs - - - Data\NHibernate\HibernateTemplate.cs - - - Data\NHibernate\HibernateTransactionManager.cs - - - Data\NHibernate\ICommonHibernateOperations.cs - - - Data\NHibernate\IHibernateCallback.cs - - - Data\NHibernate\IHibernateOperations.cs - - - Data\NHibernate\SessionHolder.cs - - - Data\NHibernate\Support\ConfigSectionSessionScopeSettings.cs - - - Data\NHibernate\Support\HibernateDaoSupport.cs - - - Data\NHibernate\Support\OpenSessionInViewModule.cs - - - Data\NHibernate\Support\SessionScope.cs - - - Data\NHibernate\Support\SessionScopeSettings.cs - - - Data\NHibernate\TemplateFlushMode.cs - - - - - - - - - - - - - - - - - - - {3A3A4E65-45A6-4B20-B460-0BEDC302C02C} - Spring.Aop.2008 - - - {710961A3-0DF4-49E4-A26E-F5B9C044AC84} - Spring.Core.2008 - - - {AE00E5AB-C39A-436F-86D2-33BFE33E2E40} - Spring.Data.2008 - - - - - \ No newline at end of file diff --git a/src/Spring/Spring.Data.NHibernate12/Spring.Data.NHibernate12.2010.csproj b/src/Spring/Spring.Data.NHibernate12/Spring.Data.NHibernate12.2010.csproj deleted file mode 100644 index 897667c3..00000000 --- a/src/Spring/Spring.Data.NHibernate12/Spring.Data.NHibernate12.2010.csproj +++ /dev/null @@ -1,147 +0,0 @@ - - - - Debug - AnyCPU - 9.0.21022 - 2.0 - {90F2D070-6F98-4926-A626-BD7A6071D6D9} - Library - Properties - Spring - Spring.Data.NHibernate12 - v4.0 - - - 3.5 - - - - true - full - false - ..\..\..\build\VS.Net.2010\Spring.Data.NHibernate12\Debug\ - TRACE;DEBUG;NET_4_0,NH_1_2 - prompt - 4 - Spring.Data.NHibernate12.xml - - - pdbonly - true - ..\..\..\build\VS.Net.2010\Spring.Data.NHibernate12\Release\ - TRACE;NET_4_0,NH_1_2 - prompt - 4 - - - - False - ..\..\..\lib\Net\2.0\Common.Logging.dll - - - False - ..\..\..\lib\NHibernate12\net\2.0\log4net.dll - - - False - ..\..\..\lib\NHibernate12\net\2.0\NHibernate.dll - - - - - - - - - CommonAssemblyInfo.cs - - - Data\NHibernate\HibernateAdoException.cs - - - Data\NHibernate\HibernateDelegate.cs - - - Data\NHibernate\HibernateObjectRetrievalFailureException.cs - - - Data\NHibernate\HibernateQueryException.cs - - - Data\NHibernate\HibernateSystemException.cs - - - Data\NHibernate\HibernateTemplate.cs - - - Data\NHibernate\HibernateTransactionManager.cs - - - Data\NHibernate\ICommonHibernateOperations.cs - - - Data\NHibernate\IHibernateCallback.cs - - - Data\NHibernate\IHibernateOperations.cs - - - Data\NHibernate\SessionHolder.cs - - - Data\NHibernate\Support\ConfigSectionSessionScopeSettings.cs - - - Data\NHibernate\Support\HibernateDaoSupport.cs - - - Data\NHibernate\Support\OpenSessionInViewModule.cs - - - Data\NHibernate\Support\SessionScope.cs - - - Data\NHibernate\Support\SessionScopeSettings.cs - - - Data\NHibernate\TemplateFlushMode.cs - - - - - - - - - - - - - - - - - - - {3A3A4E65-45A6-4B20-B460-0BEDC302C02C} - Spring.Aop.2010 - - - {710961A3-0DF4-49E4-A26E-F5B9C044AC84} - Spring.Core.2010 - - - {AE00E5AB-C39A-436F-86D2-33BFE33E2E40} - Spring.Data.2010 - - - - - \ No newline at end of file diff --git a/src/Spring/Spring.Data.NHibernate12/Spring.Data.NHibernate12.build b/src/Spring/Spring.Data.NHibernate12/Spring.Data.NHibernate12.build deleted file mode 100644 index da3ba464..00000000 --- a/src/Spring/Spring.Data.NHibernate12/Spring.Data.NHibernate12.build +++ /dev/null @@ -1,54 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/Spring/Spring.Data.NHibernate12/Spring.Data.NHibernate12.nuspec b/src/Spring/Spring.Data.NHibernate12/Spring.Data.NHibernate12.nuspec deleted file mode 100644 index 425dd354..00000000 --- a/src/Spring/Spring.Data.NHibernate12/Spring.Data.NHibernate12.nuspec +++ /dev/null @@ -1,37 +0,0 @@ - - - - Spring.Data.NHibernate12 - Spring.Net NHibernate 1.2 support - http://www.springframework.net/ - http://www.springframework.net/license.html - http://springframework.net/images/SpringSource_Leaves32x32.png - 0.0.0 - - SpringSource - Interfaces and classes that provide NHibernate 1.2 support in Spring.Net - Interfaces and classes that provide NHibernate 1.2 support in Spring.Net - en-US - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/src/Spring/Spring.Data.NHibernate20/AssemblyInfo.cs b/src/Spring/Spring.Data.NHibernate20/AssemblyInfo.cs deleted file mode 100644 index 07b23100..00000000 --- a/src/Spring/Spring.Data.NHibernate20/AssemblyInfo.cs +++ /dev/null @@ -1,5 +0,0 @@ -using System; -using System.Reflection; - -[assembly: AssemblyTitle("Spring.Net NHibernate 2.0 support")] -[assembly: AssemblyDescription("Interfaces and classes that provide NHibernate 2.0 support in Spring.Net")] \ No newline at end of file diff --git a/src/Spring/Spring.Data.NHibernate20/Data/NHibernate/Generic/dontdelete.txt b/src/Spring/Spring.Data.NHibernate20/Data/NHibernate/Generic/dontdelete.txt deleted file mode 100644 index b4472e3f..00000000 --- a/src/Spring/Spring.Data.NHibernate20/Data/NHibernate/Generic/dontdelete.txt +++ /dev/null @@ -1 +0,0 @@ -sources are linked here from Spring.Data.NHibernate \ No newline at end of file diff --git a/src/Spring/Spring.Data.NHibernate20/Data/NHibernate/HibernateObjectRetrievalFailureException.cs b/src/Spring/Spring.Data.NHibernate20/Data/NHibernate/HibernateObjectRetrievalFailureException.cs deleted file mode 100644 index 70928027..00000000 --- a/src/Spring/Spring.Data.NHibernate20/Data/NHibernate/HibernateObjectRetrievalFailureException.cs +++ /dev/null @@ -1,134 +0,0 @@ -#region License - -/* - * Copyright © 2002-2011 the original author or authors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#endregion - -#region Imports - -using System; -using System.Runtime.Serialization; -using NHibernate; -using Spring.Dao; - -#endregion - -namespace Spring.Data.NHibernate -{ - /// - /// Hibernate-specific subclass of ObjectRetrievalFailureException. - /// - /// - /// Converts Hibernate's UnresolvableObjectException, ObjectNotFoundException, - /// ObjectDeletedException, and WrongClassException. - /// - /// Mark Pollack (.NET) - /// $Id: HibernateObjectRetrievalFailureException.cs,v 1.1 2008/04/07 20:12:53 lahma Exp $ - [Serializable] - public class HibernateObjectRetrievalFailureException : ObjectRetrievalFailureException - { - - #region Constructor (s) - - /// - /// Initializes a new instance of the class. - /// - public HibernateObjectRetrievalFailureException() - { - } - - /// - /// Initializes a new instance of the class. - /// - /// The message. - public HibernateObjectRetrievalFailureException(string message) - : base(message) - { - } - - - /// - /// Initializes a new instance of the class. - /// - /// The ex. - public HibernateObjectRetrievalFailureException(UnresolvableObjectException ex) : base(ex.PersistentClass, ex.Identifier, ex.Message, ex) - { - } - - /// - /// Initializes a new instance of the class. - /// - /// The ex. - public HibernateObjectRetrievalFailureException(ObjectNotFoundException ex) : base(ex.PersistentClass, ex.Identifier, ex.Message, ex) - - { - } - - /// - /// Initializes a new instance of the class. - /// - /// The ex. - public HibernateObjectRetrievalFailureException(ObjectDeletedException ex) : base(ex.PersistentClass, ex.Identifier, ex.Message, ex) - { - - } - - //TODO investigate WrongClassException.Type as equivalent to ex.PersistentClass - /// - /// Initializes a new instance of the class. - /// - /// The ex. - public HibernateObjectRetrievalFailureException(WrongClassException ex) : base(ex.EntityName, ex.Identifier, ex.Message, ex) - { - } - - /// - /// Creates a new instance of the HibernateObjectRetrievalFailureException class with the specified message - /// and root cause. - /// - /// - /// A message about the exception. - /// - /// - /// The root exception that is being wrapped. - /// - public HibernateObjectRetrievalFailureException(string message, Exception rootCause) - : base(message, rootCause) - { - } - - - /// - /// Creates 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. - /// - protected HibernateObjectRetrievalFailureException( - SerializationInfo info, StreamingContext context ) : base( info, context ) {} - - - #endregion - - } -} diff --git a/src/Spring/Spring.Data.NHibernate20/Data/NHibernate/HibernateOptimisticLockingFailureException.cs b/src/Spring/Spring.Data.NHibernate20/Data/NHibernate/HibernateOptimisticLockingFailureException.cs deleted file mode 100644 index 2374156c..00000000 --- a/src/Spring/Spring.Data.NHibernate20/Data/NHibernate/HibernateOptimisticLockingFailureException.cs +++ /dev/null @@ -1,125 +0,0 @@ -#region License - -/* - * Copyright © 2002-2011 the original author or authors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#endregion - -#region Imports - -using System; -using System.Runtime.Serialization; -using NHibernate; -using Spring.Dao; - -#endregion - -namespace Spring.Data.NHibernate -{ - /// - /// Hibernate-specific subclass of ObjectOptimisticLockingFailureException. - /// - /// - /// Converts Hibernate's StaleObjectStateException. - /// - /// Mark Pollack (.NET) - /// $Id: HibernateOptimisticLockingFailureException.cs,v 1.2 2008/04/23 11:41:41 lahma Exp $ - /// - [Serializable] - public class HibernateOptimisticLockingFailureException : ObjectOptimisticLockingFailureException - { - #region Fields - - #endregion - - #region Constructor (s) - - /// - /// Initializes a new instance of the class. - /// - public HibernateOptimisticLockingFailureException() - { - } - - /// - /// Creates a new instance of the - /// class. - /// - /// - /// A message about the exception. - /// - public HibernateOptimisticLockingFailureException(string message) : base(message) { } - - /// - /// Initializes a new instance of the class. - /// - /// The ex. - public HibernateOptimisticLockingFailureException(StaleObjectStateException ex) : base(ex.EntityName, ex.Identifier, ex.Message, ex) - { - } - - /// - /// Initializes a new instance of the class. - /// - /// The StaleStateException. - public HibernateOptimisticLockingFailureException(StaleStateException ex) : base(ex.Message, ex) - { - } - - /// - /// Creates a new instance of the HibernateOptimisticLockingFailureException class with the specified message - /// and root cause. - /// - /// - /// A message about the exception. - /// - /// - /// The root exception that is being wrapped. - /// - public HibernateOptimisticLockingFailureException(string message, Exception rootCause) - : base(message, rootCause) - { - } - - /// - /// Creates 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. - /// - protected HibernateOptimisticLockingFailureException(SerializationInfo info, StreamingContext context) : base(info, context) - { - } - - - - #endregion - - #region Properties - - #endregion - - #region Methods - - #endregion - } -} \ No newline at end of file diff --git a/src/Spring/Spring.Data.NHibernate20/Data/NHibernate/LocalSessionFactoryObject.cs b/src/Spring/Spring.Data.NHibernate20/Data/NHibernate/LocalSessionFactoryObject.cs deleted file mode 100644 index 6e43d244..00000000 --- a/src/Spring/Spring.Data.NHibernate20/Data/NHibernate/LocalSessionFactoryObject.cs +++ /dev/null @@ -1,1070 +0,0 @@ -#region License - -/* - * Copyright © 2002-2011 the original author or authors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#endregion - -#region Imports - -using System; -using System.Collections; -using System.Collections.Generic; -using System.Data; -using System.Data.Common; - -using Common.Logging; -using NHibernate; -using NHibernate.Bytecode; -using NHibernate.Cfg; -using NHibernate.Connection; -using NHibernate.Dialect; -using NHibernate.Engine; -using NHibernate.Event; -using NHibernate.Tool.hbm2ddl; -using Spring.Context; -using Spring.Core.IO; -using Spring.Dao; -using Spring.Dao.Attributes; -using Spring.Dao.Support; -using Spring.Data.Common; -using Spring.Data.Support; -using Spring.Objects.Factory; -using Spring.Objects.Factory.Config; -using Spring.Util; - -using Environment = NHibernate.Cfg.Environment; -using Configuration = NHibernate.Cfg.Configuration; - -#endregion - -namespace Spring.Data.NHibernate -{ - /// - /// An IFactoryObject that creates a local Hibernate SessionFactory instance. - /// Behaves like a SessionFactory instance when used as bean reference, - /// e.g. for HibernateTemplate's "SessionFactory" property. - /// - /// - /// The typical usage will be to register this as singleton factory - /// in an application context and give objects references to application services - /// that need it. - /// - /// Hibernate configuration settings can be set using the IDictionary property 'HibernateProperties'. - /// - /// - /// This class implements the interface, - /// as autodetected by Spring's - /// for AOP-based translation of PersistenceExceptionTranslationPostProcessor. - /// Hence, the presence of e.g. LocalSessionFactoryBean automatically enables - /// a PersistenceExceptionTranslationPostProcessor to translate Hibernate exceptions. - /// - /// - /// Mark Pollack (.NET) - public class LocalSessionFactoryObject : IFactoryObject, IInitializingObject, IPersistenceExceptionTranslator, IDisposable - , IApplicationContextAware - { - #region Fields - - private Configuration configuration; - - private ISessionFactory sessionFactory; - - private string[] mappingAssemblies; - - private string[] mappingResources; - - private string[] configFilenames; - - private IDictionary hibernateProperties; - - private IDbProvider dbProvider; - - private bool exposeTransactionAwareSessionFactory = false; - - private IInterceptor entityInterceptor; - - private INamingStrategy namingStrategy; - - private IObjectDefinition[] typeDefinitions; - - private FilterDefinition[] filterDefinitions; - - private Properties entityCacheStrategies; - - private Properties collectionCacheStrategies; - - private IDictionary eventListeners; - - private bool schemaUpdate = false; - - private IAdoExceptionTranslator adoExceptionTranslator; - - private IResourceLoader resourceLoader; - - private IApplicationContext applicationContext; - - // Configuration time DB provider. - // This will not be available after configuration has been done. - private static IDbProvider configTimeDbProvider; - -#if NH_2_1 - private IBytecodeProvider bytecodeProvider; -#endif - #endregion - - #region Constants - - /// - /// The shared instance for this class (and derived classes). - /// - protected static readonly ILog log = - LogManager.GetLogger(typeof (LocalSessionFactoryObject)); - - #endregion - - #region Constructor (s) - /// - /// Initializes a new instance of the class. - /// - public LocalSessionFactoryObject() - { - - } - - #endregion - - #region Properties - - /// - /// Setting the Application Context determines were resources are loaded from - /// - public IApplicationContext ApplicationContext - { - set { this.applicationContext = value; } - protected get { return this.applicationContext; } - } - - /// - /// Gets or sets the to use for loading mapping assemblies etc. - /// - public IResourceLoader ResourceLoader - { - get - { - if (resourceLoader == null) - { - resourceLoader = new ConfigurableResourceLoader(); - } - return resourceLoader; - } - set { resourceLoader = value; } - } - - /// - /// Sets the assemblies to load that contain mapping files. - /// - /// The mapping assemblies. - public string[] MappingAssemblies - { - set { mappingAssemblies = value; } - } - - /// - /// Sets the hibernate configuration files to load, i.e. hibernate.cfg.xml. - /// - public string[] ConfigFilenames - { - set { configFilenames = value; } - } - - /// - /// Sets the locations of Spring IResources that contain mapping - /// files. - /// - /// The location of mapping resources. - public string[] MappingResources - { - set { mappingResources = value;} - } - - /// - /// Return the Configuration object used to build the SessionFactory. - /// Allows access to configuration metadata stored there (rarely needed). - /// - /// The hibernate configuration. - public Configuration Configuration - { - get { return configuration; } - } - - /// - /// Set NHibernate configuration properties, like "hibernate.dialect". - /// - /// The hibernate properties. - /// - ///

Can be used to override values in a NHibernate XML config file, - /// or to specify all necessary properties locally. - ///

- ///

Note: Do not specify a transaction provider here when using - /// Spring-driven transactions. It is also advisable to omit connection - /// provider settings and use a Spring-set IDbProvider instead. - ///

- ///
- public IDictionary HibernateProperties - { - get - { - if (hibernateProperties == null) - { - hibernateProperties = new Hashtable(); - } - return hibernateProperties; - } - set - { - hibernateProperties = value; - } - } - - /// - /// Get or set the DataSource to be used by the SessionFactory. - /// - /// The db provider. - /// - /// If set, this will override corresponding settings in Hibernate properties. - /// Note: If this is set, the Hibernate settings should not define - /// a connection string - /// (hibernate.connection.connection_string) to avoid meaningless double configuration. - /// - /// - public IDbProvider DbProvider - { - set { dbProvider = value; } - get { return dbProvider; } - } - - /// - /// Gets or sets a value indicating whether to expose a transaction aware session factory. - /// - /// - /// true if want to expose transaction aware session factory; otherwise, false. - /// - public bool ExposeTransactionAwareSessionFactory - { - set { exposeTransactionAwareSessionFactory = value; } - get { return exposeTransactionAwareSessionFactory; } - } - - - /// - /// Set a NHibernate entity interceptor that allows to inspect and change - /// property values before writing to and reading from the database. - /// Will get applied to any new Session created by this factory. - ///

Such an interceptor can either be set at the SessionFactory level, i.e. on - /// LocalSessionFactoryObject, or at the Session level, i.e. on HibernateTemplate, - /// HibernateInterceptor, and HibernateTransactionManager. It's preferable to set - /// it on LocalSessionFactoryObject or HibernateTransactionManager to avoid repeated - /// configuration and guarantee consistent behavior in transactions.

- ///
- /// - /// - public IInterceptor EntityInterceptor - { - set { this.entityInterceptor = value; } - } - - /// - /// Set a Hibernate NamingStrategy for the SessionFactory, determining the - /// physical column and table names given the info in the mapping document. - /// - public INamingStrategy NamingStrategy - { - set { this.namingStrategy = value; } - } - - /// - /// Specify the Hibernate type definitions to register with the SessionFactory, - /// as Spring IObjectDefinition instances. This is an alternative to specifying - /// <typedef> elements in Hibernate mapping files. - ///

Unfortunately, Hibernate itself does not define a complete object that - /// represents a type definition, hence the need for Spring's TypeDefinitionBean.

- /// @see TypeDefinitionBean - /// @see org.hibernate.cfg.Mappings#addTypeDef(String, String, java.util.Properties) - ///
- public IObjectDefinition[] TypeDefinitions - { - set { this.typeDefinitions = value; } - } - - - /// - /// Specify the NHibernate FilterDefinitions to register with the SessionFactory. - /// This is an alternative to specifying <filter-def> elements in - /// Hibernate mapping files. - /// - /// - /// Typically, the passed-in FilterDefinition objects will have been defined - /// as Spring FilterDefinitionFactoryBeans, probably as inner beans within the - /// LocalSessionFactoryObject definition. - /// - /// - public FilterDefinition[] FilterDefinitions - { - set { this.filterDefinitions = value; } - } - - /// - /// Specify the cache strategies for entities (persistent classes or named entities). - /// This configuration setting corresponds to the <class-cache> entry - /// in the "hibernate.cfg.xml" configuration format. - ///

For example: - ///

-        /// <property name="entityCacheStrategies">
-        ///   <props>
-        ///     <prop key="MyCompany.Customer">read-write</prop>
-        ///     <prop key="MyCompany.Product">read-only,myRegion</prop>
-        ///   </props>
-        /// </property>
- ///

- ///
- public Properties EntityCacheStrategies - { - set { this.entityCacheStrategies = value; } - } - - /// - /// Specify the cache strategies for persistent collections (with specific roles). - /// This configuration setting corresponds to the <collection-cache> entry - /// in the "hibernate.cfg.xml" configuration format. - ///

For example: - ///

-        /// <property name="CollectionCacheStrategies">
-        ///   <props>
-        ///     <prop key="MyCompany.Order.Items">read-write</prop>
-        ///     <prop key="MyCompany.Product.Categories">read-only,myRegion</prop>
-        ///   </props>
-        /// </property>
- ///

- ///
- public Properties CollectionCacheStrategies - { - set { this.collectionCacheStrategies = value; } - } - - - /// - /// Specify the NHibernate event listeners to register, with listener types - /// as keys and listener objects as values. - ///

- /// Instead of a single listener object, you can also pass in a list - /// or set of listeners objects as value. - ///

- ///
- /// listener objects as values - /// - /// See the NHibernate documentation for further details on listener types - /// and associated listener interfaces. - /// - public IDictionary EventListeners - { - set { this.eventListeners = value; } - } - - /// - /// Set whether to execute a schema update after SessionFactory initialization. - ///

- /// For details on how to make schema update scripts work, see the NHibernate - /// documentation, as this class leverages the same schema update script support - /// in as NHibernate's own SchemaUpdate tool. - ///

- ///
- public bool SchemaUpdate - { - set { schemaUpdate = value; } - } - - /// - /// Set the ADO.NET exception translator for this instance. - /// Applied to System.Data.Common.DbException (or provider specific exception type - /// in .NET 1.1) thrown by callback code, be it direct - /// DbException or wrapped Hibernate ADOExceptions. - ///

The default exception translator is either a ErrorCodeExceptionTranslator - /// if a DbProvider is available, or a FalbackExceptionTranslator otherwise - ///

- ///
- /// The ADO exception translator. - public virtual IAdoExceptionTranslator AdoExceptionTranslator - { - set { adoExceptionTranslator = value; } - get - { - if (adoExceptionTranslator == null) - { - adoExceptionTranslator = SessionFactoryUtils.NewAdoExceptionTranslator(sessionFactory); - } - return adoExceptionTranslator; - } - } - -#if NH_2_1 - /// - /// Sets custom byte code provider implementation to be used. This corresponds to setting - /// the property before NHibernate session factory - /// configuration. - /// - public virtual IBytecodeProvider BytecodeProvider - { - get { return this.bytecodeProvider; } - set { this.bytecodeProvider = value; } - } -#endif - - - #endregion - - #region Methods - - #endregion - - /// - /// Return the singleon session factory. - /// - /// The singleon session factory. - public object GetObject() - { - return sessionFactory; - } - - /// - /// Return the type or subclass. - /// - /// The type created by this factory - public Type ObjectType - { - get - { - return (sessionFactory != null) ? sessionFactory.GetType() : typeof(ISessionFactory); - } - } - - /// - /// Returns true - /// - /// true - public bool IsSingleton - { - get { return true; } - } - - /// - /// Initialize the SessionFactory for the given or the - /// default location. - /// - public virtual void AfterPropertiesSet() - { - // Create Configuration instance. - Configuration config = NewConfiguration(); - - if (this.dbProvider != null) - { - config.SetProperty(Environment.ConnectionString, dbProvider.ConnectionString); - config.SetProperty(Environment.ConnectionProvider, typeof(DbProviderWrapper).AssemblyQualifiedName); - configTimeDbProvider = this.dbProvider; - } - - if (ExposeTransactionAwareSessionFactory) - { - // Set ICurrentSessionContext implementation, - // providing the Spring-managed ISession s current Session. - // Can be overridden by a custom value for the corresponding Hibernate property - config.SetProperty(Environment.CurrentSessionContextClass, typeof(SpringSessionContext).AssemblyQualifiedName); - } - - if (this.entityInterceptor != null) - { - // Set given entity interceptor at SessionFactory level. - config.SetInterceptor(this.entityInterceptor); - } - - if (this.namingStrategy != null) - { - // Pass given naming strategy to Hibernate Configuration. - config.SetNamingStrategy(this.namingStrategy); - } - -#if NH_2_1 - if (this.typeDefinitions != null) - { - // Register specified Hibernate type definitions. - IDictionary typedProperties = new Dictionary(); - foreach (DictionaryEntry entry in hibernateProperties) - { - typedProperties.Add((string) entry.Key, (string) entry.Value); - } - - Dialect dialect = Dialect.GetDialect(typedProperties); - Mappings mappings = config.CreateMappings(dialect); - for (int i = 0; i < this.typeDefinitions.Length; i++) - { - IObjectDefinition typeDef = this.typeDefinitions[i]; - Dictionary typedParamMap = new Dictionary(); - foreach (DictionaryEntry entry in typeDef.PropertyValues) - { - typedParamMap.Add((string) entry.Key, (string) entry.Value); - } - mappings.AddTypeDef(typeDef.ObjectTypeName, typeDef.ObjectTypeName, typedParamMap); - } - } -#endif - - if (this.filterDefinitions != null) - { - // Register specified NHibernate FilterDefinitions. - for (int i = 0; i < this.filterDefinitions.Length; i++) - { - config.AddFilterDefinition(this.filterDefinitions[i]); - } - } - -#if NH_2_1 - // check whether proxy factory has been initialized - if (config.GetProperty(Environment.ProxyFactoryFactoryClass) == null - && (hibernateProperties == null || !hibernateProperties.Contains(Environment.ProxyFactoryFactoryClass))) - { - // nothing set by user, lets use Spring.NET's proxy factory factory - #region Logging - if (log.IsInfoEnabled) - { - log.Info("Setting proxy factory to Spring provided one as user did not specify any"); - } - #endregion - config.Properties.Add( - Environment.ProxyFactoryFactoryClass, typeof(Bytecode.ProxyFactoryFactory).AssemblyQualifiedName); - } -#endif - - if (this.hibernateProperties != null) - { - if (config.GetProperty(Environment.ConnectionProvider) != null && - hibernateProperties.Contains(Environment.ConnectionProvider)) - { - #region Logging - if (log.IsInfoEnabled) - { - log.Info("Overriding use of Spring's Hibernate Connection Provider with [" + - hibernateProperties[Environment.ConnectionProvider] + "]"); - } - #endregion - config.Properties.Remove(Environment.ConnectionProvider); - } - - Dictionary genericHibernateProperties = new Dictionary(); - foreach (DictionaryEntry entry in hibernateProperties) - { - genericHibernateProperties.Add((string) entry.Key, (string) entry.Value); - } - config.AddProperties(genericHibernateProperties); - } - if (this.mappingAssemblies != null) - { - foreach (string assemblyName in mappingAssemblies) - { - config.AddAssembly(assemblyName); - } - } - - if (this.mappingResources != null) - { - IResourceLoader loader = this.ResourceLoader; - if (loader == null) - { - loader = this.applicationContext; - } - foreach (string resourceName in mappingResources) - { - config.AddInputStream(loader.GetResource(resourceName).InputStream); - } - } - - if (configFilenames != null) - { - foreach (string configFilename in configFilenames) - { - config.Configure(configFilename); - } - } - -#if NH_2_1 - // Tell Hibernate to eagerly compile the mappings that we registered, - // for availability of the mapping information in further processing. - PostProcessMappings(config); - config.BuildMappings(); - - if (this.entityCacheStrategies != null) - { - // Register cache strategies for mapped entities. - foreach (string className in this.entityCacheStrategies.Keys) - { - String[] strategyAndRegion = StringUtils.CommaDelimitedListToStringArray(this.entityCacheStrategies.GetProperty(className)); - if (strategyAndRegion.Length > 1) - { - config.SetCacheConcurrencyStrategy(className, strategyAndRegion[0], strategyAndRegion[1]); - } - else if (strategyAndRegion.Length > 0) - { - config.SetCacheConcurrencyStrategy(className, strategyAndRegion[0]); - } - } - } - - if (this.collectionCacheStrategies != null) - { - // Register cache strategies for mapped collections. - foreach (string collRole in collectionCacheStrategies.Keys) - { - string[] strategyAndRegion = StringUtils.CommaDelimitedListToStringArray(this.collectionCacheStrategies.GetProperty(collRole)); - if (strategyAndRegion.Length > 1) - { - throw new Exception("Collection cache concurrency strategy region definition not supported yet"); - //config.SetCollectionCacheConcurrencyStrategy(collRole, strategyAndRegion[0], strategyAndRegion[1]); - } - else if (strategyAndRegion.Length > 0) - { - config.SetCollectionCacheConcurrencyStrategy(collRole, strategyAndRegion[0]); - } - } - } - -#endif - - if (this.eventListeners != null) - { - // Register specified NHibernate event listeners. - foreach (DictionaryEntry entry in eventListeners) - { - ListenerType listenerType; - try - { - listenerType = (ListenerType) Enum.Parse(typeof (ListenerType), (string) entry.Key); - } - catch - { - throw new ArgumentException(string.Format("Unable to parse string '{0}' as valid {1}", entry.Key, typeof (ListenerType))); - } - - object listenerObject = entry.Value; - if (listenerObject is ICollection) - { - ICollection listeners = (ICollection) listenerObject; - EventListeners listenerRegistry = config.EventListeners; - - // create the array and check that types are valid at the same time - ArrayList items = new ArrayList(listeners); - object[] listenerArray = (object[])items.ToArray(listenerRegistry.GetListenerClassFor(listenerType)); - config.SetListeners(listenerType, listenerArray); - } - else - { - config.SetListener(listenerType, listenerObject); - } - } - } - - // Perform custom post-processing in subclasses. - PostProcessConfiguration(config); - -#if NH_2_1 - if (BytecodeProvider != null) - { - // set custom IBytecodeProvider - Environment.BytecodeProvider = BytecodeProvider; - } - else - { - // use Spring's as default - // Environment.BytecodeProvider = new Bytecode.BytecodeProvider(this.applicationContext); - } -#endif - - // Build SessionFactory instance. - log.Info("Building new Hibernate SessionFactory"); - this.configuration = config; - this.sessionFactory = NewSessionFactory(config); - - AfterSessionFactoryCreation(); - - // set config time DB provider back to null - configTimeDbProvider = null; - } - - /// - /// Close the SessionFactory on application context shutdown. - /// - public void Dispose() - { - if (sessionFactory != null) - { - #region Instrumentation - if (log.IsInfoEnabled) - { - log.Info("Closing Hibernate SessionFactory"); - } - #endregion - sessionFactory.Close(); - } - - } - - /// - /// Subclasses can override this method to perform custom initialization - /// of the Configuration instance used for ISessionFactory creation. - /// - /// - /// The properties of this LocalSessionFactoryObject will be applied to - /// the Configuration object that gets returned here. - ///

The default implementation creates a new Configuration instance. - /// A custom implementation could prepare the instance in a specific way, - /// or use a custom Configuration subclass. - ///

- ///
- /// The configuration instance. - protected virtual Configuration NewConfiguration() - { - return new Configuration(); - } - -#if NH_2_1 - /// - /// To be implemented by subclasses that want to to register further mappings - /// on the Configuration object after this FactoryObject registered its specified - /// mappings. - /// - /// - /// Invoked before the BuildMappings call, - /// so that it can still extend and modify the mapping information. - /// - /// the current Configuration object - protected virtual void PostProcessMappings(Configuration config) - { - } -#endif - - /// - /// To be implemented by subclasses that want to to perform custom - /// post-processing of the Configuration object after this FactoryObject - /// performed its default initialization. - /// - /// The current configuration object. - protected virtual void PostProcessConfiguration(Configuration config) - { - } - - /// - /// Executes schema update if requested. - /// - protected virtual void AfterSessionFactoryCreation() - { - if (this.schemaUpdate) - { - UpdateDatabaseSchema(); - } - } - - /// - /// Execute schema drop script, determined by the Configuration object - /// used for creating the SessionFactory. A replacement for NHibernate's - /// SchemaExport class, to be invoked on application setup. - /// - /// - /// Fetch the LocalSessionFactoryBean itself rather than the exposed - /// SessionFactory to be able to invoke this method, e.g. via - /// LocalSessionFactoryObject lsfb = (LocalSessionFactoryObject) ctx.GetObject("mySessionFactory");. - ///

- /// Uses the SessionFactory that this bean generates for accessing a ADO.NET - /// connection to perform the script. - ///

- ///
- public void DropDatabaseSchema() - { - log.Info("Dropping database schema for NHibernate SessionFactory"); - HibernateTemplate hibernateTemplate = new HibernateTemplate(sessionFactory); - hibernateTemplate.Execute( - new HibernateDelegate(delegate(ISession session) - { - IDbConnection con = session.Connection; - Dialect dialect = Dialect.GetDialect(Configuration.Properties); - string[] sql = Configuration.GenerateDropSchemaScript(dialect); - ExecuteSchemaScript(con, sql); - return null; - })); - - } - - /// - /// Execute schema creation script, determined by the Configuration object - /// used for creating the SessionFactory. A replacement for NHibernate's - /// SchemaExport class, to be invoked on application setup. - /// - /// - /// Fetch the LocalSessionFactoryObject itself rather than the exposed - /// SessionFactory to be able to invoke this method, e.g. via - /// LocalSessionFactoryObject lsfo = (LocalSessionFactoryObject) ctx.GetObject("mySessionFactory");. - ///

- /// Uses the SessionFactory that this bean generates for accessing a ADO.NET - /// connection to perform the script. - ///

- ///
- public void CreateDatabaseSchema() - { - log.Info("Creating database schema for Hibernate SessionFactory"); - HibernateTemplate hibernateTemplate = new HibernateTemplate(sessionFactory); - hibernateTemplate.Execute( - new HibernateDelegate(delegate (ISession session) - { - IDbConnection con = session.Connection; - Dialect dialect = Dialect.GetDialect(Configuration.Properties); - string[] sql = Configuration.GenerateSchemaCreationScript(dialect); - ExecuteSchemaScript(con, sql); - return null; - - })); - } - - /// - /// Execute schema update script, determined by the Configuration object - /// used for creating the SessionFactory. A replacement for NHibernate's - /// SchemaUpdate class, for automatically executing schema update scripts - /// on application startup. Can also be invoked manually. - /// - /// - /// Fetch the LocalSessionFactoryObject itself rather than the exposed - /// SessionFactory to be able to invoke this method, e.g. via - /// LocalSessionFactoryObject lsfo = (LocalSessionFactoryObject) ctx.GetObject("mySessionFactory");. - ///

- /// Uses the SessionFactory that this bean generates for accessing a ADO.NET - /// connection to perform the script. - ///

- ///
- public virtual void UpdateDatabaseSchema() - { - log.Info("Updating database schema for Hibernate SessionFactory"); - HibernateTemplate hibernateTemplate = new HibernateTemplate(sessionFactory); - hibernateTemplate.TemplateFlushMode = TemplateFlushMode.Never; - hibernateTemplate.Execute( - new HibernateDelegate(delegate(ISession session) - { - IDbConnection con = session.Connection; - Dialect dialect = Dialect.GetDialect(Configuration.Properties); - DatabaseMetadata metadata = new DatabaseMetadata((DbConnection) con, dialect); - string[] sql = Configuration.GenerateSchemaUpdateScript(dialect, metadata); - ExecuteSchemaScript(con, sql); - return null; - })); - } - - - /// - /// Execute the given schema script on the given ADO.NET Connection. - /// - /// - /// Note that the default implementation will log unsuccessful statements - /// and continue to execute. Override the ExecuteSchemaStatement - /// method to treat failures differently. - /// - /// The connection to use. - /// The SQL statement to execute. - protected virtual void ExecuteSchemaScript(IDbConnection con, string[] sql) - { - if (sql != null && sql.Length > 0) - { - IDbCommand cmd = con.CreateCommand(); - try - { - for (int i = 0; i < sql.Length; i++) - { - ExecuteSchemaStatement(cmd, sql[i]); - } - } - finally - { - AdoUtils.DisposeCommand(cmd); - } - } - } - - /// - /// Execute the given schema SQL on the given ADO.NET command. - /// - /// - /// Note that the default implementation will log unsuccessful statements - /// and continue to execute. Override this method to treat failures differently. - /// - /// - /// - protected virtual void ExecuteSchemaStatement(IDbCommand cmd, string sql) - { - if (log.IsDebugEnabled) - { - log.Debug("Executing schema statement: " + sql); - } - try - { - cmd.CommandText = sql; - cmd.ExecuteNonQuery(); - } - catch (ADOException ex) - { - if (log.IsWarnEnabled) - { - log.Warn("Unsuccessful schema statement: " + sql, ex); - } - } - } - - /// - /// Subclasses can override this method to perform custom initialization - /// of the SessionFactory instance, creating it via the given Configuration - /// object that got prepared by this LocalSessionFactoryObject. - /// - /// - ///

The default implementation invokes Configuration's BuildSessionFactory. - /// A custom implementation could prepare the instance in a specific way, - /// or use a custom ISessionFactory subclass. - ///

- ///
- /// The ISessionFactory instance. - protected virtual ISessionFactory NewSessionFactory(Configuration config) - { - ISessionFactory sf = config.BuildSessionFactory(); - ISessionFactoryImplementor sfImplementor = sf as ISessionFactoryImplementor; - - if (sfImplementor != null) - { - DbProviderWrapper dbProviderWrapper = sfImplementor.ConnectionProvider as DbProviderWrapper; - - if (dbProviderWrapper != null) - { - dbProviderWrapper.DbProvider = dbProvider; - } - } - return sf; - } - - #region DbProviderWrapper Helper class - - internal class DbProviderWrapper : ConnectionProvider - { - private IDbProvider _dbProvider; - - public DbProviderWrapper() - { - } - - public IDbProvider DbProvider - { - get { return _dbProvider; } - set { _dbProvider = value; } - } - - public override void CloseConnection(IDbConnection conn) - { - base.CloseConnection(conn); - conn.Dispose(); - } - - public override IDbConnection GetConnection() - { - IDbProvider provider = _dbProvider; - if (provider == null && configTimeDbProvider != null) - { - // NH 2.1 has a need to access db provider before - // it has been set "the natural way" (it gets the DB's reserved words) - // allow it via configuration time db provider reference - provider = configTimeDbProvider; - } - - if (provider == null) - { - throw new Exception("There was no DB provider available, unable to create connection"); - } - IDbConnection dbCon = provider.CreateConnection(); - dbCon.Open(); - return dbCon; - } - } - - #endregion // DbProviderWrapper Helper class - - #region IPersistenceExceptionTranslator Members - - /// - /// Implementation of the PersistenceExceptionTranslator interface, - /// as autodetected by Spring's PersistenceExceptionTranslationPostProcessor. - /// Converts the exception if it is a HibernateException; - /// else returns null to indicate an unknown exception. - /// translate the given exception thrown by a persistence framework to a - /// corresponding exception from Spring's generic DataAccessException hierarchy, - /// if possible. - /// - /// The exception thrown. - /// - /// the corresponding DataAccessException (or null if the - /// exception could not be translated. - /// - /// - public DataAccessException TranslateExceptionIfPossible(Exception ex) - { - if (ex is HibernateException) - { - return ConvertHibernateException((HibernateException) ex); - } - return null; - } - - /// - /// Convert the given HibernateException to an appropriate exception from the - /// Spring's DAO Exception hierarchy. - /// Will automatically apply a specified IAdoExceptionTranslator to a - /// Hibernate ADOException, else rely on Hibernate's default translation. - /// - /// The Hibernate exception that occured. - /// A corresponding DataAccessException - protected virtual DataAccessException ConvertHibernateException(HibernateException ex) - { - if (ex is ADOException) - { - return ConvertAdoAccessException((ADOException)ex); - } - return SessionFactoryUtils.ConvertHibernateAccessException(ex); - } - - /// - /// Converts the ADO.NET access exception to an appropriate exception from the - /// org.springframework.dao hierarchy. Can be overridden in subclasses. - /// - /// ADOException that occured, wrapping underlying ADO.NET exception. - /// - /// the corresponding DataAccessException instance - /// - protected virtual DataAccessException ConvertAdoAccessException(ADOException ex) - { - return SessionFactoryUtils.ConvertAdoAccessException(AdoExceptionTranslator, ex); - } - - #endregion - } -} diff --git a/src/Spring/Spring.Data.NHibernate20/Data/NHibernate/Support/dontdelete.txt b/src/Spring/Spring.Data.NHibernate20/Data/NHibernate/Support/dontdelete.txt deleted file mode 100644 index b4472e3f..00000000 --- a/src/Spring/Spring.Data.NHibernate20/Data/NHibernate/Support/dontdelete.txt +++ /dev/null @@ -1 +0,0 @@ -sources are linked here from Spring.Data.NHibernate \ No newline at end of file diff --git a/src/Spring/Spring.Data.NHibernate20/Spring.Data.NHibernate20.2008.csproj b/src/Spring/Spring.Data.NHibernate20/Spring.Data.NHibernate20.2008.csproj deleted file mode 100644 index 8cbd9102..00000000 --- a/src/Spring/Spring.Data.NHibernate20/Spring.Data.NHibernate20.2008.csproj +++ /dev/null @@ -1,167 +0,0 @@ - - - Debug - AnyCPU - 9.0.30729 - 2.0 - {71368632-B8B7-4A6A-8C65-8DA848120C82} - Library - Properties - Spring - Spring.Data.NHibernate20 - v3.5 - - - true - full - false - ..\..\..\build\VS.Net.2008\Spring.Data.NHibernate20\Debug\ - TRACE;DEBUG;NET_2_0 - prompt - 4 - Spring.Data.NHibernate20.xml - true - - - pdbonly - true - ..\..\..\build\VS.Net.2008\Spring.Data.NHibernate20\Release\ - TRACE;NET_2_0 - prompt - 4 - - - - False - ..\..\..\lib\Net\2.0\Common.Logging.dll - - - False - ..\..\..\lib\NHibernate20\net\2.0\log4net.dll - - - False - ..\..\..\lib\NHibernate20\net\2.0\NHibernate.dll - - - - - - - - - CommonAssemblyInfo.cs - - - Data\NHibernate\Generic\FindHibernateDelegate.cs - - - Data\NHibernate\Generic\HibernateDaoSupport.cs - - - Data\NHibernate\Generic\HibernateDelegate.cs - - - Data\NHibernate\Generic\HibernateTemplate.cs - - - Data\NHibernate\Generic\IFindHibernateCallback.cs - - - Data\NHibernate\Generic\IHibernateCallback.cs - - - Data\NHibernate\Generic\IHibernateOperations.cs - - - Data\NHibernate\HibernateAccessor.cs - - - Data\NHibernate\SpringSessionContext.cs - - - Data\NHibernate\SpringSessionSynchronization.cs - - - Data\NHibernate\HibernateAdoException.cs - - - Data\NHibernate\HibernateDelegate.cs - - - Data\NHibernate\HibernateQueryException.cs - - - Data\NHibernate\HibernateSystemException.cs - - - Data\NHibernate\HibernateTemplate.cs - - - Data\NHibernate\HibernateTransactionManager.cs - - - Data\NHibernate\ICommonHibernateOperations.cs - - - Data\NHibernate\IHibernateCallback.cs - - - Data\NHibernate\IHibernateOperations.cs - - - Data\NHibernate\SessionFactoryUtils.cs - - - Data\NHibernate\SessionHolder.cs - - - Data\NHibernate\Support\ConfigSectionSessionScopeSettings.cs - - - Data\NHibernate\Support\HibernateDaoSupport.cs - - - Data\NHibernate\Support\OpenSessionInViewModule.cs - - - Data\NHibernate\Support\SessionScope.cs - - - Data\NHibernate\Support\SessionScopeSettings.cs - - - Data\NHibernate\TemplateFlushMode.cs - - - - - - - - - - {3A3A4E65-45A6-4B20-B460-0BEDC302C02C} - Spring.Aop.2008 - - - {710961A3-0DF4-49E4-A26E-F5B9C044AC84} - Spring.Core.2008 - - - {AE00E5AB-C39A-436F-86D2-33BFE33E2E40} - Spring.Data.2008 - - - - - - - - \ No newline at end of file diff --git a/src/Spring/Spring.Data.NHibernate20/Spring.Data.NHibernate20.2010.csproj b/src/Spring/Spring.Data.NHibernate20/Spring.Data.NHibernate20.2010.csproj deleted file mode 100644 index 7863e23e..00000000 --- a/src/Spring/Spring.Data.NHibernate20/Spring.Data.NHibernate20.2010.csproj +++ /dev/null @@ -1,173 +0,0 @@ - - - - Debug - AnyCPU - 9.0.30729 - 2.0 - {71368632-B8B7-4A6A-8C65-8DA848120C82} - Library - Properties - Spring - Spring.Data.NHibernate20 - v4.0 - - - 3.5 - - - - true - full - false - ..\..\..\build\VS.Net.2010\Spring.Data.NHibernate20\Debug\ - TRACE;DEBUG;NET_4_0 - prompt - 4 - Spring.Data.NHibernate20.xml - true - - - pdbonly - true - ..\..\..\build\VS.Net.2010\Spring.Data.NHibernate20\Release\ - TRACE;NET_4_0 - prompt - 4 - - - - False - ..\..\..\lib\Net\2.0\Common.Logging.dll - - - False - ..\..\..\lib\NHibernate20\net\2.0\log4net.dll - - - False - ..\..\..\lib\NHibernate20\net\2.0\NHibernate.dll - - - - - - - - - - CommonAssemblyInfo.cs - - - Data\NHibernate\Generic\FindHibernateDelegate.cs - - - Data\NHibernate\Generic\HibernateDaoSupport.cs - - - Data\NHibernate\Generic\HibernateDelegate.cs - - - Data\NHibernate\Generic\HibernateTemplate.cs - - - Data\NHibernate\Generic\IFindHibernateCallback.cs - - - Data\NHibernate\Generic\IHibernateCallback.cs - - - Data\NHibernate\Generic\IHibernateOperations.cs - - - Data\NHibernate\HibernateAccessor.cs - - - Data\NHibernate\SpringSessionContext.cs - - - Data\NHibernate\SpringSessionSynchronization.cs - - - Data\NHibernate\HibernateAdoException.cs - - - Data\NHibernate\HibernateDelegate.cs - - - Data\NHibernate\HibernateQueryException.cs - - - Data\NHibernate\HibernateSystemException.cs - - - Data\NHibernate\HibernateTemplate.cs - - - Data\NHibernate\HibernateTransactionManager.cs - - - Data\NHibernate\ICommonHibernateOperations.cs - - - Data\NHibernate\IHibernateCallback.cs - - - Data\NHibernate\IHibernateOperations.cs - - - Data\NHibernate\SessionFactoryUtils.cs - - - Data\NHibernate\SessionHolder.cs - - - Data\NHibernate\Support\ConfigSectionSessionScopeSettings.cs - - - Data\NHibernate\Support\HibernateDaoSupport.cs - - - Data\NHibernate\Support\OpenSessionInViewModule.cs - - - Data\NHibernate\Support\SessionScope.cs - - - Data\NHibernate\Support\SessionScopeSettings.cs - - - Data\NHibernate\TemplateFlushMode.cs - - - - - - - - - - {3A3A4E65-45A6-4B20-B460-0BEDC302C02C} - Spring.Aop.2010 - - - {710961A3-0DF4-49E4-A26E-F5B9C044AC84} - Spring.Core.2010 - - - {AE00E5AB-C39A-436F-86D2-33BFE33E2E40} - Spring.Data.2010 - - - - - - - - \ No newline at end of file diff --git a/src/Spring/Spring.Data.NHibernate20/Spring.Data.NHibernate20.build b/src/Spring/Spring.Data.NHibernate20/Spring.Data.NHibernate20.build deleted file mode 100644 index 27d5a7b6..00000000 --- a/src/Spring/Spring.Data.NHibernate20/Spring.Data.NHibernate20.build +++ /dev/null @@ -1,58 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/Spring/Spring.Data.NHibernate20/Spring.Data.NHibernate20.nuspec b/src/Spring/Spring.Data.NHibernate20/Spring.Data.NHibernate20.nuspec deleted file mode 100644 index eece5a7c..00000000 --- a/src/Spring/Spring.Data.NHibernate20/Spring.Data.NHibernate20.nuspec +++ /dev/null @@ -1,37 +0,0 @@ - - - - Spring.Data.NHibernate20 - Spring.Net NHibernate 2.0 support - http://www.springframework.net/ - http://www.springframework.net/license.html - http://springframework.net/images/SpringSource_Leaves32x32.png - 0.0.0 - - SpringSource - Interfaces and classes that provide NHibernate 2.0 support in Spring.Net - Interfaces and classes that provide NHibernate 2.0 support in Spring.Net - en-US - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/src/Spring/Spring.Data.NHibernate21/AssemblyInfo.cs b/src/Spring/Spring.Data.NHibernate21/AssemblyInfo.cs deleted file mode 100644 index f144223f..00000000 --- a/src/Spring/Spring.Data.NHibernate21/AssemblyInfo.cs +++ /dev/null @@ -1,5 +0,0 @@ -using System; -using System.Reflection; - -[assembly: AssemblyTitle("Spring.Net NHibernate 2.1 support")] -[assembly: AssemblyDescription("Interfaces and classes that provide NHibernate 2.1 support in Spring.Net")] \ No newline at end of file diff --git a/src/Spring/Spring.Data.NHibernate21/Data/NHibernate/Generic/dontdelete.txt b/src/Spring/Spring.Data.NHibernate21/Data/NHibernate/Generic/dontdelete.txt deleted file mode 100644 index b4472e3f..00000000 --- a/src/Spring/Spring.Data.NHibernate21/Data/NHibernate/Generic/dontdelete.txt +++ /dev/null @@ -1 +0,0 @@ -sources are linked here from Spring.Data.NHibernate \ No newline at end of file diff --git a/src/Spring/Spring.Data.NHibernate21/Data/NHibernate/Support/dontdelete.txt b/src/Spring/Spring.Data.NHibernate21/Data/NHibernate/Support/dontdelete.txt deleted file mode 100644 index b4472e3f..00000000 --- a/src/Spring/Spring.Data.NHibernate21/Data/NHibernate/Support/dontdelete.txt +++ /dev/null @@ -1 +0,0 @@ -sources are linked here from Spring.Data.NHibernate \ No newline at end of file diff --git a/src/Spring/Spring.Data.NHibernate21/Spring.Data.NHibernate21.2008.csproj b/src/Spring/Spring.Data.NHibernate21/Spring.Data.NHibernate21.2008.csproj deleted file mode 100644 index 93b61d24..00000000 --- a/src/Spring/Spring.Data.NHibernate21/Spring.Data.NHibernate21.2008.csproj +++ /dev/null @@ -1,191 +0,0 @@ - - - Debug - AnyCPU - 9.0.30729 - 2.0 - {E57B4652-0231-49CB-B058-87E10EFE540D} - Library - Properties - Spring - Spring.Data.NHibernate21 - v3.5 - - - true - full - false - ..\..\..\build\VS.Net.2008\Spring.Data.NHibernate21\Debug\ - TRACE;DEBUG;NET_2_0,NH_2_1 - prompt - 4 - Spring.Data.NHibernate21.xml - true - - - - - pdbonly - true - ..\..\..\build\VS.Net.2008\Spring.Data.NHibernate21\Release\ - TRACE;NET_2_0,NH_2_1 - prompt - 4 - - - - False - ..\..\..\lib\NHibernate21\net\2.0\Antlr3.Runtime.dll - - - False - ..\..\..\lib\Net\2.0\Common.Logging.dll - - - False - ..\..\..\lib\NHibernate21\net\2.0\Iesi.Collections.dll - - - False - ..\..\..\lib\NHibernate21\net\2.0\log4net.dll - - - False - ..\..\..\lib\NHibernate21\net\2.0\NHibernate.dll - - - - - - - - - CommonAssemblyInfo.cs - - - Data\NHibernate\Generic\FindHibernateDelegate.cs - - - Data\NHibernate\Generic\HibernateDaoSupport.cs - - - Data\NHibernate\Generic\HibernateDelegate.cs - - - Data\NHibernate\Generic\HibernateTemplate.cs - - - Data\NHibernate\Generic\IFindHibernateCallback.cs - - - Data\NHibernate\Generic\IHibernateCallback.cs - - - Data\NHibernate\Generic\IHibernateOperations.cs - - - Data\NHibernate\HibernateAccessor.cs - - - Data\NHibernate\SpringSessionContext.cs - - - Data\NHibernate\SpringSessionSynchronization.cs - - - Data\NHibernate\HibernateAdoException.cs - - - Data\NHibernate\HibernateDelegate.cs - - - Data\NHibernate\HibernateQueryException.cs - - - Data\NHibernate\HibernateSystemException.cs - - - Data\NHibernate\HibernateTemplate.cs - - - Data\NHibernate\HibernateTransactionManager.cs - - - Data\NHibernate\ICommonHibernateOperations.cs - - - Data\NHibernate\IHibernateCallback.cs - - - Data\NHibernate\IHibernateOperations.cs - - - Data\NHibernate\SessionFactoryUtils.cs - - - Data\NHibernate\SessionHolder.cs - - - Data\NHibernate\Support\ConfigSectionSessionScopeSettings.cs - - - Data\NHibernate\Support\HibernateDaoSupport.cs - - - Data\NHibernate\Support\OpenSessionInViewModule.cs - - - Data\NHibernate\Support\SessionScope.cs - - - Data\NHibernate\Support\SessionScopeSettings.cs - - - Data\NHibernate\TemplateFlushMode.cs - - - Data\NHibernate\FilterDefiniitionFactoryObject.cs - - - Data\NHibernate\HibernateObjectRetrievalFailureException.cs - - - Data\NHibernate\HibernateOptimisticLockingFailureException.cs - - - Data\NHibernate\LocalSessionFactoryObject.cs - - - - - - - - - - - - {3A3A4E65-45A6-4B20-B460-0BEDC302C02C} - Spring.Aop.2008 - - - {710961A3-0DF4-49E4-A26E-F5B9C044AC84} - Spring.Core.2008 - - - {AE00E5AB-C39A-436F-86D2-33BFE33E2E40} - Spring.Data.2008 - - - - - - - - \ No newline at end of file diff --git a/src/Spring/Spring.Data.NHibernate21/Spring.Data.NHibernate21.2010.csproj b/src/Spring/Spring.Data.NHibernate21/Spring.Data.NHibernate21.2010.csproj deleted file mode 100644 index 639f92dd..00000000 --- a/src/Spring/Spring.Data.NHibernate21/Spring.Data.NHibernate21.2010.csproj +++ /dev/null @@ -1,200 +0,0 @@ - - - - Debug - AnyCPU - 9.0.30729 - 2.0 - {E57B4652-0231-49CB-B058-87E10EFE540D} - Library - Properties - Spring - Spring.Data.NHibernate21 - v4.0 - - - 3.5 - - - - true - full - false - ..\..\..\build\VS.Net.2010\Spring.Data.NHibernate21\Debug\ - TRACE;DEBUG;NET_4_0,NH_2_1 - prompt - 4 - Spring.Data.NHibernate21.xml - true - 1591 - - - pdbonly - true - ..\..\..\build\VS.Net.2010\Spring.Data.NHibernate21\Release\ - TRACE;NET_4_0,NH_2_1 - prompt - 4 - - - - False - ..\..\..\lib\NHibernate21\net\2.0\Antlr3.Runtime.dll - - - False - ..\..\..\lib\Net\2.0\Common.Logging.dll - - - False - ..\..\..\lib\NHibernate21\net\2.0\Iesi.Collections.dll - - - False - ..\..\..\lib\NHibernate21\net\2.0\log4net.dll - - - False - ..\..\..\lib\NHibernate21\net\2.0\NHibernate.dll - - - - - - - - - - CommonAssemblyInfo.cs - - - Data\NHibernate\Generic\FindHibernateDelegate.cs - - - Data\NHibernate\Generic\HibernateDaoSupport.cs - - - Data\NHibernate\Generic\HibernateDelegate.cs - - - Data\NHibernate\Generic\HibernateTemplate.cs - - - Data\NHibernate\Generic\IFindHibernateCallback.cs - - - Data\NHibernate\Generic\IHibernateCallback.cs - - - Data\NHibernate\Generic\IHibernateOperations.cs - - - Data\NHibernate\HibernateAccessor.cs - - - Data\NHibernate\SpringSessionContext.cs - - - Data\NHibernate\SpringSessionSynchronization.cs - - - Data\NHibernate\HibernateAdoException.cs - - - Data\NHibernate\HibernateDelegate.cs - - - Data\NHibernate\HibernateQueryException.cs - - - Data\NHibernate\HibernateSystemException.cs - - - Data\NHibernate\HibernateTemplate.cs - - - Data\NHibernate\HibernateTransactionManager.cs - - - Data\NHibernate\ICommonHibernateOperations.cs - - - Data\NHibernate\IHibernateCallback.cs - - - Data\NHibernate\IHibernateOperations.cs - - - Data\NHibernate\SessionFactoryUtils.cs - - - Data\NHibernate\SessionHolder.cs - - - Data\NHibernate\Support\ConfigSectionSessionScopeSettings.cs - - - Data\NHibernate\Support\HibernateDaoSupport.cs - - - Data\NHibernate\Support\OpenSessionInViewModule.cs - - - Data\NHibernate\Support\SessionScope.cs - - - Data\NHibernate\Support\SessionScopeSettings.cs - - - Data\NHibernate\TemplateFlushMode.cs - - - Data\NHibernate\FilterDefiniitionFactoryObject.cs - - - Data\NHibernate\HibernateObjectRetrievalFailureException.cs - - - Data\NHibernate\HibernateOptimisticLockingFailureException.cs - - - Data\NHibernate\LocalSessionFactoryObject.cs - - - - - - - - - - - - - - - - {3A3A4E65-45A6-4B20-B460-0BEDC302C02C} - Spring.Aop.2010 - - - {710961A3-0DF4-49E4-A26E-F5B9C044AC84} - Spring.Core.2010 - - - {AE00E5AB-C39A-436F-86D2-33BFE33E2E40} - Spring.Data.2010 - - - - - - - - \ No newline at end of file diff --git a/src/Spring/Spring.Data.NHibernate21/Spring.Data.NHibernate21.build b/src/Spring/Spring.Data.NHibernate21/Spring.Data.NHibernate21.build deleted file mode 100644 index 99406cad..00000000 --- a/src/Spring/Spring.Data.NHibernate21/Spring.Data.NHibernate21.build +++ /dev/null @@ -1,60 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/Spring/Spring.Data.NHibernate21/Spring.Data.NHibernate21.nuspec b/src/Spring/Spring.Data.NHibernate21/Spring.Data.NHibernate21.nuspec deleted file mode 100644 index a6e3fea1..00000000 --- a/src/Spring/Spring.Data.NHibernate21/Spring.Data.NHibernate21.nuspec +++ /dev/null @@ -1,37 +0,0 @@ - - - - Spring.Data.NHibernate21 - Spring.Net NHibernate 2.1 support - http://www.springframework.net/ - http://www.springframework.net/license.html - http://springframework.net/images/SpringSource_Leaves32x32.png - 0.0.0 - - SpringSource - Interfaces and classes that provide NHibernate 2.1 support in Spring.Net - Interfaces and classes that provide NHibernate 2.1 support in Spring.Net - en-US - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/src/Spring/Spring.Data.NHibernate30/AssemblyInfo.cs b/src/Spring/Spring.Data.NHibernate30/AssemblyInfo.cs deleted file mode 100644 index 6ae2f2d2..00000000 --- a/src/Spring/Spring.Data.NHibernate30/AssemblyInfo.cs +++ /dev/null @@ -1,5 +0,0 @@ -using System; -using System.Reflection; - -[assembly: AssemblyTitle("Spring.Net NHibernate 3.0 support")] -[assembly: AssemblyDescription("Interfaces and classes that provide NHibernate 3.0 support in Spring.Net")] \ No newline at end of file diff --git a/src/Spring/Spring.Data.NHibernate30/Data/NHibernate/Bytecode/dontdelete.txt b/src/Spring/Spring.Data.NHibernate30/Data/NHibernate/Bytecode/dontdelete.txt deleted file mode 100644 index 9b957720..00000000 --- a/src/Spring/Spring.Data.NHibernate30/Data/NHibernate/Bytecode/dontdelete.txt +++ /dev/null @@ -1 +0,0 @@ -sources are linked here from Spring.Data.NHibernate21 \ No newline at end of file diff --git a/src/Spring/Spring.Data.NHibernate30/Data/NHibernate/Generic/dontdelete.txt b/src/Spring/Spring.Data.NHibernate30/Data/NHibernate/Generic/dontdelete.txt deleted file mode 100644 index b4472e3f..00000000 --- a/src/Spring/Spring.Data.NHibernate30/Data/NHibernate/Generic/dontdelete.txt +++ /dev/null @@ -1 +0,0 @@ -sources are linked here from Spring.Data.NHibernate \ No newline at end of file diff --git a/src/Spring/Spring.Data.NHibernate30/Data/NHibernate/Support/dontdelete.txt b/src/Spring/Spring.Data.NHibernate30/Data/NHibernate/Support/dontdelete.txt deleted file mode 100644 index b4472e3f..00000000 --- a/src/Spring/Spring.Data.NHibernate30/Data/NHibernate/Support/dontdelete.txt +++ /dev/null @@ -1 +0,0 @@ -sources are linked here from Spring.Data.NHibernate \ No newline at end of file diff --git a/src/Spring/Spring.Data.NHibernate30/Spring.Data.NHibernate30.2008.csproj b/src/Spring/Spring.Data.NHibernate30/Spring.Data.NHibernate30.2008.csproj deleted file mode 100644 index acc33a87..00000000 --- a/src/Spring/Spring.Data.NHibernate30/Spring.Data.NHibernate30.2008.csproj +++ /dev/null @@ -1,192 +0,0 @@ - - - Debug - AnyCPU - 9.0.30729 - 2.0 - {009247FE-CBAD-40FF-ADC3-D7F28B270071} - Library - Properties - Spring - Spring.Data.NHibernate30 - v3.5 - - - true - full - false - ..\..\..\build\VS.Net.2008\Spring.Data.NHibernate30\Debug\ - TRACE;DEBUG;NET_2_0,NH_2_1,NH_3_0 - prompt - 4 - Spring.Data.NHibernate30.xml - true - - - - - pdbonly - true - ..\..\..\build\VS.Net.2008\Spring.Data.NHibernate30\Release\ - TRACE;NET_2_0,NH_2_1 - prompt - 4 - - - - False - ..\..\..\lib\Net\2.0\Common.Logging.dll - - - False - ..\..\..\lib\NHibernate30\net\3.5\log4net.dll - - - False - ..\..\..\lib\NHibernate30\net\3.5\NHibernate.dll - - - - - - - - - CommonAssemblyInfo.cs - - - Data\NHibernate\Generic\FindHibernateDelegate.cs - - - Data\NHibernate\Generic\HibernateDaoSupport.cs - - - Data\NHibernate\Generic\HibernateDelegate.cs - - - Data\NHibernate\Generic\HibernateTemplate.cs - - - Data\NHibernate\Generic\IFindHibernateCallback.cs - - - Data\NHibernate\Generic\IHibernateCallback.cs - - - Data\NHibernate\Generic\IHibernateOperations.cs - - - Data\NHibernate\HibernateAccessor.cs - - - Data\NHibernate\SpringSessionContext.cs - - - Data\NHibernate\SpringSessionSynchronization.cs - - - Data\NHibernate\Bytecode\BytecodeProvider.cs - - - Data\NHibernate\Bytecode\LazyInitializer.cs - - - Data\NHibernate\Bytecode\ObjectsFactory.cs - - - Data\NHibernate\Bytecode\ProxyFactory.cs - - - Data\NHibernate\Bytecode\ProxyFactoryFactory.cs - - - Data\NHibernate\Bytecode\ReflectionOptimizer.cs - - - Data\NHibernate\HibernateAdoException.cs - - - Data\NHibernate\HibernateDelegate.cs - - - Data\NHibernate\HibernateQueryException.cs - - - Data\NHibernate\HibernateSystemException.cs - - - Data\NHibernate\HibernateTemplate.cs - - - Data\NHibernate\HibernateTransactionManager.cs - - - Data\NHibernate\ICommonHibernateOperations.cs - - - Data\NHibernate\IHibernateCallback.cs - - - Data\NHibernate\IHibernateOperations.cs - - - Data\NHibernate\SessionFactoryUtils.cs - - - Data\NHibernate\SessionHolder.cs - - - Data\NHibernate\Support\ConfigSectionSessionScopeSettings.cs - - - Data\NHibernate\Support\HibernateDaoSupport.cs - - - Data\NHibernate\Support\OpenSessionInViewModule.cs - - - Data\NHibernate\Support\SessionScope.cs - - - Data\NHibernate\Support\SessionScopeSettings.cs - - - Data\NHibernate\TemplateFlushMode.cs - - - Data\NHibernate\FilterDefiniitionFactoryObject.cs - - - Data\NHibernate\HibernateObjectRetrievalFailureException.cs - - - Data\NHibernate\HibernateOptimisticLockingFailureException.cs - - - Data\NHibernate\LocalSessionFactoryObject.cs - - - - - - {3A3A4E65-45A6-4B20-B460-0BEDC302C02C} - Spring.Aop.2008 - - - {710961A3-0DF4-49E4-A26E-F5B9C044AC84} - Spring.Core.2008 - - - {AE00E5AB-C39A-436F-86D2-33BFE33E2E40} - Spring.Data.2008 - - - - - \ No newline at end of file diff --git a/src/Spring/Spring.Data.NHibernate30/Spring.Data.NHibernate30.2010.csproj b/src/Spring/Spring.Data.NHibernate30/Spring.Data.NHibernate30.2010.csproj deleted file mode 100644 index 6760b4bf..00000000 --- a/src/Spring/Spring.Data.NHibernate30/Spring.Data.NHibernate30.2010.csproj +++ /dev/null @@ -1,210 +0,0 @@ - - - - Debug - AnyCPU - 9.0.30729 - 2.0 - {009247FE-CBAD-40FF-ADC3-D7F28B270071} - Library - Properties - Spring - Spring.Data.NHibernate30 - v4.0 - - - 3.5 - - - - - true - full - false - ..\..\..\build\VS.Net.2010\Spring.Data.NHibernate30\Debug\ - TRACE;DEBUG;NET_4_0,NH_2_1,NH_3_0 - prompt - 4 - Spring.Data.NHibernate30.xml - true - - - - - pdbonly - true - ..\..\..\build\VS.Net.2010\Spring.Data.NHibernate30\Release\ - TRACE;NET_4_0,NH_2_1 - prompt - 4 - - - - False - ..\..\..\lib\Net\2.0\Common.Logging.dll - - - False - ..\..\..\lib\NHibernate30\net\3.5\log4net.dll - - - ..\..\..\lib\NHibernate30\net\3.5\NHibernate.dll - - - - - - - - - - CommonAssemblyInfo.cs - - - Data\NHibernate\Generic\FindHibernateDelegate.cs - - - Data\NHibernate\Generic\HibernateDaoSupport.cs - - - Data\NHibernate\Generic\HibernateDelegate.cs - - - Data\NHibernate\Generic\HibernateTemplate.cs - - - Data\NHibernate\Generic\IFindHibernateCallback.cs - - - Data\NHibernate\Generic\IHibernateCallback.cs - - - Data\NHibernate\Generic\IHibernateOperations.cs - - - Data\NHibernate\HibernateAccessor.cs - - - Data\NHibernate\SpringSessionContext.cs - - - Data\NHibernate\SpringSessionSynchronization.cs - - - Data\NHibernate\Bytecode\BytecodeProvider.cs - - - Data\NHibernate\Bytecode\LazyInitializer.cs - - - Data\NHibernate\Bytecode\ObjectsFactory.cs - - - Data\NHibernate\Bytecode\ProxyFactory.cs - - - Data\NHibernate\Bytecode\ProxyFactoryFactory.cs - - - Data\NHibernate\Bytecode\ReflectionOptimizer.cs - - - Data\NHibernate\DelegatingLocalSessionFactoryObject.cs - - - Data\NHibernate\DelegatingSessionFactory.cs - - - Data\NHibernate\HibernateTxScopeTransactionManager.cs - - - Data\NHibernate\SimpleDelegatingSessionFactory.cs - - - Data\NHibernate\HibernateAdoException.cs - - - Data\NHibernate\HibernateDelegate.cs - - - Data\NHibernate\HibernateQueryException.cs - - - Data\NHibernate\HibernateSystemException.cs - - - Data\NHibernate\HibernateTemplate.cs - - - Data\NHibernate\HibernateTransactionManager.cs - - - Data\NHibernate\ICommonHibernateOperations.cs - - - Data\NHibernate\IHibernateCallback.cs - - - Data\NHibernate\IHibernateOperations.cs - - - Data\NHibernate\SessionFactoryUtils.cs - - - Data\NHibernate\SessionHolder.cs - - - Data\NHibernate\Support\ConfigSectionSessionScopeSettings.cs - - - Data\NHibernate\Support\HibernateDaoSupport.cs - - - Data\NHibernate\Support\OpenSessionInViewModule.cs - - - Data\NHibernate\Support\SessionScope.cs - - - Data\NHibernate\Support\SessionScopeSettings.cs - - - Data\NHibernate\TemplateFlushMode.cs - - - Data\NHibernate\FilterDefiniitionFactoryObject.cs - - - Data\NHibernate\HibernateObjectRetrievalFailureException.cs - - - Data\NHibernate\HibernateOptimisticLockingFailureException.cs - - - Data\NHibernate\LocalSessionFactoryObject.cs - - - - - - {3A3A4E65-45A6-4B20-B460-0BEDC302C02C} - Spring.Aop.2010 - - - {710961A3-0DF4-49E4-A26E-F5B9C044AC84} - Spring.Core.2010 - - - {AE00E5AB-C39A-436F-86D2-33BFE33E2E40} - Spring.Data.2010 - - - - - \ No newline at end of file diff --git a/src/Spring/Spring.Data.NHibernate30/Spring.Data.NHibernate30.build b/src/Spring/Spring.Data.NHibernate30/Spring.Data.NHibernate30.build deleted file mode 100644 index e786329a..00000000 --- a/src/Spring/Spring.Data.NHibernate30/Spring.Data.NHibernate30.build +++ /dev/null @@ -1,61 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/Spring/Spring.Data.NHibernate30/Spring.Data.NHibernate30.nuspec b/src/Spring/Spring.Data.NHibernate30/Spring.Data.NHibernate30.nuspec deleted file mode 100644 index 754cef6c..00000000 --- a/src/Spring/Spring.Data.NHibernate30/Spring.Data.NHibernate30.nuspec +++ /dev/null @@ -1,31 +0,0 @@ - - - - Spring.Data.NHibernate30 - Spring.Net NHibernate 3.0 support - http://www.springframework.net/ - http://www.springframework.net/license.html - http://springframework.net/images/SpringSource_Leaves32x32.png - 0.0.0 - - SpringSource - Interfaces and classes that provide NHibernate 3.0 support in Spring.Net - Interfaces and classes that provide NHibernate 3.0 support in Spring.Net - en-US - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/src/Spring/Spring.Data.NHibernate31/AssemblyInfo.cs b/src/Spring/Spring.Data.NHibernate31/AssemblyInfo.cs deleted file mode 100644 index d62410af..00000000 --- a/src/Spring/Spring.Data.NHibernate31/AssemblyInfo.cs +++ /dev/null @@ -1,5 +0,0 @@ -using System; -using System.Reflection; - -[assembly: AssemblyTitle("Spring.Net NHibernate 3.1 support")] -[assembly: AssemblyDescription("Interfaces and classes that provide NHibernate 3.1 support in Spring.Net")] \ No newline at end of file diff --git a/src/Spring/Spring.Data.NHibernate31/Data/NHibernate/Bytecode/dontdelete.txt b/src/Spring/Spring.Data.NHibernate31/Data/NHibernate/Bytecode/dontdelete.txt deleted file mode 100644 index 9b957720..00000000 --- a/src/Spring/Spring.Data.NHibernate31/Data/NHibernate/Bytecode/dontdelete.txt +++ /dev/null @@ -1 +0,0 @@ -sources are linked here from Spring.Data.NHibernate21 \ No newline at end of file diff --git a/src/Spring/Spring.Data.NHibernate31/Data/NHibernate/Generic/dontdelete.txt b/src/Spring/Spring.Data.NHibernate31/Data/NHibernate/Generic/dontdelete.txt deleted file mode 100644 index b4472e3f..00000000 --- a/src/Spring/Spring.Data.NHibernate31/Data/NHibernate/Generic/dontdelete.txt +++ /dev/null @@ -1 +0,0 @@ -sources are linked here from Spring.Data.NHibernate \ No newline at end of file diff --git a/src/Spring/Spring.Data.NHibernate31/Data/NHibernate/Support/dontdelete.txt b/src/Spring/Spring.Data.NHibernate31/Data/NHibernate/Support/dontdelete.txt deleted file mode 100644 index b4472e3f..00000000 --- a/src/Spring/Spring.Data.NHibernate31/Data/NHibernate/Support/dontdelete.txt +++ /dev/null @@ -1 +0,0 @@ -sources are linked here from Spring.Data.NHibernate \ No newline at end of file diff --git a/src/Spring/Spring.Data.NHibernate31/Spring.Data.NHibernate31.2008.csproj b/src/Spring/Spring.Data.NHibernate31/Spring.Data.NHibernate31.2008.csproj deleted file mode 100644 index 90aac372..00000000 --- a/src/Spring/Spring.Data.NHibernate31/Spring.Data.NHibernate31.2008.csproj +++ /dev/null @@ -1,190 +0,0 @@ - - - Debug - AnyCPU - 9.0.30729 - 2.0 - {1C8E0481-A70D-445E-AB4D-4A963CF7DC83} - Library - Properties - Spring - Spring.Data.NHibernate31 - v3.5 - - - true - full - false - ..\..\..\build\VS.Net.2008\Spring.Data.NHibernate31\Debug\ - TRACE;DEBUG;NET_2_0,NH_2_1 - prompt - 4 - Spring.Data.NHibernate31.xml - true - 0618 - - - pdbonly - true - ..\..\..\build\VS.Net.2008\Spring.Data.NHibernate31\Release\ - TRACE;NET_2_0,NH_2_1 - prompt - 4 - Spring.Data.NHibernate31.xml - true - 0618 - - - - False - ..\..\..\lib\Net\2.0\Common.Logging.dll - - - False - ..\..\..\lib\NHibernate31\net\3.5\NHibernate.dll - - - - - - - - - CommonAssemblyInfo.cs - - - Data\NHibernate\Generic\FindHibernateDelegate.cs - - - Data\NHibernate\Generic\HibernateDaoSupport.cs - - - Data\NHibernate\Generic\HibernateDelegate.cs - - - Data\NHibernate\Generic\HibernateTemplate.cs - - - Data\NHibernate\Generic\IFindHibernateCallback.cs - - - Data\NHibernate\Generic\IHibernateCallback.cs - - - Data\NHibernate\Generic\IHibernateOperations.cs - - - Data\NHibernate\HibernateAccessor.cs - - - Data\NHibernate\SpringSessionContext.cs - - - Data\NHibernate\SpringSessionSynchronization.cs - - - Data\NHibernate\Bytecode\BytecodeProvider.cs - - - Data\NHibernate\Bytecode\LazyInitializer.cs - - - Data\NHibernate\Bytecode\ObjectsFactory.cs - - - Data\NHibernate\Bytecode\ProxyFactory.cs - - - Data\NHibernate\Bytecode\ProxyFactoryFactory.cs - - - Data\NHibernate\Bytecode\ReflectionOptimizer.cs - - - Data\NHibernate\HibernateAdoException.cs - - - Data\NHibernate\HibernateDelegate.cs - - - Data\NHibernate\HibernateQueryException.cs - - - Data\NHibernate\HibernateSystemException.cs - - - Data\NHibernate\HibernateTemplate.cs - - - Data\NHibernate\HibernateTransactionManager.cs - - - Data\NHibernate\ICommonHibernateOperations.cs - - - Data\NHibernate\IHibernateCallback.cs - - - Data\NHibernate\IHibernateOperations.cs - - - Data\NHibernate\SessionFactoryUtils.cs - - - Data\NHibernate\SessionHolder.cs - - - Data\NHibernate\Support\ConfigSectionSessionScopeSettings.cs - - - Data\NHibernate\Support\HibernateDaoSupport.cs - - - Data\NHibernate\Support\OpenSessionInViewModule.cs - - - Data\NHibernate\Support\SessionScope.cs - - - Data\NHibernate\Support\SessionScopeSettings.cs - - - Data\NHibernate\TemplateFlushMode.cs - - - Data\NHibernate\FilterDefiniitionFactoryObject.cs - - - Data\NHibernate\HibernateObjectRetrievalFailureException.cs - - - Data\NHibernate\HibernateOptimisticLockingFailureException.cs - - - Data\NHibernate\LocalSessionFactoryObject.cs - - - - - - {3A3A4E65-45A6-4B20-B460-0BEDC302C02C} - Spring.Aop.2008 - - - {710961A3-0DF4-49E4-A26E-F5B9C044AC84} - Spring.Core.2008 - - - {AE00E5AB-C39A-436F-86D2-33BFE33E2E40} - Spring.Data.2008 - - - - - \ No newline at end of file diff --git a/src/Spring/Spring.Data.NHibernate31/Spring.Data.NHibernate31.2010.csproj b/src/Spring/Spring.Data.NHibernate31/Spring.Data.NHibernate31.2010.csproj deleted file mode 100644 index 9cbdf77a..00000000 --- a/src/Spring/Spring.Data.NHibernate31/Spring.Data.NHibernate31.2010.csproj +++ /dev/null @@ -1,208 +0,0 @@ - - - - Debug - AnyCPU - 9.0.30729 - 2.0 - {66DCCF2A-5E28-4539-8F8A-C8DDB9E54CC4} - Library - Properties - Spring - Spring.Data.NHibernate31 - v4.0 - - - 3.5 - - - - - true - full - false - ..\..\..\build\VS.Net.2010\Spring.Data.NHibernate31\Debug\ - TRACE;DEBUG;NET_4_0,NH_2_1 - prompt - 4 - Spring.Data.NHibernate31.xml - true - 0618 - - - pdbonly - true - ..\..\..\build\VS.Net.2010\Spring.Data.NHibernate31\Release\ - TRACE;NET_4_0,NH_2_1 - prompt - 4 - Spring.Data.NHibernate31.xml - true - 0618 - - - - False - ..\..\..\lib\Net\2.0\Common.Logging.dll - - - ..\..\..\lib\NHibernate31\net\3.5\NHibernate.dll - - - - - - - - - - CommonAssemblyInfo.cs - - - Data\NHibernate\Generic\FindHibernateDelegate.cs - - - Data\NHibernate\Generic\HibernateDaoSupport.cs - - - Data\NHibernate\Generic\HibernateDelegate.cs - - - Data\NHibernate\Generic\HibernateTemplate.cs - - - Data\NHibernate\Generic\IFindHibernateCallback.cs - - - Data\NHibernate\Generic\IHibernateCallback.cs - - - Data\NHibernate\Generic\IHibernateOperations.cs - - - Data\NHibernate\HibernateAccessor.cs - - - Data\NHibernate\SpringSessionContext.cs - - - Data\NHibernate\SpringSessionSynchronization.cs - - - Data\NHibernate\Bytecode\BytecodeProvider.cs - - - Data\NHibernate\Bytecode\LazyInitializer.cs - - - Data\NHibernate\Bytecode\ObjectsFactory.cs - - - Data\NHibernate\Bytecode\ProxyFactory.cs - - - Data\NHibernate\Bytecode\ProxyFactoryFactory.cs - - - Data\NHibernate\Bytecode\ReflectionOptimizer.cs - - - Data\NHibernate\DelegatingLocalSessionFactoryObject.cs - - - Data\NHibernate\DelegatingSessionFactory.cs - - - Data\NHibernate\HibernateTxScopeTransactionManager.cs - - - Data\NHibernate\SimpleDelegatingSessionFactory.cs - - - Data\NHibernate\HibernateAdoException.cs - - - Data\NHibernate\HibernateDelegate.cs - - - Data\NHibernate\HibernateQueryException.cs - - - Data\NHibernate\HibernateSystemException.cs - - - Data\NHibernate\HibernateTemplate.cs - - - Data\NHibernate\HibernateTransactionManager.cs - - - Data\NHibernate\ICommonHibernateOperations.cs - - - Data\NHibernate\IHibernateCallback.cs - - - Data\NHibernate\IHibernateOperations.cs - - - Data\NHibernate\SessionFactoryUtils.cs - - - Data\NHibernate\SessionHolder.cs - - - Data\NHibernate\Support\ConfigSectionSessionScopeSettings.cs - - - Data\NHibernate\Support\HibernateDaoSupport.cs - - - Data\NHibernate\Support\OpenSessionInViewModule.cs - - - Data\NHibernate\Support\SessionScope.cs - - - Data\NHibernate\Support\SessionScopeSettings.cs - - - Data\NHibernate\TemplateFlushMode.cs - - - Data\NHibernate\FilterDefiniitionFactoryObject.cs - - - Data\NHibernate\HibernateObjectRetrievalFailureException.cs - - - Data\NHibernate\HibernateOptimisticLockingFailureException.cs - - - Data\NHibernate\LocalSessionFactoryObject.cs - - - - - - {3A3A4E65-45A6-4B20-B460-0BEDC302C02C} - Spring.Aop.2010 - - - {710961A3-0DF4-49E4-A26E-F5B9C044AC84} - Spring.Core.2010 - - - {AE00E5AB-C39A-436F-86D2-33BFE33E2E40} - Spring.Data.2010 - - - - - \ No newline at end of file diff --git a/src/Spring/Spring.Data.NHibernate31/Spring.Data.NHibernate31.build b/src/Spring/Spring.Data.NHibernate31/Spring.Data.NHibernate31.build deleted file mode 100644 index da246825..00000000 --- a/src/Spring/Spring.Data.NHibernate31/Spring.Data.NHibernate31.build +++ /dev/null @@ -1,61 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/Spring/Spring.Data.NHibernate31/Spring.Data.NHibernate31.nuspec b/src/Spring/Spring.Data.NHibernate31/Spring.Data.NHibernate31.nuspec deleted file mode 100644 index 94bbe89f..00000000 --- a/src/Spring/Spring.Data.NHibernate31/Spring.Data.NHibernate31.nuspec +++ /dev/null @@ -1,31 +0,0 @@ - - - - Spring.Data.NHibernate31 - Spring.Net NHibernate 3.1 support - http://www.springframework.net/ - http://www.springframework.net/license.html - http://springframework.net/images/SpringSource_Leaves32x32.png - 0.0.0 - - SpringSource - Interfaces and classes that provide NHibernate 3.1 support in Spring.Net - Interfaces and classes that provide NHibernate 3.1 support in Spring.Net - en-US - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/src/Spring/Spring.Data.NHibernate32/Spring.Data.NHibernate32.2008.csproj b/src/Spring/Spring.Data.NHibernate32/Spring.Data.NHibernate32.2008.csproj index ac2260c1..4c923973 100644 --- a/src/Spring/Spring.Data.NHibernate32/Spring.Data.NHibernate32.2008.csproj +++ b/src/Spring/Spring.Data.NHibernate32/Spring.Data.NHibernate32.2008.csproj @@ -16,7 +16,7 @@ full false ..\..\..\build\VS.Net.2008\Spring.Data.NHibernate32\Debug\ - TRACE;DEBUG;NET_2_0,NH_2_1 + TRACE;DEBUG prompt 4 Spring.Data.NHibernate32.xml @@ -26,8 +26,8 @@ pdbonly true - ..\..\..\build\VS.Net.2008\Spring.Data.NHibernate31\Release\ - TRACE;NET_2_0,NH_2_1 + ..\..\..\build\VS.Net.2008\Spring.Data.NHibernate32\Release\ + TRACE prompt 4 Spring.Data.NHibernate32.xml @@ -45,6 +45,7 @@ + @@ -52,60 +53,69 @@ CommonAssemblyInfo.cs - - Data\NHibernate\Generic\FindHibernateDelegate.cs - - - Data\NHibernate\Generic\HibernateDaoSupport.cs - - - Data\NHibernate\Generic\HibernateDelegate.cs - - - Data\NHibernate\Generic\HibernateTemplate.cs - - - Data\NHibernate\Generic\IFindHibernateCallback.cs - - - Data\NHibernate\Generic\IHibernateCallback.cs - - - Data\NHibernate\Generic\IHibernateOperations.cs - - - Data\NHibernate\HibernateAccessor.cs - - - Data\NHibernate\SpringSessionContext.cs - - - Data\NHibernate\SpringSessionSynchronization.cs - - + Data\NHibernate\Bytecode\BytecodeProvider.cs - + Data\NHibernate\Bytecode\LazyInitializer.cs - + Data\NHibernate\Bytecode\ObjectsFactory.cs - + Data\NHibernate\Bytecode\ProxyFactory.cs - + Data\NHibernate\Bytecode\ProxyFactoryFactory.cs - + Data\NHibernate\Bytecode\ReflectionOptimizer.cs + + Data\NHibernate\DelegatingLocalSessionFactoryObject.cs + + + Data\NHibernate\DelegatingSessionFactory.cs + + + Data\NHibernate\FilterDefinitionFactoryObject.cs + + + Data\NHibernate\Generic\FindHibernateDelegate.cs + + + Data\NHibernate\Generic\HibernateDaoSupport.cs + + + Data\NHibernate\Generic\HibernateDelegate.cs + + + Data\NHibernate\Generic\HibernateTemplate.cs + + + Data\NHibernate\Generic\IFindHibernateCallback.cs + + + Data\NHibernate\Generic\IHibernateCallback.cs + + + Data\NHibernate\Generic\IHibernateOperations.cs + + + Data\NHibernate\HibernateAccessor.cs + Data\NHibernate\HibernateAdoException.cs Data\NHibernate\HibernateDelegate.cs + + Data\NHibernate\HibernateObjectRetrievalFailureException.cs + + + Data\NHibernate\HibernateOptimisticLockingFailureException.cs + Data\NHibernate\HibernateQueryException.cs @@ -118,6 +128,9 @@ Data\NHibernate\HibernateTransactionManager.cs + + Data\NHibernate\HibernateTxScopeTransactionManager.cs + Data\NHibernate\ICommonHibernateOperations.cs @@ -127,12 +140,24 @@ Data\NHibernate\IHibernateOperations.cs - + + Data\NHibernate\LocalSessionFactoryObject.cs + + Data\NHibernate\SessionFactoryUtils.cs Data\NHibernate\SessionHolder.cs + + Data\NHibernate\SimpleDelegatingSessionFactory.cs + + + Data\NHibernate\SpringSessionContext.cs + + + Data\NHibernate\SpringSessionSynchronization.cs + Data\NHibernate\Support\ConfigSectionSessionScopeSettings.cs @@ -151,18 +176,6 @@ Data\NHibernate\TemplateFlushMode.cs - - Data\NHibernate\FilterDefiniitionFactoryObject.cs - - - Data\NHibernate\HibernateObjectRetrievalFailureException.cs - - - Data\NHibernate\HibernateOptimisticLockingFailureException.cs - - - Data\NHibernate\LocalSessionFactoryObject.cs - diff --git a/src/Spring/Spring.Data.NHibernate32/Spring.Data.NHibernate32.2010.csproj b/src/Spring/Spring.Data.NHibernate32/Spring.Data.NHibernate32.2010.csproj index 2bebf80f..8a0be73a 100644 --- a/src/Spring/Spring.Data.NHibernate32/Spring.Data.NHibernate32.2010.csproj +++ b/src/Spring/Spring.Data.NHibernate32/Spring.Data.NHibernate32.2010.csproj @@ -16,13 +16,28 @@ 3.5 + publish\ + true + Disk + false + Foreground + 7 + Days + false + false + true + 0 + 1.0.0.%2a + false + false + true true full false ..\..\..\build\VS.Net.2010\Spring.Data.NHibernate32\Debug\ - TRACE;DEBUG;NET_4_0,NH_2_1 + TRACE;DEBUG;NET_4_0 prompt 4 Spring.Data.NHibernate32.xml @@ -33,7 +48,7 @@ pdbonly true ..\..\..\build\VS.Net.2010\Spring.Data.NHibernate32\Release\ - TRACE;NET_4_0,NH_2_1 + TRACE;NET_4_0 prompt 4 Spring.Data.NHibernate32.xml @@ -58,65 +73,56 @@ CommonAssemblyInfo.cs - - Data\NHibernate\Generic\FindHibernateDelegate.cs - - - Data\NHibernate\Generic\HibernateDaoSupport.cs - - - Data\NHibernate\Generic\HibernateDelegate.cs - - - Data\NHibernate\Generic\HibernateTemplate.cs - - - Data\NHibernate\Generic\IFindHibernateCallback.cs - - - Data\NHibernate\Generic\IHibernateCallback.cs - - - Data\NHibernate\Generic\IHibernateOperations.cs - - - Data\NHibernate\HibernateAccessor.cs - - - Data\NHibernate\SpringSessionContext.cs - - - Data\NHibernate\SpringSessionSynchronization.cs - - + Data\NHibernate\Bytecode\BytecodeProvider.cs - + Data\NHibernate\Bytecode\LazyInitializer.cs - + Data\NHibernate\Bytecode\ObjectsFactory.cs - + Data\NHibernate\Bytecode\ProxyFactory.cs - + Data\NHibernate\Bytecode\ProxyFactoryFactory.cs - + Data\NHibernate\Bytecode\ReflectionOptimizer.cs - + Data\NHibernate\DelegatingLocalSessionFactoryObject.cs - + Data\NHibernate\DelegatingSessionFactory.cs - - Data\NHibernate\HibernateTxScopeTransactionManager.cs + + Data\NHibernate\FilterDefinitionFactoryObject.cs - - Data\NHibernate\SimpleDelegatingSessionFactory.cs + + Data\NHibernate\Generic\FindHibernateDelegate.cs + + + Data\NHibernate\Generic\HibernateDaoSupport.cs + + + Data\NHibernate\Generic\HibernateDelegate.cs + + + Data\NHibernate\Generic\HibernateTemplate.cs + + + Data\NHibernate\Generic\IFindHibernateCallback.cs + + + Data\NHibernate\Generic\IHibernateCallback.cs + + + Data\NHibernate\Generic\IHibernateOperations.cs + + + Data\NHibernate\HibernateAccessor.cs Data\NHibernate\HibernateAdoException.cs @@ -124,6 +130,12 @@ Data\NHibernate\HibernateDelegate.cs + + Data\NHibernate\HibernateObjectRetrievalFailureException.cs + + + Data\NHibernate\HibernateOptimisticLockingFailureException.cs + Data\NHibernate\HibernateQueryException.cs @@ -136,6 +148,9 @@ Data\NHibernate\HibernateTransactionManager.cs + + Data\NHibernate\HibernateTxScopeTransactionManager.cs + Data\NHibernate\ICommonHibernateOperations.cs @@ -145,12 +160,24 @@ Data\NHibernate\IHibernateOperations.cs - + + Data\NHibernate\LocalSessionFactoryObject.cs + + Data\NHibernate\SessionFactoryUtils.cs Data\NHibernate\SessionHolder.cs + + Data\NHibernate\SimpleDelegatingSessionFactory.cs + + + Data\NHibernate\SpringSessionContext.cs + + + Data\NHibernate\SpringSessionSynchronization.cs + Data\NHibernate\Support\ConfigSectionSessionScopeSettings.cs @@ -169,18 +196,6 @@ Data\NHibernate\TemplateFlushMode.cs - - Data\NHibernate\FilterDefiniitionFactoryObject.cs - - - Data\NHibernate\HibernateObjectRetrievalFailureException.cs - - - Data\NHibernate\HibernateOptimisticLockingFailureException.cs - - - Data\NHibernate\LocalSessionFactoryObject.cs - @@ -197,6 +212,28 @@ Spring.Data.2010 + + + False + Microsoft .NET Framework 4 %28x86 and x64%29 + true + + + False + .NET Framework 3.5 SP1 Client Profile + false + + + False + .NET Framework 3.5 SP1 + false + + + False + Windows Installer 3.1 + true + + - - - - - - - - - - - - - - - diff --git a/test/Spring/Spring.Data.NHibernate21.Integration.Tests/Config/Log4Net.xml b/test/Spring/Spring.Data.NHibernate.Integration.Tests/Config/Log4Net.xml similarity index 96% rename from test/Spring/Spring.Data.NHibernate21.Integration.Tests/Config/Log4Net.xml rename to test/Spring/Spring.Data.NHibernate.Integration.Tests/Config/Log4Net.xml index 606c455d..cd8bab69 100644 --- a/test/Spring/Spring.Data.NHibernate21.Integration.Tests/Config/Log4Net.xml +++ b/test/Spring/Spring.Data.NHibernate.Integration.Tests/Config/Log4Net.xml @@ -1,64 +1,64 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/test/Spring/Spring.Data.NHibernate21.Integration.Tests/Data/NHibernate/AccountController.cs b/test/Spring/Spring.Data.NHibernate.Integration.Tests/Data/NHibernate/AccountController.cs similarity index 95% rename from test/Spring/Spring.Data.NHibernate21.Integration.Tests/Data/NHibernate/AccountController.cs rename to test/Spring/Spring.Data.NHibernate.Integration.Tests/Data/NHibernate/AccountController.cs index c82c91db..6c656d4e 100644 --- a/test/Spring/Spring.Data.NHibernate21.Integration.Tests/Data/NHibernate/AccountController.cs +++ b/test/Spring/Spring.Data.NHibernate.Integration.Tests/Data/NHibernate/AccountController.cs @@ -1,24 +1,24 @@ -using System; - -namespace Spring.Data.NHibernate -{ - public class AccountController : IAccountController - { - private IAccountManager accountManager; - - public IAccountManager AccountManager - { - get { return accountManager; } - set { accountManager = value; } - } - - #region Implementation of IAccountController - - public void DoWork() - { - accountManager.DoTransfer(30,30); - } - - #endregion - } +using System; + +namespace Spring.Data.NHibernate +{ + public class AccountController : IAccountController + { + private IAccountManager accountManager; + + public IAccountManager AccountManager + { + get { return accountManager; } + set { accountManager = value; } + } + + #region Implementation of IAccountController + + public void DoWork() + { + accountManager.DoTransfer(30,30); + } + + #endregion + } } \ No newline at end of file diff --git a/test/Spring/Spring.Data.NHibernate21.Integration.Tests/Data/NHibernate/Bytecode/AbstractInjectableUserTypeFixture.cs b/test/Spring/Spring.Data.NHibernate.Integration.Tests/Data/NHibernate/Bytecode/AbstractInjectableUserTypeFixture.cs similarity index 96% rename from test/Spring/Spring.Data.NHibernate21.Integration.Tests/Data/NHibernate/Bytecode/AbstractInjectableUserTypeFixture.cs rename to test/Spring/Spring.Data.NHibernate.Integration.Tests/Data/NHibernate/Bytecode/AbstractInjectableUserTypeFixture.cs index 9454c928..fcf50742 100644 --- a/test/Spring/Spring.Data.NHibernate21.Integration.Tests/Data/NHibernate/Bytecode/AbstractInjectableUserTypeFixture.cs +++ b/test/Spring/Spring.Data.NHibernate.Integration.Tests/Data/NHibernate/Bytecode/AbstractInjectableUserTypeFixture.cs @@ -1,108 +1,107 @@ -#if NH_2_1 -using log4net.Config; -using NHibernate; -using NHibernate.Bytecode; -using NHibernate.Cfg; -using NHibernate.Engine; -using NHibernate.Tool.hbm2ddl; - -using NUnit.Framework; - -namespace Spring.Data.NHibernate.Bytecode -{ - public abstract class AbstractInjectableUserTypeFixture - { - protected ISessionFactoryImplementor sessions; - - static AbstractInjectableUserTypeFixture() - { - XmlConfigurator.Configure(); - } - - /// - /// Initialize the ServiceLocator registering all services needed by this test. - /// - /// - /// Services needed, in this test, are: - /// - /// - uNhAddIns.Adapters.CommonTests.EnhancedBytecodeProvider.IDelimiter - /// Implementation: uNhAddIns.Adapters.CommonTests.EnhancedBytecodeProvider.ParenDelimiter - /// - /// - uNhAddIns.Adapters.CommonTests.EnhancedBytecodeProvider.InjectableStringUserType - /// - protected abstract void InitializeServiceLocator(); - - protected abstract IBytecodeProvider GetBytecodeProvider(); - - [Ignore("Work in progress")] - [TestFixtureSetUp] - public void CreateDb() - { - InitializeServiceLocator(); - Configuration cfg = new Configuration(); - Environment.BytecodeProvider = GetBytecodeProvider(); - cfg.Configure(); - cfg.AddResource("uNhAddIns.Adapters.CommonTests.EnhancedBytecodeProvider.Foo.Spechbm.xml", - typeof(AbstractInjectableUserTypeFixture).Assembly); - new SchemaExport(cfg).Create(false, true); - sessions = (ISessionFactoryImplementor)cfg.BuildSessionFactory(); - } - - [Ignore("Work in progress")] - [TestFixtureTearDown] - public void CloseSessionFactory() - { - if (sessions != null) - { - sessions.Dispose(); - } - sessions = null; - } - - [Ignore("Work in progress")] - [Test] - public void SaveObjectWithStringChangedToUpper() - { - object savedId; - Foo f = new Foo("something"); - - using (ISession s = sessions.OpenSession()) - using (ITransaction tx = s.BeginTransaction()) - { - savedId = s.Save(f); - tx.Commit(); - } - - using (ISession s = sessions.OpenSession()) - { - Foo upperFoo = s.Get(savedId); - - Assert.AreEqual("[something]", upperFoo.Description); - } - } - - [Ignore("Work in progress")] - [Test] - public void SaveNullPropertyAndGetItBack() - { - object savedId; - Foo f = new Foo(""); - - using (ISession s = sessions.OpenSession()) - using (ITransaction tx = s.BeginTransaction()) - { - savedId = s.Save(f); - tx.Commit(); - } - - using (ISession s = sessions.OpenSession()) - { - Foo upperFoo = s.Get(savedId); - - Assert.IsNull(upperFoo.Description); - } - } - - } -} -#endif \ No newline at end of file +using log4net.Config; + +using NHibernate; +using NHibernate.Bytecode; +using NHibernate.Cfg; +using NHibernate.Engine; +using NHibernate.Tool.hbm2ddl; + +using NUnit.Framework; + +namespace Spring.Data.NHibernate.Bytecode +{ + public abstract class AbstractInjectableUserTypeFixture + { + protected ISessionFactoryImplementor sessions; + + static AbstractInjectableUserTypeFixture() + { + XmlConfigurator.Configure(); + } + + /// + /// Initialize the ServiceLocator registering all services needed by this test. + /// + /// + /// Services needed, in this test, are: + /// + /// - uNhAddIns.Adapters.CommonTests.EnhancedBytecodeProvider.IDelimiter + /// Implementation: uNhAddIns.Adapters.CommonTests.EnhancedBytecodeProvider.ParenDelimiter + /// + /// - uNhAddIns.Adapters.CommonTests.EnhancedBytecodeProvider.InjectableStringUserType + /// + protected abstract void InitializeServiceLocator(); + + protected abstract IBytecodeProvider GetBytecodeProvider(); + + [Ignore("Work in progress")] + [TestFixtureSetUp] + public void CreateDb() + { + InitializeServiceLocator(); + Configuration cfg = new Configuration(); + Environment.BytecodeProvider = GetBytecodeProvider(); + cfg.Configure(); + cfg.AddResource("uNhAddIns.Adapters.CommonTests.EnhancedBytecodeProvider.Foo.Spechbm.xml", + typeof(AbstractInjectableUserTypeFixture).Assembly); + new SchemaExport(cfg).Create(false, true); + sessions = (ISessionFactoryImplementor)cfg.BuildSessionFactory(); + } + + [Ignore("Work in progress")] + [TestFixtureTearDown] + public void CloseSessionFactory() + { + if (sessions != null) + { + sessions.Dispose(); + } + sessions = null; + } + + [Ignore("Work in progress")] + [Test] + public void SaveObjectWithStringChangedToUpper() + { + object savedId; + Foo f = new Foo("something"); + + using (ISession s = sessions.OpenSession()) + using (ITransaction tx = s.BeginTransaction()) + { + savedId = s.Save(f); + tx.Commit(); + } + + using (ISession s = sessions.OpenSession()) + { + Foo upperFoo = s.Get(savedId); + + Assert.AreEqual("[something]", upperFoo.Description); + } + } + + [Ignore("Work in progress")] + [Test] + public void SaveNullPropertyAndGetItBack() + { + object savedId; + Foo f = new Foo(""); + + using (ISession s = sessions.OpenSession()) + using (ITransaction tx = s.BeginTransaction()) + { + savedId = s.Save(f); + tx.Commit(); + } + + using (ISession s = sessions.OpenSession()) + { + Foo upperFoo = s.Get(savedId); + + Assert.IsNull(upperFoo.Description); + } + } + + } +} diff --git a/test/Spring/Spring.Data.NHibernate21.Integration.Tests/Data/NHibernate/Bytecode/Foo.Spechbm.xml b/test/Spring/Spring.Data.NHibernate.Integration.Tests/Data/NHibernate/Bytecode/Foo.Spechbm.xml similarity index 97% rename from test/Spring/Spring.Data.NHibernate21.Integration.Tests/Data/NHibernate/Bytecode/Foo.Spechbm.xml rename to test/Spring/Spring.Data.NHibernate.Integration.Tests/Data/NHibernate/Bytecode/Foo.Spechbm.xml index 31c08dbf..38faa3e6 100644 --- a/test/Spring/Spring.Data.NHibernate21.Integration.Tests/Data/NHibernate/Bytecode/Foo.Spechbm.xml +++ b/test/Spring/Spring.Data.NHibernate.Integration.Tests/Data/NHibernate/Bytecode/Foo.Spechbm.xml @@ -1,15 +1,15 @@ - - - - - - - - - - - + + + + + + + + + + + \ No newline at end of file diff --git a/test/Spring/Spring.Data.NHibernate21.Integration.Tests/Data/NHibernate/Bytecode/Foo.cs b/test/Spring/Spring.Data.NHibernate.Integration.Tests/Data/NHibernate/Bytecode/Foo.cs similarity index 90% rename from test/Spring/Spring.Data.NHibernate21.Integration.Tests/Data/NHibernate/Bytecode/Foo.cs rename to test/Spring/Spring.Data.NHibernate.Integration.Tests/Data/NHibernate/Bytecode/Foo.cs index 7fb70613..ad517631 100644 --- a/test/Spring/Spring.Data.NHibernate21.Integration.Tests/Data/NHibernate/Bytecode/Foo.cs +++ b/test/Spring/Spring.Data.NHibernate.Integration.Tests/Data/NHibernate/Bytecode/Foo.cs @@ -1,20 +1,18 @@ -#if NH_2_1 -namespace Spring.Data.NHibernate.Bytecode -{ - public class Foo - { - private string _description; - - public Foo(string description) - { - _description = description; - } - - public virtual string Description - { - get { return _description; } - set { _description = value; } - } - } -} -#endif \ No newline at end of file +namespace Spring.Data.NHibernate.Bytecode +{ + public class Foo + { + private string _description; + + public Foo(string description) + { + _description = description; + } + + public virtual string Description + { + get { return _description; } + set { _description = value; } + } + } +} diff --git a/test/Spring/Spring.Data.NHibernate21.Integration.Tests/Data/NHibernate/Bytecode/IDelimiter.cs b/test/Spring/Spring.Data.NHibernate.Integration.Tests/Data/NHibernate/Bytecode/IDelimiter.cs similarity index 92% rename from test/Spring/Spring.Data.NHibernate21.Integration.Tests/Data/NHibernate/Bytecode/IDelimiter.cs rename to test/Spring/Spring.Data.NHibernate.Integration.Tests/Data/NHibernate/Bytecode/IDelimiter.cs index ba22655d..e7f867f3 100644 --- a/test/Spring/Spring.Data.NHibernate21.Integration.Tests/Data/NHibernate/Bytecode/IDelimiter.cs +++ b/test/Spring/Spring.Data.NHibernate.Integration.Tests/Data/NHibernate/Bytecode/IDelimiter.cs @@ -1,25 +1,23 @@ -#if NH_2_1 -namespace Spring.Data.NHibernate.Bytecode -{ - public interface IDelimiter - { - string Delimit(string source); - } - - public class ParenDelimiter: IDelimiter - { - public string Delimit(string source) - { - return !source.StartsWith("[") ? string.Format("[{0}]", source) : source; - } - } - - public class NoOpDelimiter: IDelimiter - { - public string Delimit(string source) - { - return source; - } - } -} -#endif \ No newline at end of file +namespace Spring.Data.NHibernate.Bytecode +{ + public interface IDelimiter + { + string Delimit(string source); + } + + public class ParenDelimiter: IDelimiter + { + public string Delimit(string source) + { + return !source.StartsWith("[") ? string.Format("[{0}]", source) : source; + } + } + + public class NoOpDelimiter: IDelimiter + { + public string Delimit(string source) + { + return source; + } + } +} diff --git a/test/Spring/Spring.Data.NHibernate21.Integration.Tests/Data/NHibernate/Bytecode/InjectableStringUserType.cs b/test/Spring/Spring.Data.NHibernate.Integration.Tests/Data/NHibernate/Bytecode/InjectableStringUserType.cs similarity index 95% rename from test/Spring/Spring.Data.NHibernate21.Integration.Tests/Data/NHibernate/Bytecode/InjectableStringUserType.cs rename to test/Spring/Spring.Data.NHibernate.Integration.Tests/Data/NHibernate/Bytecode/InjectableStringUserType.cs index 3b555d94..eb2eeac5 100644 --- a/test/Spring/Spring.Data.NHibernate21.Integration.Tests/Data/NHibernate/Bytecode/InjectableStringUserType.cs +++ b/test/Spring/Spring.Data.NHibernate.Integration.Tests/Data/NHibernate/Bytecode/InjectableStringUserType.cs @@ -1,90 +1,89 @@ -#if NH_2_1 -using System.Data; -using NHibernate; -using NHibernate.SqlTypes; -using NHibernate.UserTypes; - -namespace Spring.Data.NHibernate.Bytecode -{ - public class InjectableStringUserType : IUserType - { - private readonly IDelimiter delimiter; - - public InjectableStringUserType(IDelimiter delimiter) - { - this.delimiter = delimiter; - } - - public object NullSafeGet(IDataReader rs, string[] names, object owner) - { - string resultString = (string)NHibernateUtil.String.NullSafeGet(rs, names[0]); - if (resultString != null) - return delimiter.Delimit(resultString); - return null; - } - - public void NullSafeSet(IDbCommand cmd, object value, int index) - { - if (value == null) - { - NHibernateUtil.String.NullSafeSet(cmd, null, index); - return; - } - - value = delimiter.Delimit((string)value); - - NHibernateUtil.String.NullSafeSet(cmd, value, index); - } - - public object DeepCopy(object value) - { - if (value == null) return null; - return string.Copy((string)value); - } - - public object Replace(object original, object target, object owner) - { - return original; - } - - public object Assemble(object cached, object owner) - { - return DeepCopy(cached); - } - - public object Disassemble(object value) - { - return DeepCopy(value); - } - - public SqlType[] SqlTypes - { - get - { - return new SqlType[] { new SqlType(DbType.String) }; - } - } - - public System.Type ReturnedType - { - get { return typeof(string); } - } - - public bool IsMutable - { - get { return false; } - } - - public new bool Equals(object x, object y) - { - if (x == null || y == null) return false; - return x.Equals(y); - } - - public int GetHashCode(object x) - { - return x.GetHashCode(); - } - } -} -#endif \ No newline at end of file +using System.Data; + +using NHibernate; +using NHibernate.SqlTypes; +using NHibernate.UserTypes; + +namespace Spring.Data.NHibernate.Bytecode +{ + public class InjectableStringUserType : IUserType + { + private readonly IDelimiter delimiter; + + public InjectableStringUserType(IDelimiter delimiter) + { + this.delimiter = delimiter; + } + + public object NullSafeGet(IDataReader rs, string[] names, object owner) + { + string resultString = (string)NHibernateUtil.String.NullSafeGet(rs, names[0]); + if (resultString != null) + return delimiter.Delimit(resultString); + return null; + } + + public void NullSafeSet(IDbCommand cmd, object value, int index) + { + if (value == null) + { + NHibernateUtil.String.NullSafeSet(cmd, null, index); + return; + } + + value = delimiter.Delimit((string)value); + + NHibernateUtil.String.NullSafeSet(cmd, value, index); + } + + public object DeepCopy(object value) + { + if (value == null) return null; + return string.Copy((string)value); + } + + public object Replace(object original, object target, object owner) + { + return original; + } + + public object Assemble(object cached, object owner) + { + return DeepCopy(cached); + } + + public object Disassemble(object value) + { + return DeepCopy(value); + } + + public SqlType[] SqlTypes + { + get + { + return new SqlType[] { new SqlType(DbType.String) }; + } + } + + public System.Type ReturnedType + { + get { return typeof(string); } + } + + public bool IsMutable + { + get { return false; } + } + + public new bool Equals(object x, object y) + { + if (x == null || y == null) return false; + return x.Equals(y); + } + + public int GetHashCode(object x) + { + return x.GetHashCode(); + } + } +} diff --git a/test/Spring/Spring.Data.NHibernate21.Integration.Tests/Data/NHibernate/Bytecode/InjectableUserTypeFixture.cs b/test/Spring/Spring.Data.NHibernate.Integration.Tests/Data/NHibernate/Bytecode/InjectableUserTypeFixture.cs similarity index 96% rename from test/Spring/Spring.Data.NHibernate21.Integration.Tests/Data/NHibernate/Bytecode/InjectableUserTypeFixture.cs rename to test/Spring/Spring.Data.NHibernate.Integration.Tests/Data/NHibernate/Bytecode/InjectableUserTypeFixture.cs index ec790298..266e5111 100644 --- a/test/Spring/Spring.Data.NHibernate21.Integration.Tests/Data/NHibernate/Bytecode/InjectableUserTypeFixture.cs +++ b/test/Spring/Spring.Data.NHibernate.Integration.Tests/Data/NHibernate/Bytecode/InjectableUserTypeFixture.cs @@ -1,49 +1,46 @@ -#if NH_2_1 -using NHibernate.Bytecode; - -using NUnit.Framework; - -using Spring.Context; -using Spring.Context.Support; -using Spring.Objects.Factory.Config; -using Spring.Objects.Factory.Support; - -namespace Spring.Data.NHibernate.Bytecode -{ - [TestFixture, Explicit("requires database")] - public class InjectableUserTypeFixture : AbstractInjectableUserTypeFixture - { - private IConfigurableListableObjectFactory objectFactory; - private static readonly IObjectDefinitionFactory objectDefinitionFactory = new DefaultObjectDefinitionFactory(); - - protected override void InitializeServiceLocator() - { - IConfigurableApplicationContext context = new StaticApplicationContext(); - objectFactory = context.ObjectFactory; - - Register(objectFactory); - RegisterPrototype(objectFactory); - } - - protected override IBytecodeProvider GetBytecodeProvider() - { - return new BytecodeProvider(objectFactory); - } - - private static void Register(IConfigurableListableObjectFactory confObjFactory) - { - ObjectDefinitionBuilder odb = ObjectDefinitionBuilder.RootObjectDefinition(objectDefinitionFactory, typeof(TImplementation)). - SetAutowireMode(AutoWiringMode.Constructor); - confObjFactory.RegisterObjectDefinition(typeof (TSerivice).FullName, odb.ObjectDefinition); - } - - private static void RegisterPrototype(IConfigurableListableObjectFactory confObjFactory) - { - ObjectDefinitionBuilder odb = ObjectDefinitionBuilder.RootObjectDefinition(objectDefinitionFactory, typeof(TImplementation)) - .SetSingleton(false).SetAutowireMode(AutoWiringMode.AutoDetect); - confObjFactory.RegisterObjectDefinition(typeof(TImplementation).FullName, odb.ObjectDefinition); - } - } -} - -#endif \ No newline at end of file +using NHibernate.Bytecode; + +using NUnit.Framework; + +using Spring.Context; +using Spring.Context.Support; +using Spring.Objects.Factory.Config; +using Spring.Objects.Factory.Support; + +namespace Spring.Data.NHibernate.Bytecode +{ + [TestFixture, Explicit("requires database")] + public class InjectableUserTypeFixture : AbstractInjectableUserTypeFixture + { + private IConfigurableListableObjectFactory objectFactory; + private static readonly IObjectDefinitionFactory objectDefinitionFactory = new DefaultObjectDefinitionFactory(); + + protected override void InitializeServiceLocator() + { + IConfigurableApplicationContext context = new StaticApplicationContext(); + objectFactory = context.ObjectFactory; + + Register(objectFactory); + RegisterPrototype(objectFactory); + } + + protected override IBytecodeProvider GetBytecodeProvider() + { + return new BytecodeProvider(objectFactory); + } + + private static void Register(IConfigurableListableObjectFactory confObjFactory) + { + ObjectDefinitionBuilder odb = ObjectDefinitionBuilder.RootObjectDefinition(objectDefinitionFactory, typeof(TImplementation)). + SetAutowireMode(AutoWiringMode.Constructor); + confObjFactory.RegisterObjectDefinition(typeof (TSerivice).FullName, odb.ObjectDefinition); + } + + private static void RegisterPrototype(IConfigurableListableObjectFactory confObjFactory) + { + ObjectDefinitionBuilder odb = ObjectDefinitionBuilder.RootObjectDefinition(objectDefinitionFactory, typeof(TImplementation)) + .SetSingleton(false).SetAutowireMode(AutoWiringMode.AutoDetect); + confObjFactory.RegisterObjectDefinition(typeof(TImplementation).FullName, odb.ObjectDefinition); + } + } +} diff --git a/test/Spring/Spring.Data.NHibernate21.Integration.Tests/Data/NHibernate/Bytecode/NHibernateTestImports.cs b/test/Spring/Spring.Data.NHibernate.Integration.Tests/Data/NHibernate/Bytecode/NHibernateTestImports.cs similarity index 98% rename from test/Spring/Spring.Data.NHibernate21.Integration.Tests/Data/NHibernate/Bytecode/NHibernateTestImports.cs rename to test/Spring/Spring.Data.NHibernate.Integration.Tests/Data/NHibernate/Bytecode/NHibernateTestImports.cs index 3c0165a0..77b59268 100644 --- a/test/Spring/Spring.Data.NHibernate21.Integration.Tests/Data/NHibernate/Bytecode/NHibernateTestImports.cs +++ b/test/Spring/Spring.Data.NHibernate.Integration.Tests/Data/NHibernate/Bytecode/NHibernateTestImports.cs @@ -1,5 +1,5 @@ -#region License - +#region License + /* * Copyright 2002-2010 the original author or authors. * @@ -14,21 +14,21 @@ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. - */ - -#endregion - -using System; -using NUnit.Framework; - -namespace Spring.Data.NHibernate.Bytecode -{ - /// - /// - /// Erich Eichinger - [TestFixture] - public class NHibernateTestImports : global::NHibernate.Test.Bytecode.ActivatorObjectFactoryFixture - { - - } + */ + +#endregion + +using System; +using NUnit.Framework; + +namespace Spring.Data.NHibernate.Bytecode +{ + /// + /// + /// Erich Eichinger + [TestFixture] + public class NHibernateTestImports : global::NHibernate.Test.Bytecode.ActivatorObjectFactoryFixture + { + + } } \ No newline at end of file diff --git a/test/Spring/Spring.Data.NHibernate21.Integration.Tests/Data/NHibernate/Bytecode/Product.cs b/test/Spring/Spring.Data.NHibernate.Integration.Tests/Data/NHibernate/Bytecode/Product.cs similarity index 92% rename from test/Spring/Spring.Data.NHibernate21.Integration.Tests/Data/NHibernate/Bytecode/Product.cs rename to test/Spring/Spring.Data.NHibernate.Integration.Tests/Data/NHibernate/Bytecode/Product.cs index 83b1c4c4..21b5d8d6 100644 --- a/test/Spring/Spring.Data.NHibernate21.Integration.Tests/Data/NHibernate/Bytecode/Product.cs +++ b/test/Spring/Spring.Data.NHibernate.Integration.Tests/Data/NHibernate/Bytecode/Product.cs @@ -1,31 +1,29 @@ -#if NH_2_1 -using System; - -namespace Spring.Data.NHibernate.Bytecode -{ - public class Product - { - private Guid _id; - private string _description; - private decimal _price; - - public virtual Guid Id - { - get { return _id; } - set { _id = value; } - } - - public virtual string Description - { - get { return _description; } - set { _description = value; } - } - - public virtual decimal Price - { - get { return _price; } - set { _price = value; } - } - } -} -#endif \ No newline at end of file +using System; + +namespace Spring.Data.NHibernate.Bytecode +{ + public class Product + { + private Guid _id; + private string _description; + private decimal _price; + + public virtual Guid Id + { + get { return _id; } + set { _id = value; } + } + + public virtual string Description + { + get { return _description; } + set { _description = value; } + } + + public virtual decimal Price + { + get { return _price; } + set { _price = value; } + } + } +} diff --git a/test/Spring/Spring.Data.NHibernate21.Integration.Tests/Data/NHibernate/Controllers.xml b/test/Spring/Spring.Data.NHibernate.Integration.Tests/Data/NHibernate/Controllers.xml similarity index 83% rename from test/Spring/Spring.Data.NHibernate21.Integration.Tests/Data/NHibernate/Controllers.xml rename to test/Spring/Spring.Data.NHibernate.Integration.Tests/Data/NHibernate/Controllers.xml index 9286192a..424efd1c 100644 --- a/test/Spring/Spring.Data.NHibernate21.Integration.Tests/Data/NHibernate/Controllers.xml +++ b/test/Spring/Spring.Data.NHibernate.Integration.Tests/Data/NHibernate/Controllers.xml @@ -1,11 +1,11 @@ - - - - - - - - + + + + + + + + \ No newline at end of file diff --git a/test/Spring/Spring.Data.NHibernate.Integration.Tests/Data/NHibernate/Credit.hbm.xml b/test/Spring/Spring.Data.NHibernate.Integration.Tests/Data/NHibernate/Credit.hbm.xml deleted file mode 100644 index dfe645e4..00000000 --- a/test/Spring/Spring.Data.NHibernate.Integration.Tests/Data/NHibernate/Credit.hbm.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - diff --git a/test/Spring/Spring.Data.NHibernate.Integration.Tests/Data/NHibernate/Debit.hbm.xml b/test/Spring/Spring.Data.NHibernate.Integration.Tests/Data/NHibernate/Debit.hbm.xml deleted file mode 100644 index 896ffe19..00000000 --- a/test/Spring/Spring.Data.NHibernate.Integration.Tests/Data/NHibernate/Debit.hbm.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - diff --git a/test/Spring/Spring.Data.NHibernate21.Integration.Tests/Data/NHibernate/HibernateTxScopeTransactionManagerTests.cs b/test/Spring/Spring.Data.NHibernate.Integration.Tests/Data/NHibernate/HibernateTxScopeTransactionManagerTests.cs similarity index 97% rename from test/Spring/Spring.Data.NHibernate21.Integration.Tests/Data/NHibernate/HibernateTxScopeTransactionManagerTests.cs rename to test/Spring/Spring.Data.NHibernate.Integration.Tests/Data/NHibernate/HibernateTxScopeTransactionManagerTests.cs index ce4210f5..ddc115ce 100644 --- a/test/Spring/Spring.Data.NHibernate21.Integration.Tests/Data/NHibernate/HibernateTxScopeTransactionManagerTests.cs +++ b/test/Spring/Spring.Data.NHibernate.Integration.Tests/Data/NHibernate/HibernateTxScopeTransactionManagerTests.cs @@ -1,339 +1,339 @@ -#region License - -/* - * Copyright © 2002-2011 the original author or authors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#endregion - -#region Imports - -using System; -using System.Data; -using log4net; -using log4net.Config; -using NHibernate; -using NUnit.Framework; -using Spring.Context; -using Spring.Context.Support; -using Spring.Data.Common; -using Spring.Transaction; -using Spring.Transaction.Interceptor; -using System.Transactions; -using System.Collections.Generic; -using Spring.Core.IO; -using NHibernate.Cfg; -using System.Diagnostics; -using System.Threading; - -#endregion - -namespace Spring.Data.NHibernate -{ - /// - /// Use of Hibernate Template against database. - /// - /// Mark Pollack (.NET) - [TestFixture] - [Ignore("Bug Fix in Progress...unignore once resolved and tests are cleaned up")] - public class HibernateTxScopeTransactionManagerTests - { - /// - /// The shared instance for this class (and derived classes). - /// - protected static readonly ILog log = - LogManager.GetLogger(typeof(HibernateTxScopeTransactionManagerTests)); - - private IApplicationContext ctx; - - private IDbProvider dbProvider; - - private IPlatformTransactionManager transactionManager; - - [Test] - public void CanProperlyReleaseConnectionsWhenTransactionsAreRolledBack() - { - for (int i = 0; i < 200; i++) - { - try - { - DoSave(true); - } - catch (Exception) - { - } - } - } - - [Test] - [Ignore("Test harness left in place to demonstrate the leaking connection issue present in NH2.1 and later")] - public void DoesNotLeakConnection() - { - DoPreventConnectionLeaksPreventionPattern(); - } - - [Test] - [Ignore("Test harness left in place to demonstrate the leaking connection issue present in NH2.1 and later")] - public void LeaksConnection() - { - DoConnectionLeakingAntiPattern(); - } - - [SetUp] - public void SetUp() - { - //NamespaceParserRegistry.RegisterParser(typeof(DatabaseNamespaceParser)); - BasicConfigurator.Configure(); - string assemblyName = GetType().Assembly.GetName().Name; - ctx = new XmlApplicationContext("assembly://" + assemblyName + "/Spring.Data.NHibernate/HibernateTxScopeTransactionManagerTests.xml"); - - dbProvider = ctx["DbProvider"] as IDbProvider; - transactionManager = ctx["transactionManager"] as IPlatformTransactionManager; - CleanupDatabase(dbProvider.CreateConnection()); - } - - private static void CleanupDatabase(IDbConnection conn) - { - conn.Open(); - using (conn) - { - ExecuteSql(conn, "delete credits"); - ExecuteSql(conn, "delete debits"); - ExecuteSql(conn, "delete TestObjects"); - ExecuteSql(conn, "insert TestObjects(Age,Name) Values(5, 'Gabriel')"); - } - } - - /// - /// this method will fail the test as it follows the anti-pattern of failing to use the (mandatory) NH Transaction to wrap the session call - /// - private void DoConnectionLeakingAntiPattern() - { - //this counter must be larger than the 'Max Pool Size' setting in the connection string for this test to demonstrate the issue - int counter = 200; - - for (int i = 0; i < counter; i++) - { - - using (TransactionScope scope = new TransactionScope(TransactionScopeOption.Required)) - { - using (ISession session = ((ISessionFactory)ctx["SessionFactory"]).OpenSession()) - { - IList to = session.CreateCriteria().List(); - } - - //because scope.Complete() is never called, the Transaction is rolled back and this results in the orpahned connections - } - - } - - } - - /// - /// this method demonstrates the proper pattern to follow w NH 2.1 and later, mandating the use of an NH transaction wrapping the session - /// - private void DoPreventConnectionLeaksPreventionPattern() - { - //this counter must be larger than the 'Max Pool Size' setting in the connection string for this test to demonstrate the issue - int counter = 200; - - for (int i = 0; i < counter; i++) - { - - using (TransactionScope scope = new TransactionScope(TransactionScopeOption.Required)) - { - using (ISession session = ((ISessionFactory)ctx["SessionFactory"]).OpenSession()) - { - using (ITransaction tx = session.BeginTransaction()) - { - try - { - IList to = session.CreateCriteria().List(); - throw new Exception("this exception simulates something going wrong!"); - - } - catch (Exception) - { - tx.Rollback(); - } - } - } - - //because scope.Complete() is never called, the Transaction is rolled back but the presence of the NH transaction and its - // associated Rollback() call will enable NH to properly release the connection - } - } - } - - [Transaction] - private void DoSave(bool simulateException) - { - using (TransactionScope tx = new TransactionScope()) - { - ISession s = ((ISessionFactory)ctx["SessionFactory"]).OpenSession(); - - TestObject to = new TestObject(); - to.Name = "George"; - to.Age = 33; - - if (simulateException) { throw new Exception("Simulated Failure in Save Operation."); } - - s.Save(to); - - tx.Complete(); - } - - } - - private static void ExecuteSql(IDbConnection conn, string sql) - { - IDbCommand cmd; - cmd = conn.CreateCommand(); - cmd.CommandText = sql; - cmd.ExecuteNonQuery(); - } - - [Test] - public void Test2() - { - for (int i = 0; i < 200; i++) - { - //DaoOperationsViaProxyFactoryWithTxAttributes(); - try - { - zzzExecuteDaoOperations(); - } - catch (Exception) - { - - } - } - } - - private void zzzExecuteDaoOperations() - { - ITestObjectDao dao = (ITestObjectDao)ctx["SimpleTestDao"]; - - TestObject toGeorge = new TestObject(); - toGeorge.Name = "George"; - toGeorge.Age = 33; - dao.Create(toGeorge); - } - - - //private void MethodForThread() - //{ - // - // MethodForThread((0)); - //} - - private void MethodForThread(object taskCounter) - { - int counter = (int)taskCounter; - - for (int i = 0; i < 200; i++) - { - try - { - Debug.WriteLine(String.Format("Task: {0} | Loop Count: {1}", counter, i)); - zzzExecuteDaoOperations(); - } - catch (Exception) - { - - } - } - - Debug.WriteLine(String.Format("\n---------\nCompleting Task Number {0}\n---------\n", taskCounter)); - } - - - [Test] - public void Test() - { - BasicConfigurator.Configure(); - string assemblyName = GetType().Assembly.GetName().Name; - ctx = new XmlApplicationContext("assembly://" + assemblyName + "/Spring.Data.NHibernate/txScopeBugTests.xml"); - - dbProvider = ctx["DbProvider"] as IDbProvider; - transactionManager = ctx["TransactionManager"] as IPlatformTransactionManager; - CleanupDatabase(dbProvider.CreateConnection()); - - List threads = new List(); - - for (int i = 0; i < 200; i++) - { - int taskCounter = i; - Debug.WriteLine(String.Format("\n---------\nSpawning Task Number {0}\n---------\n", taskCounter)); - - Thread t = new Thread(MethodForThread); - threads.Add(t); - t.Start(taskCounter); - - } - - foreach (Thread thread in threads) - { - thread.Join(); - } - } - - public void DoNothing() - { - ConfigurableResourceLoader loader = new ConfigurableResourceLoader(); - Configuration c = new Configuration(); - String resourceName = - "assembly://Spring.Data.NHibernate21.Integration.Tests/Spring.Data.NHibernate/TestObject.hbm.xml"; - c.AddInputStream(loader.GetResource(resourceName).InputStream); - ISessionFactory sf = c.BuildSessionFactory(); - } - - - - [Test] - public void LeaksConnectionSampleCodeFromBlogPost() - { - - int counter = 200; - - for (int i = 0; i < counter; i++) - { - - using (TransactionScope scope = new TransactionScope(TransactionScopeOption.Required)) - { - using (ISession session = ((ISessionFactory)ctx["SessionFactory"]).OpenSession()) - { - /* - IQuery q = session.CreateQuery("from Spring.Data.NHibernate.TestObject"); - q.List(); - */ - - using (ITransaction transaction = session.BeginTransaction()) - { - IQuery q = session.CreateQuery("from Spring.Data.NHibernate.TestObject"); - q.List(); - //transaction.Rollback(); - } - - } - } - - } - - } - - } - -} +#region License + +/* + * Copyright © 2002-2011 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#endregion + +#region Imports + +using System; +using System.Data; +using log4net; +using log4net.Config; +using NHibernate; +using NUnit.Framework; +using Spring.Context; +using Spring.Context.Support; +using Spring.Data.Common; +using Spring.Transaction; +using Spring.Transaction.Interceptor; +using System.Transactions; +using System.Collections.Generic; +using Spring.Core.IO; +using NHibernate.Cfg; +using System.Diagnostics; +using System.Threading; + +#endregion + +namespace Spring.Data.NHibernate +{ + /// + /// Use of Hibernate Template against database. + /// + /// Mark Pollack (.NET) + [TestFixture] + [Ignore("Bug Fix in Progress...unignore once resolved and tests are cleaned up")] + public class HibernateTxScopeTransactionManagerTests + { + /// + /// The shared instance for this class (and derived classes). + /// + protected static readonly ILog log = + LogManager.GetLogger(typeof(HibernateTxScopeTransactionManagerTests)); + + private IApplicationContext ctx; + + private IDbProvider dbProvider; + + private IPlatformTransactionManager transactionManager; + + [Test] + public void CanProperlyReleaseConnectionsWhenTransactionsAreRolledBack() + { + for (int i = 0; i < 200; i++) + { + try + { + DoSave(true); + } + catch (Exception) + { + } + } + } + + [Test] + [Ignore("Test harness left in place to demonstrate the leaking connection issue present in NH2.1 and later")] + public void DoesNotLeakConnection() + { + DoPreventConnectionLeaksPreventionPattern(); + } + + [Test] + [Ignore("Test harness left in place to demonstrate the leaking connection issue present in NH2.1 and later")] + public void LeaksConnection() + { + DoConnectionLeakingAntiPattern(); + } + + [SetUp] + public void SetUp() + { + //NamespaceParserRegistry.RegisterParser(typeof(DatabaseNamespaceParser)); + BasicConfigurator.Configure(); + string assemblyName = GetType().Assembly.GetName().Name; + ctx = new XmlApplicationContext("assembly://" + assemblyName + "/Spring.Data.NHibernate/HibernateTxScopeTransactionManagerTests.xml"); + + dbProvider = ctx["DbProvider"] as IDbProvider; + transactionManager = ctx["transactionManager"] as IPlatformTransactionManager; + CleanupDatabase(dbProvider.CreateConnection()); + } + + private static void CleanupDatabase(IDbConnection conn) + { + conn.Open(); + using (conn) + { + ExecuteSql(conn, "delete credits"); + ExecuteSql(conn, "delete debits"); + ExecuteSql(conn, "delete TestObjects"); + ExecuteSql(conn, "insert TestObjects(Age,Name) Values(5, 'Gabriel')"); + } + } + + /// + /// this method will fail the test as it follows the anti-pattern of failing to use the (mandatory) NH Transaction to wrap the session call + /// + private void DoConnectionLeakingAntiPattern() + { + //this counter must be larger than the 'Max Pool Size' setting in the connection string for this test to demonstrate the issue + int counter = 200; + + for (int i = 0; i < counter; i++) + { + + using (TransactionScope scope = new TransactionScope(TransactionScopeOption.Required)) + { + using (ISession session = ((ISessionFactory)ctx["SessionFactory"]).OpenSession()) + { + IList to = session.CreateCriteria().List(); + } + + //because scope.Complete() is never called, the Transaction is rolled back and this results in the orpahned connections + } + + } + + } + + /// + /// this method demonstrates the proper pattern to follow w NH 2.1 and later, mandating the use of an NH transaction wrapping the session + /// + private void DoPreventConnectionLeaksPreventionPattern() + { + //this counter must be larger than the 'Max Pool Size' setting in the connection string for this test to demonstrate the issue + int counter = 200; + + for (int i = 0; i < counter; i++) + { + + using (TransactionScope scope = new TransactionScope(TransactionScopeOption.Required)) + { + using (ISession session = ((ISessionFactory)ctx["SessionFactory"]).OpenSession()) + { + using (ITransaction tx = session.BeginTransaction()) + { + try + { + IList to = session.CreateCriteria().List(); + throw new Exception("this exception simulates something going wrong!"); + + } + catch (Exception) + { + tx.Rollback(); + } + } + } + + //because scope.Complete() is never called, the Transaction is rolled back but the presence of the NH transaction and its + // associated Rollback() call will enable NH to properly release the connection + } + } + } + + [Transaction] + private void DoSave(bool simulateException) + { + using (TransactionScope tx = new TransactionScope()) + { + ISession s = ((ISessionFactory)ctx["SessionFactory"]).OpenSession(); + + TestObject to = new TestObject(); + to.Name = "George"; + to.Age = 33; + + if (simulateException) { throw new Exception("Simulated Failure in Save Operation."); } + + s.Save(to); + + tx.Complete(); + } + + } + + private static void ExecuteSql(IDbConnection conn, string sql) + { + IDbCommand cmd; + cmd = conn.CreateCommand(); + cmd.CommandText = sql; + cmd.ExecuteNonQuery(); + } + + [Test] + public void Test2() + { + for (int i = 0; i < 200; i++) + { + //DaoOperationsViaProxyFactoryWithTxAttributes(); + try + { + zzzExecuteDaoOperations(); + } + catch (Exception) + { + + } + } + } + + private void zzzExecuteDaoOperations() + { + ITestObjectDao dao = (ITestObjectDao)ctx["SimpleTestDao"]; + + TestObject toGeorge = new TestObject(); + toGeorge.Name = "George"; + toGeorge.Age = 33; + dao.Create(toGeorge); + } + + + //private void MethodForThread() + //{ + // + // MethodForThread((0)); + //} + + private void MethodForThread(object taskCounter) + { + int counter = (int)taskCounter; + + for (int i = 0; i < 200; i++) + { + try + { + Debug.WriteLine(String.Format("Task: {0} | Loop Count: {1}", counter, i)); + zzzExecuteDaoOperations(); + } + catch (Exception) + { + + } + } + + Debug.WriteLine(String.Format("\n---------\nCompleting Task Number {0}\n---------\n", taskCounter)); + } + + + [Test] + public void Test() + { + BasicConfigurator.Configure(); + string assemblyName = GetType().Assembly.GetName().Name; + ctx = new XmlApplicationContext("assembly://" + assemblyName + "/Spring.Data.NHibernate/txScopeBugTests.xml"); + + dbProvider = ctx["DbProvider"] as IDbProvider; + transactionManager = ctx["TransactionManager"] as IPlatformTransactionManager; + CleanupDatabase(dbProvider.CreateConnection()); + + List threads = new List(); + + for (int i = 0; i < 200; i++) + { + int taskCounter = i; + Debug.WriteLine(String.Format("\n---------\nSpawning Task Number {0}\n---------\n", taskCounter)); + + Thread t = new Thread(MethodForThread); + threads.Add(t); + t.Start(taskCounter); + + } + + foreach (Thread thread in threads) + { + thread.Join(); + } + } + + public void DoNothing() + { + ConfigurableResourceLoader loader = new ConfigurableResourceLoader(); + Configuration c = new Configuration(); + String resourceName = + "assembly://Spring.Data.NHibernate21.Integration.Tests/Spring.Data.NHibernate/TestObject.hbm.xml"; + c.AddInputStream(loader.GetResource(resourceName).InputStream); + ISessionFactory sf = c.BuildSessionFactory(); + } + + + + [Test] + public void LeaksConnectionSampleCodeFromBlogPost() + { + + int counter = 200; + + for (int i = 0; i < counter; i++) + { + + using (TransactionScope scope = new TransactionScope(TransactionScopeOption.Required)) + { + using (ISession session = ((ISessionFactory)ctx["SessionFactory"]).OpenSession()) + { + /* + IQuery q = session.CreateQuery("from Spring.Data.NHibernate.TestObject"); + q.List(); + */ + + using (ITransaction transaction = session.BeginTransaction()) + { + IQuery q = session.CreateQuery("from Spring.Data.NHibernate.TestObject"); + q.List(); + //transaction.Rollback(); + } + + } + } + + } + + } + + } + +} diff --git a/test/Spring/Spring.Data.NHibernate21.Integration.Tests/Data/NHibernate/HibernateTxScopeTransactionManagerTests.xml b/test/Spring/Spring.Data.NHibernate.Integration.Tests/Data/NHibernate/HibernateTxScopeTransactionManagerTests.xml similarity index 97% rename from test/Spring/Spring.Data.NHibernate21.Integration.Tests/Data/NHibernate/HibernateTxScopeTransactionManagerTests.xml rename to test/Spring/Spring.Data.NHibernate.Integration.Tests/Data/NHibernate/HibernateTxScopeTransactionManagerTests.xml index a9392ddb..953a4391 100644 --- a/test/Spring/Spring.Data.NHibernate21.Integration.Tests/Data/NHibernate/HibernateTxScopeTransactionManagerTests.xml +++ b/test/Spring/Spring.Data.NHibernate.Integration.Tests/Data/NHibernate/HibernateTxScopeTransactionManagerTests.xml @@ -1,35 +1,35 @@ - - - - - - - - - - - assembly://Spring.Data.NHibernate21.Integration.Tests/Spring.Data.NHibernate/TestObject.hbm.xml - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + assembly://Spring.Data.NHibernate21.Integration.Tests/Spring.Data.NHibernate/TestObject.hbm.xml + + + + + + + + + + + + + + + + + + + + diff --git a/test/Spring/Spring.Data.NHibernate21.Integration.Tests/Data/NHibernate/IAccountController.cs b/test/Spring/Spring.Data.NHibernate.Integration.Tests/Data/NHibernate/IAccountController.cs similarity index 94% rename from test/Spring/Spring.Data.NHibernate21.Integration.Tests/Data/NHibernate/IAccountController.cs rename to test/Spring/Spring.Data.NHibernate.Integration.Tests/Data/NHibernate/IAccountController.cs index f7fd86f1..dc5079ea 100644 --- a/test/Spring/Spring.Data.NHibernate21.Integration.Tests/Data/NHibernate/IAccountController.cs +++ b/test/Spring/Spring.Data.NHibernate.Integration.Tests/Data/NHibernate/IAccountController.cs @@ -1,7 +1,7 @@ -namespace Spring.Data.NHibernate -{ - public interface IAccountController - { - void DoWork(); - } +namespace Spring.Data.NHibernate +{ + public interface IAccountController + { + void DoWork(); + } } \ No newline at end of file diff --git a/test/Spring/Spring.Data.NHibernate.Integration.Tests/Data/NHibernate/MultipleDbTests.xml b/test/Spring/Spring.Data.NHibernate.Integration.Tests/Data/NHibernate/MultipleDbTests.xml deleted file mode 100644 index e4df8c65..00000000 --- a/test/Spring/Spring.Data.NHibernate.Integration.Tests/Data/NHibernate/MultipleDbTests.xml +++ /dev/null @@ -1,129 +0,0 @@ - - - - - - - - - - - - - Spring.Data.NHibernate.Integration.Tests - - - - - - - - - - - - - - - - - - - - - - Spring.Data.NHibernate.Integration.Tests - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - transactionInterceptor - - - - - - - - - - - - - - \ No newline at end of file diff --git a/test/Spring/Spring.Data.NHibernate.Integration.Tests/Data/NHibernate/NHDAOTests.cs b/test/Spring/Spring.Data.NHibernate.Integration.Tests/Data/NHibernate/NHDAOTests.cs index 24169c8d..fc58e298 100644 --- a/test/Spring/Spring.Data.NHibernate.Integration.Tests/Data/NHibernate/NHDAOTests.cs +++ b/test/Spring/Spring.Data.NHibernate.Integration.Tests/Data/NHibernate/NHDAOTests.cs @@ -60,7 +60,7 @@ namespace Spring.Data.NHibernate } [Test] - public void DbProviderTransalation() + public void DbProviderTranslation() { ISessionFactory sf = ctx["SessionFactory"] as ISessionFactory; diff --git a/test/Spring/Spring.Data.NHibernate.Integration.Tests/Data/NHibernate/NHDAOTests.xml b/test/Spring/Spring.Data.NHibernate.Integration.Tests/Data/NHibernate/NHDAOTests.xml deleted file mode 100644 index 8ddb6c67..00000000 --- a/test/Spring/Spring.Data.NHibernate.Integration.Tests/Data/NHibernate/NHDAOTests.xml +++ /dev/null @@ -1,111 +0,0 @@ - - - - - - - - - - - - - Spring.Data.NHibernate.Integration.Tests - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - transactionInterceptor - - - - - - - - - - - - - - \ No newline at end of file diff --git a/test/Spring/Spring.Data.NHibernate21.Integration.Tests/Data/NHibernate/Services.xml b/test/Spring/Spring.Data.NHibernate.Integration.Tests/Data/NHibernate/Services.xml similarity index 90% rename from test/Spring/Spring.Data.NHibernate21.Integration.Tests/Data/NHibernate/Services.xml rename to test/Spring/Spring.Data.NHibernate.Integration.Tests/Data/NHibernate/Services.xml index 1b1c958d..c4154bba 100644 --- a/test/Spring/Spring.Data.NHibernate21.Integration.Tests/Data/NHibernate/Services.xml +++ b/test/Spring/Spring.Data.NHibernate.Integration.Tests/Data/NHibernate/Services.xml @@ -1,52 +1,52 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/test/Spring/Spring.Data.NHibernate21.Integration.Tests/Data/NHibernate/SimpleTestDao.cs b/test/Spring/Spring.Data.NHibernate.Integration.Tests/Data/NHibernate/SimpleTestDao.cs similarity index 96% rename from test/Spring/Spring.Data.NHibernate21.Integration.Tests/Data/NHibernate/SimpleTestDao.cs rename to test/Spring/Spring.Data.NHibernate.Integration.Tests/Data/NHibernate/SimpleTestDao.cs index 5991df14..8f24f7c6 100644 --- a/test/Spring/Spring.Data.NHibernate21.Integration.Tests/Data/NHibernate/SimpleTestDao.cs +++ b/test/Spring/Spring.Data.NHibernate.Integration.Tests/Data/NHibernate/SimpleTestDao.cs @@ -1,61 +1,61 @@ -using System; -using NHibernate; -using Spring.Transaction.Interceptor; -using System.Threading; - -namespace Spring.Data.NHibernate -{ - [Transaction] - public class SimpleTestDao : ITestObjectDao - { - - private int _secondsToSleepBeforeException; - public int SecondsToSleepBeforeException - { - get { return _secondsToSleepBeforeException; } - set - { - _secondsToSleepBeforeException = value * 1000; - } - } - - - public ISessionFactory SessionFactory - { - get { return sessionFactory; } - set { sessionFactory = value; } - } - - private ISessionFactory sessionFactory; - - [Transaction] - public void Create(TestObject to) - { - sessionFactory.GetCurrentSession().FlushMode = FlushMode.Always; - sessionFactory.GetCurrentSession().Save(to); - Thread.Sleep(_secondsToSleepBeforeException); - - throw new Exception(); - } - - public void Update(TestObject to) - { - throw new NotImplementedException(); - } - - public void Delete(TestObject to) - { - throw new NotImplementedException(); - } - - public TestObject FindByName(string name) - { - throw new NotImplementedException(); - } - - public void CreateUpdateRollback(TestObject to) - { - throw new NotImplementedException(); - } - } +using System; +using NHibernate; +using Spring.Transaction.Interceptor; +using System.Threading; + +namespace Spring.Data.NHibernate +{ + [Transaction] + public class SimpleTestDao : ITestObjectDao + { + + private int _secondsToSleepBeforeException; + public int SecondsToSleepBeforeException + { + get { return _secondsToSleepBeforeException; } + set + { + _secondsToSleepBeforeException = value * 1000; + } + } + + + public ISessionFactory SessionFactory + { + get { return sessionFactory; } + set { sessionFactory = value; } + } + + private ISessionFactory sessionFactory; + + [Transaction] + public void Create(TestObject to) + { + sessionFactory.GetCurrentSession().FlushMode = FlushMode.Always; + sessionFactory.GetCurrentSession().Save(to); + Thread.Sleep(_secondsToSleepBeforeException); + + throw new Exception(); + } + + public void Update(TestObject to) + { + throw new NotImplementedException(); + } + + public void Delete(TestObject to) + { + throw new NotImplementedException(); + } + + public TestObject FindByName(string name) + { + throw new NotImplementedException(); + } + + public void CreateUpdateRollback(TestObject to) + { + throw new NotImplementedException(); + } + } } \ No newline at end of file diff --git a/test/Spring/Spring.Data.NHibernate.Integration.Tests/Data/NHibernate/TestObject.hbm.xml b/test/Spring/Spring.Data.NHibernate.Integration.Tests/Data/NHibernate/TestObject.hbm.xml deleted file mode 100644 index 4fe95b77..00000000 --- a/test/Spring/Spring.Data.NHibernate.Integration.Tests/Data/NHibernate/TestObject.hbm.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - - - - - - - - diff --git a/test/Spring/Spring.Data.NHibernate.Integration.Tests/Data/NHibernate/dbProviderTemplateTests.xml b/test/Spring/Spring.Data.NHibernate.Integration.Tests/Data/NHibernate/dbProviderTemplateTests.xml deleted file mode 100644 index 464110d6..00000000 --- a/test/Spring/Spring.Data.NHibernate.Integration.Tests/Data/NHibernate/dbProviderTemplateTests.xml +++ /dev/null @@ -1,105 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - assembly://Spring.Data.NHibernate.Integration.Tests/Spring.Data.NHibernate/TestObject.hbm.xml - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/test/Spring/Spring.Data.NHibernate.Integration.Tests/Data/NHibernate/templateTests.xml b/test/Spring/Spring.Data.NHibernate.Integration.Tests/Data/NHibernate/templateTests.xml deleted file mode 100644 index 0bbfb0ec..00000000 --- a/test/Spring/Spring.Data.NHibernate.Integration.Tests/Data/NHibernate/templateTests.xml +++ /dev/null @@ -1,120 +0,0 @@ - - - - - - - - - - - - - - - assembly://Spring.Data.NHibernate.Integration.Tests/Spring.Data.NHibernate/TestObject.hbm.xml - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/test/Spring/Spring.Data.NHibernate21.Integration.Tests/Data/NHibernate/txScopeBugTests.xml b/test/Spring/Spring.Data.NHibernate.Integration.Tests/Data/NHibernate/txScopeBugTests.xml similarity index 97% rename from test/Spring/Spring.Data.NHibernate21.Integration.Tests/Data/NHibernate/txScopeBugTests.xml rename to test/Spring/Spring.Data.NHibernate.Integration.Tests/Data/NHibernate/txScopeBugTests.xml index bbcdbdbd..c829404f 100644 --- a/test/Spring/Spring.Data.NHibernate21.Integration.Tests/Data/NHibernate/txScopeBugTests.xml +++ b/test/Spring/Spring.Data.NHibernate.Integration.Tests/Data/NHibernate/txScopeBugTests.xml @@ -1,63 +1,63 @@ - - - - - - - - - - - - - - - - - assembly://Spring.Data.NHibernate21.Integration.Tests/Spring.Data.NHibernate/TestObject.hbm.xml - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + assembly://Spring.Data.NHibernate21.Integration.Tests/Spring.Data.NHibernate/TestObject.hbm.xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/test/Spring/Spring.Data.NHibernate21.Integration.Tests/NHibernate.Test.dll.config b/test/Spring/Spring.Data.NHibernate.Integration.Tests/NHibernate.Test.dll.config similarity index 97% rename from test/Spring/Spring.Data.NHibernate21.Integration.Tests/NHibernate.Test.dll.config rename to test/Spring/Spring.Data.NHibernate.Integration.Tests/NHibernate.Test.dll.config index bc986dfd..ce37d3f6 100644 --- a/test/Spring/Spring.Data.NHibernate21.Integration.Tests/NHibernate.Test.dll.config +++ b/test/Spring/Spring.Data.NHibernate.Integration.Tests/NHibernate.Test.dll.config @@ -1,114 +1,114 @@ - - - -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - NHibernate.Test.DebugConnectionProvider, NHibernate.Test - NHibernate.Cache.HashtableCacheProvider, NHibernate - true - false - - 10 - ReadCommitted - none - true - - - NHibernate.Driver.SqlClientDriver - NHibernate.Dialect.MsSql2005Dialect - Server=SPRINGQA;initial catalog=nhibernate;Integrated Security=SSPI - - false - true - 444 - true 1, false 0, yes 'Y', no 'N' - false - - - Spring.Data.NHibernate.Bytecode.ProxyFactoryFactory, Spring.Data.NHibernate21 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + NHibernate.Test.DebugConnectionProvider, NHibernate.Test + NHibernate.Cache.HashtableCacheProvider, NHibernate + true + false + + 10 + ReadCommitted + none + true + + + NHibernate.Driver.SqlClientDriver + NHibernate.Dialect.MsSql2005Dialect + Server=SPRINGQA;initial catalog=nhibernate;Integrated Security=SSPI + + false + true + 444 + true 1, false 0, yes 'Y', no 'N' + false + + + Spring.Data.NHibernate.Bytecode.ProxyFactoryFactory, Spring.Data.NHibernate21 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/test/Spring/Spring.Data.NHibernate21.Integration.Tests/README.TXT b/test/Spring/Spring.Data.NHibernate.Integration.Tests/README.TXT similarity index 97% rename from test/Spring/Spring.Data.NHibernate21.Integration.Tests/README.TXT rename to test/Spring/Spring.Data.NHibernate.Integration.Tests/README.TXT index 53c15305..fb71c5bb 100644 --- a/test/Spring/Spring.Data.NHibernate21.Integration.Tests/README.TXT +++ b/test/Spring/Spring.Data.NHibernate.Integration.Tests/README.TXT @@ -1,10 +1,10 @@ -Running NHibernate.Tests against Spring.Data.NHibernate21 from within VS: - -Open "Project Properties", "Debug" Section and enter - - Program - ..\..\build-support\tools\nunit\net-2.0\nunit-console-x86.exe - NHibernate.Test.dll /nologo /wait - - +Running NHibernate.Tests against Spring.Data.NHibernate21 from within VS: + +Open "Project Properties", "Debug" Section and enter + + Program + ..\..\build-support\tools\nunit\net-2.0\nunit-console-x86.exe + NHibernate.Test.dll /nologo /wait + + To run the tests hit F5 \ No newline at end of file diff --git a/test/Spring/Spring.Data.NHibernate21.Integration.Tests/RecreateDatabases.sql b/test/Spring/Spring.Data.NHibernate.Integration.Tests/RecreateDatabases.sql similarity index 96% rename from test/Spring/Spring.Data.NHibernate21.Integration.Tests/RecreateDatabases.sql rename to test/Spring/Spring.Data.NHibernate.Integration.Tests/RecreateDatabases.sql index b405b1d2..bf16ee2a 100644 --- a/test/Spring/Spring.Data.NHibernate21.Integration.Tests/RecreateDatabases.sql +++ b/test/Spring/Spring.Data.NHibernate.Integration.Tests/RecreateDatabases.sql @@ -1,42 +1,42 @@ -IF EXISTS (SELECT name FROM sys.databases WHERE name = N'Spring') -BEGIN - ALTER DATABASE Spring - SET SINGLE_USER - WITH ROLLBACK IMMEDIATE - - DROP DATABASE Spring -END -GO - -IF EXISTS (SELECT name FROM sys.databases WHERE name = N'NHibernate') -BEGIN - ALTER DATABASE NHibernate - SET SINGLE_USER - WITH ROLLBACK IMMEDIATE - - DROP DATABASE NHibernate -END -GO - -IF EXISTS (SELECT * FROM sys.server_principals WHERE name = N'springqa2') - DROP LOGIN [springqa2] -GO - -CREATE DATABASE Spring -GO -CREATE DATABASE NHibernate -GO - -CREATE LOGIN [springqa2] WITH PASSWORD=N'springqa2', DEFAULT_DATABASE=[Spring], DEFAULT_LANGUAGE=[us_english], CHECK_EXPIRATION = OFF, CHECK_POLICY = OFF - -GO - -USE Spring -CREATE USER [springqa2] FOR LOGIN [springqa2] WITH DEFAULT_SCHEMA=[dbo] -EXEC sp_addrolemember 'db_owner', 'springqa2' -GO - --- ALTERNATIVELY JUST DROP ALL TABLES: --- EXEC sp_MSforeachtable 'ALTER TABLE ? NOCHECK CONSTRAINT ALL'; --- EXEC sp_MSforeachtable 'ALTER TABLE ? DISABLE TRIGGER ALL'; --- EXEC sp_MSForEachTable 'DROP TABLE ?'; +IF EXISTS (SELECT name FROM sys.databases WHERE name = N'Spring') +BEGIN + ALTER DATABASE Spring + SET SINGLE_USER + WITH ROLLBACK IMMEDIATE + + DROP DATABASE Spring +END +GO + +IF EXISTS (SELECT name FROM sys.databases WHERE name = N'NHibernate') +BEGIN + ALTER DATABASE NHibernate + SET SINGLE_USER + WITH ROLLBACK IMMEDIATE + + DROP DATABASE NHibernate +END +GO + +IF EXISTS (SELECT * FROM sys.server_principals WHERE name = N'springqa2') + DROP LOGIN [springqa2] +GO + +CREATE DATABASE Spring +GO +CREATE DATABASE NHibernate +GO + +CREATE LOGIN [springqa2] WITH PASSWORD=N'springqa2', DEFAULT_DATABASE=[Spring], DEFAULT_LANGUAGE=[us_english], CHECK_EXPIRATION = OFF, CHECK_POLICY = OFF + +GO + +USE Spring +CREATE USER [springqa2] FOR LOGIN [springqa2] WITH DEFAULT_SCHEMA=[dbo] +EXEC sp_addrolemember 'db_owner', 'springqa2' +GO + +-- ALTERNATIVELY JUST DROP ALL TABLES: +-- EXEC sp_MSforeachtable 'ALTER TABLE ? NOCHECK CONSTRAINT ALL'; +-- EXEC sp_MSforeachtable 'ALTER TABLE ? DISABLE TRIGGER ALL'; +-- EXEC sp_MSForEachTable 'DROP TABLE ?'; diff --git a/test/Spring/Spring.Data.NHibernate21.Integration.Tests/Setup.cs b/test/Spring/Spring.Data.NHibernate.Integration.Tests/Setup.cs similarity index 97% rename from test/Spring/Spring.Data.NHibernate21.Integration.Tests/Setup.cs rename to test/Spring/Spring.Data.NHibernate.Integration.Tests/Setup.cs index 6ae35e9b..93ca2169 100644 --- a/test/Spring/Spring.Data.NHibernate21.Integration.Tests/Setup.cs +++ b/test/Spring/Spring.Data.NHibernate.Integration.Tests/Setup.cs @@ -1,5 +1,5 @@ -#region License - +#region License + /* * Copyright 2002-2010 the original author or authors. * @@ -14,47 +14,47 @@ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. - */ - -#endregion - -using NUnit.Framework; -using Spring.Core.IO; -using Spring.Data.Common; -using Spring.Data.Core; -using Spring.Testing.Ado; - -namespace Spring -{ - /// - /// - /// Erich Eichinger - [SetUpFixture] - public class Setup - { - private const string DBConnection = "Data Source=SPRINGQA;Database=$DATABASE$;Trusted_Connection=False;User ID=springqa;Password=springqa"; - private readonly IResourceLoader resourceLoader = new ConfigurableResourceLoader(); - - private IResource GetResource(object instance, string name) - { - string resourcePath = TestResourceLoader.GetAssemblyResourceUri(instance, name); - return resourceLoader.GetResource(resourcePath); - } - - [SetUp] - public void InstallMSSQLDatabase() - { - IDbProvider dbProvider = DbProviderFactory.GetDbProvider("SqlServer-2.0"); - AdoTemplate ado = new AdoTemplate(dbProvider); - - // (re-)create database(s) - dbProvider.ConnectionString = DBConnection.Replace("$DATABASE$", "master"); - SimpleAdoTestUtils.ExecuteSqlScript(ado, GetResource(this, "RecreateDatabases.sql")); - - // create tables - dbProvider.ConnectionString = DBConnection.Replace("$DATABASE$", "Spring"); - SimpleAdoTestUtils.ExecuteSqlScript(ado, GetResource(this, "Data.NHibernate/creditdebit.sql")); - SimpleAdoTestUtils.ExecuteSqlScript(ado, GetResource(this, "Data.NHibernate/testObject.sql")); - } - } + */ + +#endregion + +using NUnit.Framework; +using Spring.Core.IO; +using Spring.Data.Common; +using Spring.Data.Core; +using Spring.Testing.Ado; + +namespace Spring +{ + /// + /// + /// Erich Eichinger + [SetUpFixture] + public class Setup + { + private const string DBConnection = "Data Source=SPRINGQA;Database=$DATABASE$;Trusted_Connection=False;User ID=springqa;Password=springqa"; + private readonly IResourceLoader resourceLoader = new ConfigurableResourceLoader(); + + private IResource GetResource(object instance, string name) + { + string resourcePath = TestResourceLoader.GetAssemblyResourceUri(instance, name); + return resourceLoader.GetResource(resourcePath); + } + + [SetUp] + public void InstallMSSQLDatabase() + { + IDbProvider dbProvider = DbProviderFactory.GetDbProvider("SqlServer-2.0"); + AdoTemplate ado = new AdoTemplate(dbProvider); + + // (re-)create database(s) + dbProvider.ConnectionString = DBConnection.Replace("$DATABASE$", "master"); + SimpleAdoTestUtils.ExecuteSqlScript(ado, GetResource(this, "RecreateDatabases.sql")); + + // create tables + dbProvider.ConnectionString = DBConnection.Replace("$DATABASE$", "Spring"); + SimpleAdoTestUtils.ExecuteSqlScript(ado, GetResource(this, "Data.NHibernate/creditdebit.sql")); + SimpleAdoTestUtils.ExecuteSqlScript(ado, GetResource(this, "Data.NHibernate/testObject.sql")); + } + } } \ No newline at end of file diff --git a/test/Spring/Spring.Data.NHibernate21.Integration.Tests/TestEnbeddedConfig.cfg.xml b/test/Spring/Spring.Data.NHibernate.Integration.Tests/TestEnbeddedConfig.cfg.xml similarity index 98% rename from test/Spring/Spring.Data.NHibernate21.Integration.Tests/TestEnbeddedConfig.cfg.xml rename to test/Spring/Spring.Data.NHibernate.Integration.Tests/TestEnbeddedConfig.cfg.xml index 2d1cd7ea..d5bce2e5 100644 --- a/test/Spring/Spring.Data.NHibernate21.Integration.Tests/TestEnbeddedConfig.cfg.xml +++ b/test/Spring/Spring.Data.NHibernate.Integration.Tests/TestEnbeddedConfig.cfg.xml @@ -1,11 +1,11 @@ - - - - NHibernate.Test.DebugConnectionProvider, NHibernate.Test - NHibernate.Cache.HashtableCacheProvider, NHibernate - NHibernate.Driver.SqlClientDriver - Server=localhost;initial catalog=nhibernate;User Id=;Password= - true 1, false 0, yes 1, no 0 - NHibernate.Dialect.MsSql2000Dialect - + + + + NHibernate.Test.DebugConnectionProvider, NHibernate.Test + NHibernate.Cache.HashtableCacheProvider, NHibernate + NHibernate.Driver.SqlClientDriver + Server=localhost;initial catalog=nhibernate;User Id=;Password= + true 1, false 0, yes 1, no 0 + NHibernate.Dialect.MsSql2000Dialect + \ No newline at end of file diff --git a/test/Spring/Spring.Data.NHibernate.Tests/Data/NHibernate/Config/AopConfiguration.xml b/test/Spring/Spring.Data.NHibernate.Tests/Data/NHibernate/Config/AopConfiguration.xml deleted file mode 100644 index bd470351..00000000 --- a/test/Spring/Spring.Data.NHibernate.Tests/Data/NHibernate/Config/AopConfiguration.xml +++ /dev/null @@ -1,97 +0,0 @@ - - - - - - - - - - - - - - - assembly://Spring.Data.NHibernate.Tests/Spring.Data.NHibernate/TestObject.hbm.xml - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - loggingAroundAdvice - - - - - - - - - - TestObjectDao - - - - - - - - - - \ No newline at end of file diff --git a/test/Spring/Spring.Data.NHibernate.Tests/Data/NHibernate/Config/AopConfigurationTxPointcut.xml b/test/Spring/Spring.Data.NHibernate.Tests/Data/NHibernate/Config/AopConfigurationTxPointcut.xml deleted file mode 100644 index 2e6cdae6..00000000 --- a/test/Spring/Spring.Data.NHibernate.Tests/Data/NHibernate/Config/AopConfigurationTxPointcut.xml +++ /dev/null @@ -1,94 +0,0 @@ - - - - - - - - - - - - - - - assembly://Spring.Data.NHibernate.Tests/Spring.Data.NHibernate/TestObject.hbm.xml - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 12341234asdf* - - - - - - - - - loggingAdvisor - - - - - - - - - - TestObjectDao - - - - - - - - - \ No newline at end of file diff --git a/test/Spring/Spring.Data.NHibernate21.Tests/Data/NHibernate/DelegatingLocalSessionFactoryObjectTests.cs b/test/Spring/Spring.Data.NHibernate.Tests/Data/NHibernate/DelegatingLocalSessionFactoryObjectTests.cs similarity index 97% rename from test/Spring/Spring.Data.NHibernate21.Tests/Data/NHibernate/DelegatingLocalSessionFactoryObjectTests.cs rename to test/Spring/Spring.Data.NHibernate.Tests/Data/NHibernate/DelegatingLocalSessionFactoryObjectTests.cs index ad633493..3bf2c47d 100644 --- a/test/Spring/Spring.Data.NHibernate21.Tests/Data/NHibernate/DelegatingLocalSessionFactoryObjectTests.cs +++ b/test/Spring/Spring.Data.NHibernate.Tests/Data/NHibernate/DelegatingLocalSessionFactoryObjectTests.cs @@ -1,49 +1,49 @@ -using System; -using NUnit.Framework; -using NhCfg = NHibernate.Cfg; -using NHibernate; -using System.Collections; -using Spring.Data.Common; -using NHibernate.Dialect; -using Spring.Context.Support; -using NHibernate.Connection; -using NHibernate.Driver; -using Spring.Data.NHibernate.Bytecode; - -namespace Spring.Data.NHibernate -{ - - [TestFixture] - public class DelegatingLocalSessionFactoryObjectTests - { - [Test] - public void CanSetConfigurationAndProperties() - { - IDbProvider dbProvider = DbProviderFactory.GetDbProvider("System.Data.SqlClient"); - dbProvider.ConnectionString = "Data Source=(local);Database=Spring;Trusted_Connection=false"; - DelegatingLocalSessionFactoryObject lsfo = new DelegatingLocalSessionFactoryObject(); - lsfo.DbProvider = dbProvider; - lsfo.ApplicationContext = new StaticApplicationContext(); - - IDictionary properties = new Hashtable(); - properties.Add(NhCfg.Environment.Dialect, typeof(MsSql2000Dialect).AssemblyQualifiedName); - properties.Add(NhCfg.Environment.ConnectionDriver, typeof(SqlClientDriver).AssemblyQualifiedName); - properties.Add(NhCfg.Environment.ConnectionProvider, typeof(DriverConnectionProvider).AssemblyQualifiedName); - - properties.Add(NhCfg.Environment.Hbm2ddlKeyWords, "none"); - - lsfo.HibernateProperties = properties; - lsfo.AfterPropertiesSet(); - - Assert.IsNotNull(lsfo.Configuration); - Assert.AreEqual(lsfo.Configuration.Properties[NhCfg.Environment.ConnectionProvider], typeof(DriverConnectionProvider).AssemblyQualifiedName); - Assert.AreEqual(lsfo.Configuration.Properties[NhCfg.Environment.ConnectionDriver], typeof(SqlClientDriver).AssemblyQualifiedName); - Assert.AreEqual(lsfo.Configuration.Properties[NhCfg.Environment.Dialect], typeof(MsSql2000Dialect).AssemblyQualifiedName); - - Assert.AreEqual(lsfo.Configuration.Properties[NhCfg.Environment.ProxyFactoryFactoryClass], typeof(ProxyFactoryFactory).AssemblyQualifiedName); - - } - - } - -} +using System; +using NUnit.Framework; +using NhCfg = NHibernate.Cfg; +using NHibernate; +using System.Collections; +using Spring.Data.Common; +using NHibernate.Dialect; +using Spring.Context.Support; +using NHibernate.Connection; +using NHibernate.Driver; +using Spring.Data.NHibernate.Bytecode; + +namespace Spring.Data.NHibernate +{ + + [TestFixture] + public class DelegatingLocalSessionFactoryObjectTests + { + [Test] + public void CanSetConfigurationAndProperties() + { + IDbProvider dbProvider = DbProviderFactory.GetDbProvider("System.Data.SqlClient"); + dbProvider.ConnectionString = "Data Source=(local);Database=Spring;Trusted_Connection=false"; + DelegatingLocalSessionFactoryObject lsfo = new DelegatingLocalSessionFactoryObject(); + lsfo.DbProvider = dbProvider; + lsfo.ApplicationContext = new StaticApplicationContext(); + + IDictionary properties = new Hashtable(); + properties.Add(NhCfg.Environment.Dialect, typeof(MsSql2000Dialect).AssemblyQualifiedName); + properties.Add(NhCfg.Environment.ConnectionDriver, typeof(SqlClientDriver).AssemblyQualifiedName); + properties.Add(NhCfg.Environment.ConnectionProvider, typeof(DriverConnectionProvider).AssemblyQualifiedName); + + properties.Add(NhCfg.Environment.Hbm2ddlKeyWords, "none"); + + lsfo.HibernateProperties = properties; + lsfo.AfterPropertiesSet(); + + Assert.IsNotNull(lsfo.Configuration); + Assert.AreEqual(lsfo.Configuration.Properties[NhCfg.Environment.ConnectionProvider], typeof(DriverConnectionProvider).AssemblyQualifiedName); + Assert.AreEqual(lsfo.Configuration.Properties[NhCfg.Environment.ConnectionDriver], typeof(SqlClientDriver).AssemblyQualifiedName); + Assert.AreEqual(lsfo.Configuration.Properties[NhCfg.Environment.Dialect], typeof(MsSql2000Dialect).AssemblyQualifiedName); + + Assert.AreEqual(lsfo.Configuration.Properties[NhCfg.Environment.ProxyFactoryFactoryClass], typeof(ProxyFactoryFactory).AssemblyQualifiedName); + + } + + } + +} diff --git a/test/Spring/Spring.Data.NHibernate.Tests/Data/NHibernate/HibernateTransactionManagerTests.cs b/test/Spring/Spring.Data.NHibernate.Tests/Data/NHibernate/HibernateTransactionManagerTests.cs index ee71e93f..16172e6f 100644 --- a/test/Spring/Spring.Data.NHibernate.Tests/Data/NHibernate/HibernateTransactionManagerTests.cs +++ b/test/Spring/Spring.Data.NHibernate.Tests/Data/NHibernate/HibernateTransactionManagerTests.cs @@ -436,11 +436,7 @@ namespace Spring.Data.NHibernate LastCall.On(session).Repeat.Twice(); transaction.Commit(); LastCall.On(transaction).Repeat.Once(); -#if NH_2_0 Expect.Call(session.Close()).Return(null).Repeat.Once(); -#else - Expect.Call(session.Close()).Return(null).Repeat.Twice(); -#endif //} mocks.ReplayAll(); @@ -476,10 +472,6 @@ namespace Spring.Data.NHibernate LastCall.IgnoreArguments(); session.FlushMode = FlushMode.Never; Expect.Call(session.FlushMode).Return(FlushMode.Never); -#if NH_2_0 -#else - Expect.Call(session.Close()).Return(null); -#endif mocks.ReplayAll(); @@ -618,11 +610,7 @@ namespace Spring.Data.NHibernate } else { -#if NH_2_0 || NH_2_1 rootCause = new PropertyValueException("mymsg", typeof(string).Name, "Name"); -#else - rootCause = new PropertyValueException("mymsg", typeof(string), "Name"); -#endif LastCall.On(transaction).Throw(rootCause); } diff --git a/test/Spring/Spring.Data.NHibernate.Tests/Data/NHibernate/LocalSessionFactoryObjectTests.cs b/test/Spring/Spring.Data.NHibernate.Tests/Data/NHibernate/LocalSessionFactoryObjectTests.cs index a6b87548..9c6ead15 100644 --- a/test/Spring/Spring.Data.NHibernate.Tests/Data/NHibernate/LocalSessionFactoryObjectTests.cs +++ b/test/Spring/Spring.Data.NHibernate.Tests/Data/NHibernate/LocalSessionFactoryObjectTests.cs @@ -20,6 +20,7 @@ using System.Collections; using System.IO; + using NHibernate; using NHibernate.Cfg; using NHibernate.Connection; @@ -28,12 +29,9 @@ using NHibernate.Driver; using Spring.Context.Support; using Spring.Data.Common; - -using NUnit.Framework; -#if NH_2_1 using Spring.Data.NHibernate.Bytecode; -#endif +using NUnit.Framework; namespace Spring.Data.NHibernate { @@ -59,11 +57,9 @@ namespace Spring.Data.NHibernate properties.Add(Environment.ConnectionDriver, typeof(SqlClientDriver).AssemblyQualifiedName); properties.Add(Environment.ConnectionProvider, typeof(DriverConnectionProvider).AssemblyQualifiedName); -#if NH_2_1 // since 2.1. "hbm2ddl.keywords = 'keywords'" is the default which causes the SessionFactory to connect to the db upon creation // we don't want this in this unit test properties.Add(Environment.Hbm2ddlKeyWords, "none"); -#endif sfo.HibernateProperties = properties; sfo.AfterPropertiesSet(); @@ -72,11 +68,9 @@ namespace Spring.Data.NHibernate Assert.AreEqual(sfo.Configuration.Properties[Environment.ConnectionDriver], typeof(SqlClientDriver).AssemblyQualifiedName); Assert.AreEqual(sfo.Configuration.Properties[Environment.Dialect], typeof(MsSql2000Dialect).AssemblyQualifiedName); -#if NH_2_1 Assert.AreEqual(sfo.Configuration.Properties[Environment.ProxyFactoryFactoryClass], typeof(ProxyFactoryFactory).AssemblyQualifiedName); // Spring's IBytecodeProvider should be the default // Assert.AreEqual(typeof(BytecodeProvider), Environment.BytecodeProvider.GetType(), "default IBytecodeProvider was not Spring's BytecodeProvider"); -#endif } [Test] @@ -101,6 +95,4 @@ namespace Spring.Data.NHibernate sfo.AfterPropertiesSet(); } } - - -} \ No newline at end of file +} diff --git a/test/Spring/Spring.Data.NHibernate.Tests/Data/NHibernate/TestObject.hbm.xml b/test/Spring/Spring.Data.NHibernate.Tests/Data/NHibernate/TestObject.hbm.xml deleted file mode 100644 index 60bd056e..00000000 --- a/test/Spring/Spring.Data.NHibernate.Tests/Data/NHibernate/TestObject.hbm.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - - - - - - - - diff --git a/test/Spring/Spring.Data.NHibernate21.Tests/HibernateCompilerOptionsTests.cs b/test/Spring/Spring.Data.NHibernate.Tests/HibernateCompilerOptionsTests.cs similarity index 96% rename from test/Spring/Spring.Data.NHibernate21.Tests/HibernateCompilerOptionsTests.cs rename to test/Spring/Spring.Data.NHibernate.Tests/HibernateCompilerOptionsTests.cs index 8f061c8a..0869442c 100644 --- a/test/Spring/Spring.Data.NHibernate21.Tests/HibernateCompilerOptionsTests.cs +++ b/test/Spring/Spring.Data.NHibernate.Tests/HibernateCompilerOptionsTests.cs @@ -1,43 +1,43 @@ -#region License - -/* - * Copyright 2004-2009 the original author or authors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#endregion - -#region Imports - -using System.Reflection; -using NUnit.Framework; -using Spring.Data.NHibernate; - -#endregion - -namespace Spring -{ - /// Test that the assembly is built with the correct DebugAttributes in release and debug builds. - /// - /// Mark Pollack - [TestFixture] - public sealed class HibernateCompilerOptionTests : CompilerOptionsTests - { - [TestFixtureSetUp] - public void FixtureSetUp() - { - AssemblyToCheck = Assembly.GetAssembly(typeof (HibernateObjectRetrievalFailureException)); - } - } +#region License + +/* + * Copyright 2004-2009 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#endregion + +#region Imports + +using System.Reflection; +using NUnit.Framework; +using Spring.Data.NHibernate; + +#endregion + +namespace Spring +{ + /// Test that the assembly is built with the correct DebugAttributes in release and debug builds. + /// + /// Mark Pollack + [TestFixture] + public sealed class HibernateCompilerOptionTests : CompilerOptionsTests + { + [TestFixtureSetUp] + public void FixtureSetUp() + { + AssemblyToCheck = Assembly.GetAssembly(typeof (HibernateObjectRetrievalFailureException)); + } + } } \ No newline at end of file diff --git a/test/Spring/Spring.Data.NHibernate20.Tests/HibernateExceptionTests.cs b/test/Spring/Spring.Data.NHibernate.Tests/HibernateExceptionTests.cs similarity index 96% rename from test/Spring/Spring.Data.NHibernate20.Tests/HibernateExceptionTests.cs rename to test/Spring/Spring.Data.NHibernate.Tests/HibernateExceptionTests.cs index 9cd2ec05..5a52d58c 100644 --- a/test/Spring/Spring.Data.NHibernate20.Tests/HibernateExceptionTests.cs +++ b/test/Spring/Spring.Data.NHibernate.Tests/HibernateExceptionTests.cs @@ -1,45 +1,45 @@ -#region License - -/* - * Copyright 2004 the original author or authors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#endregion - -#region Imports - -using System.Reflection; - -using NUnit.Framework; -using Spring.Data.NHibernate; - -#endregion - -namespace Spring -{ - /// - /// Unit tests for all of the exception classes in the Spring.Data.Hibernernate20 library... - /// - /// Rick Evans - [TestFixture] - public sealed class HibernateExceptionTests : ExceptionsTest - { - [TestFixtureSetUp] - public void FixtureSetUp () - { - AssemblyToCheck = Assembly.GetAssembly(typeof(HibernateObjectRetrievalFailureException)); - } - } -} +#region License + +/* + * Copyright 2004 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#endregion + +#region Imports + +using System.Reflection; + +using NUnit.Framework; +using Spring.Data.NHibernate; + +#endregion + +namespace Spring +{ + /// + /// Unit tests for all of the exception classes in the Spring.Data.Hibernernate20 library... + /// + /// Rick Evans + [TestFixture] + public sealed class HibernateExceptionTests : ExceptionsTest + { + [TestFixtureSetUp] + public void FixtureSetUp () + { + AssemblyToCheck = Assembly.GetAssembly(typeof(HibernateObjectRetrievalFailureException)); + } + } +} diff --git a/test/Spring/Spring.Data.NHibernate20.Integration.Tests/Data/NHibernate/Credit.hbm.xml b/test/Spring/Spring.Data.NHibernate20.Integration.Tests/Data/NHibernate/Credit.hbm.xml deleted file mode 100644 index 9ba787b4..00000000 --- a/test/Spring/Spring.Data.NHibernate20.Integration.Tests/Data/NHibernate/Credit.hbm.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - diff --git a/test/Spring/Spring.Data.NHibernate20.Integration.Tests/Data/NHibernate/Debit.hbm.xml b/test/Spring/Spring.Data.NHibernate20.Integration.Tests/Data/NHibernate/Debit.hbm.xml deleted file mode 100644 index 7a1e5a3a..00000000 --- a/test/Spring/Spring.Data.NHibernate20.Integration.Tests/Data/NHibernate/Debit.hbm.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - diff --git a/test/Spring/Spring.Data.NHibernate20.Integration.Tests/Data/NHibernate/MultipleDbTests.xml b/test/Spring/Spring.Data.NHibernate20.Integration.Tests/Data/NHibernate/MultipleDbTests.xml deleted file mode 100644 index c0899dc8..00000000 --- a/test/Spring/Spring.Data.NHibernate20.Integration.Tests/Data/NHibernate/MultipleDbTests.xml +++ /dev/null @@ -1,129 +0,0 @@ - - - - - - - - - - - - - Spring.Data.NHibernate20.Integration.Tests - - - - - - - - - - - - - - - - - - - - - - Spring.Data.NHibernate20.Integration.Tests - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - transactionInterceptor - - - - - - - - - - - - - - \ No newline at end of file diff --git a/test/Spring/Spring.Data.NHibernate20.Integration.Tests/Data/NHibernate/NHDAOTests.xml b/test/Spring/Spring.Data.NHibernate20.Integration.Tests/Data/NHibernate/NHDAOTests.xml deleted file mode 100644 index d46d325b..00000000 --- a/test/Spring/Spring.Data.NHibernate20.Integration.Tests/Data/NHibernate/NHDAOTests.xml +++ /dev/null @@ -1,111 +0,0 @@ - - - - - - - - - - - - - Spring.Data.NHibernate20.Integration.Tests - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - transactionInterceptor - - - - - - - - - - - - - - \ No newline at end of file diff --git a/test/Spring/Spring.Data.NHibernate20.Integration.Tests/Data/NHibernate/TestObject.hbm.xml b/test/Spring/Spring.Data.NHibernate20.Integration.Tests/Data/NHibernate/TestObject.hbm.xml deleted file mode 100644 index ec9f908b..00000000 --- a/test/Spring/Spring.Data.NHibernate20.Integration.Tests/Data/NHibernate/TestObject.hbm.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - - - - - - - - diff --git a/test/Spring/Spring.Data.NHibernate20.Integration.Tests/Data/NHibernate/dbProviderTemplateTests.xml b/test/Spring/Spring.Data.NHibernate20.Integration.Tests/Data/NHibernate/dbProviderTemplateTests.xml deleted file mode 100644 index 062fb167..00000000 --- a/test/Spring/Spring.Data.NHibernate20.Integration.Tests/Data/NHibernate/dbProviderTemplateTests.xml +++ /dev/null @@ -1,105 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - assembly://Spring.Data.NHibernate20.Integration.Tests/Spring.Data.NHibernate/TestObject.hbm.xml - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/test/Spring/Spring.Data.NHibernate20.Integration.Tests/Data/NHibernate/templateTests.xml b/test/Spring/Spring.Data.NHibernate20.Integration.Tests/Data/NHibernate/templateTests.xml deleted file mode 100644 index 0fdf7818..00000000 --- a/test/Spring/Spring.Data.NHibernate20.Integration.Tests/Data/NHibernate/templateTests.xml +++ /dev/null @@ -1,120 +0,0 @@ - - - - - - - - - - - - - - - assembly://Spring.Data.NHibernate20.Integration.Tests/Spring.Data.NHibernate/TestObject.hbm.xml - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/test/Spring/Spring.Data.NHibernate20.Integration.Tests/RecreateDatabases.sql b/test/Spring/Spring.Data.NHibernate20.Integration.Tests/RecreateDatabases.sql deleted file mode 100644 index 347e8482..00000000 --- a/test/Spring/Spring.Data.NHibernate20.Integration.Tests/RecreateDatabases.sql +++ /dev/null @@ -1,29 +0,0 @@ -IF EXISTS (SELECT name FROM sys.databases WHERE name = N'Spring') -BEGIN - ALTER DATABASE Spring - SET SINGLE_USER - WITH ROLLBACK IMMEDIATE - - DROP DATABASE Spring -END -GO - -IF EXISTS (SELECT * FROM sys.server_principals WHERE name = N'springqa2') - DROP LOGIN [springqa2] -GO - -CREATE DATABASE Spring -GO - -CREATE LOGIN [springqa2] WITH PASSWORD=N'springqa2', DEFAULT_DATABASE=[Spring], DEFAULT_LANGUAGE=[us_english] -GO - -USE Spring -CREATE USER [springqa2] FOR LOGIN [springqa2] WITH DEFAULT_SCHEMA=[dbo] -EXEC sp_addrolemember 'db_owner', 'springqa2' -GO - --- ALTERNATIVELY JUST DROP ALL TABLES: --- EXEC sp_MSforeachtable 'ALTER TABLE ? NOCHECK CONSTRAINT ALL'; --- EXEC sp_MSforeachtable 'ALTER TABLE ? DISABLE TRIGGER ALL'; --- EXEC sp_MSForEachTable 'DROP TABLE ?'; diff --git a/test/Spring/Spring.Data.NHibernate20.Integration.Tests/Setup.cs b/test/Spring/Spring.Data.NHibernate20.Integration.Tests/Setup.cs deleted file mode 100644 index 6ae35e9b..00000000 --- a/test/Spring/Spring.Data.NHibernate20.Integration.Tests/Setup.cs +++ /dev/null @@ -1,60 +0,0 @@ -#region License - -/* - * Copyright 2002-2010 the original author or authors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#endregion - -using NUnit.Framework; -using Spring.Core.IO; -using Spring.Data.Common; -using Spring.Data.Core; -using Spring.Testing.Ado; - -namespace Spring -{ - /// - /// - /// Erich Eichinger - [SetUpFixture] - public class Setup - { - private const string DBConnection = "Data Source=SPRINGQA;Database=$DATABASE$;Trusted_Connection=False;User ID=springqa;Password=springqa"; - private readonly IResourceLoader resourceLoader = new ConfigurableResourceLoader(); - - private IResource GetResource(object instance, string name) - { - string resourcePath = TestResourceLoader.GetAssemblyResourceUri(instance, name); - return resourceLoader.GetResource(resourcePath); - } - - [SetUp] - public void InstallMSSQLDatabase() - { - IDbProvider dbProvider = DbProviderFactory.GetDbProvider("SqlServer-2.0"); - AdoTemplate ado = new AdoTemplate(dbProvider); - - // (re-)create database(s) - dbProvider.ConnectionString = DBConnection.Replace("$DATABASE$", "master"); - SimpleAdoTestUtils.ExecuteSqlScript(ado, GetResource(this, "RecreateDatabases.sql")); - - // create tables - dbProvider.ConnectionString = DBConnection.Replace("$DATABASE$", "Spring"); - SimpleAdoTestUtils.ExecuteSqlScript(ado, GetResource(this, "Data.NHibernate/creditdebit.sql")); - SimpleAdoTestUtils.ExecuteSqlScript(ado, GetResource(this, "Data.NHibernate/testObject.sql")); - } - } -} \ No newline at end of file diff --git a/test/Spring/Spring.Data.NHibernate20.Integration.Tests/Spring.Data.NHibernate20.Integration.Tests.2008.csproj b/test/Spring/Spring.Data.NHibernate20.Integration.Tests/Spring.Data.NHibernate20.Integration.Tests.2008.csproj deleted file mode 100644 index 2e0c87b5..00000000 --- a/test/Spring/Spring.Data.NHibernate20.Integration.Tests/Spring.Data.NHibernate20.Integration.Tests.2008.csproj +++ /dev/null @@ -1,190 +0,0 @@ - - - Debug - AnyCPU - 9.0.30729 - 2.0 - {2F09404F-AC31-4AA8-BE8B-C5AF76797221} - Library - Properties - Spring - Spring.Data.NHibernate20.Integration.Tests - - - true - full - false - ..\..\..\build\VS.Net.2008\Spring.Data.NHibernate20.Integration.Tests\Debug\ - TRACE;DEBUG;NET_2_0,NH_2_0 - prompt - 4 - - - pdbonly - true - ..\..\..\build\VS.Net.2008\Spring.Data.NHibernate20.Integration.Tests\Release\ - TRACE;NET_2_0 - prompt - 4 - - - - False - ..\..\..\lib\NHibernate20\net\2.0\Castle.Core.dll - - - False - ..\..\..\lib\NHibernate20\net\2.0\Castle.DynamicProxy2.dll - - - False - ..\..\..\lib\Net\2.0\Common.Logging.dll - - - False - ..\..\..\lib\NHibernate20\net\2.0\Iesi.Collections.dll - - - False - ..\..\..\lib\NHibernate20\net\2.0\log4net.dll - - - False - ..\..\..\lib\NHibernate20\net\2.0\NHibernate.dll - - - False - ..\..\..\lib\Net\2.0\nunit.framework.dll - - - - - - - - Data\NHibernate\AccountCreditDao.cs - - - Data\NHibernate\AccountDebitDao.cs - - - Data\NHibernate\AccountManager.cs - - - Data\NHibernate\AuditDao.cs - - - Data\NHibernate\Credit.cs - - - Data\NHibernate\DbProviderTemplateTests.cs - - - Data\NHibernate\Debit.cs - - - Data\NHibernate\IAccountCreditDao.cs - - - Data\NHibernate\IAccountDebitDao.cs - - - Data\NHibernate\IAccountManager.cs - - - Data\NHibernate\IAuditDao.cs - - - Data\NHibernate\ITestObjectDao.cs - - - Data\NHibernate\MultipleDbTests.cs - - - Data\NHibernate\NativeNHTestObjectDao.cs - - - Data\NHibernate\NativeNHTests.cs - - - Data\NHibernate\NHDAOTests.cs - - - Data\NHibernate\NHTestObjectDao.cs - - - Data\NHibernate\TemplateTests.cs - - - Data\NHibernate\TestObject.cs - - - - - - Data\NHibernate\creditdebit.sql - - - - Data\NHibernate\testObject.sql - - - - - - - {3A3A4E65-45A6-4B20-B460-0BEDC302C02C} - Spring.Aop.2008 - - - {710961A3-0DF4-49E4-A26E-F5B9C044AC84} - Spring.Core.2008 - - - {71368632-B8B7-4A6A-8C65-8DA848120C82} - Spring.Data.NHibernate20.2008 - - - {AE00E5AB-C39A-436F-86D2-33BFE33E2E40} - Spring.Data.2008 - - - {ED204A7B-832F-44C7-BFE3-504AEBE1BCC8} - Spring.Testing.NUnit.2008 - - - {44B16BAA-6DF8-447C-9D7F-3AD3D854D904} - Spring.Core.Tests.2008 - - - - - - - - - - - - - - - - - - - - - - - echo "Copying .xml files for tests" -xcopy "$(ProjectDir)Data" ..\..\..\..\build\VS.Net.2008\Spring.Data.NHibernate20.Integration.Tests\$(ConfigurationName)\ /y /s /q /d -xcopy "$(ProjectDir)$(TargetFileName).config" ..\..\..\..\build\VS.Net.2008\Spring.Data.NHibernate20.Integration.Tests\$(ConfigurationName)\ /y /s /q - - \ No newline at end of file diff --git a/test/Spring/Spring.Data.NHibernate20.Integration.Tests/Spring.Data.NHibernate20.Integration.Tests.build b/test/Spring/Spring.Data.NHibernate20.Integration.Tests/Spring.Data.NHibernate20.Integration.Tests.build deleted file mode 100644 index b92caaf3..00000000 --- a/test/Spring/Spring.Data.NHibernate20.Integration.Tests/Spring.Data.NHibernate20.Integration.Tests.build +++ /dev/null @@ -1,63 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/test/Spring/Spring.Data.NHibernate20.Integration.Tests/Spring.Data.NHibernate20.Integration.Tests.dll.config b/test/Spring/Spring.Data.NHibernate20.Integration.Tests/Spring.Data.NHibernate20.Integration.Tests.dll.config deleted file mode 100644 index f422be76..00000000 --- a/test/Spring/Spring.Data.NHibernate20.Integration.Tests/Spring.Data.NHibernate20.Integration.Tests.dll.config +++ /dev/null @@ -1,39 +0,0 @@ - - - - -
- - -
- - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/test/Spring/Spring.Data.NHibernate20.Tests/AssemblyInfo.cs b/test/Spring/Spring.Data.NHibernate20.Tests/AssemblyInfo.cs deleted file mode 100644 index 3da885ea..00000000 --- a/test/Spring/Spring.Data.NHibernate20.Tests/AssemblyInfo.cs +++ /dev/null @@ -1,5 +0,0 @@ -using System.Reflection; -using System.Runtime.CompilerServices; - -[assembly: AssemblyTitle("Spring.Data.NHibernate Integration Tests")] -[assembly: AssemblyDescription("Integration tests for Spring.Data.NHibernate assembly")] diff --git a/test/Spring/Spring.Data.NHibernate20.Tests/Data/NHibernate/Config/AopConfiguration.xml b/test/Spring/Spring.Data.NHibernate20.Tests/Data/NHibernate/Config/AopConfiguration.xml deleted file mode 100644 index 06bff2e0..00000000 --- a/test/Spring/Spring.Data.NHibernate20.Tests/Data/NHibernate/Config/AopConfiguration.xml +++ /dev/null @@ -1,97 +0,0 @@ - - - - - - - - - - - - - - - assembly://Spring.Data.NHibernate20.Tests/Spring.Data.NHibernate/TestObject.hbm.xml - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - loggingAroundAdvice - - - - - - - - - - TestObjectDao - - - - - - - - - - \ No newline at end of file diff --git a/test/Spring/Spring.Data.NHibernate20.Tests/Data/NHibernate/Config/AopConfigurationTxPointcut.xml b/test/Spring/Spring.Data.NHibernate20.Tests/Data/NHibernate/Config/AopConfigurationTxPointcut.xml deleted file mode 100644 index 93b976de..00000000 --- a/test/Spring/Spring.Data.NHibernate20.Tests/Data/NHibernate/Config/AopConfigurationTxPointcut.xml +++ /dev/null @@ -1,94 +0,0 @@ - - - - - - - - - - - - - - - assembly://Spring.Data.NHibernate20.Tests/Spring.Data.NHibernate/TestObject.hbm.xml - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 12341234asdf* - - - - - - - - - loggingAdvisor - - - - - - - - - - TestObjectDao - - - - - - - - - \ No newline at end of file diff --git a/test/Spring/Spring.Data.NHibernate20.Tests/Data/NHibernate/TestObject.hbm.xml b/test/Spring/Spring.Data.NHibernate20.Tests/Data/NHibernate/TestObject.hbm.xml deleted file mode 100644 index f9656b3b..00000000 --- a/test/Spring/Spring.Data.NHibernate20.Tests/Data/NHibernate/TestObject.hbm.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - - - - - - - - diff --git a/test/Spring/Spring.Data.NHibernate20.Tests/HibernateCompilerOptionsTests.cs b/test/Spring/Spring.Data.NHibernate20.Tests/HibernateCompilerOptionsTests.cs deleted file mode 100644 index 8f061c8a..00000000 --- a/test/Spring/Spring.Data.NHibernate20.Tests/HibernateCompilerOptionsTests.cs +++ /dev/null @@ -1,43 +0,0 @@ -#region License - -/* - * Copyright 2004-2009 the original author or authors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#endregion - -#region Imports - -using System.Reflection; -using NUnit.Framework; -using Spring.Data.NHibernate; - -#endregion - -namespace Spring -{ - /// Test that the assembly is built with the correct DebugAttributes in release and debug builds. - /// - /// Mark Pollack - [TestFixture] - public sealed class HibernateCompilerOptionTests : CompilerOptionsTests - { - [TestFixtureSetUp] - public void FixtureSetUp() - { - AssemblyToCheck = Assembly.GetAssembly(typeof (HibernateObjectRetrievalFailureException)); - } - } -} \ No newline at end of file diff --git a/test/Spring/Spring.Data.NHibernate20.Tests/Spring.Data.NHibernate20.Tests.2008.csproj b/test/Spring/Spring.Data.NHibernate20.Tests/Spring.Data.NHibernate20.Tests.2008.csproj deleted file mode 100644 index ec07b794..00000000 --- a/test/Spring/Spring.Data.NHibernate20.Tests/Spring.Data.NHibernate20.Tests.2008.csproj +++ /dev/null @@ -1,152 +0,0 @@ - - - Debug - AnyCPU - 9.0.30729 - 2.0 - {EACD4B0B-06F9-4A0C-B8E8-EBE6BB0A167F} - Library - Properties - Spring - Spring.Data.NHibernate20.Tests - - - true - full - false - ..\..\..\build\VS.Net.2008\Spring.Data.NHibernate20.Tests\Debug\ - TRACE;DEBUG;NET_2_0,NH_2_0 - prompt - 4 - - - pdbonly - true - ..\..\..\build\VS.Net.2008\Spring.Data.NHibernate20.Tests\Release\ - TRACE;NET_2_0,NH_2_0 - prompt - 4 - - - - False - ..\..\..\lib\NHibernate20\net\2.0\Castle.DynamicProxy2.dll - - - False - ..\..\..\lib\Net\2.0\Common.Logging.dll - - - False - ..\..\..\lib\NHibernate20\net\2.0\Iesi.Collections.dll - - - False - ..\..\..\lib\NHibernate20\net\2.0\log4net.dll - - - False - ..\..\..\lib\NHibernate20\net\2.0\NHibernate.dll - - - False - ..\..\..\lib\net\2.0\nunit.framework.dll - - - False - ..\..\..\lib\Net\2.0\Rhino.Mocks.dll - - - - - - - - Data\NHibernate\Config\AopConfiguration.cs - - - Data\NHibernate\HibernateTransactionManagerTests.cs - - - Data\NHibernate\ISimpleService.cs - - - Data\NHibernate\ITestObjectDao.cs - - - Data\NHibernate\LocalSessionFactoryObjectTests.cs - - - Data\NHibernate\NHTestObjectDao.cs - - - Data\NHibernate\SimpleService.cs - - - Data\NHibernate\Support\ConfigSectionSessionScopeSettingsTests.cs - - - Data\NHibernate\Support\SessionScopeSettingsTests.cs - - - Data\NHibernate\Support\SessionScopeTests.cs - - - Data\NHibernate\TestObject.cs - - - - - - - - Always - - - - - {3A3A4E65-45A6-4B20-B460-0BEDC302C02C} - Spring.Aop.2008 - - - {710961A3-0DF4-49E4-A26E-F5B9C044AC84} - Spring.Core.2008 - - - {71368632-B8B7-4A6A-8C65-8DA848120C82} - Spring.Data.NHibernate20.2008 - - - {AE00E5AB-C39A-436F-86D2-33BFE33E2E40} - Spring.Data.2008 - - - {44B16BAA-6DF8-447C-9D7F-3AD3D854D904} - Spring.Core.Tests.2008 - - - {ACD39D47-1811-40FA-9E7E-5DEA5B9CE6C0} - Spring.Data.Tests.2008 - - - - - - - - - - - - - echo "Copying .xml files for tests" -xcopy "$(ProjectDir)Data" ..\..\..\..\build\VS.Net.2008\Spring.Data.NHibernate20.Tests\$(ConfigurationName)\ /y /s /q /d -xcopy "$(ProjectDir)$(TargetFileName).config" ..\..\..\..\build\VS.Net.2008\Spring.Data.NHibernate20.Tests\$(ConfigurationName)\ /y /s /q - - \ No newline at end of file diff --git a/test/Spring/Spring.Data.NHibernate20.Tests/Spring.Data.NHibernate20.Tests.2010.csproj b/test/Spring/Spring.Data.NHibernate20.Tests/Spring.Data.NHibernate20.Tests.2010.csproj deleted file mode 100644 index c5d2947b..00000000 --- a/test/Spring/Spring.Data.NHibernate20.Tests/Spring.Data.NHibernate20.Tests.2010.csproj +++ /dev/null @@ -1,159 +0,0 @@ - - - - Debug - AnyCPU - 9.0.30729 - 2.0 - {EACD4B0B-06F9-4A0C-B8E8-EBE6BB0A167F} - Library - Properties - Spring - Spring.Data.NHibernate20.Tests - v4.0 - - - 3.5 - - - - - true - full - false - ..\..\..\build\VS.Net.2010\Spring.Data.NHibernate20.Tests\Debug\ - TRACE;DEBUG;NH_2_0 - prompt - 4 - - - pdbonly - true - ..\..\..\build\VS.Net.2010\Spring.Data.NHibernate20.Tests\Release\ - TRACE;NH_2_0 - prompt - 4 - - - - False - ..\..\..\lib\NHibernate20\net\2.0\Castle.DynamicProxy2.dll - - - False - ..\..\..\lib\Net\2.0\Common.Logging.dll - - - False - ..\..\..\lib\NHibernate20\net\2.0\Iesi.Collections.dll - - - False - ..\..\..\lib\NHibernate20\net\2.0\log4net.dll - - - False - ..\..\..\lib\NHibernate20\net\2.0\NHibernate.dll - - - False - ..\..\..\lib\net\2.0\nunit.framework.dll - - - False - ..\..\..\lib\Net\2.0\Rhino.Mocks.dll - - - - - - - - Data\NHibernate\Config\AopConfiguration.cs - - - Data\NHibernate\HibernateTransactionManagerTests.cs - - - Data\NHibernate\ISimpleService.cs - - - Data\NHibernate\ITestObjectDao.cs - - - Data\NHibernate\LocalSessionFactoryObjectTests.cs - - - Data\NHibernate\NHTestObjectDao.cs - - - Data\NHibernate\SimpleService.cs - - - Data\NHibernate\Support\ConfigSectionSessionScopeSettingsTests.cs - - - Data\NHibernate\Support\SessionScopeSettingsTests.cs - - - Data\NHibernate\Support\SessionScopeTests.cs - - - Data\NHibernate\TestObject.cs - - - - - - - - Always - - - - - {3A3A4E65-45A6-4B20-B460-0BEDC302C02C} - Spring.Aop.2010 - - - {710961A3-0DF4-49E4-A26E-F5B9C044AC84} - Spring.Core.2010 - - - {71368632-B8B7-4A6A-8C65-8DA848120C82} - Spring.Data.NHibernate20.2010 - - - {AE00E5AB-C39A-436F-86D2-33BFE33E2E40} - Spring.Data.2010 - - - {44B16BAA-6DF8-447C-9D7F-3AD3D854D904} - Spring.Core.Tests.2010 - - - {ACD39D47-1811-40FA-9E7E-5DEA5B9CE6C0} - Spring.Data.Tests.2010 - - - - - - - - - - - - - echo "Copying .xml files for tests" -xcopy "$(ProjectDir)Data" ..\..\..\..\build\VS.Net.2010\Spring.Data.NHibernate20.Tests\$(ConfigurationName)\ /y /s /q /d -xcopy "$(ProjectDir)$(TargetFileName).config" ..\..\..\..\build\VS.Net.2010\Spring.Data.NHibernate20.Tests\$(ConfigurationName)\ /y /s /q - - \ No newline at end of file diff --git a/test/Spring/Spring.Data.NHibernate20.Tests/Spring.Data.NHibernate20.Tests.build b/test/Spring/Spring.Data.NHibernate20.Tests/Spring.Data.NHibernate20.Tests.build deleted file mode 100644 index a50a24d4..00000000 --- a/test/Spring/Spring.Data.NHibernate20.Tests/Spring.Data.NHibernate20.Tests.build +++ /dev/null @@ -1,74 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/test/Spring/Spring.Data.NHibernate20.Tests/Spring.Data.NHibernate20.Tests.dll.config b/test/Spring/Spring.Data.NHibernate20.Tests/Spring.Data.NHibernate20.Tests.dll.config deleted file mode 100644 index 3f8da4d1..00000000 --- a/test/Spring/Spring.Data.NHibernate20.Tests/Spring.Data.NHibernate20.Tests.dll.config +++ /dev/null @@ -1,30 +0,0 @@ - - - - -
- - -
- - - - - - - - - - - - - - \ No newline at end of file diff --git a/test/Spring/Spring.Data.NHibernate21.Integration.Tests/Data/NHibernate/Credit.hbm.xml b/test/Spring/Spring.Data.NHibernate21.Integration.Tests/Data/NHibernate/Credit.hbm.xml deleted file mode 100644 index 65884199..00000000 --- a/test/Spring/Spring.Data.NHibernate21.Integration.Tests/Data/NHibernate/Credit.hbm.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - diff --git a/test/Spring/Spring.Data.NHibernate21.Integration.Tests/Data/NHibernate/Debit.hbm.xml b/test/Spring/Spring.Data.NHibernate21.Integration.Tests/Data/NHibernate/Debit.hbm.xml deleted file mode 100644 index bdd7c2be..00000000 --- a/test/Spring/Spring.Data.NHibernate21.Integration.Tests/Data/NHibernate/Debit.hbm.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - diff --git a/test/Spring/Spring.Data.NHibernate21.Integration.Tests/Data/NHibernate/MultipleDbTests.xml b/test/Spring/Spring.Data.NHibernate21.Integration.Tests/Data/NHibernate/MultipleDbTests.xml deleted file mode 100644 index a177d7bb..00000000 --- a/test/Spring/Spring.Data.NHibernate21.Integration.Tests/Data/NHibernate/MultipleDbTests.xml +++ /dev/null @@ -1,129 +0,0 @@ - - - - - - - - - - - - - Spring.Data.NHibernate21.Integration.Tests - - - - - - - - - - - - - - - - - - - - - Spring.Data.NHibernate21.Integration.Tests - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - transactionInterceptor - - - - - - - - - - - - - - \ No newline at end of file diff --git a/test/Spring/Spring.Data.NHibernate21.Integration.Tests/Data/NHibernate/NHDAOTests.xml b/test/Spring/Spring.Data.NHibernate21.Integration.Tests/Data/NHibernate/NHDAOTests.xml deleted file mode 100644 index ccba5091..00000000 --- a/test/Spring/Spring.Data.NHibernate21.Integration.Tests/Data/NHibernate/NHDAOTests.xml +++ /dev/null @@ -1,124 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - Spring.Data.NHibernate21.Integration.Tests - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/test/Spring/Spring.Data.NHibernate21.Integration.Tests/Data/NHibernate/TestObject.hbm.xml b/test/Spring/Spring.Data.NHibernate21.Integration.Tests/Data/NHibernate/TestObject.hbm.xml deleted file mode 100644 index dce586c2..00000000 --- a/test/Spring/Spring.Data.NHibernate21.Integration.Tests/Data/NHibernate/TestObject.hbm.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - - - - - - - - diff --git a/test/Spring/Spring.Data.NHibernate21.Integration.Tests/Data/NHibernate/dbProviderTemplateTests.xml b/test/Spring/Spring.Data.NHibernate21.Integration.Tests/Data/NHibernate/dbProviderTemplateTests.xml deleted file mode 100644 index 2f20a172..00000000 --- a/test/Spring/Spring.Data.NHibernate21.Integration.Tests/Data/NHibernate/dbProviderTemplateTests.xml +++ /dev/null @@ -1,105 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - assembly://Spring.Data.NHibernate21.Integration.Tests/Spring.Data.NHibernate/TestObject.hbm.xml - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/test/Spring/Spring.Data.NHibernate21.Integration.Tests/Data/NHibernate/templateTests.xml b/test/Spring/Spring.Data.NHibernate21.Integration.Tests/Data/NHibernate/templateTests.xml deleted file mode 100644 index afe8813c..00000000 --- a/test/Spring/Spring.Data.NHibernate21.Integration.Tests/Data/NHibernate/templateTests.xml +++ /dev/null @@ -1,118 +0,0 @@ - - - - - - - - - - - - - - - assembly://Spring.Data.NHibernate21.Integration.Tests/Spring.Data.NHibernate/TestObject.hbm.xml - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/test/Spring/Spring.Data.NHibernate21.Integration.Tests/Spring.Data.NHibernate21.Integration.Tests.2008.csproj b/test/Spring/Spring.Data.NHibernate21.Integration.Tests/Spring.Data.NHibernate21.Integration.Tests.2008.csproj deleted file mode 100644 index a9ca8521..00000000 --- a/test/Spring/Spring.Data.NHibernate21.Integration.Tests/Spring.Data.NHibernate21.Integration.Tests.2008.csproj +++ /dev/null @@ -1,225 +0,0 @@ - - - Debug - AnyCPU - 9.0.30729 - 2.0 - {4A07E150-ED90-407C-8CAD-4760444DDFD9} - Library - Properties - Spring - Spring.Data.NHibernate21.Integration.Tests - - - true - full - false - ..\..\..\build\VS.Net.2008\Spring.Data.NHibernate21.Integration.Tests\Debug\ - TRACE;DEBUG;NET_2_0,NH_2_0,NH_2_1 - prompt - 4 - - - pdbonly - true - ..\..\..\build\VS.Net.2008\Spring.Data.NHibernate21.Integration.Tests\Release\ - TRACE;NET_2_0,NH_2_0,NH_2_1 - prompt - 4 - - - - False - ..\..\..\lib\NHibernate21\net\2.0\Antlr3.Runtime.dll - - - False - ..\..\..\lib\Net\2.0\Common.Logging.dll - - - False - ..\..\..\lib\NHibernate21\net\2.0\Iesi.Collections.dll - - - False - ..\..\..\lib\NHibernate21\net\2.0\log4net.dll - - - False - ..\..\..\lib\NHibernate21\net\2.0\NHibernate.dll - - - False - ..\..\..\lib\NHibernate21\net\2.0\NHibernate.DomainModel.dll - - - False - ..\..\..\lib\NHibernate21\net\2.0\NHibernate.Test.dll - - - False - ..\..\..\lib\Net\2.0\nunit.framework.dll - - - - - - - - - - - Data\NHibernate\AccountCreditDao.cs - - - Data\NHibernate\AccountDebitDao.cs - - - Data\NHibernate\AccountManager.cs - - - Data\NHibernate\AuditDao.cs - - - Data\NHibernate\Credit.cs - - - Data\NHibernate\DbProviderTemplateTests.cs - - - Data\NHibernate\Debit.cs - - - Data\NHibernate\IAccountCreditDao.cs - - - Data\NHibernate\IAccountDebitDao.cs - - - Data\NHibernate\IAccountManager.cs - - - Data\NHibernate\IAuditDao.cs - - - Data\NHibernate\ITestObjectDao.cs - - - Data\NHibernate\MultipleDbTests.cs - - - Data\NHibernate\NativeNHTestObjectDao.cs - - - Data\NHibernate\NativeNHTests.cs - - - Data\NHibernate\NHDAOTests.cs - - - Data\NHibernate\NHTestObjectDao.cs - - - Data\NHibernate\TemplateTests.cs - - - Data\NHibernate\TestObject.cs - - - - - - - - - - - - - - - Data\NHibernate\creditdebit.sql - - - - Data\NHibernate\testObject.sql - - - Always - - - - - - - {3A3A4E65-45A6-4B20-B460-0BEDC302C02C} - Spring.Aop.2008 - - - {710961A3-0DF4-49E4-A26E-F5B9C044AC84} - Spring.Core.2008 - - - {E57B4652-0231-49CB-B058-87E10EFE540D} - Spring.Data.NHibernate21.2008 - - - {AE00E5AB-C39A-436F-86D2-33BFE33E2E40} - Spring.Data.2008 - - - {ED204A7B-832F-44C7-BFE3-504AEBE1BCC8} - Spring.Testing.NUnit.2008 - - - {44B16BAA-6DF8-447C-9D7F-3AD3D854D904} - Spring.Core.Tests.2008 - - - - - - - - - - - - - - - - - - - Always - - - - - Always - - - - - - - - - Always - - - - - - echo "Copying .xml files for tests" -xcopy "$(ProjectDir)Data" ..\..\..\..\build\VS.Net.2008\Spring.Data.NHibernate21.Integration.Tests\$(ConfigurationName)\ /y /s /q /d -xcopy "$(ProjectDir)$(TargetFileName).config" ..\..\..\..\build\VS.Net.2008\Spring.Data.NHibernate21.Integration.Tests\$(ConfigurationName)\ /y /s /q - - \ No newline at end of file diff --git a/test/Spring/Spring.Data.NHibernate21.Integration.Tests/Spring.Data.NHibernate21.Integration.Tests.2010.csproj b/test/Spring/Spring.Data.NHibernate21.Integration.Tests/Spring.Data.NHibernate21.Integration.Tests.2010.csproj deleted file mode 100644 index a1faf85f..00000000 --- a/test/Spring/Spring.Data.NHibernate21.Integration.Tests/Spring.Data.NHibernate21.Integration.Tests.2010.csproj +++ /dev/null @@ -1,237 +0,0 @@ - - - - Debug - AnyCPU - 9.0.30729 - 2.0 - {4A07E150-ED90-407C-8CAD-4760444DDFD9} - Library - Properties - Spring - Spring.Data.NHibernate21.Integration.Tests - v4.0 - - - 3.5 - - - - - true - full - false - ..\..\..\build\VS.Net.2010\Spring.Data.NHibernate21.Integration.Tests\Debug\ - TRACE;DEBUG;NET_4_0,NH_2_0,NH_2_1 - prompt - 4 - true - - - pdbonly - true - ..\..\..\build\VS.Net.2010\Spring.Data.NHibernate21.Integration.Tests\Release\ - TRACE;NET_4_0,NH_2_0,NH_2_1 - prompt - 4 - - - - False - ..\..\..\lib\NHibernate21\net\2.0\Antlr3.Runtime.dll - - - False - ..\..\..\lib\Net\2.0\Common.Logging.dll - - - False - ..\..\..\lib\NHibernate21\net\2.0\Iesi.Collections.dll - - - False - ..\..\..\lib\NHibernate21\net\2.0\log4net.dll - - - False - ..\..\..\lib\NHibernate21\net\2.0\NHibernate.dll - - - False - ..\..\..\lib\NHibernate21\net\2.0\NHibernate.DomainModel.dll - - - False - ..\..\..\lib\NHibernate21\net\2.0\NHibernate.Test.dll - - - False - ..\..\..\lib\Net\2.0\nunit.framework.dll - - - - - - - - - - - Data\NHibernate\AccountCreditDao.cs - - - Data\NHibernate\AccountDebitDao.cs - - - Data\NHibernate\AccountManager.cs - - - Data\NHibernate\AuditDao.cs - - - Data\NHibernate\Credit.cs - - - Data\NHibernate\DbProviderTemplateTests.cs - - - Data\NHibernate\Debit.cs - - - Data\NHibernate\IAccountCreditDao.cs - - - Data\NHibernate\IAccountDebitDao.cs - - - Data\NHibernate\IAccountManager.cs - - - Data\NHibernate\IAuditDao.cs - - - Data\NHibernate\ITestObjectDao.cs - - - Data\NHibernate\MultipleDbTests.cs - - - Data\NHibernate\NativeNHTestObjectDao.cs - - - Data\NHibernate\NativeNHTests.cs - - - Data\NHibernate\NHDAOTests.cs - - - Data\NHibernate\NHTestObjectDao.cs - - - Data\NHibernate\TemplateTests.cs - - - Data\NHibernate\TestObject.cs - - - - - - - - - - - - - - - - - Data\NHibernate\creditdebit.sql - - - - Data\NHibernate\testObject.sql - - - Always - - - - - - - {3A3A4E65-45A6-4B20-B460-0BEDC302C02C} - Spring.Aop.2010 - - - {710961A3-0DF4-49E4-A26E-F5B9C044AC84} - Spring.Core.2010 - - - {E57B4652-0231-49CB-B058-87E10EFE540D} - Spring.Data.NHibernate21.2010 - - - {AE00E5AB-C39A-436F-86D2-33BFE33E2E40} - Spring.Data.2010 - - - {ED204A7B-832F-44C7-BFE3-504AEBE1BCC8} - Spring.Testing.NUnit.2010 - - - {44B16BAA-6DF8-447C-9D7F-3AD3D854D904} - Spring.Core.Tests.2010 - - - - - - - - - - - - - - - - - - - - - Always - - - - - Always - - - - - - - - - Always - - - - - - echo "Copying .xml files for tests" -xcopy "$(ProjectDir)Data" ..\..\..\..\build\VS.Net.2010\Spring.Data.NHibernate21.Integration.Tests\$(ConfigurationName)\ /y /s /q /d -xcopy "$(ProjectDir)$(TargetFileName).config" ..\..\..\..\build\VS.Net.2010\Spring.Data.NHibernate21.Integration.Tests\$(ConfigurationName)\ /y /s /q - - \ No newline at end of file diff --git a/test/Spring/Spring.Data.NHibernate21.Integration.Tests/Spring.Data.NHibernate21.Integration.Tests.build b/test/Spring/Spring.Data.NHibernate21.Integration.Tests/Spring.Data.NHibernate21.Integration.Tests.build deleted file mode 100644 index 46216742..00000000 --- a/test/Spring/Spring.Data.NHibernate21.Integration.Tests/Spring.Data.NHibernate21.Integration.Tests.build +++ /dev/null @@ -1,91 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/test/Spring/Spring.Data.NHibernate21.Integration.Tests/Spring.Data.NHibernate21.Integration.Tests.dll.config b/test/Spring/Spring.Data.NHibernate21.Integration.Tests/Spring.Data.NHibernate21.Integration.Tests.dll.config deleted file mode 100644 index 25423bf7..00000000 --- a/test/Spring/Spring.Data.NHibernate21.Integration.Tests/Spring.Data.NHibernate21.Integration.Tests.dll.config +++ /dev/null @@ -1,77 +0,0 @@ - - - - -
- - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/test/Spring/Spring.Data.NHibernate21.Tests/AssemblyInfo.cs b/test/Spring/Spring.Data.NHibernate21.Tests/AssemblyInfo.cs deleted file mode 100644 index 3da885ea..00000000 --- a/test/Spring/Spring.Data.NHibernate21.Tests/AssemblyInfo.cs +++ /dev/null @@ -1,5 +0,0 @@ -using System.Reflection; -using System.Runtime.CompilerServices; - -[assembly: AssemblyTitle("Spring.Data.NHibernate Integration Tests")] -[assembly: AssemblyDescription("Integration tests for Spring.Data.NHibernate assembly")] diff --git a/test/Spring/Spring.Data.NHibernate21.Tests/Data/NHibernate/Config/AopConfiguration.xml b/test/Spring/Spring.Data.NHibernate21.Tests/Data/NHibernate/Config/AopConfiguration.xml deleted file mode 100644 index b1dc5251..00000000 --- a/test/Spring/Spring.Data.NHibernate21.Tests/Data/NHibernate/Config/AopConfiguration.xml +++ /dev/null @@ -1,98 +0,0 @@ - - - - - - - - - - - - - - - assembly://Spring.Data.NHibernate21.Tests/Spring.Data.NHibernate/TestObject.hbm.xml - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - loggingAroundAdvice - - - - - - - - - - TestObjectDao - - - - - - - - - - \ No newline at end of file diff --git a/test/Spring/Spring.Data.NHibernate21.Tests/Data/NHibernate/Config/AopConfigurationTxPointcut.xml b/test/Spring/Spring.Data.NHibernate21.Tests/Data/NHibernate/Config/AopConfigurationTxPointcut.xml deleted file mode 100644 index c996a74b..00000000 --- a/test/Spring/Spring.Data.NHibernate21.Tests/Data/NHibernate/Config/AopConfigurationTxPointcut.xml +++ /dev/null @@ -1,96 +0,0 @@ - - - - - - - - - - - - - - - assembly://Spring.Data.NHibernate21.Tests/Spring.Data.NHibernate/TestObject.hbm.xml - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 12341234asdf* - - - - - - - - - loggingAdvisor - - - - - - - - - - TestObjectDao - - - - - - - - - \ No newline at end of file diff --git a/test/Spring/Spring.Data.NHibernate21.Tests/Data/NHibernate/TestObject.hbm.xml b/test/Spring/Spring.Data.NHibernate21.Tests/Data/NHibernate/TestObject.hbm.xml deleted file mode 100644 index 012c0343..00000000 --- a/test/Spring/Spring.Data.NHibernate21.Tests/Data/NHibernate/TestObject.hbm.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - - - - - - - - diff --git a/test/Spring/Spring.Data.NHibernate21.Tests/HibernateExceptionTests.cs b/test/Spring/Spring.Data.NHibernate21.Tests/HibernateExceptionTests.cs deleted file mode 100644 index 9cd2ec05..00000000 --- a/test/Spring/Spring.Data.NHibernate21.Tests/HibernateExceptionTests.cs +++ /dev/null @@ -1,45 +0,0 @@ -#region License - -/* - * Copyright 2004 the original author or authors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#endregion - -#region Imports - -using System.Reflection; - -using NUnit.Framework; -using Spring.Data.NHibernate; - -#endregion - -namespace Spring -{ - /// - /// Unit tests for all of the exception classes in the Spring.Data.Hibernernate20 library... - /// - /// Rick Evans - [TestFixture] - public sealed class HibernateExceptionTests : ExceptionsTest - { - [TestFixtureSetUp] - public void FixtureSetUp () - { - AssemblyToCheck = Assembly.GetAssembly(typeof(HibernateObjectRetrievalFailureException)); - } - } -} diff --git a/test/Spring/Spring.Data.NHibernate21.Tests/Spring.Data.NHibernate21.Tests.2008.csproj b/test/Spring/Spring.Data.NHibernate21.Tests/Spring.Data.NHibernate21.Tests.2008.csproj deleted file mode 100644 index ed6d97cc..00000000 --- a/test/Spring/Spring.Data.NHibernate21.Tests/Spring.Data.NHibernate21.Tests.2008.csproj +++ /dev/null @@ -1,149 +0,0 @@ - - - Debug - AnyCPU - 9.0.30729 - 2.0 - {90FEE979-7367-4542-BCCB-BF634E04A9D3} - Library - Properties - Spring - Spring.Data.NHibernate21.Tests - - - true - full - false - ..\..\..\build\VS.Net.2008\Spring.Data.NHibernate21.Tests\Debug\ - TRACE;DEBUG;NET_2_0,NH_2_0,NH_2_1 - prompt - 4 - - - pdbonly - true - ..\..\..\build\VS.Net.2008\Spring.Data.NHibernate21.Tests\Release\ - TRACE;NET_2_0,NH_2_1 - prompt - 4 - - - - False - ..\..\..\lib\Net\2.0\Common.Logging.dll - - - False - ..\..\..\lib\NHibernate21\net\2.0\Iesi.Collections.dll - - - False - ..\..\..\lib\NHibernate21\net\2.0\log4net.dll - - - False - ..\..\..\lib\NHibernate21\net\2.0\NHibernate.dll - - - False - ..\..\..\lib\net\2.0\nunit.framework.dll - - - False - ..\..\..\lib\Net\2.0\Rhino.Mocks.dll - - - - - - - - Data\NHibernate\Config\AopConfiguration.cs - - - Data\NHibernate\HibernateTransactionManagerTests.cs - - - Data\NHibernate\ISimpleService.cs - - - Data\NHibernate\ITestObjectDao.cs - - - Data\NHibernate\LocalSessionFactoryObjectTests.cs - - - Data\NHibernate\NHTestObjectDao.cs - - - Data\NHibernate\SimpleService.cs - - - Data\NHibernate\Support\ConfigSectionSessionScopeSettingsTests.cs - - - Data\NHibernate\Support\SessionScopeSettingsTests.cs - - - Data\NHibernate\Support\SessionScopeTests.cs - - - Data\NHibernate\TestObject.cs - - - - - - - - - Always - - - - - {3A3A4E65-45A6-4B20-B460-0BEDC302C02C} - Spring.Aop.2008 - - - {710961A3-0DF4-49E4-A26E-F5B9C044AC84} - Spring.Core.2008 - - - {E57B4652-0231-49CB-B058-87E10EFE540D} - Spring.Data.NHibernate21.2008 - - - {AE00E5AB-C39A-436F-86D2-33BFE33E2E40} - Spring.Data.2008 - - - {44B16BAA-6DF8-447C-9D7F-3AD3D854D904} - Spring.Core.Tests.2008 - - - {ACD39D47-1811-40FA-9E7E-5DEA5B9CE6C0} - Spring.Data.Tests.2008 - - - - - - - - - - - - - echo "Copying .xml files for tests" -xcopy "$(ProjectDir)Data" ..\..\..\..\build\VS.Net.2008\Spring.Data.NHibernate21.Tests\$(ConfigurationName)\ /y /s /q /d -xcopy "$(ProjectDir)$(TargetFileName).config" ..\..\..\..\build\VS.Net.2008\Spring.Data.NHibernate21.Tests\$(ConfigurationName)\ /y /s /q - - \ No newline at end of file diff --git a/test/Spring/Spring.Data.NHibernate21.Tests/Spring.Data.NHibernate21.Tests.2010.csproj b/test/Spring/Spring.Data.NHibernate21.Tests/Spring.Data.NHibernate21.Tests.2010.csproj deleted file mode 100644 index 8856ac52..00000000 --- a/test/Spring/Spring.Data.NHibernate21.Tests/Spring.Data.NHibernate21.Tests.2010.csproj +++ /dev/null @@ -1,157 +0,0 @@ - - - - Debug - AnyCPU - 9.0.30729 - 2.0 - {90FEE979-7367-4542-BCCB-BF634E04A9D3} - Library - Properties - Spring - Spring.Data.NHibernate21.Tests - v4.0 - - - 3.5 - - - - - true - full - false - ..\..\..\build\VS.Net.2010\Spring.Data.NHibernate21.Tests\Debug\ - TRACE;DEBUG;NET_4_0,NH_2_0,NH_2_1 - prompt - 4 - - - pdbonly - true - ..\..\..\build\VS.Net.2010\Spring.Data.NHibernate21.Tests\Release\ - TRACE;NET_4_0,NH_2_1 - prompt - 4 - - - - False - ..\..\..\lib\Net\2.0\Common.Logging.dll - - - False - ..\..\..\lib\NHibernate21\net\2.0\Iesi.Collections.dll - - - False - ..\..\..\lib\NHibernate21\net\2.0\log4net.dll - - - False - ..\..\..\lib\NHibernate21\net\2.0\NHibernate.dll - - - False - ..\..\..\lib\net\2.0\nunit.framework.dll - - - False - ..\..\..\lib\Net\2.0\Rhino.Mocks.dll - - - - - - - - Data\NHibernate\Config\AopConfiguration.cs - - - Data\NHibernate\HibernateTransactionManagerTests.cs - - - Data\NHibernate\ISimpleService.cs - - - Data\NHibernate\ITestObjectDao.cs - - - Data\NHibernate\LocalSessionFactoryObjectTests.cs - - - Data\NHibernate\NHTestObjectDao.cs - - - Data\NHibernate\SimpleService.cs - - - Data\NHibernate\Support\ConfigSectionSessionScopeSettingsTests.cs - - - Data\NHibernate\Support\SessionScopeSettingsTests.cs - - - Data\NHibernate\Support\SessionScopeTests.cs - - - Data\NHibernate\TestObject.cs - - - - - - - - - - Always - - - - - {3A3A4E65-45A6-4B20-B460-0BEDC302C02C} - Spring.Aop.2010 - - - {710961A3-0DF4-49E4-A26E-F5B9C044AC84} - Spring.Core.2010 - - - {E57B4652-0231-49CB-B058-87E10EFE540D} - Spring.Data.NHibernate21.2010 - - - {AE00E5AB-C39A-436F-86D2-33BFE33E2E40} - Spring.Data.2010 - - - {44B16BAA-6DF8-447C-9D7F-3AD3D854D904} - Spring.Core.Tests.2010 - - - {ACD39D47-1811-40FA-9E7E-5DEA5B9CE6C0} - Spring.Data.Tests.2010 - - - - - - - - - - - - - echo "Copying .xml files for tests" -xcopy "$(ProjectDir)Data" ..\..\..\..\build\VS.Net.2010\Spring.Data.NHibernate21.Tests\$(ConfigurationName)\ /y /s /q /d -xcopy "$(ProjectDir)$(TargetFileName).config" ..\..\..\..\build\VS.Net.2010\Spring.Data.NHibernate21.Tests\$(ConfigurationName)\ /y /s /q - - \ No newline at end of file diff --git a/test/Spring/Spring.Data.NHibernate21.Tests/Spring.Data.NHibernate21.Tests.build b/test/Spring/Spring.Data.NHibernate21.Tests/Spring.Data.NHibernate21.Tests.build deleted file mode 100644 index 79767e80..00000000 --- a/test/Spring/Spring.Data.NHibernate21.Tests/Spring.Data.NHibernate21.Tests.build +++ /dev/null @@ -1,64 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/test/Spring/Spring.Data.NHibernate21.Tests/Spring.Data.NHibernate21.Tests.dll.config b/test/Spring/Spring.Data.NHibernate21.Tests/Spring.Data.NHibernate21.Tests.dll.config deleted file mode 100644 index 3f8da4d1..00000000 --- a/test/Spring/Spring.Data.NHibernate21.Tests/Spring.Data.NHibernate21.Tests.dll.config +++ /dev/null @@ -1,30 +0,0 @@ - - - - -
- - -
- - - - - - - - - - - - - - \ No newline at end of file diff --git a/test/Spring/Spring.Data.NHibernate30.Integration.Tests/AssemblyInfo.cs b/test/Spring/Spring.Data.NHibernate30.Integration.Tests/AssemblyInfo.cs deleted file mode 100644 index 25b927a6..00000000 --- a/test/Spring/Spring.Data.NHibernate30.Integration.Tests/AssemblyInfo.cs +++ /dev/null @@ -1,4 +0,0 @@ -using System.Reflection; - -[assembly: AssemblyTitle("Spring.Data.NHibernate30 Integration Tests")] -[assembly: AssemblyDescription("Integration tests for Spring.Data.NHibernate30 assembly")] diff --git a/test/Spring/Spring.Data.NHibernate30.Integration.Tests/Data/NHibernate/Credit.hbm.xml b/test/Spring/Spring.Data.NHibernate30.Integration.Tests/Data/NHibernate/Credit.hbm.xml deleted file mode 100644 index 839d8d20..00000000 --- a/test/Spring/Spring.Data.NHibernate30.Integration.Tests/Data/NHibernate/Credit.hbm.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - diff --git a/test/Spring/Spring.Data.NHibernate30.Integration.Tests/Data/NHibernate/Debit.hbm.xml b/test/Spring/Spring.Data.NHibernate30.Integration.Tests/Data/NHibernate/Debit.hbm.xml deleted file mode 100644 index c417592a..00000000 --- a/test/Spring/Spring.Data.NHibernate30.Integration.Tests/Data/NHibernate/Debit.hbm.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - diff --git a/test/Spring/Spring.Data.NHibernate30.Integration.Tests/Data/NHibernate/MultipleDbTests.xml b/test/Spring/Spring.Data.NHibernate30.Integration.Tests/Data/NHibernate/MultipleDbTests.xml deleted file mode 100644 index d1fe79cf..00000000 --- a/test/Spring/Spring.Data.NHibernate30.Integration.Tests/Data/NHibernate/MultipleDbTests.xml +++ /dev/null @@ -1,134 +0,0 @@ - - - - - - - - - - - - - Spring.Data.NHibernate30.Integration.Tests - - - - - - - - - - - - - - - - - - - - - - - Spring.Data.NHibernate30.Integration.Tests - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - transactionInterceptor - - - - - - - - - - - - - - \ No newline at end of file diff --git a/test/Spring/Spring.Data.NHibernate30.Integration.Tests/Data/NHibernate/NHDAOTests.xml b/test/Spring/Spring.Data.NHibernate30.Integration.Tests/Data/NHibernate/NHDAOTests.xml deleted file mode 100644 index 3ac42488..00000000 --- a/test/Spring/Spring.Data.NHibernate30.Integration.Tests/Data/NHibernate/NHDAOTests.xml +++ /dev/null @@ -1,119 +0,0 @@ - - - - - - - - - - - - - - Spring.Data.NHibernate30.Integration.Tests - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - transactionInterceptor - - - - - - - - - - - - - - \ No newline at end of file diff --git a/test/Spring/Spring.Data.NHibernate30.Integration.Tests/Data/NHibernate/TestObject.hbm.xml b/test/Spring/Spring.Data.NHibernate30.Integration.Tests/Data/NHibernate/TestObject.hbm.xml deleted file mode 100644 index 5e3b567b..00000000 --- a/test/Spring/Spring.Data.NHibernate30.Integration.Tests/Data/NHibernate/TestObject.hbm.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - - - - - - - - diff --git a/test/Spring/Spring.Data.NHibernate30.Integration.Tests/Data/NHibernate/dbProviderTemplateTests.xml b/test/Spring/Spring.Data.NHibernate30.Integration.Tests/Data/NHibernate/dbProviderTemplateTests.xml deleted file mode 100644 index 5925dc92..00000000 --- a/test/Spring/Spring.Data.NHibernate30.Integration.Tests/Data/NHibernate/dbProviderTemplateTests.xml +++ /dev/null @@ -1,108 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - assembly://Spring.Data.NHibernate30.Integration.Tests/Spring.Data.NHibernate/TestObject.hbm.xml - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/test/Spring/Spring.Data.NHibernate30.Integration.Tests/Data/NHibernate/templateTests.xml b/test/Spring/Spring.Data.NHibernate30.Integration.Tests/Data/NHibernate/templateTests.xml deleted file mode 100644 index 9f8a10fd..00000000 --- a/test/Spring/Spring.Data.NHibernate30.Integration.Tests/Data/NHibernate/templateTests.xml +++ /dev/null @@ -1,121 +0,0 @@ - - - - - - - - - - - - - - - assembly://Spring.Data.NHibernate30.Integration.Tests/Spring.Data.NHibernate/TestObject.hbm.xml - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/test/Spring/Spring.Data.NHibernate30.Integration.Tests/Spring.Data.NHibernate30.Integration.Tests.2008.csproj b/test/Spring/Spring.Data.NHibernate30.Integration.Tests/Spring.Data.NHibernate30.Integration.Tests.2008.csproj deleted file mode 100644 index 605ab9d5..00000000 --- a/test/Spring/Spring.Data.NHibernate30.Integration.Tests/Spring.Data.NHibernate30.Integration.Tests.2008.csproj +++ /dev/null @@ -1,173 +0,0 @@ - - - Debug - AnyCPU - 9.0.30729 - 2.0 - {93FED0CE-0B01-43AF-8CB1-244CC7C3308B} - Library - Properties - Spring - Spring.Data.NHibernate30.Integration.Tests - - - true - full - false - ..\..\..\build\VS.Net.2008\Spring.Data.NHibernate30.Integration.Tests\Debug\ - TRACE;DEBUG;NET_2_0,NH_2_0,NH_2_1 - prompt - 4 - - - pdbonly - true - ..\..\..\build\VS.Net.2008\Spring.Data.NHibernate30.Integration.Tests\Release\ - TRACE;NET_2_0,NH_2_0,NH_2_1 - prompt - 4 - - - - False - ..\..\..\lib\Net\2.0\Common.Logging.dll - - - False - ..\..\..\lib\NHibernate30\net\3.5\Iesi.Collections.dll - - - False - ..\..\..\lib\NHibernate30\net\3.5\LinFu.DynamicProxy.dll - - - False - ..\..\..\lib\NHibernate30\net\3.5\log4net.dll - - - False - ..\..\..\lib\NHibernate30\net\3.5\NHibernate.dll - - - False - ..\..\..\lib\NHibernate30\net\3.5\NHibernate.ByteCode.LinFu.dll - - - False - ..\..\..\lib\Net\2.0\nunit.framework.dll - - - - - - - - Data\NHibernate\AccountCreditDao.cs - - - Data\NHibernate\AccountDebitDao.cs - - - Data\NHibernate\AccountManager.cs - - - Data\NHibernate\AuditDao.cs - - - Data\NHibernate\Credit.cs - - - Data\NHibernate\DbProviderTemplateTests.cs - - - Data\NHibernate\Debit.cs - - - Data\NHibernate\IAccountCreditDao.cs - - - Data\NHibernate\IAccountDebitDao.cs - - - Data\NHibernate\IAccountManager.cs - - - Data\NHibernate\IAuditDao.cs - - - Data\NHibernate\ITestObjectDao.cs - - - Data\NHibernate\MultipleDbTests.cs - - - Data\NHibernate\NativeNHTestObjectDao.cs - - - Data\NHibernate\NativeNHTests.cs - - - Data\NHibernate\NHDAOTests.cs - - - Data\NHibernate\NHTestObjectDao.cs - - - Data\NHibernate\TemplateTests.cs - - - Data\NHibernate\TestObject.cs - - - - - - Data\NHibernate\creditdebit.sql - - - - - - {3A3A4E65-45A6-4B20-B460-0BEDC302C02C} - Spring.Aop.2008 - - - {710961A3-0DF4-49E4-A26E-F5B9C044AC84} - Spring.Core.2008 - - - {71368632-B8B7-4A6A-8C65-8DA848120C82} - Spring.Data.NHibernate30.2008 - - - {AE00E5AB-C39A-436F-86D2-33BFE33E2E40} - Spring.Data.2008 - - - - - - - - - - - - - - - - - - - echo "Copying .xml files for tests" -xcopy "$(ProjectDir)Data" ..\..\..\..\build\VS.Net.2008\Spring.Data.NHibernate30.Integration.Tests\$(ConfigurationName)\ /y /s /q /d -xcopy "$(ProjectDir)$(TargetFileName).config" ..\..\..\..\build\VS.Net.2008\Spring.Data.NHibernate30.Integration.Tests\$(ConfigurationName)\ /y /s /q - - \ No newline at end of file diff --git a/test/Spring/Spring.Data.NHibernate30.Integration.Tests/Spring.Data.NHibernate30.Integration.Tests.build b/test/Spring/Spring.Data.NHibernate30.Integration.Tests/Spring.Data.NHibernate30.Integration.Tests.build deleted file mode 100644 index 50fa6e78..00000000 --- a/test/Spring/Spring.Data.NHibernate30.Integration.Tests/Spring.Data.NHibernate30.Integration.Tests.build +++ /dev/null @@ -1,62 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/test/Spring/Spring.Data.NHibernate30.Integration.Tests/Spring.Data.NHibernate30.Integration.Tests.dll.config b/test/Spring/Spring.Data.NHibernate30.Integration.Tests/Spring.Data.NHibernate30.Integration.Tests.dll.config deleted file mode 100644 index 12e5ecbf..00000000 --- a/test/Spring/Spring.Data.NHibernate30.Integration.Tests/Spring.Data.NHibernate30.Integration.Tests.dll.config +++ /dev/null @@ -1,40 +0,0 @@ - - - - -
- - -
- - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/test/Spring/Spring.Data.NHibernate30.Tests/AssemblyInfo.cs b/test/Spring/Spring.Data.NHibernate30.Tests/AssemblyInfo.cs deleted file mode 100644 index 3da885ea..00000000 --- a/test/Spring/Spring.Data.NHibernate30.Tests/AssemblyInfo.cs +++ /dev/null @@ -1,5 +0,0 @@ -using System.Reflection; -using System.Runtime.CompilerServices; - -[assembly: AssemblyTitle("Spring.Data.NHibernate Integration Tests")] -[assembly: AssemblyDescription("Integration tests for Spring.Data.NHibernate assembly")] diff --git a/test/Spring/Spring.Data.NHibernate30.Tests/Data/NHibernate/Config/AopConfiguration.xml b/test/Spring/Spring.Data.NHibernate30.Tests/Data/NHibernate/Config/AopConfiguration.xml deleted file mode 100644 index a76e3d70..00000000 --- a/test/Spring/Spring.Data.NHibernate30.Tests/Data/NHibernate/Config/AopConfiguration.xml +++ /dev/null @@ -1,99 +0,0 @@ - - - - - - - - - - - - - - - assembly://Spring.Data.NHibernate30.Tests/Spring.Data.NHibernate/TestObject.hbm.xml - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - loggingAroundAdvice - - - - - - - - - - TestObjectDao - - - - - - - - - - \ No newline at end of file diff --git a/test/Spring/Spring.Data.NHibernate30.Tests/Data/NHibernate/Config/AopConfigurationTxPointcut.xml b/test/Spring/Spring.Data.NHibernate30.Tests/Data/NHibernate/Config/AopConfigurationTxPointcut.xml deleted file mode 100644 index 83c14d0f..00000000 --- a/test/Spring/Spring.Data.NHibernate30.Tests/Data/NHibernate/Config/AopConfigurationTxPointcut.xml +++ /dev/null @@ -1,97 +0,0 @@ - - - - - - - - - - - - - - - assembly://Spring.Data.NHibernate30.Tests/Spring.Data.NHibernate/TestObject.hbm.xml - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 12341234asdf* - - - - - - - - - loggingAdvisor - - - - - - - - - - TestObjectDao - - - - - - - - - \ No newline at end of file diff --git a/test/Spring/Spring.Data.NHibernate30.Tests/Data/NHibernate/TestObject.hbm.xml b/test/Spring/Spring.Data.NHibernate30.Tests/Data/NHibernate/TestObject.hbm.xml deleted file mode 100644 index 6d6ec1e3..00000000 --- a/test/Spring/Spring.Data.NHibernate30.Tests/Data/NHibernate/TestObject.hbm.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - - - - - - - - diff --git a/test/Spring/Spring.Data.NHibernate30.Tests/Spring.Data.NHibernate30.Tests.2008.csproj b/test/Spring/Spring.Data.NHibernate30.Tests/Spring.Data.NHibernate30.Tests.2008.csproj deleted file mode 100644 index fcff0e5b..00000000 --- a/test/Spring/Spring.Data.NHibernate30.Tests/Spring.Data.NHibernate30.Tests.2008.csproj +++ /dev/null @@ -1,141 +0,0 @@ - - - Debug - AnyCPU - 9.0.30729 - 2.0 - {E4CCB8A2-2381-41D1-B44C-E20E13703056} - Library - Properties - Spring - Spring.Data.NHibernate30.Tests - - - true - full - false - ..\..\..\build\VS.Net.2008\Spring.Data.NHibernate30.Tests\Debug\ - TRACE;DEBUG;NET_2_0,NH_2_0,NH_2_1 - prompt - 4 - - - pdbonly - true - ..\..\..\build\VS.Net.2008\Spring.Data.NHibernate30.Tests\Release\ - TRACE;NET_2_0,NH_2_0,NH_2_1 - prompt - 4 - - - - False - ..\..\..\lib\Net\2.0\Common.Logging.dll - - - False - ..\..\..\lib\NHibernate30\net\3.5\Iesi.Collections.dll - - - False - ..\..\..\lib\NHibernate30\net\3.5\log4net.dll - - - False - ..\..\..\lib\NHibernate30\net\3.5\NHibernate.dll - - - False - ..\..\..\lib\net\2.0\nunit.framework.dll - - - False - ..\..\..\lib\Net\2.0\Rhino.Mocks.dll - - - - - - - - Data\NHibernate\Config\AopConfiguration.cs - - - Data\NHibernate\HibernateTransactionManagerTests.cs - - - Data\NHibernate\ISimpleService.cs - - - Data\NHibernate\ITestObjectDao.cs - - - Data\NHibernate\LocalSessionFactoryObjectTests.cs - - - Data\NHibernate\NHTestObjectDao.cs - - - Data\NHibernate\SimpleService.cs - - - Data\NHibernate\Support\ConfigSectionSessionScopeSettingsTests.cs - - - Data\NHibernate\Support\SessionScopeSettingsTests.cs - - - Data\NHibernate\Support\SessionScopeTests.cs - - - Data\NHibernate\TestObject.cs - - - - - Always - - - - - {3A3A4E65-45A6-4B20-B460-0BEDC302C02C} - Spring.Aop.2008 - - - {710961A3-0DF4-49E4-A26E-F5B9C044AC84} - Spring.Core.2008 - - - {71368632-B8B7-4A6A-8C65-8DA848120C82} - Spring.Data.NHibernate30.2008 - - - {AE00E5AB-C39A-436F-86D2-33BFE33E2E40} - Spring.Data.2008 - - - {ACD39D47-1811-40FA-9E7E-5DEA5B9CE6C0} - Spring.Data.Tests.2008 - - - - - - - - - - - - - echo "Copying .xml files for tests" -xcopy "$(ProjectDir)Data" ..\..\..\..\build\VS.Net.2008\Spring.Data.NHibernate30.Tests\$(ConfigurationName)\ /y /s /q /d -xcopy "$(ProjectDir)$(TargetFileName).config" ..\..\..\..\build\VS.Net.2008\Spring.Data.NHibernate30.Tests\$(ConfigurationName)\ /y /s /q - - \ No newline at end of file diff --git a/test/Spring/Spring.Data.NHibernate30.Tests/Spring.Data.NHibernate30.Tests.2010.csproj b/test/Spring/Spring.Data.NHibernate30.Tests/Spring.Data.NHibernate30.Tests.2010.csproj deleted file mode 100644 index e127f709..00000000 --- a/test/Spring/Spring.Data.NHibernate30.Tests/Spring.Data.NHibernate30.Tests.2010.csproj +++ /dev/null @@ -1,148 +0,0 @@ - - - - Debug - AnyCPU - 9.0.30729 - 2.0 - {E4CCB8A2-2381-41D1-B44C-E20E13703056} - Library - Properties - Spring - Spring.Data.NHibernate30.Tests - v4.0 - - - 3.5 - - - - - true - full - false - ..\..\..\build\VS.Net.2010\Spring.Data.NHibernate30.Tests\Debug\ - TRACE;DEBUG;NET_4_0,NH_2_0,NH_2_1 - prompt - 4 - - - pdbonly - true - ..\..\..\build\VS.Net.2010\Spring.Data.NHibernate30.Tests\Release\ - TRACE;NET_4_0,NH_2_0,NH_2_1 - prompt - 4 - - - - False - ..\..\..\lib\Net\2.0\Common.Logging.dll - - - False - ..\..\..\lib\NHibernate30\net\3.5\Iesi.Collections.dll - - - False - ..\..\..\lib\NHibernate30\net\3.5\log4net.dll - - - False - ..\..\..\lib\NHibernate30\net\3.5\NHibernate.dll - - - False - ..\..\..\lib\net\2.0\nunit.framework.dll - - - False - ..\..\..\lib\Net\2.0\Rhino.Mocks.dll - - - - - - - - Data\NHibernate\Config\AopConfiguration.cs - - - Data\NHibernate\HibernateTransactionManagerTests.cs - - - Data\NHibernate\ISimpleService.cs - - - Data\NHibernate\ITestObjectDao.cs - - - Data\NHibernate\LocalSessionFactoryObjectTests.cs - - - Data\NHibernate\NHTestObjectDao.cs - - - Data\NHibernate\SimpleService.cs - - - Data\NHibernate\Support\ConfigSectionSessionScopeSettingsTests.cs - - - Data\NHibernate\Support\SessionScopeSettingsTests.cs - - - Data\NHibernate\Support\SessionScopeTests.cs - - - Data\NHibernate\TestObject.cs - - - - - Always - - - - - {3A3A4E65-45A6-4B20-B460-0BEDC302C02C} - Spring.Aop.2010 - - - {710961A3-0DF4-49E4-A26E-F5B9C044AC84} - Spring.Core.2010 - - - {71368632-B8B7-4A6A-8C65-8DA848120C82} - Spring.Data.NHibernate30.2010 - - - {AE00E5AB-C39A-436F-86D2-33BFE33E2E40} - Spring.Data.2010 - - - {ACD39D47-1811-40FA-9E7E-5DEA5B9CE6C0} - Spring.Data.Tests.2010 - - - - - - - - - - - - - echo "Copying .xml files for tests" -xcopy "$(ProjectDir)Data" ..\..\..\..\build\VS.Net.2010\Spring.Data.NHibernate30.Tests\$(ConfigurationName)\ /y /s /q /d -xcopy "$(ProjectDir)$(TargetFileName).config" ..\..\..\..\build\VS.Net.2010\Spring.Data.NHibernate30.Tests\$(ConfigurationName)\ /y /s /q - - \ No newline at end of file diff --git a/test/Spring/Spring.Data.NHibernate30.Tests/Spring.Data.NHibernate30.Tests.build b/test/Spring/Spring.Data.NHibernate30.Tests/Spring.Data.NHibernate30.Tests.build deleted file mode 100644 index a96acb3e..00000000 --- a/test/Spring/Spring.Data.NHibernate30.Tests/Spring.Data.NHibernate30.Tests.build +++ /dev/null @@ -1,75 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/test/Spring/Spring.Data.NHibernate30.Tests/Spring.Data.NHibernate30.Tests.dll.config b/test/Spring/Spring.Data.NHibernate30.Tests/Spring.Data.NHibernate30.Tests.dll.config deleted file mode 100644 index 3f8da4d1..00000000 --- a/test/Spring/Spring.Data.NHibernate30.Tests/Spring.Data.NHibernate30.Tests.dll.config +++ /dev/null @@ -1,30 +0,0 @@ - - - - -
- - -
- - - - - - - - - - - - - - \ No newline at end of file diff --git a/test/Spring/Spring.Data.NHibernate31.Integration.Tests/AssemblyInfo.cs b/test/Spring/Spring.Data.NHibernate31.Integration.Tests/AssemblyInfo.cs deleted file mode 100644 index 9db0ab65..00000000 --- a/test/Spring/Spring.Data.NHibernate31.Integration.Tests/AssemblyInfo.cs +++ /dev/null @@ -1,4 +0,0 @@ -using System.Reflection; - -[assembly: AssemblyTitle("Spring.Data.NHibernate31 Integration Tests")] -[assembly: AssemblyDescription("Integration tests for Spring.Data.NHibernate31 assembly")] diff --git a/test/Spring/Spring.Data.NHibernate31.Integration.Tests/Data/NHibernate/Credit.hbm.xml b/test/Spring/Spring.Data.NHibernate31.Integration.Tests/Data/NHibernate/Credit.hbm.xml deleted file mode 100644 index a78a4865..00000000 --- a/test/Spring/Spring.Data.NHibernate31.Integration.Tests/Data/NHibernate/Credit.hbm.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - diff --git a/test/Spring/Spring.Data.NHibernate31.Integration.Tests/Data/NHibernate/Debit.hbm.xml b/test/Spring/Spring.Data.NHibernate31.Integration.Tests/Data/NHibernate/Debit.hbm.xml deleted file mode 100644 index 0bafaa7a..00000000 --- a/test/Spring/Spring.Data.NHibernate31.Integration.Tests/Data/NHibernate/Debit.hbm.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - diff --git a/test/Spring/Spring.Data.NHibernate31.Integration.Tests/Data/NHibernate/MultipleDbTests.xml b/test/Spring/Spring.Data.NHibernate31.Integration.Tests/Data/NHibernate/MultipleDbTests.xml deleted file mode 100644 index daddfbd1..00000000 --- a/test/Spring/Spring.Data.NHibernate31.Integration.Tests/Data/NHibernate/MultipleDbTests.xml +++ /dev/null @@ -1,140 +0,0 @@ - - - - - - - - - - - - - Spring.Data.NHibernate31.Integration.Tests - - - - - - - - - - - - - - - - - - - - - - - - Spring.Data.NHibernate31.Integration.Tests - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - transactionInterceptor - - - - - - - - - - - - - - \ No newline at end of file diff --git a/test/Spring/Spring.Data.NHibernate31.Integration.Tests/Data/NHibernate/NHDAOTests.xml b/test/Spring/Spring.Data.NHibernate31.Integration.Tests/Data/NHibernate/NHDAOTests.xml deleted file mode 100644 index e8d56a35..00000000 --- a/test/Spring/Spring.Data.NHibernate31.Integration.Tests/Data/NHibernate/NHDAOTests.xml +++ /dev/null @@ -1,122 +0,0 @@ - - - - - - - - - - - - - - Spring.Data.NHibernate31.Integration.Tests - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - transactionInterceptor - - - - - - - - - - - - - - \ No newline at end of file diff --git a/test/Spring/Spring.Data.NHibernate31.Integration.Tests/Data/NHibernate/TestObject.hbm.xml b/test/Spring/Spring.Data.NHibernate31.Integration.Tests/Data/NHibernate/TestObject.hbm.xml deleted file mode 100644 index c86706c3..00000000 --- a/test/Spring/Spring.Data.NHibernate31.Integration.Tests/Data/NHibernate/TestObject.hbm.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - - - - - - - - diff --git a/test/Spring/Spring.Data.NHibernate31.Integration.Tests/Data/NHibernate/dbProviderTemplateTests.xml b/test/Spring/Spring.Data.NHibernate31.Integration.Tests/Data/NHibernate/dbProviderTemplateTests.xml deleted file mode 100644 index ed9298fb..00000000 --- a/test/Spring/Spring.Data.NHibernate31.Integration.Tests/Data/NHibernate/dbProviderTemplateTests.xml +++ /dev/null @@ -1,110 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - assembly://Spring.Data.NHibernate31.Integration.Tests/Spring.Data.NHibernate/TestObject.hbm.xml - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/test/Spring/Spring.Data.NHibernate31.Integration.Tests/Data/NHibernate/templateTests.xml b/test/Spring/Spring.Data.NHibernate31.Integration.Tests/Data/NHibernate/templateTests.xml deleted file mode 100644 index c5cfe19c..00000000 --- a/test/Spring/Spring.Data.NHibernate31.Integration.Tests/Data/NHibernate/templateTests.xml +++ /dev/null @@ -1,124 +0,0 @@ - - - - - - - - - - - - - - - assembly://Spring.Data.NHibernate31.Integration.Tests/Spring.Data.NHibernate/TestObject.hbm.xml - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/test/Spring/Spring.Data.NHibernate31.Integration.Tests/Spring.Data.NHibernate31.Integration.Tests.2008.csproj b/test/Spring/Spring.Data.NHibernate31.Integration.Tests/Spring.Data.NHibernate31.Integration.Tests.2008.csproj deleted file mode 100644 index ced089f5..00000000 --- a/test/Spring/Spring.Data.NHibernate31.Integration.Tests/Spring.Data.NHibernate31.Integration.Tests.2008.csproj +++ /dev/null @@ -1,165 +0,0 @@ - - - Debug - AnyCPU - 9.0.30729 - 2.0 - {CD6A49DE-745C-4360-AADF-3539CFEC6639} - Library - Properties - Spring - Spring.Data.NHibernate31.Integration.Tests - - - true - full - false - ..\..\..\build\VS.Net.2008\Spring.Data.NHibernate31.Integration.Tests\Debug\ - TRACE;DEBUG;NET_2_0,NH_2_0,NH_2_1 - prompt - 4 - - - pdbonly - true - ..\..\..\build\VS.Net.2008\Spring.Data.NHibernate31.Integration.Tests\Release\ - TRACE;NET_2_0,NH_2_0,NH_2_1 - prompt - 4 - - - - False - ..\..\..\lib\Net\2.0\Common.Logging.dll - - - False - ..\..\..\lib\NHibernate31\net\3.5\Iesi.Collections.dll - - - False - ..\..\..\lib\NHibernate30\net\3.5\log4net.dll - - - False - ..\..\..\lib\NHibernate31\net\3.5\NHibernate.dll - - - False - ..\..\..\lib\Net\2.0\nunit.framework.dll - - - - - - - - Data\NHibernate\AccountCreditDao.cs - - - Data\NHibernate\AccountDebitDao.cs - - - Data\NHibernate\AccountManager.cs - - - Data\NHibernate\AuditDao.cs - - - Data\NHibernate\Credit.cs - - - Data\NHibernate\DbProviderTemplateTests.cs - - - Data\NHibernate\Debit.cs - - - Data\NHibernate\IAccountCreditDao.cs - - - Data\NHibernate\IAccountDebitDao.cs - - - Data\NHibernate\IAccountManager.cs - - - Data\NHibernate\IAuditDao.cs - - - Data\NHibernate\ITestObjectDao.cs - - - Data\NHibernate\MultipleDbTests.cs - - - Data\NHibernate\NativeNHTestObjectDao.cs - - - Data\NHibernate\NativeNHTests.cs - - - Data\NHibernate\NHDAOTests.cs - - - Data\NHibernate\NHTestObjectDao.cs - - - Data\NHibernate\TemplateTests.cs - - - Data\NHibernate\TestObject.cs - - - - - - Data\NHibernate\creditdebit.sql - - - - - - {3A3A4E65-45A6-4B20-B460-0BEDC302C02C} - Spring.Aop.2008 - - - {710961A3-0DF4-49E4-A26E-F5B9C044AC84} - Spring.Core.2008 - - - {71368632-B8B7-4A6A-8C65-8DA848120C82} - Spring.Data.NHibernate31.2008 - - - {AE00E5AB-C39A-436F-86D2-33BFE33E2E40} - Spring.Data.2008 - - - - - - - - - - - - - - - - - - - echo "Copying .xml files for tests" -xcopy "$(ProjectDir)Data" ..\..\..\..\build\VS.Net.2008\Spring.Data.NHibernate31.Integration.Tests\$(ConfigurationName)\ /y /s /q /d -xcopy "$(ProjectDir)$(TargetFileName).config" ..\..\..\..\build\VS.Net.2008\Spring.Data.NHibernate31.Integration.Tests\$(ConfigurationName)\ /y /s /q - - \ No newline at end of file diff --git a/test/Spring/Spring.Data.NHibernate31.Integration.Tests/Spring.Data.NHibernate31.Integration.Tests.build b/test/Spring/Spring.Data.NHibernate31.Integration.Tests/Spring.Data.NHibernate31.Integration.Tests.build deleted file mode 100644 index 516a331f..00000000 --- a/test/Spring/Spring.Data.NHibernate31.Integration.Tests/Spring.Data.NHibernate31.Integration.Tests.build +++ /dev/null @@ -1,62 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/test/Spring/Spring.Data.NHibernate31.Integration.Tests/Spring.Data.NHibernate31.Integration.Tests.dll.config b/test/Spring/Spring.Data.NHibernate31.Integration.Tests/Spring.Data.NHibernate31.Integration.Tests.dll.config deleted file mode 100644 index 12e5ecbf..00000000 --- a/test/Spring/Spring.Data.NHibernate31.Integration.Tests/Spring.Data.NHibernate31.Integration.Tests.dll.config +++ /dev/null @@ -1,40 +0,0 @@ - - - - -
- - -
- - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/test/Spring/Spring.Data.NHibernate31.Tests/AssemblyInfo.cs b/test/Spring/Spring.Data.NHibernate31.Tests/AssemblyInfo.cs deleted file mode 100644 index db417bb4..00000000 --- a/test/Spring/Spring.Data.NHibernate31.Tests/AssemblyInfo.cs +++ /dev/null @@ -1,5 +0,0 @@ -using System.Reflection; -using System.Runtime.CompilerServices; - -[assembly: AssemblyTitle("Spring.Data.NHibernate31 Integration Tests")] -[assembly: AssemblyDescription("Integration tests for Spring.Data.NHibernate31 assembly")] diff --git a/test/Spring/Spring.Data.NHibernate31.Tests/Data/NHibernate/Config/AopConfiguration.xml b/test/Spring/Spring.Data.NHibernate31.Tests/Data/NHibernate/Config/AopConfiguration.xml deleted file mode 100644 index cdbe4de9..00000000 --- a/test/Spring/Spring.Data.NHibernate31.Tests/Data/NHibernate/Config/AopConfiguration.xml +++ /dev/null @@ -1,102 +0,0 @@ - - - - - - - - - - - - - - - assembly://Spring.Data.NHibernate31.Tests/Spring.Data.NHibernate/TestObject.hbm.xml - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - loggingAroundAdvice - - - - - - - - - - TestObjectDao - - - - - - - - - - \ No newline at end of file diff --git a/test/Spring/Spring.Data.NHibernate31.Tests/Data/NHibernate/Config/AopConfigurationTxPointcut.xml b/test/Spring/Spring.Data.NHibernate31.Tests/Data/NHibernate/Config/AopConfigurationTxPointcut.xml deleted file mode 100644 index d089e7af..00000000 --- a/test/Spring/Spring.Data.NHibernate31.Tests/Data/NHibernate/Config/AopConfigurationTxPointcut.xml +++ /dev/null @@ -1,100 +0,0 @@ - - - - - - - - - - - - - - - assembly://Spring.Data.NHibernate31.Tests/Spring.Data.NHibernate/TestObject.hbm.xml - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 12341234asdf* - - - - - - - - - loggingAdvisor - - - - - - - - - - TestObjectDao - - - - - - - - - \ No newline at end of file diff --git a/test/Spring/Spring.Data.NHibernate31.Tests/Data/NHibernate/TestObject.hbm.xml b/test/Spring/Spring.Data.NHibernate31.Tests/Data/NHibernate/TestObject.hbm.xml deleted file mode 100644 index 96a689ee..00000000 --- a/test/Spring/Spring.Data.NHibernate31.Tests/Data/NHibernate/TestObject.hbm.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - - - - - - - - diff --git a/test/Spring/Spring.Data.NHibernate31.Tests/Spring.Data.NHibernate31.Tests.2008.csproj b/test/Spring/Spring.Data.NHibernate31.Tests/Spring.Data.NHibernate31.Tests.2008.csproj deleted file mode 100644 index 9367aa77..00000000 --- a/test/Spring/Spring.Data.NHibernate31.Tests/Spring.Data.NHibernate31.Tests.2008.csproj +++ /dev/null @@ -1,141 +0,0 @@ - - - Debug - AnyCPU - 9.0.30729 - 2.0 - {231512F3-4F1D-45E1-BADE-D01F68DB9A80} - Library - Properties - Spring - Spring.Data.NHibernate31.Tests - - - true - full - false - ..\..\..\build\VS.Net.2008\Spring.Data.NHibernate31.Tests\Debug\ - TRACE;DEBUG;NET_2_0,NH_2_0,NH_2_1 - prompt - 4 - - - pdbonly - true - ..\..\..\build\VS.Net.2008\Spring.Data.NHibernate31.Tests\Release\ - TRACE;NET_2_0,NET_2_0,NH_2_0,NH_2_1 - prompt - 4 - - - - False - ..\..\..\lib\Net\2.0\Common.Logging.dll - - - False - ..\..\..\lib\NHibernate31\net\3.5\Iesi.Collections.dll - - - False - ..\..\..\lib\NHibernate30\net\3.5\log4net.dll - - - False - ..\..\..\lib\NHibernate31\net\3.5\NHibernate.dll - - - False - ..\..\..\lib\net\2.0\nunit.framework.dll - - - False - ..\..\..\lib\Net\2.0\Rhino.Mocks.dll - - - - - - - - Data\NHibernate\Config\AopConfiguration.cs - - - Data\NHibernate\HibernateTransactionManagerTests.cs - - - Data\NHibernate\ISimpleService.cs - - - Data\NHibernate\ITestObjectDao.cs - - - Data\NHibernate\LocalSessionFactoryObjectTests.cs - - - Data\NHibernate\NHTestObjectDao.cs - - - Data\NHibernate\SimpleService.cs - - - Data\NHibernate\Support\ConfigSectionSessionScopeSettingsTests.cs - - - Data\NHibernate\Support\SessionScopeSettingsTests.cs - - - Data\NHibernate\Support\SessionScopeTests.cs - - - Data\NHibernate\TestObject.cs - - - - - Always - - - - - {3A3A4E65-45A6-4B20-B460-0BEDC302C02C} - Spring.Aop.2008 - - - {710961A3-0DF4-49E4-A26E-F5B9C044AC84} - Spring.Core.2008 - - - {71368632-B8B7-4A6A-8C65-8DA848120C82} - Spring.Data.NHibernate31.2008 - - - {AE00E5AB-C39A-436F-86D2-33BFE33E2E40} - Spring.Data.2008 - - - {ACD39D47-1811-40FA-9E7E-5DEA5B9CE6C0} - Spring.Data.Tests.2008 - - - - - - - - - - - - - echo "Copying .xml files for tests" -xcopy "$(ProjectDir)Data" ..\..\..\..\build\VS.Net.2008\Spring.Data.NHibernate31.Tests\$(ConfigurationName)\ /y /s /q /d -xcopy "$(ProjectDir)$(TargetFileName).config" ..\..\..\..\build\VS.Net.2008\Spring.Data.NHibernate31.Tests\$(ConfigurationName)\ /y /s /q - - \ No newline at end of file diff --git a/test/Spring/Spring.Data.NHibernate31.Tests/Spring.Data.NHibernate31.Tests.2010.csproj b/test/Spring/Spring.Data.NHibernate31.Tests/Spring.Data.NHibernate31.Tests.2010.csproj deleted file mode 100644 index dbed9b20..00000000 --- a/test/Spring/Spring.Data.NHibernate31.Tests/Spring.Data.NHibernate31.Tests.2010.csproj +++ /dev/null @@ -1,147 +0,0 @@ - - - - Debug - AnyCPU - 9.0.30729 - 2.0 - {867628D8-DFCC-4D2A-A786-EB0D97DBC3DC} - Library - Properties - Spring - Spring.Data.NHibernate31.Tests - v4.0 - - - 3.5 - - - - - true - full - false - ..\..\..\build\VS.Net.2010\Spring.Data.NHibernate31.Tests\Debug\ - TRACE;DEBUG;NET_4_0,NH_2_0,NH_2_1 - prompt - 4 - - - pdbonly - true - ..\..\..\build\VS.Net.2010\Spring.Data.NHibernate31.Tests\Release\ - TRACE;NET_4_0,NH_2_0,NH_2_1 - prompt - 4 - - - - False - ..\..\..\lib\Net\2.0\Common.Logging.dll - - - False - ..\..\..\lib\NHibernate31\net\3.5\Iesi.Collections.dll - - - ..\..\..\lib\NHibernate30\net\4.0\log4net.dll - - - False - ..\..\..\lib\NHibernate31\net\3.5\NHibernate.dll - - - False - ..\..\..\lib\net\2.0\nunit.framework.dll - - - False - ..\..\..\lib\Net\2.0\Rhino.Mocks.dll - - - - - - - - Data\NHibernate\Config\AopConfiguration.cs - - - Data\NHibernate\HibernateTransactionManagerTests.cs - - - Data\NHibernate\ISimpleService.cs - - - Data\NHibernate\ITestObjectDao.cs - - - Data\NHibernate\LocalSessionFactoryObjectTests.cs - - - Data\NHibernate\NHTestObjectDao.cs - - - Data\NHibernate\SimpleService.cs - - - Data\NHibernate\Support\ConfigSectionSessionScopeSettingsTests.cs - - - Data\NHibernate\Support\SessionScopeSettingsTests.cs - - - Data\NHibernate\Support\SessionScopeTests.cs - - - Data\NHibernate\TestObject.cs - - - - - Always - - - - - {3A3A4E65-45A6-4B20-B460-0BEDC302C02C} - Spring.Aop.2010 - - - {710961A3-0DF4-49E4-A26E-F5B9C044AC84} - Spring.Core.2010 - - - {71368632-B8B7-4A6A-8C65-8DA848120C82} - Spring.Data.NHibernate31.2010 - - - {AE00E5AB-C39A-436F-86D2-33BFE33E2E40} - Spring.Data.2010 - - - {ACD39D47-1811-40FA-9E7E-5DEA5B9CE6C0} - Spring.Data.Tests.2010 - - - - - - - - - - - - - echo "Copying .xml files for tests" -xcopy "$(ProjectDir)Data" ..\..\..\..\build\VS.Net.2010\Spring.Data.NHibernate31.Tests\$(ConfigurationName)\ /y /s /q /d -xcopy "$(ProjectDir)$(TargetFileName).config" ..\..\..\..\build\VS.Net.2010\Spring.Data.NHibernate31.Tests\$(ConfigurationName)\ /y /s /q - - \ No newline at end of file diff --git a/test/Spring/Spring.Data.NHibernate31.Tests/Spring.Data.NHibernate31.Tests.build b/test/Spring/Spring.Data.NHibernate31.Tests/Spring.Data.NHibernate31.Tests.build deleted file mode 100644 index d0842320..00000000 --- a/test/Spring/Spring.Data.NHibernate31.Tests/Spring.Data.NHibernate31.Tests.build +++ /dev/null @@ -1,75 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/test/Spring/Spring.Data.NHibernate31.Tests/Spring.Data.NHibernate31.Tests.dll.config b/test/Spring/Spring.Data.NHibernate31.Tests/Spring.Data.NHibernate31.Tests.dll.config deleted file mode 100644 index 3f8da4d1..00000000 --- a/test/Spring/Spring.Data.NHibernate31.Tests/Spring.Data.NHibernate31.Tests.dll.config +++ /dev/null @@ -1,30 +0,0 @@ - - - - -
- - -
- - - - - - - - - - - - - - \ No newline at end of file diff --git a/test/Spring/Spring.Data.NHibernate32.Integration.Tests/Data/NHibernate/Bytecode/Foo.Spechbm.xml b/test/Spring/Spring.Data.NHibernate32.Integration.Tests/Data/NHibernate/Bytecode/Foo.Spechbm.xml new file mode 100644 index 00000000..38faa3e6 --- /dev/null +++ b/test/Spring/Spring.Data.NHibernate32.Integration.Tests/Data/NHibernate/Bytecode/Foo.Spechbm.xml @@ -0,0 +1,15 @@ + + + + + + + + + + + + \ No newline at end of file diff --git a/test/Spring/Spring.Data.NHibernate21.Integration.Tests/Data/NHibernate/Dao.xml b/test/Spring/Spring.Data.NHibernate32.Integration.Tests/Data/NHibernate/Dao.xml similarity index 83% rename from test/Spring/Spring.Data.NHibernate21.Integration.Tests/Data/NHibernate/Dao.xml rename to test/Spring/Spring.Data.NHibernate32.Integration.Tests/Data/NHibernate/Dao.xml index 8237a483..13e614d2 100644 --- a/test/Spring/Spring.Data.NHibernate21.Integration.Tests/Data/NHibernate/Dao.xml +++ b/test/Spring/Spring.Data.NHibernate32.Integration.Tests/Data/NHibernate/Dao.xml @@ -1,63 +1,63 @@ - - - - - - - - - - - - - - - - - - - - - Spring.Data.NHibernate21.Integration.Tests - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + Spring.Data.NHibernate32.Integration.Tests + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/test/Spring/Spring.Data.NHibernate32.Integration.Tests/Data/NHibernate/MultipleDbTests.xml b/test/Spring/Spring.Data.NHibernate32.Integration.Tests/Data/NHibernate/MultipleDbTests.xml index ee0f92bd..df7fdafc 100644 --- a/test/Spring/Spring.Data.NHibernate32.Integration.Tests/Data/NHibernate/MultipleDbTests.xml +++ b/test/Spring/Spring.Data.NHibernate32.Integration.Tests/Data/NHibernate/MultipleDbTests.xml @@ -30,11 +30,6 @@ - - @@ -60,12 +55,6 @@ - - - diff --git a/test/Spring/Spring.Data.NHibernate32.Integration.Tests/Spring.Data.NHibernate32.Integration.Tests.2008.csproj b/test/Spring/Spring.Data.NHibernate32.Integration.Tests/Spring.Data.NHibernate32.Integration.Tests.2008.csproj index 28a861cc..f4c33c9b 100644 --- a/test/Spring/Spring.Data.NHibernate32.Integration.Tests/Spring.Data.NHibernate32.Integration.Tests.2008.csproj +++ b/test/Spring/Spring.Data.NHibernate32.Integration.Tests/Spring.Data.NHibernate32.Integration.Tests.2008.csproj @@ -15,7 +15,7 @@ full false ..\..\..\build\VS.Net.2008\Spring.Data.NHibernate32.Integration.Tests\Debug\ - TRACE;DEBUG;NET_2_0,NH_2_0,NH_2_1 + TRACE;DEBUG prompt 4 @@ -23,7 +23,7 @@ pdbonly true ..\..\..\build\VS.Net.2008\Spring.Data.NHibernate32.Integration.Tests\Release\ - TRACE;NET_2_0,NH_2_0,NH_2_1 + TRACE prompt 4 @@ -50,9 +50,13 @@ + + + Data\NHibernate\AccountController.cs + Data\NHibernate\AccountCreditDao.cs @@ -65,6 +69,24 @@ Data\NHibernate\AuditDao.cs + + Data\Bytecode\AbstractInjectableUserTypeFixture.cs + + + Data\Bytecode\Foo.cs + + + Data\Bytecode\IDelimiter.cs + + + Data\Bytecode\InjectableStringUserType.cs + + + Data\Bytecode\InjectableUserTypeFixture.cs + + + Data\Bytecode\Product.cs + Data\NHibernate\Credit.cs @@ -74,6 +96,12 @@ Data\NHibernate\Debit.cs + + Data\NHibernate\HibernateTxScopeTransactionManagerTests.cs + + + Data\NHibernate\IAccountController.cs + Data\NHibernate\IAccountCreditDao.cs @@ -104,6 +132,9 @@ Data\NHibernate\NHTestObjectDao.cs + + Data\NHibernate\SimpleTestDao.cs + Data\NHibernate\TemplateTests.cs @@ -149,6 +180,19 @@ + + + Data\NHibernate\Controllers.xml + + + Data\NHibernate\HibernateTxScopeTransactionManagerTests.xml + + + Data\NHibernate\Services.xml + + + + - - echo "Copying .xml files for tests" -xcopy "$(ProjectDir)Data" ..\..\..\..\build\VS.Net.2008\Spring.Data.NHibernate30.Integration.Tests\$(ConfigurationName)\ /y /s /q /d -xcopy "$(ProjectDir)$(TargetFileName).config" ..\..\..\..\build\VS.Net.2008\Spring.Data.NHibernate30.Integration.Tests\$(ConfigurationName)\ /y /s /q - + + + + Debug + AnyCPU + 9.0.30729 + 2.0 + {CD6A49DE-745C-4360-AADF-3539CFEC6639} + Library + Properties + Spring + Spring.Data.NHibernate32.Integration.Tests + v4.0 + + + 3.5 + + publish\ + true + Disk + false + Foreground + 7 + Days + false + false + true + 0 + 1.0.0.%2a + false + false + true + + + + true + full + false + ..\..\..\build\VS.Net.2010\Spring.Data.NHibernate32.Integration.Tests\Debug\ + TRACE;DEBUG + prompt + 4 + + + pdbonly + true + ..\..\..\build\VS.Net.2010\Spring.Data.NHibernate32.Integration.Tests\Release\ + TRACE + prompt + 4 + + + + False + ..\..\..\lib\Net\2.0\Common.Logging.dll + + + False + ..\..\..\lib\NHibernate32\net\3.5\Iesi.Collections.dll + + + False + ..\..\..\lib\NHibernate30\net\3.5\log4net.dll + + + False + ..\..\..\lib\NHibernate32\net\3.5\NHibernate.dll + + + False + ..\..\..\lib\Net\2.0\nunit.framework.dll + + + + + + + + + Data\NHibernate\AccountController.cs + + + Data\NHibernate\AccountCreditDao.cs + + + Data\NHibernate\AccountDebitDao.cs + + + Data\NHibernate\AccountManager.cs + + + Data\NHibernate\AuditDao.cs + + + Data\Bytecode\AbstractInjectableUserTypeFixture.cs + + + Data\Bytecode\Foo.cs + + + Data\Bytecode\IDelimiter.cs + + + Data\Bytecode\InjectableStringUserType.cs + + + Data\Bytecode\InjectableUserTypeFixture.cs + + + Data\Bytecode\Product.cs + + + Data\NHibernate\Credit.cs + + + Data\NHibernate\DbProviderTemplateTests.cs + + + Data\NHibernate\Debit.cs + + + Data\NHibernate\HibernateTxScopeTransactionManagerTests.cs + + + Data\NHibernate\IAccountController.cs + + + Data\NHibernate\IAccountCreditDao.cs + + + Data\NHibernate\IAccountDebitDao.cs + + + Data\NHibernate\IAccountManager.cs + + + Data\NHibernate\IAuditDao.cs + + + Data\NHibernate\ITestObjectDao.cs + + + Data\NHibernate\MultipleDbTests.cs + + + Data\NHibernate\NativeNHTestObjectDao.cs + + + Data\NHibernate\NativeNHTests.cs + + + Data\NHibernate\NHDAOTests.cs + + + Data\NHibernate\NHTestObjectDao.cs + + + Data\NHibernate\SimpleTestDao.cs + + + Data\NHibernate\TemplateTests.cs + + + Data\NHibernate\TestObject.cs + + + + + + Data\NHibernate\creditdebit.sql + + + + + + + + + + + + + + + + + + + Data\NHibernate\Controllers.xml + + + Data\NHibernate\HibernateTxScopeTransactionManagerTests.xml + + + Data\NHibernate\Services.xml + + + + + + + False + .NET Framework 3.5 SP1 Client Profile + false + + + False + .NET Framework 3.5 SP1 + true + + + False + Windows Installer 3.1 + true + + + + + {3A3A4E65-45A6-4B20-B460-0BEDC302C02C} + Spring.Aop.2010 + + + {710961A3-0DF4-49E4-A26E-F5B9C044AC84} + Spring.Core.2010 + + + {9F0F739C-876E-4C4B-AA55-9AC9242C25C8} + Spring.Data.NHibernate32.2010 + + + {AE00E5AB-C39A-436F-86D2-33BFE33E2E40} + Spring.Data.2010 + + + + + + echo "Copying .xml files for tests" +xcopy "$(ProjectDir)Data" ..\..\..\..\build\VS.Net.2008\Spring.Data.NHibernate32.Integration.Tests\$(ConfigurationName)\ /y /s /q /d +xcopy "$(ProjectDir)$(TargetFileName).config" ..\..\..\..\build\VS.Net.2008\Spring.Data.NHibernate32.Integration.Tests\$(ConfigurationName)\ /y /s /q + \ No newline at end of file diff --git a/test/Spring/Spring.Data.NHibernate32.Integration.Tests/Spring.Data.NHibernate32.Integration.Tests.build b/test/Spring/Spring.Data.NHibernate32.Integration.Tests/Spring.Data.NHibernate32.Integration.Tests.build index 44391d29..fc352ee0 100644 --- a/test/Spring/Spring.Data.NHibernate32.Integration.Tests/Spring.Data.NHibernate32.Integration.Tests.build +++ b/test/Spring/Spring.Data.NHibernate32.Integration.Tests/Spring.Data.NHibernate32.Integration.Tests.build @@ -9,7 +9,7 @@ - - - - diff --git a/test/Spring/Spring.Data.NHibernate32.Tests/Spring.Data.NHibernate32.Tests.2008.csproj b/test/Spring/Spring.Data.NHibernate32.Tests/Spring.Data.NHibernate32.Tests.2008.csproj index 0f4daed2..86fb4679 100644 --- a/test/Spring/Spring.Data.NHibernate32.Tests/Spring.Data.NHibernate32.Tests.2008.csproj +++ b/test/Spring/Spring.Data.NHibernate32.Tests/Spring.Data.NHibernate32.Tests.2008.csproj @@ -15,7 +15,7 @@ full false ..\..\..\build\VS.Net.2008\Spring.Data.NHibernate32.Tests\Debug\ - TRACE;DEBUG;NET_2_0,NH_2_0,NH_2_1 + TRACE;DEBUG prompt 4 @@ -23,7 +23,7 @@ pdbonly true ..\..\..\build\VS.Net.2008\Spring.Data.NHibernate32.Tests\Release\ - TRACE;NET_2_0,NET_2_0,NH_2_0,NH_2_1 + TRACE prompt 4 @@ -106,7 +106,7 @@ Spring.Core.2008 - {71368632-B8B7-4A6A-8C65-8DA848120C82} + {1C8E0481-A70D-445E-AB4D-4A963CF7DC83} Spring.Data.NHibernate32.2008 diff --git a/test/Spring/Spring.Data.NHibernate32.Tests/Spring.Data.NHibernate32.Tests.2010.csproj b/test/Spring/Spring.Data.NHibernate32.Tests/Spring.Data.NHibernate32.Tests.2010.csproj index ed47ca41..e9376a02 100644 --- a/test/Spring/Spring.Data.NHibernate32.Tests/Spring.Data.NHibernate32.Tests.2010.csproj +++ b/test/Spring/Spring.Data.NHibernate32.Tests/Spring.Data.NHibernate32.Tests.2010.csproj @@ -16,13 +16,28 @@ 3.5 + publish\ + true + Disk + false + Foreground + 7 + Days + false + false + true + 0 + 1.0.0.%2a + false + false + true true full false ..\..\..\build\VS.Net.2010\Spring.Data.NHibernate32.Tests\Debug\ - TRACE;DEBUG;NET_4_0,NH_2_0,NH_2_1 + TRACE;DEBUG;NET_4_0 prompt 4 @@ -30,7 +45,7 @@ pdbonly true ..\..\..\build\VS.Net.2010\Spring.Data.NHibernate32.Tests\Release\ - TRACE;NET_4_0,NH_2_0,NH_2_1 + TRACE;NET_4_0 prompt 4 @@ -131,6 +146,28 @@ + + + False + Microsoft .NET Framework 4 %28x86 and x64%29 + true + + + False + .NET Framework 3.5 SP1 Client Profile + false + + + False + .NET Framework 3.5 SP1 + false + + + False + Windows Installer 3.1 + true + + - - +