test_class.declarator: USERID = "user%id"
test_class.modifier: private static final
test_class.original_string: private static final String USERID = "user%id";
test_class.type: String
test_class.var_name: USERID
test_class.declarator: PROVIDER_NAME = "provider;Name"
test_class.modifier: private static final
test_class.original_string: private static final String PROVIDER_NAME = "provider;Name";
test_class.type: String
test_class.var_name: PROVIDER_NAME
test_class.declarator: refNullProvider = new ExternalIdentityRef(USERID, null)
test_class.modifier: private
test_class.original_string: private ExternalIdentityRef refNullProvider = new ExternalIdentityRef(USERID, null);
test_class.type: ExternalIdentityRef
test_class.var_name: refNullProvider
test_class.declarator: refEmptyProvider = new ExternalIdentityRef(USERID, "")
test_class.modifier: private
test_class.original_string: private ExternalIdentityRef refEmptyProvider = new ExternalIdentityRef(USERID, "");
test_class.type: ExternalIdentityRef
test_class.var_name: refEmptyProvider
test_class.declarator: ref = new ExternalIdentityRef(USERID, PROVIDER_NAME)
test_class.modifier: private
test_class.original_string: private ExternalIdentityRef ref = new ExternalIdentityRef(USERID, PROVIDER_NAME);
test_class.type: ExternalIdentityRef
test_class.var_name: ref
test_class.file: oak-auth-external/src/test/java/org/apache/jackrabbit/oak/spi/security/authentication/external/ExternalIdentityRefTest.java
test_class.identifier: ExternalIdentityRefTest
test_case.body: @Test
      public void testFromString() {
          ExternalIdentityRef r = ExternalIdentityRef.fromString(refNullProvider.getString());
          assertEquals(refNullProvider, r);
          assertEquals(USERID, r.getId());
          assertEquals(refNullProvider.getString(), r.getString());
          assertNull(r.getProviderName());
  
          r = ExternalIdentityRef.fromString(refEmptyProvider.getString());
          assertEquals(refEmptyProvider, r);
          assertEquals(USERID, r.getId());
          assertEquals(refEmptyProvider.getString(), r.getString());
          assertNull(r.getProviderName()); // empty provider string is converted to null
  
          r = ExternalIdentityRef.fromString(ref.getString());
          assertEquals(ref, r);
          assertEquals(USERID, r.getId());
          assertEquals(PROVIDER_NAME, r.getProviderName());
          assertEquals(ref.getString(), r.getString());
      }
test_case.class_method_signature: ExternalIdentityRefTest.testFromString()
test_case.full_signature: @Test public void testFromString()
test_case.identifier: testFromString
test_case.invocations: fromString getString assertEquals assertEquals getId assertEquals getString getString assertNull getProviderName fromString getString assertEquals assertEquals getId assertEquals getString getString assertNull getProviderName fromString getString assertEquals assertEquals getId assertEquals getProviderName assertEquals getString getString
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void testFromString()
focal_class.declarator: id
focal_class.modifier: private final
focal_class.original_string: private final String id;
focal_class.type: String
focal_class.var_name: id
focal_class.declarator: providerName
focal_class.modifier: private final
focal_class.original_string: private final String providerName;
focal_class.type: String
focal_class.var_name: providerName
focal_class.declarator: string
focal_class.modifier: private final
focal_class.original_string: private final String string;
focal_class.type: String
focal_class.var_name: string
focal_class.file: oak-auth-external/src/main/java/org/apache/jackrabbit/oak/spi/security/authentication/external/ExternalIdentityRef.java
focal_class.identifier: ExternalIdentityRef
focal_class.class_method_signature: ExternalIdentityRef.ExternalIdentityRef(@NotNull String id, @Nullable String providerName)
focal_class.full_signature: public  ExternalIdentityRef(@NotNull String id, @Nullable String providerName)
focal_class.identifier: ExternalIdentityRef
focal_class.modifiers: public
focal_class.parameters: (@NotNull String id, @Nullable String providerName)
focal_class.signature:  ExternalIdentityRef(@NotNull String id, @Nullable String providerName)
focal_class.class_method_signature: ExternalIdentityRef.getProviderName()
focal_class.full_signature: @Nullable public String getProviderName()
focal_class.identifier: getProviderName
focal_class.modifiers: @Nullable public
focal_class.parameters: ()
focal_class.return: String
focal_class.signature: String getProviderName()
focal_class.class_method_signature: ExternalIdentityRef.getId()
focal_class.full_signature: @NotNull public String getId()
focal_class.identifier: getId
focal_class.modifiers: @NotNull public
focal_class.parameters: ()
focal_class.return: String
focal_class.signature: String getId()
focal_class.class_method_signature: ExternalIdentityRef.getString()
focal_class.full_signature: @NotNull public String getString()
focal_class.identifier: getString
focal_class.modifiers: @NotNull public
focal_class.parameters: ()
focal_class.return: String
focal_class.signature: String getString()
focal_class.class_method_signature: ExternalIdentityRef.fromString(@NotNull String str)
focal_class.full_signature: @NotNull public static ExternalIdentityRef fromString(@NotNull String str)
focal_class.identifier: fromString
focal_class.modifiers: @NotNull public static
focal_class.parameters: (@NotNull String str)
focal_class.return: ExternalIdentityRef
focal_class.signature: ExternalIdentityRef fromString(@NotNull String str)
focal_class.class_method_signature: ExternalIdentityRef.escape(@NotNull StringBuilder builder, @NotNull CharSequence str)
focal_class.full_signature: private static void escape(@NotNull StringBuilder builder, @NotNull CharSequence str)
focal_class.identifier: escape
focal_class.modifiers: private static
focal_class.parameters: (@NotNull StringBuilder builder, @NotNull CharSequence str)
focal_class.return: void
focal_class.signature: void escape(@NotNull StringBuilder builder, @NotNull CharSequence str)
focal_class.class_method_signature: ExternalIdentityRef.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: ExternalIdentityRef.equals(Object o)
focal_class.full_signature: @Override public boolean equals(Object o)
focal_class.identifier: equals
focal_class.modifiers: @Override public
focal_class.parameters: (Object o)
focal_class.return: boolean
focal_class.signature: boolean equals(Object o)
focal_class.class_method_signature: ExternalIdentityRef.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_method.body: @NotNull
      public static ExternalIdentityRef fromString(@NotNull String str) {
          int idx = str.indexOf(';');
          if (idx < 0) {
              return new ExternalIdentityRef(Text.unescape(str), null);
          } else {
              return new ExternalIdentityRef(
                      Text.unescape(str.substring(0, idx)),
                      Text.unescape(str.substring(idx+1))
              );
          }
      }
focal_method.class_method_signature: ExternalIdentityRef.fromString(@NotNull String str)
focal_method.full_signature: @NotNull public static ExternalIdentityRef fromString(@NotNull String str)
focal_method.identifier: fromString
focal_method.invocations: indexOf unescape unescape substring unescape substring
focal_method.modifiers: @NotNull public static
focal_method.parameters: (@NotNull String str)
focal_method.return: ExternalIdentityRef
focal_method.signature: ExternalIdentityRef fromString(@NotNull String str)