test_class.file: bundles/org.openhab.core/src/test/java/org/openhab/core/library/types/StringTypeTest.java
test_class.identifier: StringTypeTest
test_case.body: @Test
      @SuppressWarnings("unlikely-arg-type")
      public void testEquals() {
          StringType empty = new StringType("");
          StringType expected1 = new StringType("expected1");
          StringType expected2 = new StringType("expected2");
  
          assertEquals(empty.hashCode(), StringType.EMPTY.hashCode());
          assertEquals(empty.hashCode(), new StringType("").hashCode());
          assertEquals(empty.hashCode(), new StringType().hashCode());
          assertEquals(empty.hashCode(), new StringType(null).hashCode());
  
          assertEquals(expected1.hashCode(), new StringType("expected1").hashCode());
          assertEquals(expected2.hashCode(), new StringType("expected2").hashCode());
          assertNotEquals(expected1.hashCode(), new StringType("expected2").hashCode());
  
          assertEquals(empty, StringType.EMPTY);
          assertEquals(empty, new StringType(""));
          assertEquals(empty, new StringType());
          assertEquals(empty, new StringType(null));
  
          assertEquals(expected1, new StringType("expected1"));
          assertEquals(expected2, new StringType("expected2"));
          // Do not change to assertEquals(), because we want to check if .equals() works as expected!
          assertFalse(expected1.equals(new StringType("expected2")));
          assertFalse(expected2.equals(new StringType("expected1")));
          assertFalse(expected1.equals(StringType.EMPTY));
          assertFalse(expected2.equals(StringType.EMPTY));
  
          // Do not change to assertEquals(), because we want to check if .equals() works as expected!
          assertTrue(expected1.equals("expected1"));
          assertFalse(expected1.equals("expected2"));
  
          // Do not change to assertEquals(), because we want to check if .equals() works as expected!
          assertTrue(new StringType(null).equals(new StringType(null)));
          assertTrue(new StringType("").equals(new StringType(null)));
          assertTrue(new StringType(null).equals(new StringType("")));
      }
test_case.class_method_signature: StringTypeTest.testEquals()
test_case.full_signature: @Test @SuppressWarnings("unlikely-arg-type") public void testEquals()
test_case.identifier: testEquals
test_case.invocations: assertEquals hashCode hashCode assertEquals hashCode hashCode assertEquals hashCode hashCode assertEquals hashCode hashCode assertEquals hashCode hashCode assertEquals hashCode hashCode assertNotEquals hashCode hashCode assertEquals assertEquals assertEquals assertEquals assertEquals assertEquals assertFalse equals assertFalse equals assertFalse equals assertFalse equals assertTrue equals assertFalse equals assertTrue equals assertTrue equals assertTrue equals
test_case.modifiers: @Test @SuppressWarnings("unlikely-arg-type") public
test_case.parameters: ()
test_case.return: void
test_case.signature: void testEquals()
focal_class.declarator: EMPTY = new StringType()
focal_class.modifier: public static final
focal_class.original_string: public static final StringType EMPTY = new StringType();
focal_class.type: StringType
focal_class.var_name: EMPTY
focal_class.declarator: value
focal_class.modifier: private final
focal_class.original_string: private final String value;
focal_class.type: String
focal_class.var_name: value
focal_class.file: bundles/org.openhab.core/src/main/java/org/openhab/core/library/types/StringType.java
focal_class.identifier: StringType
focal_class.interfaces: implements PrimitiveType, State, Command
focal_class.class_method_signature: StringType.StringType()
focal_class.full_signature: public  StringType()
focal_class.identifier: StringType
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.signature:  StringType()
focal_class.class_method_signature: StringType.StringType(@Nullable String value)
focal_class.full_signature: public  StringType(@Nullable String value)
focal_class.identifier: StringType
focal_class.modifiers: public
focal_class.parameters: (@Nullable String value)
focal_class.signature:  StringType(@Nullable String value)
focal_class.class_method_signature: StringType.toString()
focal_class.full_signature: @Override public String toString()
focal_class.identifier: toString
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: String
focal_class.signature: String toString()
focal_class.class_method_signature: StringType.toFullString()
focal_class.full_signature: @Override public String toFullString()
focal_class.identifier: toFullString
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: String
focal_class.signature: String toFullString()
focal_class.class_method_signature: StringType.valueOf(@Nullable String value)
focal_class.full_signature: public static StringType valueOf(@Nullable String value)
focal_class.identifier: valueOf
focal_class.modifiers: public static
focal_class.parameters: (@Nullable String value)
focal_class.return: StringType
focal_class.signature: StringType valueOf(@Nullable String value)
focal_class.class_method_signature: StringType.format(String pattern)
focal_class.full_signature: @Override public String format(String pattern)
focal_class.identifier: format
focal_class.modifiers: @Override public
focal_class.parameters: (String pattern)
focal_class.return: String
focal_class.signature: String format(String pattern)
focal_class.class_method_signature: StringType.hashCode()
focal_class.full_signature: @Override public int hashCode()
focal_class.identifier: hashCode
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: int
focal_class.signature: int hashCode()
focal_class.class_method_signature: StringType.equals(@Nullable Object obj)
focal_class.full_signature: @Override public boolean equals(@Nullable Object obj)
focal_class.identifier: equals
focal_class.modifiers: @Override public
focal_class.parameters: (@Nullable Object obj)
focal_class.return: boolean
focal_class.signature: boolean equals(@Nullable Object obj)
focal_method.body: @Override
      public boolean equals(@Nullable Object obj) {
          if (this == obj) {
              return true;
          }
          if (obj == null) {
              return false;
          }
          if (obj instanceof String) {
              return obj.equals(value);
          }
          if (getClass() != obj.getClass()) {
              return false;
          }
          StringType other = (StringType) obj;
          return Objects.equals(this.value, other.value);
      }
focal_method.class_method_signature: StringType.equals(@Nullable Object obj)
focal_method.full_signature: @Override public boolean equals(@Nullable Object obj)
focal_method.identifier: equals
focal_method.invocations: equals getClass getClass equals
focal_method.modifiers: @Override public
focal_method.parameters: (@Nullable Object obj)
focal_method.return: boolean
focal_method.signature: boolean equals(@Nullable Object obj)