jasenautoupdateparceldigester.java

来自「spam source codejasen-0.9jASEN - java An」· Java 代码 · 共 121 行

JAVA
121
字号
/*
 * @(#)JasenAutoUpdateParcelDigester.java	5/01/2005
 *
 * Copyright (c) 2005 jASEN.org
 * All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions are met:
 *
 *   1. Redistributions of source code must retain the above copyright notice,
 *      this list of conditions and the following disclaimer.
 *
 *   2. Redistributions in binary form must reproduce the above copyright
 *      notice, this list of conditions and the following disclaimer in
 *      the documentation and/or other materials provided with the distribution.
 *
 *   3. The names of the authors may not be used to endorse or promote products
 *      derived from this software without specific prior written permission.
 *
 *   4. Any modification or additions to the software must be contributed back
 *      to the project.
 *
 *   5. Any investigation or reverse engineering of source code or binary to
 *      enable emails to bypass the filters, and hence inflict spam and or viruses
 *      onto users who use or do not use jASEN could subject the perpetrator to
 *      criminal and or civil liability.
 *
 * THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESSED OR IMPLIED WARRANTIES,
 * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
 * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL JASEN.ORG,
 * OR ANY CONTRIBUTORS TO THIS SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT,
 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
 * OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
 * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
 * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
 * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 *
 */
package org.jasen.update;

import javax.xml.parsers.SAXParser;
import org.apache.commons.digester.Digester;
import org.xml.sax.XMLReader;

/**
 * <p>
 * Digests the XML parcel received from the auto update site.
 * </p>
 * <p>
 * When the auto update system runs, it looks for a small XML document (parcel) which
 * <br/>
 * tells the engine the details of the current update available
 * </p>
 * @author Jason Polites
 */
public class JasenAutoUpdateParcelDigester extends Digester {

    /**
     *
     */
    public JasenAutoUpdateParcelDigester() {
        super();
    }

    /**
     * @param arg0
     */
    public JasenAutoUpdateParcelDigester(SAXParser arg0) {
        super(arg0);
    }

    /**
     * @param arg0
     */
    public JasenAutoUpdateParcelDigester(XMLReader arg0) {
        super(arg0);
    }

    public void init() {
		setValidating( false );

		// Create a container for the plugins
		addObjectCreate( "jasen-update", JasenAutoUpdateParcel.class );

		// Details about the update
		addSetProperties( "jasen-update/meta", "updateDate", "updateDate" );
		addSetProperties( "jasen-update/meta", "updateId", "updateId" );

		// The name of the ZIP file containing the updated files
		addSetProperties( "jasen-update/update", "archiveName", "archiveName" );

		// The size in bytes of the update
		addSetProperties( "jasen-update/update", "size", "size" );

		// Boolean.  If true, a separate manual update from a given url should be done
		addSetProperties( "jasen-update/update", "webUpdateRequired", "webUpdateRequired" );

		// The Url to visit if there is a web update required
		addSetProperties( "jasen-update/update", "webUpdateUrl", "webUpdateUrl" );

		// The name of the jar file INSIDE the ZIP if any
		addSetProperties( "jasen-update/execute", "jarName", "jarName" );

		// The local path in which to store the jar
		addSetProperties( "jasen-update/execute", "jarPath", "jarPath" );

		// Boolean.  If true, the jar file should be retained in the lib path
		addSetProperties( "jasen-update/execute", "retainJar", "retainJar" );

		// FQCN.  If present, this class must be executed AFTER loading the JAR above
		addSetProperties( "jasen-update/execute", "className", "className" );

		addObjectCreate( "jasen-update/file", JasenAutoUpdateFile.class );
		addSetProperties( "jasen-update/file", "archivePath", "archivePath" );
		addSetProperties( "jasen-update/file", "jasenPath", "jasenPath" );

		addSetNext( "jasen-update/file", "addFile" );
    }
}

⌨️ 快捷键说明

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