/** * Creates a QualifiedName from the external string format of QualifiedName. * * <p>This factory method is the reverse of {@link QualifiedName#toString() } method, and creates * a new QualifiedName instance from the string representation of the QualifiedName. * * @param fullQualifiedName The QualifiedName external string representation to be converted back * into a QualifiedName instance. * @return The QualifiedName instance represented by the {@code qualifiedName} argument. * @throws IllegalArgumentException If the {@code qualifiedName} argument has wrong format. */ public static QualifiedName fromFQN(String fullQualifiedName) { NullArgumentException.validateNotEmpty("qualifiedName", fullQualifiedName); int idx = fullQualifiedName.lastIndexOf(":"); if (idx == -1) { throw new IllegalArgumentException( "Name '" + fullQualifiedName + "' is not a qualified name"); } final String type = fullQualifiedName.substring(0, idx); final String name = fullQualifiedName.substring(idx + 1); return new QualifiedName(TypeName.nameOf(type), name); }
QualifiedName(TypeName typeName, String name) { NullArgumentException.validateNotNull("typeName", typeName); NullArgumentException.validateNotEmpty("name", name); this.typeName = typeName; this.name = name; }