gnomevfswrapper.java

来自「jdic,显著提高swing性能的插件」· Java 代码 · 共 196 行

JAVA
196
字号
/* * Copyright (C) 2004 Sun Microsystems, Inc. All rights reserved. Use is * subject to license terms. *  * This program is free software; you can redistribute it and/or modify * it under the terms of the Lesser GNU General Public License as * published by the Free Software Foundation; either version 2 of the * License, or (at your option) any later version. *  * This program is distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU * General Public License for more details. *  * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 * USA. */ package org.jdesktop.jdic.filetypes.internal;/** * Java wrapper class for GnomeVFS API both on Linux and Solaris platforms. * <P> * GnomeVFS, a filesystem abstraction library, contains convenient file utilities, * including a comphrehensive MIME database/Application registry. * <P> * The MIME database/Application registry are stored as plain text files: * $gnome_prefix/share/mime-info/*.mime, *.keys and $gnome_prefix/share/application-registry/*.applications. *//* * Following gives an example on mime type text/html stored in  * the MIME database/Application registry. Each of the Java wrapper method for native * functions gives the result corresponding to this example. * ---------------------------------------------------------------------- * 1. $gnome_prefix/share/mime-info/gnome-vfs.keys:  *    text/html *      description=HTML page *      [az]description=... *     	...... *      [zh_TW]description=... *      default_action_type=application *      default_application_id=htmlview *      short_list_component_iids=OAFIID:nautilus_mozilla_content_view:1ee70717-57bf-4079-aae5-922abdd576b1,OAFIID *          :Nautilus_Text_View *      short_list_component_iids_for_novice_user_level=OAFIID:nautilus_mozilla_content_view *          :1ee70717-57bf-4079-aae5-922abdd576b1,OAFIID:nautilus_text_view:fa466311-17c1-435c-8231-c9fc434b6437 *      short_list_component_iids_for_intermediate_user_level=OAFIID:nautilus_mozilla_content_view *          :1ee70717-57bf-4079-aae5-922abdd576b1,OAFIID:nautilus_text_view:fa466311-17c1-435c-8231-c9fc434b6437 *      short_list_component_iids_for_advanced_user_level=OAFIID:nautilus_mozilla_content_view *          :1ee70717-57bf-4079-aae5-922abdd576b1,OAFIID:nautilus_text_view:fa466311-17c1-435c-8231-c9fc434b6437 *      short_list_application_ids_for_novice_user_level=htmlview,mozilla,netscape,galeon *      short_list_application_ids_for_intermediate_user_level=htmlview,mozilla,netscape,galeon *      short_list_application_ids_for_advanced_user_level=htmlview,mozilla,netscape,lynx,galeon *      category=Documents/World Wide Web *      use_category_default=yes * * 2. $gnome_prefix/share/mime-info/gnome-vfs.mime *    text/html *      ext: html htm HTML * * 3. $gnome_prefix/share/mime-info/test-html.keys: overrides the items in system default gnome-vfs.keys *      ext/html: *      open=vi %f *      view=vi %f * 	    icon-filename=/usr/share/pixmaps/html.png * * 4. $gnome_prefix/share/mime-info/test-html.mime: overrides the items in system default gnome-vfs.mime *	    text/html *	     ext: testhtml testhtm * * 5. $gnome_prefix/share/application-registry/gnome-vfs.application *	  htmlview *	    command=htmlview *	    name=htmlview *      can_open_multiple_files=true *      expects_uris=true *      requires_terminal=false *      supported_uri_schemes=file,http,ftp,telnet,gopher *      mime_types=text/html,x-directory/webdav,x-directory/webdav-prefer-directory,image/gif, *      image/jpeg,text/xml * * 6. $gnome_prefix/share/application-registry/test-html.application:  *     overrides the system default gnome-vfs.mime. * ----------------------------------------------------------------------- */public class GnomeVfsWrapper {    static {        System.loadLibrary("jdic");    }    /* Description and icon_filename keys used on GNOME desktop */    public final static String  GNOME_VFS_MIME_KEY_DESCRIPTION = "description";    public final static String  GNOME_VFS_MIME_DEFAULT_KEY_ICON_FILENAME = "icon_filename";        /**     * Suppress default constructor for noninstantiability.     */    private GnomeVfsWrapper() {}    /**     * Returns the the mime type of the specified uri.      * <PRE>     * For example:      *     for uri file:/test.html, returns text/html.     *     for uri http://sceri.prc.sun.com/index.html, it also returns text/html.     * </PRE>     */    public static native String gnome_vfs_get_mime_type(String uri);    /**     * Query the MIME database for a description of the specified MIME type.     * <PRE>     * For example:      *     for text/html, returns HTML page.     * </PRE>     */    public static native String gnome_vfs_mime_get_description(String mimeType);    /**     * Query the MIME database for an icon representing the specified MIME type.     * <PRE>     * For example:      *     for text/html, returns /usr/share/pixmaps/html.png.     * </PRE>     */    public static native String gnome_vfs_mime_get_icon(String mimeType);    /**     * Return a string array with all of the keys associated with the mime_type.     * <PRE>     * For example:     *   for text/html, returns     *       short_list_application_ids_for_intermediate_user_level     *       short_list_application_ids_for_novice_user_level     *       short_list_component_iids_for_intermediate_user_level     *       short_list_component_iids_for_novice_user_level     *       default_action_type     *       category     *       short_list_application_ids_for_advanced_user_level     *       short_list_component_iids     *       short_list_component_iids_for_advanced_user_level     *       default_application_id     * </PRE>     */    public static native String[] gnome_vfs_mime_get_key_list(String mimeType);      /**     * Retrieve the value associated with key for te given mime type.     * <P>     * The following keys are used in GNOME desktop:     * open, icon-filename, view, ascii-view, fm-open, fm-view, fm-ascii-view.     * <PRE>     * For example:      *     for text/html and key is "open", returns vi %f.     *     if key is category, returns Documents/World Wide Web.     * </PRE>     */     public static native String gnome_vfs_mime_get_value(String mimeType, String key);      /**     * Query the MIME database for the application to be executed on files of MIME type by default.     * Returns the command string running this application.     * <PRE>     * For example:      *     for text/html, returns htmlview.     * </PRE>     */    public static native String gnome_vfs_mime_get_default_application_command(String mimeType);    /**     * Return all the mime types registered in the MIME type database.     */    public static native String[] gnome_vfs_get_registered_mime_types();      /**     * Return a list of extensions for this mime-type.     * <PRE>     * For example:     *     for text/html, returns testhtml and testhtm from test-html.mime)     *     not the system default html, htm and HTML from gnome-vfs.mime.     * </PRE>     */    public static native String[] gnome_vfs_mime_get_extensions_list(String mimeType);      /**     * Return the value of the specified environment variable, or NULL if there is no match.     * This method is not related with Gnome VFS API or library.     */    public static native String getenv(String envName);}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?