public V add(final K key, final V value) { List<V> values = null; if (containsKey(key)) { values = get(key); } if (values == null) { values = new ArrayList<>(); } put(key, values); values.add(value); return value; }
@Override public String toString() { return columnsForMatchKey.toString(); }
public List<Column> get(final String matchKey) { return columnsForMatchKey.get(matchKey); }
public boolean containsKey(final Column column) { return matchKeysForColumn.containsKey(column); }
private void mapColumnNameMatches(final Table table) { for (final Column column: table.getColumns()) { String matchColumnName = column.getName().toLowerCase(); if (matchColumnName.endsWith("_id")) { matchColumnName = matchColumnName .substring(0, matchColumnName.length() - 3); } if (matchColumnName.endsWith("id") && !matchColumnName.equals("id")) { matchColumnName = matchColumnName .substring(0, matchColumnName.length() - 2); } if (!matchColumnName.equals("id")) { columnsForMatchKey.add(matchColumnName, column); matchKeysForColumn.add(column, matchColumnName); } } }
private Multimap<String, Table> mapTableNameMatches(final List<Table> tables, final Collection<String> prefixes) { final Multimap<String, Table> matchMap = new Multimap<>(); for (final Table table: tables) { for (final String prefix: prefixes) { String matchTableName = table.getName().toLowerCase(); if (matchTableName.startsWith(prefix)) { matchTableName = matchTableName.substring(prefix.length()); matchTableName = Inflection.singularize(matchTableName); matchMap.add(matchTableName, table); } } } matchMap.remove(""); return matchMap; }
public List<String> get(final Column column) { return matchKeysForColumn.get(column); }
TableMatchKeys(final List<Table> tables) { this.tables = requireNonNull(tables, "No tables provided"); tableKeys = new Multimap<>(); analyzeTables(); }
public boolean containsKey(final String columnKey) { return columnsForMatchKey.containsKey(columnKey); }
private void mapTableNameMatches(final List<Table> tables, final Collection<String> prefixes) { for (final Table table: tables) { for (final String prefix: prefixes) { String matchTableName = table.getName().toLowerCase(); if (matchTableName.startsWith(prefix)) { matchTableName = matchTableName.substring(prefix.length()); matchTableName = Inflection.singularize(matchTableName); if (!isBlank(matchTableName)) { tableKeys.add(table, matchTableName); } } } } }
public V add(final K key, final V value) { List<V> values = null; if (containsKey(key)) { values = get(key); } if (values == null) { values = new ArrayList<>(); } put(key, values); values.add(value); return value; }
public List<String> get(final Table table) { return tableKeys.get(table); }
public boolean containsKey(final Column column) { return matchKeysForColumn.containsKey(column); }
private void mapColumnNameMatches(final Table table) { for (final Column column: table.getColumns()) { String matchColumnName = column.getName().toLowerCase(); if (matchColumnName.endsWith("_id")) { matchColumnName = matchColumnName .substring(0, matchColumnName.length() - 3); } if (matchColumnName.endsWith("id") && !matchColumnName.equals("id")) { matchColumnName = matchColumnName .substring(0, matchColumnName.length() - 2); } if (!matchColumnName.equals("id")) { columnsForMatchKey.add(matchColumnName, column); matchKeysForColumn.add(column, matchColumnName); } } }
@Override public String toString() { return tableKeys.toString(); }
public V add(final K key, final V value) { List<V> values = null; if (containsKey(key)) { values = get(key); } if (values == null) { values = new ArrayList<>(); } put(key, values); values.add(value); return value; }
public List<Column> get(final String matchKey) { return columnsForMatchKey.get(matchKey); }