@Override public Object get(Object key) { if (key == FileObject.class) { return fo; } return key instanceof String ? fo.getAttribute((String)key) : null; }
/** Copies attributes of one FileObject into another. * @param source source folder or file * @param target target folder or file * @exception IOException if it fails */ private static void copyAttrs(FileObject source, FileObject target) { Enumeration<String> en = source.getAttributes(); while (en.hasMoreElements()) { String key = en.nextElement(); Object value = source.getAttribute(key); try { target.setAttribute(key, value); } catch (IOException ie) { } } }
/** * Checks whether this file can be reverted to a pristine state. * @return whether {@link #revert} might do something * @since 7.55 */ public final boolean canRevert() { return getAttribute(REMOVE_WRITABLES_ATTR) instanceof Callable<?>; }
@Override public Object getAttribute(String attrName) { return delegate.getAttribute(attrName); }
/** * Decides if value stored in attributes is transient * @param fo fileobject where attribute is looked for * @param attrName name of attribute * @return true if transient */ static boolean isTransient(FileObject fo, String attrName) { Object value = fo.getAttribute(fragments[0] + attrName); if (value instanceof ModifiedAttribute) { return ((((ModifiedAttribute) value).modifier & (1 << 0)) == 0) ? false : true; } return false; } }
public Object getAttribute(String attrName) { return fileObj.getAttribute(attrName); }
public Object getValue() { return fo.getAttribute(attr); }
private String warningMessage(String name, FileObject fo) { Object by = fo.getAttribute("layers"); // NOI18N if (by instanceof Object[]) { by = Arrays.toString((Object[]) by); } return "Cannot load " + name + " for " + fo + " defined by " + by; // NOI18N }
private static Float findPosition(FileObject f) { Object o = f.getAttribute(ATTR_POSITION); if (o instanceof Number) { return ((Number) o).floatValue(); } else { return null; } }
static Object getRawAttribute(FileObject fo, String name, AtomicBoolean ab) { Object raw = fo.getAttribute("raw:" + name); // NOI18N if (raw != null) { if (ab != null) { ab.set(true); } return raw; } if (ab != null) { ab.set(false); } return fo.getAttribute(name); } private static ThreadLocal<FileObject> ATTR_FOR = new ThreadLocal<FileObject>();
private static List<String> readArray(FileObject fo, final String prefix) { List<String> exts = new ArrayList<String>(); int cnt = 0; for (;;) { String ext = (String) fo.getAttribute(prefix + cnt++); if (ext == null) { break; } exts.add(ext); } return exts; }
private static void setDiskFileSystem(FileSystem fs) { Object o = fs.getRoot().getAttribute("SupportsRefreshForNoPublicAPI"); if (o instanceof Boolean && ((Boolean) o).booleanValue()) { synchronized (FileUtil.class) { diskFileSystem = fs; } } }
/** Check whether given resolver's FileObject is user defined. * @param mimeResolverFO resolver's FileObject * @return true if specified FileObject is user defined MIME resolver, false otherwise */ public static boolean isUserDefined(FileObject mimeResolverFO) { return mimeResolverFO.getAttribute(USER_DEFINED_MIME_RESOLVER) != null || mimeResolverFO.getName().equals(USER_DEFINED_MIME_RESOLVER); }
private static File findFileInRepository(FileObject fo) { File f = (File) fo.getAttribute("java.io.File"); // NOI18N return (f != null) ? FileUtil.normalizeFile(f) : null; }
private static FileSystem[] computeDelegates() { List<FileSystem> arr = new ArrayList<FileSystem>(); arr.add(MEMORY); for (FileSystem f : ALL.allInstances()) { if (Boolean.TRUE.equals(f.getRoot().getAttribute("fallback"))) { // NOI18N continue; } arr.add(f); } arr.add(layers); for (FileSystem f : ALL.allInstances()) { if (Boolean.TRUE.equals(f.getRoot().getAttribute("fallback"))) { // NOI18N arr.add(f); } } return arr.toArray(new FileSystem[0]); }
private static Number weightOf(FileObject f, FileSystem writable) { try { if (f.getFileSystem() == writable) { return Double.MAX_VALUE; } } catch (FileStateInvalidException x) {/* ignore */} Object weight = f.getAttribute(WEIGHT_ATTRIBUTE); if (weight instanceof Number) { return (Number) weight; } else if (weight == null) { return 0; } else { try { Logger.getLogger(MultiFileObject.class.getName()).log( Level.WARNING, "File {0} in {1} has nonnumeric weight {2} of type {3}", new Object[] {f.getPath(), f.getFileSystem(), weight, weight.getClass().getName()}); } catch (FileStateInvalidException x) {/* ignore */} return 0; } }
private Object getAttribute(FileObject fo, String attrName, String path) { Object o; FileObject previousFO = attrAskedFileObject.get(); if (previousFO == null || !sameFullName(previousFO, this)) { attrAskedFileObject.set(this); } try { if (fo instanceof MultiFileObject) { o = ((MultiFileObject) fo).getAttribute(attrName, path); } else if (fo instanceof AbstractFileObject) { o = ((AbstractFileObject) fo).getAttribute(attrName, path); } else { o = fo.getAttribute(attrName); } } finally { attrAskedFileObject.set(previousFO); } return o; }
/** Returns FileObject representing declarative user defined MIME resolver * or null if not yet created. * @return FileObject representing declarative user defined MIME resolver * or null if not yet created. */ public static FileObject getUserDefinedResolver() { FileObject resolversFolder = FileUtil.getConfigFile(MIME_RESOLVERS_PATH); if (resolversFolder != null) { FileObject[] resolvers = resolversFolder.getChildren(); for (FileObject resolverFO : resolvers) { if (resolverFO.getAttribute(USER_DEFINED_MIME_RESOLVER) != null) { return resolverFO; } } } return null; }
private final String annotateName(FileObject fo) { String bundleName = (String) fo.getAttribute("SystemFileSystem.localizingBundle"); // NOI18N if (bundleName != null) { try { bundleName = Utilities.translate(bundleName); ResourceBundle b = NbBundle.getBundle(bundleName); try { return b.getString(fo.getPath()); } catch (MissingResourceException ex) { // ignore--normal } } catch (MissingResourceException ex) { Exceptions.attachMessage(ex, warningMessage(bundleName, fo)); LOG.log(Level.INFO, null, ex); // ignore } } return (String) fo.getAttribute("displayName"); // NOI18N }
/** factory method for {@link MIMEResolver.Registration} */ public static MIMEResolver create(FileObject fo) throws IOException { byte[] arr = (byte[]) fo.getAttribute("bytes"); if (arr != null) { return forStream(fo, arr); } String mimeType = (String) fo.getAttribute("mimeType"); // NOI18Ns String element = (String) fo.getAttribute("element"); // NOI18N List<String> exts = readArray(fo, "ext."); // NOI18N if (element != null) { List<String> accept = readArray(fo, "accept."); // NOI18N List<String> nss = readArray(fo, "ns."); // NOI18N List<String> dtds = readArray(fo, "doctype."); // NOI18N return forXML(fo, mimeType, exts, accept, element, nss, dtds); } if (!exts.isEmpty()) { return forExts(fo, mimeType, exts); } throw new IllegalArgumentException("" + fo); }