gtkengineparser.java

来自「JAVA的一些源码 JAVA2 STANDARD EDITION DEVELO」· Java 代码 · 共 79 行

JAVA
79
字号
/* * @(#)GTKEngineParser.java	1.7 03/12/19 * * Copyright 2004 Sun Microsystems, Inc. All rights reserved. * SUN PROPRIETARY/CONFIDENTIAL. Use is subject to license terms. */package com.sun.java.swing.plaf.gtk;import java.io.IOException;/** * The abstract base class for all theme engine parsers. * * @author  Shannon Hickey * @version 1.7 12/19/03 */abstract class GTKEngineParser {    protected final int uniqueScopeID = GTKScanner.getUniqueScopeID();    /**     * Parse the body of an 'engine' section of an rc file and store     * the results in a <CODE>GTKParser.EngineInfo<CODE> object.     * <P>     * This method takes three parameters. The first is a scanner to     * retrieve tokens from. Configuration options on the scanner may be     * changed by this method, but it must be sure to restore the previous     * values when it has completed. A typical implementation will also     * want to register its own symbols with the scanner. To do so, it should     * save the current scope of the scanner, and then set the scanner's scope     * to the value of 'uniqueScopeID'. Then, it should register its own     * symbols with the scanner if they don't already exist. The int value     * of every symbol registered must be > GTKScanner.TOKEN_LAST.     * At the successful completion of this method, the old scope should be     * restored, but the registered symbols can be left for the next use.     * <P>     * When this method is called, the scanner will be ready to return the first     * token inside the opening '{' of an engine section. Therefore, with the     * exception of returning early in error, this method must continue parsing     * until it sees a matching outer '}', even if it no longer has interest in     * the tokens returned.     * <P>     * The second parameter is the parser that called this method. It should     * not be modified in any way, and has been included only to make available     * its <CODE>resolvePixmapPath</CODE> method for resolving paths to images.     * <P>     * The last parameter will always be a single element array, for returning a     * <CODE>GTKParser.EngineInfo</CODE> object representing the information     * that was parsed. Upon invocation of this method, the array may already     * contain an info object. If so, it is guaranteed that it was created by this     * <CODE>GTKEngineParser</CODE> on a previous call to <CODE>parse</CODE>.     * As such, its type can be assumed. Typically, an implementation will     * want to append to, or merge with the information contained in any passed in     * info object.     * <P>     * Upon successful completion, the information parsed should be stored in     * a <CODE>GTKParser.EngineInfo</CODE> object as element 0 in the array     * parameter. This can be null if we wish to signify, for any reason, that     * that this entire engine section be thrown out and to use the default     * engine instead.     * <P>     * This method should return <CODE>GTKScanner.TOKEN_NONE</CODE>, if successful,     * otherwise the token that it expected but didn't get.     *     * @param   scanner   The scanner to retrieve tokens from.     * @param   parser    The parser that called us.     * @param   retVal    A single element array to store an object containing the     *                    information parsed.     *     * @return  <CODE>GTKScanner.TOKEN_NONE</CODE> if the parse was successful,     *          otherwise the token that was expected but not received.     */    abstract int parse(GTKScanner scanner,                       GTKParser parser,                       GTKParser.EngineInfo[] retVal) throws IOException;}

⌨️ 快捷键说明

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