|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES All Classes | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectuk.ac.starlink.table.JoinFixAction
public abstract class JoinFixAction
Class defining the possible actions for doctoring column names when joining tables. Joining tables can cause confusion if columns with the same names exist in some of them. An instance of this class defines how the join should behave in this case.
JoinStarTable
Field Summary | |
---|---|
static JoinFixAction |
NO_ACTION
Action which causes names to be left alone. |
Constructor Summary | |
---|---|
protected |
JoinFixAction(String name)
Constructor. |
Method Summary | |
---|---|
static String |
ensureUnique(String name,
Collection others,
boolean caseSensitive)
Utility method which repeatedly doctors a name until it fails to match any of the others in a given collection. |
abstract String |
getFixedName(String origName,
Collection otherNames)
Returns a, possibly modified, name for a column in the context of existing column names. |
static boolean |
isDuplicate(String name,
Collection others,
boolean caseSensitive)
Utility method to determine whether a given name is a duplicate of any in a given collection of other names. |
static JoinFixAction |
makeNumericDeduplicationAction(String delimiter,
boolean caseSensitive)
Returns an action which will deduplicate names by appending a numeric value to them. |
static JoinFixAction |
makeRenameAllAction(String appendage)
Returns an action for renaming all column names with default options. |
static JoinFixAction |
makeRenameAllAction(String appendage,
boolean caseSensitive,
boolean ensureUnique)
Returns an action for renaming all columns with additional options. |
static JoinFixAction |
makeRenameDuplicatesAction(String appendage)
Returns an action for renaming duplicated column names with default options. |
static JoinFixAction |
makeRenameDuplicatesAction(String appendage,
boolean caseSensitive,
boolean ensureUnique)
Returns an action for renaming duplicated column names with additional options. |
String |
toString()
Returns this action's name. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Field Detail |
---|
public static final JoinFixAction NO_ACTION
Constructor Detail |
---|
protected JoinFixAction(String name)
name
- label for this actionMethod Detail |
---|
public abstract String getFixedName(String origName, Collection otherNames)
origName
- input nameotherNames
- list of names which may be duplicates of
origName
origName
public String toString()
toString
in class Object
public static boolean isDuplicate(String name, Collection others, boolean caseSensitive)
name
- name to testothers
- potential duplicates of name
caseSensitive
- true iff matching is to be done in a
case-sensitive fashion
name
matches any of the entries in
others
public static String ensureUnique(String name, Collection others, boolean caseSensitive)
name
- input nameothers
- list of names that must not matchcaseSensitive
- whether matching others is case sensitive
name
but not matching
others
public static JoinFixAction makeRenameDuplicatesAction(String appendage)
appendage
- string to append to duplicate columns
public static JoinFixAction makeRenameDuplicatesAction(String appendage, boolean caseSensitive, boolean ensureUnique)
appendage
- string to append to duplicate columnscaseSensitive
- whether duplicate location should be case
sensitiveensureUnique
- if true, every effort will be made to ensure
that the output name matches none of the others;
if false, the output name may still match
(but differently from the input one)
public static JoinFixAction makeRenameAllAction(String appendage)
appendage
- string to append to columns
public static JoinFixAction makeRenameAllAction(String appendage, boolean caseSensitive, boolean ensureUnique)
appendage
- string to append to columnscaseSensitive
- whether duplicate location should be case
sensitive (only relevant if
ensureUnique
is true)ensureUnique
- if true, every effort will be made to ensure
that the output name matches none of the others;
public static JoinFixAction makeNumericDeduplicationAction(String delimiter, boolean caseSensitive)
delimiter
- string used to separate main part of name from
numeric partcaseSensitive
- whether duplicate location is case sensitive
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES All Classes | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |