test_class.declarator: DESCRIPTION = "description"
test_class.modifier: private static final
test_class.original_string: private static final String DESCRIPTION = "description";
test_class.type: String
test_class.var_name: DESCRIPTION
test_class.declarator: CATEGORY = "category"
test_class.modifier: private static final
test_class.original_string: private static final String CATEGORY = "category";
test_class.type: String
test_class.var_name: CATEGORY
test_class.declarator: LABEL = "label"
test_class.modifier: private static final
test_class.original_string: private static final String LABEL = "label";
test_class.type: String
test_class.var_name: LABEL
test_class.declarator: CHANNEL_GROUP_TYPE_UID = new ChannelGroupTypeUID("bindingId",
              "channelGroupId")
test_class.modifier: private static final
test_class.original_string: private static final ChannelGroupTypeUID CHANNEL_GROUP_TYPE_UID = new ChannelGroupTypeUID("bindingId",
              "channelGroupId");
test_class.type: ChannelGroupTypeUID
test_class.var_name: CHANNEL_GROUP_TYPE_UID
test_class.declarator: builder
test_class.modifier: private
test_class.original_string: private ChannelGroupTypeBuilder builder;
test_class.type: ChannelGroupTypeBuilder
test_class.var_name: builder
test_class.file: bundles/org.openhab.core.thing/src/test/java/org/openhab/core/thing/type/ChannelGroupTypeBuilderTest.java
test_class.identifier: ChannelGroupTypeBuilderTest
test_case.body: @Test
      public void whenLabelIsBlankForStateShouldFail() {
          assertThrows(IllegalArgumentException.class,
                  () -> ChannelGroupTypeBuilder.instance(CHANNEL_GROUP_TYPE_UID, ""));
      }
test_case.class_method_signature: ChannelGroupTypeBuilderTest.whenLabelIsBlankForStateShouldFail()
test_case.full_signature: @Test public void whenLabelIsBlankForStateShouldFail()
test_case.identifier: whenLabelIsBlankForStateShouldFail
test_case.invocations: assertThrows instance
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void whenLabelIsBlankForStateShouldFail()
focal_class.declarator: channelDefinitions
focal_class.modifier: private @Nullable
focal_class.original_string: private @Nullable List<ChannelDefinition> channelDefinitions;
focal_class.type: List<ChannelDefinition>
focal_class.var_name: channelDefinitions
focal_class.declarator: category
focal_class.modifier: private @Nullable
focal_class.original_string: private @Nullable String category;
focal_class.type: String
focal_class.var_name: category
focal_class.declarator: description
focal_class.modifier: private @Nullable
focal_class.original_string: private @Nullable String description;
focal_class.type: String
focal_class.var_name: description
focal_class.declarator: channelGroupTypeUID
focal_class.modifier: private final
focal_class.original_string: private final ChannelGroupTypeUID channelGroupTypeUID;
focal_class.type: ChannelGroupTypeUID
focal_class.var_name: channelGroupTypeUID
focal_class.declarator: label
focal_class.modifier: private final
focal_class.original_string: private final String label;
focal_class.type: String
focal_class.var_name: label
focal_class.file: bundles/org.openhab.core.thing/src/main/java/org/openhab/core/thing/type/ChannelGroupTypeBuilder.java
focal_class.identifier: ChannelGroupTypeBuilder
focal_class.class_method_signature: ChannelGroupTypeBuilder.instance(ChannelGroupTypeUID channelGroupTypeUID, String label)
focal_class.full_signature: public static ChannelGroupTypeBuilder instance(ChannelGroupTypeUID channelGroupTypeUID, String label)
focal_class.identifier: instance
focal_class.modifiers: public static
focal_class.parameters: (ChannelGroupTypeUID channelGroupTypeUID, String label)
focal_class.return: ChannelGroupTypeBuilder
focal_class.signature: ChannelGroupTypeBuilder instance(ChannelGroupTypeUID channelGroupTypeUID, String label)
focal_class.class_method_signature: ChannelGroupTypeBuilder.ChannelGroupTypeBuilder(ChannelGroupTypeUID channelGroupTypeUID, String label)
focal_class.full_signature: private  ChannelGroupTypeBuilder(ChannelGroupTypeUID channelGroupTypeUID, String label)
focal_class.identifier: ChannelGroupTypeBuilder
focal_class.modifiers: private
focal_class.parameters: (ChannelGroupTypeUID channelGroupTypeUID, String label)
focal_class.signature:  ChannelGroupTypeBuilder(ChannelGroupTypeUID channelGroupTypeUID, String label)
focal_class.class_method_signature: ChannelGroupTypeBuilder.build()
focal_class.full_signature: public ChannelGroupType build()
focal_class.identifier: build
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: ChannelGroupType
focal_class.signature: ChannelGroupType build()
focal_class.class_method_signature: ChannelGroupTypeBuilder.withDescription(String description)
focal_class.full_signature: public ChannelGroupTypeBuilder withDescription(String description)
focal_class.identifier: withDescription
focal_class.modifiers: public
focal_class.parameters: (String description)
focal_class.return: ChannelGroupTypeBuilder
focal_class.signature: ChannelGroupTypeBuilder withDescription(String description)
focal_class.class_method_signature: ChannelGroupTypeBuilder.withCategory(String category)
focal_class.full_signature: public ChannelGroupTypeBuilder withCategory(String category)
focal_class.identifier: withCategory
focal_class.modifiers: public
focal_class.parameters: (String category)
focal_class.return: ChannelGroupTypeBuilder
focal_class.signature: ChannelGroupTypeBuilder withCategory(String category)
focal_class.class_method_signature: ChannelGroupTypeBuilder.withChannelDefinitions(List<ChannelDefinition> channelDefinitions)
focal_class.full_signature: public ChannelGroupTypeBuilder withChannelDefinitions(List<ChannelDefinition> channelDefinitions)
focal_class.identifier: withChannelDefinitions
focal_class.modifiers: public
focal_class.parameters: (List<ChannelDefinition> channelDefinitions)
focal_class.return: ChannelGroupTypeBuilder
focal_class.signature: ChannelGroupTypeBuilder withChannelDefinitions(List<ChannelDefinition> channelDefinitions)
focal_method.body: public static ChannelGroupTypeBuilder instance(ChannelGroupTypeUID channelGroupTypeUID, String label) {
          if (channelGroupTypeUID == null) {
              throw new IllegalArgumentException("ChannelGroupTypeUID must be set.");
          }
          if (label == null || label.isBlank()) {
              throw new IllegalArgumentException("Label for a ChannelGroupType must not be empty.");
          }
  
          return new ChannelGroupTypeBuilder(channelGroupTypeUID, label);
      }
focal_method.class_method_signature: ChannelGroupTypeBuilder.instance(ChannelGroupTypeUID channelGroupTypeUID, String label)
focal_method.full_signature: public static ChannelGroupTypeBuilder instance(ChannelGroupTypeUID channelGroupTypeUID, String label)
focal_method.identifier: instance
focal_method.invocations: isBlank
focal_method.modifiers: public static
focal_method.parameters: (ChannelGroupTypeUID channelGroupTypeUID, String label)
focal_method.return: ChannelGroupTypeBuilder
focal_method.signature: ChannelGroupTypeBuilder instance(ChannelGroupTypeUID channelGroupTypeUID, String label)