package org.xenei.jdbc4sparql.iface.name; import org.apache.commons.lang.StringUtils; /** * Catalog ItemName implementation. */ public class CatalogName extends ItemName { /** * Check the catalog name. Checks that the itemName catalog name segment is * not null. * * @param name * The ItemName to check. * @return the ItemName * @Throws IllegalArgumentException */ static ItemName checkItemName(final ItemName name) throws IllegalArgumentException { if (name == null) { throw new IllegalArgumentException("name may not be null"); } checkNotNull(name.getFQName().getCatalog(), "catalog"); return name; } /** * Create a CatalogName from an ItemName. * * @param name * the ItemName, must not be null. * @Throws IllegalArgumentException is name is null. */ public CatalogName(final ItemName name) throws IllegalArgumentException { super(checkItemName(name), NameSegments.CATALOG); } /** * Create a CatalogName from a catalog name string. Uses the default * namesegments for a catalog. * * @param catalog * the catalog name string. * @throws IllegalArgumentException * if the catalog name string is null. */ public CatalogName(final String catalog) throws IllegalArgumentException { super( new FQNameImpl(checkNotNull(catalog, "catalog"), null, null, null), NameSegments.CATALOG); } /** * Create a schemas name in this catalog. * * @param column * the columnName string * @return the ColumnName * @throws IllegalArgumentException */ public SchemaName getSchemaName(final String name) { return new SchemaName(getFQName().getCatalog(), name); } @Override protected String createName(final String separator) { return StringUtils.defaultString(getCatalog(), ""); } @Override public String getShortName() { return getCatalog(); } @Override public String toString() { return getCatalog(); } /** * Clone this catalog name with different segments. */ @Override public CatalogName clone(final NameSegments segs) { return new CatalogName(this); } }