KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > objectweb > jorm > xml2mi > api > MappingParser


1 /**
2  * JORM: an implementation of a generic mapping system for persistent Java
3  * objects. Two mapping are supported: to RDBMS and to binary files.
4  * Copyright (C) 2001-2003 France Telecom R&D - INRIA
5  *
6  * This library is free software; you can redistribute it and/or
7  * modify it under the terms of the GNU Lesser General Public
8  * License as published by the Free Software Foundation; either
9  * version 2 of the License, or (at your option) any later version.
10  *
11  * This library is distributed in the hope that it will be useful,
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14  * Lesser General Public License for more details.
15  *
16  * You should have received a copy of the GNU Lesser General Public
17  * License along with this library; if not, write to the Free Software
18  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
19  *
20  * Contact: jorm-team@objectweb.org
21  *
22  */

23
24 package org.objectweb.jorm.xml2mi.api;
25
26 import org.objectweb.jorm.metainfo.api.Class;
27 import org.objectweb.jorm.metainfo.api.Manager;
28 import org.objectweb.jorm.metainfo.api.Mapping;
29 import org.objectweb.jorm.util.io.api.PathExplorer;
30 import org.objectweb.jorm.api.PException;
31 import org.w3c.dom.Element JavaDoc;
32
33 import java.util.Map JavaDoc;
34 import java.util.Hashtable JavaDoc;
35
36 /**
37  * The MappingParser interface provides methods to parse specific mapping
38  * information from an XML Element object and build the corresponding Jorm
39  * metainformation.
40  */

41 public interface MappingParser {
42     /**
43      * Assigns a meta-information manager to a parser in order from it to
44      * create the meta-information related to the XML files it parses.
45      * @param manager the meta-information Manager to be associated to this
46      * parser
47      */

48     void setMetaInfoManager(Manager manager);
49
50     /**
51      * Assigns a PathExplorer object for locating files that have to be parsed.
52      * @param explorer The PathExplorer to be used for file location
53      */

54     void setPathExplorer(PathExplorer explorer);
55
56     /**
57      * Assigns the current Class object to a parser in order from it to
58      * retrieve the meta-objects (for example, PrimitiveElement objects)
59      * that are referenced from XML mapping elements.
60      * @param aClass the Jorm meta-object associated to the parsed class.
61      */

62     void setCurrentClass(Class JavaDoc aClass);
63
64     /**
65      * Parses the mapping information related to a particular mapper and builds
66      * the corresponding Jorm meta-information. It can be class-related or
67      * generic class-related information.
68      * Manager, PathExplorer and currentClass must be set before calling this
69      * method.
70      * @param mappingElem the current XML node.
71      * @param mapping a Mapping object.
72      */

73     void parseMapping(Element JavaDoc mappingElem, Mapping mapping) throws PException;
74
75     /**
76      * @param idvalue2genclassref an HashTable that associates an id value with a GenClassRef object.
77      */

78     void setidvalue2genclassref(Map JavaDoc idvalue2genclassref);
79
80     /**
81      * Assigns an HashTable object to the MappingParser object.
82      * @param motable an HashTable that associates a pd file to its corresponding MetaObject.
83      */

84     void setmotable(Hashtable JavaDoc motable);
85 }
86
Popular Tags