KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > objectweb > jorm > mapper > fos > metainfo > FosClassMapping


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.mapper.fos.metainfo;
25
26 import org.objectweb.jorm.metainfo.lib.BasicClassMapping;
27 import org.objectweb.jorm.metainfo.api.Class;
28 import org.objectweb.jorm.metainfo.api.MetaObject;
29 import org.objectweb.jorm.metainfo.api.ParentClassMapping;
30 import org.objectweb.jorm.metainfo.api.PrimitiveElementMapping;
31 import org.objectweb.util.monolog.api.Logger;
32 import org.objectweb.util.monolog.api.LoggerFactory;
33
34 /**
35  * @author P. Dechamboux
36  */

37 public class FosClassMapping extends BasicClassMapping
38     implements FosMappingInfos {
39     private String JavaDoc directoryName = null;
40
41     /**
42      * Builds a new BasicFosClassMapping.
43      * @param linkedMO the object referenced by the current object,
44      * @param parent the parent of the current object.
45      */

46     public FosClassMapping(MetaObject linkedMO, MetaObject parent) {
47         super(null, linkedMO, parent);
48     }
49
50     // IMPLEMENTATION OF METHDOS FROM THE FosMappingInfos INTERFACE
51

52     /**
53      * Retrieves the name of the directory where class objects
54      * are stored.
55      * @return The directory name.
56      */

57     public String JavaDoc getDirName() {
58         return directoryName;
59     }
60
61     /**
62      * Assigns the name of the directory where class objects
63      * are stored.
64      * @param dirname The directory name.
65      */

66     public void setDirName(String JavaDoc dirname) {
67         directoryName = dirname;
68     }
69
70     /**
71      * Adds a field mapping for this field with the given name.
72      * @param fn A field name (hidden or not).
73      */

74     public void addFieldMapping(String JavaDoc fn) {
75         Class JavaDoc c = (Class JavaDoc) getLinkedMO();
76         MetaObject f = c.getHiddenField(fn);
77         if (f != null) {
78             if (getPrimitiveElementMapping(fn) == null) {
79                 addPrimitiveElementMapping(
80                         new FosPrimitiveElementMapping(this, f));
81             }
82             return;
83         }
84         f = c.getTypedElement(fn);
85         if (f != null) {
86             if (getPrimitiveElementMapping(fn) == null) {
87                 addPrimitiveElementMapping(
88                         new FosPrimitiveElementMapping(this, f));
89             }
90         }
91     }
92
93     public ParentClassMapping createImplicitParentClassMapping(Class JavaDoc superClass) {
94         throw new Error JavaDoc("implicit mapping not supported yet in FOS");
95     }
96
97     public void addImplicitDependencies() {
98     }
99
100     /* (non-Javadoc)
101      * @see org.objectweb.jorm.metainfo.api.ClassMapping#getPrimitiveElementMapping(java.lang.String, boolean)
102      */

103     public PrimitiveElementMapping getPrimitiveElementMapping(String JavaDoc fieldName, boolean searchInSuper) {
104         throw new InternalError JavaDoc("Not implemented yet");
105     }
106
107     /* (non-Javadoc)
108      * @see org.objectweb.jorm.util.api.Loggable#setLogger(org.objectweb.util.monolog.api.Logger)
109      */

110     public void setLogger(Logger logger) {
111         // TODO Auto-generated method stub
112

113     }
114
115     /* (non-Javadoc)
116      * @see org.objectweb.jorm.util.api.Loggable#setLoggerFactory(org.objectweb.util.monolog.api.LoggerFactory)
117      */

118     public void setLoggerFactory(LoggerFactory loggerfactory) {
119         // TODO Auto-generated method stub
120

121     }
122 }
123
Popular Tags