public static Pair<String[], int[]> listAll(int parentId) { try { r.lock(); try { final DataInputStream input = readAttribute(parentId, CHILDREN_ATT); if (input == null) return Pair.create(ArrayUtil.EMPTY_STRING_ARRAY, ArrayUtil.EMPTY_INT_ARRAY); final int count = DataInputOutputUtil.readINT(input); final int[] ids = ArrayUtil.newIntArray(count); final String[] names = ArrayUtil.newStringArray(count); for (int i = 0; i < count; i++) { int id = DataInputOutputUtil.readINT(input); id = id >= 0 ? id + parentId : -id; ids[i] = id; names[i] = getName(id); } input.close(); return Pair.create(names, ids); } finally { r.unlock(); } } catch (Throwable e) { throw DbConnection.handleError(e); } }
@NotNull private static String[] listPersisted(@NotNull int[] childrenIds) { String[] names = ArrayUtil.newStringArray(childrenIds.length); for (int i = 0; i < childrenIds.length; i++) { names[i] = FSRecords.getName(childrenIds[i]); } return names; }
public void saveData() { TableUtil.stopEditing(myTable); final int count = myTable.getRowCount(); String[] urls = ArrayUtil.newStringArray(count); for (int row = 0; row < count; row++) { final TableItem item = ((MyTableModel) myTable.getModel()).getTableItemAt(row); urls[row] = item.getUrl(); } getModel().setRootUrls(AnnotationOrderRootType.getInstance(), urls); }
@NotNull public static String[] filterNames(@NotNull String[] names) { int filteredCount = 0; for (String string : names) { if (isBadName(string)) filteredCount++; } if (filteredCount == 0) return names; String[] result = ArrayUtil.newStringArray(names.length - filteredCount); int count = 0; for (String string : names) { if (isBadName(string)) continue; result[count++] = string; } return result; }
private static String[] buildThrowsList( String[] exceptions, List<String> throwables, boolean parsedViaGenericSignature) { if (exceptions == null) return ArrayUtil.EMPTY_STRING_ARRAY; if (parsedViaGenericSignature && throwables != null && exceptions.length > throwables.size()) { // There seem to be an inconsistency (or bug) in class format. For instance, // java.lang.Class.forName() method has // signature equal to "(Ljava/lang/String;)Ljava/lang/Class<*>;" (i.e. no exceptions thrown) // but exceptions actually not empty, // method throws ClassNotFoundException parsedViaGenericSignature = false; } if (parsedViaGenericSignature && throwables != null) { return ArrayUtil.toStringArray(throwables); } else { String[] converted = ArrayUtil.newStringArray(exceptions.length); for (int i = 0; i < converted.length; i++) { converted[i] = getClassName(exceptions[i]); } return converted; } }