/** Changes the order of data objects. */ public synchronized void setOrder (DataObject[] arr) throws IOException { if (arr != null) { order = new HashMap (arr.length * 4 / 3 + 1); // each object only once Enumeration en = org.openide.util.Enumerations.removeDuplicates ( org.openide.util.Enumerations.array (arr) ); int i = 0; while (en.hasMoreElements ()) { DataObject obj = (DataObject)en.nextElement (); FileObject fo = obj.getPrimaryFile (); if (folder.equals (fo.getParent ())) { // object for my folder order.put (fo.getNameExt (), new Integer (i++)); } } // Explicit order has been set, if written please clear affected // order markings. ignorePartials = true; } else { order = null; } write (); // writes attribute EA_ORDER -> updates FolderList // FolderList.changedFolderOrder (folder); }