/** * Create a ServiceName from a series of String parts and a parent service name. * * @param parent The parent ServiceName for this name * @param parts The string representations of the service name segments * @return A ServiceName instance */ public static ServiceName of(final ServiceName parent, String... parts) { if (parts == null || parts.length < 1) throw new IllegalArgumentException("Must provide at least one name segment"); ServiceName current = parent; for (String part : parts) { if (part == null) { throw new IllegalArgumentException("Name segment is null for " + current.getSimpleName()); } if (part.isEmpty()) { throw new IllegalArgumentException("Empty name segment is not allowed for " + current.getSimpleName()); } current = new ServiceName(current, part); } return current; }
/** * Create a ServiceName from a series of String parts and a parent service name. * * @param parent The parent ServiceName for this name * @param parts The string representations of the service name segments * @return A ServiceName instance */ public static ServiceName of(final ServiceName parent, String... parts) { if (parts == null || parts.length < 1) throw new IllegalArgumentException("Must provide at least one name segment"); ServiceName current = parent; for (String part : parts) { if (part == null) { throw new IllegalArgumentException("Name segment is null for " + current.getSimpleName()); } if (part.isEmpty()) { throw new IllegalArgumentException("Empty name segment is not allowed for " + current.getSimpleName()); } current = new ServiceName(current, part); } return current; }