Remove excessive shortcut key matching in ToolStrip
[mono.git] / mcs / class / System.ComponentModel.Composition / Tests / ComponentModelUnitTest / System / ComponentModel / Composition / Factories / ImportDefinitionFactory.cs
1 using System;\r
2 using System.ComponentModel.Composition;\r
3 using System.Collections.Generic;\r
4 using System.Linq.Expressions;\r
5 using System.ComponentModel.Composition.Primitives;\r
6 \r
7 namespace System.ComponentModel.Composition.Factories\r
8 {\r
9     // This class deliberately does not create instances of ImportDefinition,\r
10     // so as to test other derived classes from ImportDefinition.\r
11     internal static partial class ImportDefinitionFactory\r
12     {\r
13         public static ImportDefinition Create(string contractName)\r
14         {\r
15             return Create(contractName, (IEnumerable<KeyValuePair<string, Type>>)null, ImportCardinality.ExactlyOne, true, false);\r
16         }\r
17 \r
18         public static ImportDefinition Create(string contractName, IEnumerable<KeyValuePair<string, Type>> requiredMetadata)\r
19         {\r
20             return Create(contractName, requiredMetadata, ImportCardinality.ExactlyOne, true, false);\r
21         }\r
22 \r
23         public static ImportDefinition Create(string contractName, ImportCardinality cardinality, bool isRecomposable, bool isPrerequisite)\r
24         {\r
25             return Create(contractName, (IEnumerable<KeyValuePair<string, Type>>)null, cardinality, isRecomposable, isPrerequisite);\r
26         }\r
27 \r
28         public static ImportDefinition Create(string contractName, ImportCardinality cardinality)\r
29         {\r
30             return Create(contractName, (IEnumerable<KeyValuePair<string, Type>>)null, cardinality, false, false);\r
31         }\r
32 \r
33         public static ImportDefinition Create(string contractName, bool isRecomposable)\r
34         {\r
35             return Create(contractName, (IEnumerable<KeyValuePair<string, Type>>)null, ImportCardinality.ExactlyOne, isRecomposable, false);\r
36         }\r
37 \r
38         public static ImportDefinition Create(string contractName, bool isRecomposable, bool isPrerequisite)\r
39         {\r
40             return Create(contractName, (IEnumerable<KeyValuePair<string, Type>>)null, ImportCardinality.ExactlyOne, isRecomposable, isPrerequisite);\r
41         }\r
42 \r
43         public static ImportDefinition Create(string contractName, IEnumerable<KeyValuePair<string, Type>> requiredMetadata, ImportCardinality cardinality, bool isRecomposable, bool isPrerequisite)\r
44         {\r
45             return new DerivedContractBasedImportDefinition(contractName, requiredMetadata, cardinality, isRecomposable, isPrerequisite);\r
46         }\r
47 \r
48         public static ImportDefinition Create()\r
49         {\r
50             return Create((Expression<Func<ExportDefinition, bool>>)null);\r
51         }\r
52 \r
53         public static ImportDefinition Create(Expression<Func<ExportDefinition, bool>> constraint)\r
54         {\r
55             return Create(constraint, ImportCardinality.ExactlyOne, true, false);\r
56         }\r
57 \r
58         public static ImportDefinition Create(Expression<Func<ExportDefinition, bool>> constraint, ImportCardinality cardinality)\r
59         {\r
60             return Create(constraint, cardinality, true, false);\r
61         }\r
62 \r
63         public static ImportDefinition Create(Expression<Func<ExportDefinition, bool>> constraint, ImportCardinality cardinality, bool isRecomposable, bool isPrerequisite)\r
64         {\r
65             return new DerivedImportDefinition(constraint, cardinality, isRecomposable, isPrerequisite);\r
66         }\r
67 \r
68         public static ImportDefinition CreateDefault(string contractName, ImportCardinality cardinality, bool isRecomposable, bool isPrerequisite)\r
69         {\r
70             return new ContractBasedImportDefinition(contractName, (string)null, (IEnumerable<KeyValuePair<string, Type>>)null, cardinality, isRecomposable, isPrerequisite, CreationPolicy.Any);\r
71         }\r
72     }\r
73 }\r