@@ -238,6 +238,9 @@ public CommandsBuilder addPrefix(String prefix) {
238
238
* @return This builder for chaining convenience
239
239
*/
240
240
public <T > CommandsBuilder registerConstructorParameter (Class <T > parameterType , ConstructorParameterSupplier <T > parameterSupplier ) {
241
+ if (context .getParameterSupplier (parameterType ) != null )
242
+ throw new IllegalStateException ("Parameter supplier already exists for parameter of type " + parameterType .getName ());
243
+
241
244
context .registerConstructorParameter (parameterType , parameterSupplier );
242
245
243
246
return this ;
@@ -253,6 +256,9 @@ public <T> CommandsBuilder registerConstructorParameter(Class<T> parameterType,
253
256
* @return This builder for chaining convenience
254
257
*/
255
258
public <T > CommandsBuilder registerInstanceSupplier (Class <T > classType , InstanceSupplier <T > instanceSupplier ) {
259
+ if (context .getInstanceSupplier (classType ) != null )
260
+ throw new IllegalStateException ("Instance supplier already exists for class " + classType .getName ());
261
+
256
262
context .registerInstanceSupplier (classType , instanceSupplier );
257
263
258
264
return this ;
@@ -267,6 +273,9 @@ public <T> CommandsBuilder registerInstanceSupplier(Class<T> classType, Instance
267
273
* @return This builder for chaining convenience
268
274
*/
269
275
public <T > CommandsBuilder registerCommandDependency (Class <T > fieldType , Supplier <T > supplier ) {
276
+ if (context .getCommandDependency (fieldType ) != null )
277
+ throw new IllegalStateException ("Command dependency already exists for fields of type " + fieldType .getName ());
278
+
270
279
context .registerCommandDependency (fieldType , supplier );
271
280
272
281
return this ;
0 commit comments