test_class.declarator: ISSUER_WITH_SEPARATOR = SubjectIssuer.GOOGLE.toString() + ":"
test_class.modifier: private static final
test_class.original_string: private static final String ISSUER_WITH_SEPARATOR = SubjectIssuer.GOOGLE.toString() + ":";
test_class.type: String
test_class.var_name: ISSUER_WITH_SEPARATOR
test_class.file: model/policies/src/test/java/org/eclipse/ditto/model/policies/ImmutableSubjectIdTest.java
test_class.identifier: ImmutableSubjectIdTest
test_class.superclass: extends LengthRestrictionTestBase
test_case.body: @Test
      public void createInvalidAttribute() {
          final String invalidSubjectId = "invalidSubjectID\u0001";
          assertThatExceptionOfType(SubjectIdInvalidException.class)
                  .isThrownBy(() -> ImmutableSubjectId.of(invalidSubjectId));
      }
test_case.class_method_signature: ImmutableSubjectIdTest.createInvalidAttribute()
test_case.full_signature: @Test public void createInvalidAttribute()
test_case.identifier: createInvalidAttribute
test_case.invocations: isThrownBy assertThatExceptionOfType of
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void createInvalidAttribute()
focal_class.declarator: IGNORED_DELIMITER = "://"
focal_class.modifier: private static final
focal_class.original_string: private static final String IGNORED_DELIMITER = "://";
focal_class.type: String
focal_class.var_name: IGNORED_DELIMITER
focal_class.declarator: EMPTY_ISSUER = PoliciesModelFactory.newSubjectIssuer("")
focal_class.modifier: private static final
focal_class.original_string: private static final SubjectIssuer EMPTY_ISSUER = PoliciesModelFactory.newSubjectIssuer("");
focal_class.type: SubjectIssuer
focal_class.var_name: EMPTY_ISSUER
focal_class.declarator: issuer
focal_class.modifier: private final
focal_class.original_string: private final SubjectIssuer issuer;
focal_class.type: SubjectIssuer
focal_class.var_name: issuer
focal_class.declarator: subject
focal_class.modifier: private final
focal_class.original_string: private final String subject;
focal_class.type: String
focal_class.var_name: subject
focal_class.file: model/policies/src/main/java/org/eclipse/ditto/model/policies/ImmutableSubjectId.java
focal_class.identifier: ImmutableSubjectId
focal_class.interfaces: implements SubjectId
focal_class.class_method_signature: ImmutableSubjectId.ImmutableSubjectId(final SubjectIssuer issuer, final String subject)
focal_class.full_signature: private  ImmutableSubjectId(final SubjectIssuer issuer, final String subject)
focal_class.identifier: ImmutableSubjectId
focal_class.modifiers: private
focal_class.parameters: (final SubjectIssuer issuer, final String subject)
focal_class.signature:  ImmutableSubjectId(final SubjectIssuer issuer, final String subject)
focal_class.class_method_signature: ImmutableSubjectId.of(final SubjectIssuer issuer, final CharSequence subject)
focal_class.full_signature: public static SubjectId of(final SubjectIssuer issuer, final CharSequence subject)
focal_class.identifier: of
focal_class.modifiers: public static
focal_class.parameters: (final SubjectIssuer issuer, final CharSequence subject)
focal_class.return: SubjectId
focal_class.signature: SubjectId of(final SubjectIssuer issuer, final CharSequence subject)
focal_class.class_method_signature: ImmutableSubjectId.of(final CharSequence subjectIssuerWithId)
focal_class.full_signature: public static SubjectId of(final CharSequence subjectIssuerWithId)
focal_class.identifier: of
focal_class.modifiers: public static
focal_class.parameters: (final CharSequence subjectIssuerWithId)
focal_class.return: SubjectId
focal_class.signature: SubjectId of(final CharSequence subjectIssuerWithId)
focal_class.class_method_signature: ImmutableSubjectId.getIssuer()
focal_class.full_signature: @Override public SubjectIssuer getIssuer()
focal_class.identifier: getIssuer
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: SubjectIssuer
focal_class.signature: SubjectIssuer getIssuer()
focal_class.class_method_signature: ImmutableSubjectId.getSubject()
focal_class.full_signature: @Override public String getSubject()
focal_class.identifier: getSubject
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: String
focal_class.signature: String getSubject()
focal_class.class_method_signature: ImmutableSubjectId.length()
focal_class.full_signature: @Override public int length()
focal_class.identifier: length
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: int
focal_class.signature: int length()
focal_class.class_method_signature: ImmutableSubjectId.charAt(final int index)
focal_class.full_signature: @Override public char charAt(final int index)
focal_class.identifier: charAt
focal_class.modifiers: @Override public
focal_class.parameters: (final int index)
focal_class.return: char
focal_class.signature: char charAt(final int index)
focal_class.class_method_signature: ImmutableSubjectId.subSequence(final int start, final int end)
focal_class.full_signature: @Override public CharSequence subSequence(final int start, final int end)
focal_class.identifier: subSequence
focal_class.modifiers: @Override public
focal_class.parameters: (final int start, final int end)
focal_class.return: CharSequence
focal_class.signature: CharSequence subSequence(final int start, final int end)
focal_class.class_method_signature: ImmutableSubjectId.equals(final Object o)
focal_class.full_signature: @Override public boolean equals(final Object o)
focal_class.identifier: equals
focal_class.modifiers: @Override public
focal_class.parameters: (final Object o)
focal_class.return: boolean
focal_class.signature: boolean equals(final Object o)
focal_class.class_method_signature: ImmutableSubjectId.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: ImmutableSubjectId.toString()
focal_class.full_signature: @Override @Nonnull public String toString()
focal_class.identifier: toString
focal_class.modifiers: @Override @Nonnull public
focal_class.parameters: ()
focal_class.return: String
focal_class.signature: String toString()
focal_method.body: public static SubjectId of(final SubjectIssuer issuer, final CharSequence subject) {
          checkNotNull(issuer, "issuer");
          argumentNotEmpty(subject, "subject");
  
          final String subjectIdAsString = issuer.toString() + ":" + subject.toString();
          final Validator validator = NoControlCharactersValidator.getInstance(subjectIdAsString);
          if (!validator.isValid()) {
              throw SubjectIdInvalidException.newBuilder(subjectIdAsString)
                      .description(validator.getReason().orElse(null))
                      .build();
          }
  
          return new ImmutableSubjectId(issuer, subject.toString());
      }
focal_method.class_method_signature: ImmutableSubjectId.of(final SubjectIssuer issuer, final CharSequence subject)
focal_method.full_signature: public static SubjectId of(final SubjectIssuer issuer, final CharSequence subject)
focal_method.identifier: of
focal_method.invocations: checkNotNull argumentNotEmpty toString toString getInstance isValid build description newBuilder orElse getReason toString
focal_method.modifiers: public static
focal_method.parameters: (final SubjectIssuer issuer, final CharSequence subject)
focal_method.return: SubjectId
focal_method.signature: SubjectId of(final SubjectIssuer issuer, final CharSequence subject)