All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.enhydra.xml.xmlc.deferredparsing.DeferredParsingDocBuilderGenerator Maven / Gradle / Ivy

The newest version!
/*
 * Enhydra Java Application Server Project
 * 
 * The contents of this file are subject to the Enhydra Public License
 * Version 1.1 (the "License"); you may not use this file except in
 * compliance with the License. You may obtain a copy of the License on
 * the Enhydra web site ( http://www.enhydra.org/ ).
 * 
 * Software distributed under the License is distributed on an "AS IS"
 * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See 
 * the License for the specific terms governing rights and limitations
 * under the License.
 * 
 * The Initial Developer of the Enhydra Application Server is Lutris
 * Technologies, Inc. The Enhydra Application Server and portions created
 * by Lutris Technologies, Inc. are Copyright Lutris Technologies, Inc.
 * All Rights Reserved.
 * 
 * Contributor(s):
 * Richard Kunze
 * $Id: DeferredParsingDocBuilderGenerator.java,v 1.2 2005/01/26 08:29:24 jkjome Exp $
 */

package org.enhydra.xml.xmlc.deferredparsing;

import org.enhydra.xml.xmlc.XMLCException;
import org.enhydra.xml.xmlc.codegen.JavaClass;
import org.enhydra.xml.xmlc.codegen.JavaCode;
import org.enhydra.xml.xmlc.codegen.JavaLang;
import org.enhydra.xml.xmlc.codegen.JavaMethod;
import org.enhydra.xml.xmlc.compiler.ElementTable;
import org.enhydra.xml.xmlc.dom.AccessorGenerator;
import org.enhydra.xml.xmlc.dom.DocBuilderGenerator;
import org.enhydra.xml.xmlc.dom.XMLCDocument;

/**
 * Class to generate code to build the document tree with support for deferred
 * parsing. 
 */
public class DeferredParsingDocBuilderGenerator
       implements DocBuilderGenerator {
    /**
     * Generate the document builder method.
     * @see DocBuilderGenerator#createBuildDocumentMethod
     */
    public void createBuildDocumentMethod(XMLCDocument xmlcDoc,
                                          AccessorGenerator accessorGenerator,
                                          ElementTable elementTable,
                                          JavaClass docClass,
                                          JavaMethod buildDocumentMethod)
	        throws XMLCException {

        // Generate the document building method.
        JavaCode body = buildDocumentMethod.getCode();
        body.addln("setDocument(getDocumentLoader().getDocument(getClass()), "
                   + JavaLang.createStringConst(xmlcDoc.getDomFactory().getMIMEType()) + ", "
                   + JavaLang.createStringConst(xmlcDoc.getEncoding()) + ");");
        body.addln("syncAccessMethods();");
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy