public static TypeName nameOf( Type type ) { return nameOf( Classes.RAW_CLASS.map( type ) ); }
/** * Creates a QualifiedName instance from the Class and a given name. * <p> * This factory method converts the {@code type} to a {@link TypeName} and appends the given {@code name}. * * @param type The Class that is the base of the QualifiedName. * @param name The qualifier name which will be appended to the base name derived from the {@code type} argument. * * @return A QualifiedName instance representing the {@code type} and {@code name} arguments. * * @throws NullArgumentException if any of the two arguments are {@code null}, or if the name string is empty. */ public static QualifiedName fromClass( Class type, String name ) { return new QualifiedName( TypeName.nameOf( type ), name ); }
/** * Creates a Qualified name from a type as string and a name qualifier. * * @param type The type name as a a string, which must be properly formatted. No checks for correctly formatted * type name is performed. * @param name The qualifier name which will be appended to the base name derived from the {@code type} argument. * * @return A QualifiedName instance representing the {@code type} and {@code name} arguments. * * @throws NullArgumentException if any of the two arguments are {@code null} or either string is empty. */ public static QualifiedName fromName( String type, String name ) { return new QualifiedName( TypeName.nameOf( type ), name ); }
/** * 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. * </p> * * @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 ); }