package org.xenei.jdbc4sparql.iface.name; /** * An ItemName implementation that is used for searching lists of ItemNames. * */ public class SearchName extends ItemName { public SearchName(final String catalog, final String schema, final String table, final String column) { this(catalog, schema, table, column, NameSegments.getInstance( catalog != null, schema != null, table != null, column != null)); } public SearchName(final String catalog, final String schema, final String table, final String col, final NameSegments segs) { super(catalog, schema, table, col, segs); } public SearchName(final ItemName name, final NameSegments segments) { super(name, segments); } public SearchName(final FQName name, final NameSegments segments) { super(name, segments); } @Override protected String createName(final String separator) { return String.format("%s%s%s%s%s%s%s", getCatalog(), separator, getSchema(), separator, getTable(), separator, getColumn()); } @Override public String getShortName() { final NameSegments ns = getUsedSegments(); if (ns.isColumn()) { return getColumn(); } if (ns.isTable()) { return getTable(); } if (ns.isSchema()) { return getSchema(); } if (ns.isCatalog()) { return getCatalog(); } return ""; } @Override public ItemName clone(final NameSegments segs) { return new SearchName(this, segs); } }