@@ -53,15 +53,7 @@ public sealed class FeatureClient : IFeatureClient
53
53
return ( method ( provider ) , provider ) ;
54
54
}
55
55
56
- /// <summary>
57
- /// Gets the EvaluationContext of this client<see cref="EvaluationContext"/>
58
- /// <para>
59
- /// The evaluation context may be set from multiple threads, when accessing the client evaluation context
60
- /// it should be accessed once for an operation, and then that reference should be used for all dependent
61
- /// operations.
62
- /// </para>
63
- /// </summary>
64
- /// <returns><see cref="EvaluationContext"/>of this client</returns>
56
+ /// <inheritdoc />
65
57
public EvaluationContext GetContext ( )
66
58
{
67
59
lock ( this . _evaluationContextLock )
@@ -70,10 +62,7 @@ public EvaluationContext GetContext()
70
62
}
71
63
}
72
64
73
- /// <summary>
74
- /// Sets the EvaluationContext of the client<see cref="EvaluationContext"/>
75
- /// </summary>
76
- /// <param name="context">The <see cref="EvaluationContext"/> to set</param>
65
+ /// <inheritdoc />
77
66
public void SetContext ( EvaluationContext context )
78
67
{
79
68
lock ( this . _evaluationContextLock )
@@ -97,10 +86,7 @@ public FeatureClient(string name, string version, ILogger logger = null, Evaluat
97
86
this . _evaluationContext = context ?? EvaluationContext . Empty ;
98
87
}
99
88
100
- /// <summary>
101
- /// Gets client metadata
102
- /// </summary>
103
- /// <returns>Client metadata <see cref="ClientMetadata"/></returns>
89
+ /// <inheritdoc />
104
90
public ClientMetadata GetMetadata ( ) => this . _metadata ;
105
91
106
92
/// <summary>
@@ -113,156 +99,72 @@ public FeatureClient(string name, string version, ILogger logger = null, Evaluat
113
99
/// <param name="hook">Hook that implements the <see cref="Hook"/> interface</param>
114
100
public void AddHooks ( Hook hook ) => this . _hooks . Push ( hook ) ;
115
101
116
- /// <summary>
117
- /// Appends hooks to client
118
- /// <para>
119
- /// The appending operation will be atomic.
120
- /// </para>
121
- /// </summary>
122
- /// <param name="hooks">A list of Hooks that implement the <see cref="Hook"/> interface</param>
102
+ /// <inheritdoc />
123
103
public void AddHooks ( IEnumerable < Hook > hooks ) => this . _hooks . PushRange ( hooks . ToArray ( ) ) ;
124
104
125
- /// <summary>
126
- /// Enumerates the global hooks.
127
- /// <para>
128
- /// The items enumerated will reflect the registered hooks
129
- /// at the start of enumeration. Hooks added during enumeration
130
- /// will not be included.
131
- /// </para>
132
- /// </summary>
133
- /// <returns>Enumeration of <see cref="Hook"/></returns>
105
+ /// <inheritdoc />
134
106
public IEnumerable < Hook > GetHooks ( ) => this . _hooks . Reverse ( ) ;
135
107
136
108
/// <summary>
137
109
/// Removes all hooks from the client
138
110
/// </summary>
139
111
public void ClearHooks ( ) => this . _hooks . Clear ( ) ;
140
112
141
- /// <summary>
142
- /// Resolves a boolean feature flag
143
- /// </summary>
144
- /// <param name="flagKey">Feature flag key</param>
145
- /// <param name="defaultValue">Default value</param>
146
- /// <param name="context"><see cref="EvaluationContext">Evaluation Context</see></param>
147
- /// <param name="config"><see cref="EvaluationContext">Flag Evaluation Options</see></param>
148
- /// <returns>Resolved flag details <see cref="FlagEvaluationDetails{T}"/></returns>
113
+ /// <inheritdoc />
149
114
public async Task < bool > GetBooleanValue ( string flagKey , bool defaultValue , EvaluationContext context = null ,
150
115
FlagEvaluationOptions config = null ) =>
151
116
( await this . GetBooleanDetails ( flagKey , defaultValue , context , config ) ) . Value ;
152
117
153
- /// <summary>
154
- /// Resolves a boolean feature flag
155
- /// </summary>
156
- /// <param name="flagKey">Feature flag key</param>
157
- /// <param name="defaultValue">Default value</param>
158
- /// <param name="context"><see cref="EvaluationContext">Evaluation Context</see></param>
159
- /// <param name="config"><see cref="EvaluationContext">Flag Evaluation Options</see></param>
160
- /// <returns>Resolved flag details <see cref="FlagEvaluationDetails{T}"/></returns>
118
+ /// <inheritdoc />
161
119
public async Task < FlagEvaluationDetails < bool > > GetBooleanDetails ( string flagKey , bool defaultValue ,
162
120
EvaluationContext context = null , FlagEvaluationOptions config = null ) =>
163
121
await this . EvaluateFlag ( this . ExtractProvider < bool > ( provider => provider . ResolveBooleanValue ) ,
164
122
FlagValueType . Boolean , flagKey ,
165
123
defaultValue , context , config ) ;
166
124
167
- /// <summary>
168
- /// Resolves a string feature flag
169
- /// </summary>
170
- /// <param name="flagKey">Feature flag key</param>
171
- /// <param name="defaultValue">Default value</param>
172
- /// <param name="context"><see cref="EvaluationContext">Evaluation Context</see></param>
173
- /// <param name="config"><see cref="EvaluationContext">Flag Evaluation Options</see></param>
174
- /// <returns>Resolved flag details <see cref="FlagEvaluationDetails{T}"/></returns>
125
+ /// <inheritdoc />
175
126
public async Task < string > GetStringValue ( string flagKey , string defaultValue , EvaluationContext context = null ,
176
127
FlagEvaluationOptions config = null ) =>
177
128
( await this . GetStringDetails ( flagKey , defaultValue , context , config ) ) . Value ;
178
129
179
- /// <summary>
180
- /// Resolves a string feature flag
181
- /// </summary>
182
- /// <param name="flagKey">Feature flag key</param>
183
- /// <param name="defaultValue">Default value</param>
184
- /// <param name="context"><see cref="EvaluationContext">Evaluation Context</see></param>
185
- /// <param name="config"><see cref="EvaluationContext">Flag Evaluation Options</see></param>
186
- /// <returns>Resolved flag details <see cref="FlagEvaluationDetails{T}"/></returns>
130
+ /// <inheritdoc />
187
131
public async Task < FlagEvaluationDetails < string > > GetStringDetails ( string flagKey , string defaultValue ,
188
132
EvaluationContext context = null , FlagEvaluationOptions config = null ) =>
189
133
await this . EvaluateFlag ( this . ExtractProvider < string > ( provider => provider . ResolveStringValue ) ,
190
134
FlagValueType . String , flagKey ,
191
135
defaultValue , context , config ) ;
192
136
193
- /// <summary>
194
- /// Resolves a integer feature flag
195
- /// </summary>
196
- /// <param name="flagKey">Feature flag key</param>
197
- /// <param name="defaultValue">Default value</param>
198
- /// <param name="context"><see cref="EvaluationContext">Evaluation Context</see></param>
199
- /// <param name="config"><see cref="EvaluationContext">Flag Evaluation Options</see></param>
200
- /// <returns>Resolved flag details <see cref="FlagEvaluationDetails{T}"/></returns>
137
+ /// <inheritdoc />
201
138
public async Task < int > GetIntegerValue ( string flagKey , int defaultValue , EvaluationContext context = null ,
202
139
FlagEvaluationOptions config = null ) =>
203
140
( await this . GetIntegerDetails ( flagKey , defaultValue , context , config ) ) . Value ;
204
141
205
- /// <summary>
206
- /// Resolves a integer feature flag
207
- /// </summary>
208
- /// <param name="flagKey">Feature flag key</param>
209
- /// <param name="defaultValue">Default value</param>
210
- /// <param name="context"><see cref="EvaluationContext">Evaluation Context</see></param>
211
- /// <param name="config"><see cref="EvaluationContext">Flag Evaluation Options</see></param>
212
- /// <returns>Resolved flag details <see cref="FlagEvaluationDetails{T}"/></returns>
142
+ /// <inheritdoc />
213
143
public async Task < FlagEvaluationDetails < int > > GetIntegerDetails ( string flagKey , int defaultValue ,
214
144
EvaluationContext context = null , FlagEvaluationOptions config = null ) =>
215
145
await this . EvaluateFlag ( this . ExtractProvider < int > ( provider => provider . ResolveIntegerValue ) ,
216
146
FlagValueType . Number , flagKey ,
217
147
defaultValue , context , config ) ;
218
148
219
- /// <summary>
220
- /// Resolves a double feature flag
221
- /// </summary>
222
- /// <param name="flagKey">Feature flag key</param>
223
- /// <param name="defaultValue">Default value</param>
224
- /// <param name="context"><see cref="EvaluationContext">Evaluation Context</see></param>
225
- /// <param name="config"><see cref="EvaluationContext">Flag Evaluation Options</see></param>
226
- /// <returns>Resolved flag details <see cref="FlagEvaluationDetails{T}"/></returns>
149
+ /// <inheritdoc />
227
150
public async Task < double > GetDoubleValue ( string flagKey , double defaultValue ,
228
151
EvaluationContext context = null ,
229
152
FlagEvaluationOptions config = null ) =>
230
153
( await this . GetDoubleDetails ( flagKey , defaultValue , context , config ) ) . Value ;
231
154
232
- /// <summary>
233
- /// Resolves a double feature flag
234
- /// </summary>
235
- /// <param name="flagKey">Feature flag key</param>
236
- /// <param name="defaultValue">Default value</param>
237
- /// <param name="context"><see cref="EvaluationContext">Evaluation Context</see></param>
238
- /// <param name="config"><see cref="EvaluationContext">Flag Evaluation Options</see></param>
239
- /// <returns>Resolved flag details <see cref="FlagEvaluationDetails{T}"/></returns>
155
+ /// <inheritdoc />
240
156
public async Task < FlagEvaluationDetails < double > > GetDoubleDetails ( string flagKey , double defaultValue ,
241
157
EvaluationContext context = null , FlagEvaluationOptions config = null ) =>
242
158
await this . EvaluateFlag ( this . ExtractProvider < double > ( provider => provider . ResolveDoubleValue ) ,
243
159
FlagValueType . Number , flagKey ,
244
160
defaultValue , context , config ) ;
245
161
246
- /// <summary>
247
- /// Resolves a structure object feature flag
248
- /// </summary>
249
- /// <param name="flagKey">Feature flag key</param>
250
- /// <param name="defaultValue">Default value</param>
251
- /// <param name="context"><see cref="EvaluationContext">Evaluation Context</see></param>
252
- /// <param name="config"><see cref="EvaluationContext">Flag Evaluation Options</see></param>
253
- /// <returns>Resolved flag details <see cref="FlagEvaluationDetails{T}"/></returns>
162
+ /// <inheritdoc />
254
163
public async Task < Value > GetObjectValue ( string flagKey , Value defaultValue , EvaluationContext context = null ,
255
164
FlagEvaluationOptions config = null ) =>
256
165
( await this . GetObjectDetails ( flagKey , defaultValue , context , config ) ) . Value ;
257
166
258
- /// <summary>
259
- /// Resolves a structure object feature flag
260
- /// </summary>
261
- /// <param name="flagKey">Feature flag key</param>
262
- /// <param name="defaultValue">Default value</param>
263
- /// <param name="context"><see cref="EvaluationContext">Evaluation Context</see></param>
264
- /// <param name="config"><see cref="EvaluationContext">Flag Evaluation Options</see></param>
265
- /// <returns>Resolved flag details <see cref="FlagEvaluationDetails{T}"/></returns>
167
+ /// <inheritdoc />
266
168
public async Task < FlagEvaluationDetails < Value > > GetObjectDetails ( string flagKey , Value defaultValue ,
267
169
EvaluationContext context = null , FlagEvaluationOptions config = null ) =>
268
170
await this . EvaluateFlag ( this . ExtractProvider < Value > ( provider => provider . ResolveStructureValue ) ,
0 commit comments