public static <T> boolean containsAll(T[] subArray, T[] superArray) { for (T t : subArray) if (!contains(t, superArray)) return false; return true; }
public static <T> boolean equalsIgnoreOrder(T[] a1, T[] a2) { if (a1 == a2) return true; if (a1 == null) return false; if (a1.length != a2.length) return false; List<T> l1 = new ArrayList<T>(a1.length); for (T item : a1) l1.add(item); for (int i = a1.length - 1; i >= 0; i--) if (contains(a1[i], a2)) l1.remove(i); else return false; return l1.size() == 0; }
public void addColumnName(String columnName) { if (!ArrayUtil.contains(columnName, columnNames)) columnNames = ArrayUtil.append(columnName, columnNames); }
public static boolean equals(Object a1, Object a2) { if (a1 == a2) return true; if (a1 == null || !(a1.getClass().isArray()) || !(a2.getClass().isArray())) return false; int length = Array.getLength(a1); if (length != Array.getLength(a2)) return false; List<Object> l1 = new ArrayList<Object>(length); for (int i = 0; i < length ; i++) l1.add(Array.get(a1, i)); for (int i = length - 1; i >= 0; i--) { if (contains(Array.get(a1, i), a2)) l1.remove(i); else return false; } return l1.size() == 0; }
protected static void checkSupportedAttributes(Element element, String... supportedAttributes) { for (String actualAttribute : XMLUtil.getAttributes(element).keySet()) { if (!ArrayUtil.contains(actualAttribute, supportedAttributes)) syntaxError("attribute '" + actualAttribute + "' is not supported", element); } }
protected void checkSupportedAttributes(Element element, String... supportedAttributes) { for (String actualAttribute : XMLUtil.getAttributes(element).keySet()) { if (!ArrayUtil.contains(actualAttribute, supportedAttributes)) unsupportedAttribute(element, actualAttribute); } }
public String update(DBTable table, String[] pkColumnNames, List<ColumnInfo> columnInfos) { if (pkColumnNames.length == 0) throw new UnsupportedOperationException("Cannot update table without primary key: " + table.getName()); StringBuilder builder = new StringBuilder("update "); appendQualifiedTableName(table, builder).append(" set"); for (int i = 0; i < columnInfos.size(); i++) { if (!ArrayUtil.contains(columnInfos.get(i).name, pkColumnNames)) { builder.append(" "); appendColumnName(columnInfos.get(i).name, builder); builder.append("=?"); if (i < columnInfos.size() - pkColumnNames.length - 1) builder.append(", "); } } builder.append(" where"); for (int i = 0; i < pkColumnNames.length; i++) { builder.append(' '); appendColumnName(pkColumnNames[i], builder); builder.append("=?"); if (i < pkColumnNames.length - 1) builder.append(" and"); } String sql = builder.toString(); logger.debug("built SQL statement: " + sql); return sql; }
public DBForeignKeyConstraint getForeignKeyConstraint() { for (DBForeignKeyConstraint fk : getTable().getForeignKeyConstraints()) if (ArrayUtil.contains(name, fk.getColumnNames())) return fk; return null; }
public static <T> T[] commonElements(Class<T> componentType, T[]... sources) { ArrayBuilder<T> builder = new ArrayBuilder<T>(componentType); T[] firstArray = sources[0]; for (T element : firstArray) { boolean common = true; for (int i = 1; i < sources.length; i++) if (!ArrayUtil.contains(element, sources[i])) { common = false; break; } if (common) builder.add(element); } return builder.toArray(); }
public static <T> T[] removeAll(T[] toRemove, T[] target) { Class<T> componentType = componentType(target); ArrayBuilder<T> builder = new ArrayBuilder<T>(componentType); for (T element : target) if (!contains(element, toRemove)) builder.add(element); return builder.toArray(); }