KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > enhydra > xml > xmlc > deferredparsing > DeferredParsingDocBuilderGenerator


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

23
24 package org.enhydra.xml.xmlc.deferredparsing;
25
26 import org.enhydra.xml.xmlc.XMLCException;
27 import org.enhydra.xml.xmlc.codegen.JavaClass;
28 import org.enhydra.xml.xmlc.codegen.JavaCode;
29 import org.enhydra.xml.xmlc.codegen.JavaLang;
30 import org.enhydra.xml.xmlc.codegen.JavaMethod;
31 import org.enhydra.xml.xmlc.compiler.ElementTable;
32 import org.enhydra.xml.xmlc.dom.AccessorGenerator;
33 import org.enhydra.xml.xmlc.dom.DocBuilderGenerator;
34 import org.enhydra.xml.xmlc.dom.XMLCDocument;
35
36 /**
37  * Class to generate code to build the document tree with support for deferred
38  * parsing.
39  */

40 public class DeferredParsingDocBuilderGenerator
41        implements DocBuilderGenerator {
42     /**
43      * Generate the document builder method.
44      * @see DocBuilderGenerator#createBuildDocumentMethod
45      */

46     public void createBuildDocumentMethod(XMLCDocument xmlcDoc,
47                                           AccessorGenerator accessorGenerator,
48                                           ElementTable elementTable,
49                                           JavaClass docClass,
50                                           JavaMethod buildDocumentMethod)
51             throws XMLCException {
52
53         // Generate the document building method.
54
JavaCode body = buildDocumentMethod.getCode();
55         body.addln("setDocument(getDocumentLoader().getDocument(getClass()), "
56                    + JavaLang.createStringConst(xmlcDoc.getDomFactory().getMIMEType()) + ", "
57                    + JavaLang.createStringConst(xmlcDoc.getEncoding()) + ");");
58         body.addln("syncAccessMethods();");
59     }
60 }
61
Popular Tags