test_class.declarator: handlerFactory = new TechemHandlerFactory()
test_class.modifier: private final
test_class.original_string: private final TechemHandlerFactory handlerFactory = new TechemHandlerFactory();
test_class.type: TechemHandlerFactory
test_class.var_name: handlerFactory
test_class.file: org.openhab.binding.wmbus/src/test/java/org/openhab/binding/wmbus/device/techem/TechemHandlerFactoryTest.java
test_class.identifier: TechemHandlerFactoryTest
test_class.interfaces: implements TechemBindingConstants
test_case.body: @Test
      public void testWZ43Support() {
          ThingImpl thing = new ThingImpl(THING_TYPE_TECHEM_HEAT_METER, "00000");
  
          ThingHandler handler = handlerFactory.createHandler(thing);
          Assertions.assertThat(handler).isNotNull();
      }
test_case.class_method_signature: TechemHandlerFactoryTest.testWZ43Support()
test_case.full_signature: @Test public void testWZ43Support()
test_case.identifier: testWZ43Support
test_case.invocations: createHandler isNotNull assertThat
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void testWZ43Support()
focal_class.declarator: logger = LoggerFactory.getLogger(TechemHandlerFactory.class)
focal_class.modifier: private final
focal_class.original_string: private final Logger logger = LoggerFactory.getLogger(TechemHandlerFactory.class);
focal_class.type: Logger
focal_class.var_name: logger
focal_class.declarator: techemFrameDecoder
focal_class.modifier: private
focal_class.original_string: private TechemFrameDecoder<TechemDevice> techemFrameDecoder;
focal_class.type: TechemFrameDecoder<TechemDevice>
focal_class.var_name: techemFrameDecoder
focal_class.file: org.openhab.binding.wmbus/src/main/java/org/openhab/binding/wmbus/device/techem/TechemHandlerFactory.java
focal_class.identifier: TechemHandlerFactory
focal_class.class_method_signature: TechemHandlerFactory.TechemHandlerFactory()
focal_class.full_signature: public  TechemHandlerFactory()
focal_class.identifier: TechemHandlerFactory
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.signature:  TechemHandlerFactory()
focal_class.class_method_signature: TechemHandlerFactory.supportsThingType(ThingTypeUID thingTypeUID)
focal_class.full_signature: @Override public boolean supportsThingType(ThingTypeUID thingTypeUID)
focal_class.identifier: supportsThingType
focal_class.modifiers: @Override public
focal_class.parameters: (ThingTypeUID thingTypeUID)
focal_class.return: boolean
focal_class.signature: boolean supportsThingType(ThingTypeUID thingTypeUID)
focal_class.class_method_signature: TechemHandlerFactory.createHandler(Thing thing)
focal_class.full_signature: @Override protected ThingHandler createHandler(Thing thing)
focal_class.identifier: createHandler
focal_class.modifiers: @Override protected
focal_class.parameters: (Thing thing)
focal_class.return: ThingHandler
focal_class.signature: ThingHandler createHandler(Thing thing)
focal_class.class_method_signature: TechemHandlerFactory.activate(ComponentContext componentContext)
focal_class.full_signature: @Override @Activate protected void activate(ComponentContext componentContext)
focal_class.identifier: activate
focal_class.modifiers: @Override @Activate protected
focal_class.parameters: (ComponentContext componentContext)
focal_class.return: void
focal_class.signature: void activate(ComponentContext componentContext)
focal_class.class_method_signature: TechemHandlerFactory.deactivate(ComponentContext componentContext)
focal_class.full_signature: @Override @Deactivate protected void deactivate(ComponentContext componentContext)
focal_class.identifier: deactivate
focal_class.modifiers: @Override @Deactivate protected
focal_class.parameters: (ComponentContext componentContext)
focal_class.return: void
focal_class.signature: void deactivate(ComponentContext componentContext)
focal_class.class_method_signature: TechemHandlerFactory.setTechemFrameDecoder(TechemFrameDecoder<TechemDevice> decoder)
focal_class.full_signature: @Reference public void setTechemFrameDecoder(TechemFrameDecoder<TechemDevice> decoder)
focal_class.identifier: setTechemFrameDecoder
focal_class.modifiers: @Reference public
focal_class.parameters: (TechemFrameDecoder<TechemDevice> decoder)
focal_class.return: void
focal_class.signature: void setTechemFrameDecoder(TechemFrameDecoder<TechemDevice> decoder)
focal_class.class_method_signature: TechemHandlerFactory.unsetTechemFrameDecoder(TechemFrameDecoder<TechemDevice> decoder)
focal_class.full_signature: public void unsetTechemFrameDecoder(TechemFrameDecoder<TechemDevice> decoder)
focal_class.identifier: unsetTechemFrameDecoder
focal_class.modifiers: public
focal_class.parameters: (TechemFrameDecoder<TechemDevice> decoder)
focal_class.return: void
focal_class.signature: void unsetTechemFrameDecoder(TechemFrameDecoder<TechemDevice> decoder)
focal_class.superclass: extends BaseThingHandlerFactory
focal_method.body: @Override
      protected ThingHandler createHandler(Thing thing) {
          ThingTypeUID thingTypeUID = thing.getThingTypeUID();
  
          if (thingTypeUID.equals(TechemBindingConstants.THING_TYPE_TECHEM_HKV45)
                  || thingTypeUID.equals(TechemBindingConstants.THING_TYPE_TECHEM_HKV61)
                  || thingTypeUID.equals(TechemBindingConstants.THING_TYPE_TECHEM_HKV64)
                  || thingTypeUID.equals(TechemBindingConstants.THING_TYPE_TECHEM_HKV69)
                  || thingTypeUID.equals(TechemBindingConstants.THING_TYPE_TECHEM_HKV94)) {
              logger.debug("Creating handler for TechemDevice device {}", thing.getUID().getId());
              return new TechemMeterHandler<>(thing, TechemHeatCostAllocator.class, techemFrameDecoder);
          } else if (thingTypeUID.equals(TechemBindingConstants.THING_TYPE_TECHEM_WARM_WATER_METER)
                  || thingTypeUID.equals(TechemBindingConstants.THING_TYPE_TECHEM_COLD_WATER_METER)) {
              logger.debug("Creating handler for TechemDevice device {}", thing.getUID().getId());
              return new TechemMeterHandler<>(thing, TechemWaterMeter.class, techemFrameDecoder);
          } else if (thingTypeUID.equals(TechemBindingConstants.THING_TYPE_TECHEM_SD76)) {
              logger.debug("Creating handler for Techem Smoke Detector device {}", thing.getUID().getId());
              return new TechemMeterHandler<>(thing, TechemSmokeDetector.class, techemFrameDecoder);
          } else if (thingTypeUID.equals(TechemBindingConstants.THING_TYPE_TECHEM_HEAT_METER)) {
              logger.debug("Creating handler for TechemDevice device {}", thing.getUID().getId());
              return new TechemMeterHandler<>(thing, TechemHeatMeter.class, techemFrameDecoder);
          }
  
          logger.warn("Unsupported thing type {}. TechemHandlerFactory can not handle {}", thingTypeUID, thing.getUID());
  
          return null;
      }
focal_method.class_method_signature: TechemHandlerFactory.createHandler(Thing thing)
focal_method.full_signature: @Override protected ThingHandler createHandler(Thing thing)
focal_method.identifier: createHandler
focal_method.invocations: getThingTypeUID equals equals equals equals equals debug getId getUID equals equals debug getId getUID equals debug getId getUID equals debug getId getUID warn getUID
focal_method.modifiers: @Override protected
focal_method.parameters: (Thing thing)
focal_method.return: ThingHandler
focal_method.signature: ThingHandler createHandler(Thing thing)