KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > objectweb > jorm > metainfo > lib > BasicMappingStructure


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-2004 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@objectweb.org
21  *
22  */

23
24 package org.objectweb.jorm.metainfo.lib;
25
26 import org.objectweb.jorm.metainfo.api.MappingStructure;
27 import org.objectweb.jorm.metainfo.api.MetaObject;
28 import org.objectweb.jorm.metainfo.api.Mapping;
29 import org.objectweb.jorm.metainfo.api.ClassProject;
30 import org.objectweb.util.monolog.api.Logger;
31 import org.objectweb.util.monolog.api.LoggerFactory;
32 import org.objectweb.jorm.util.api.Loggable;
33
34 /**
35  * Description
36  */

37 public class BasicMappingStructure
38     extends BasicMetaObject
39     implements MappingStructure {
40
41     /**
42      * The MetaObject object referenced by the current object.
43      */

44     protected MetaObject linkedMO;
45
46     /**
47      * Builds a new BasicMappingStructure object.
48      * @param linkedMO the MetaObject object referenced by the current object.
49      */

50     public BasicMappingStructure(MetaObject parent, MetaObject linkedMO) {
51         super(parent);
52         this.linkedMO = linkedMO;
53     }
54
55     ///////////////////////////////////////////////////////////////////
56
// from MappingStructure interface
57
///////////////////////////////////////////////////////////////////
58

59     /**
60      * Returns the MetaObject referenced by the current MetaObject.
61      * @return the MetaObject referenced by the current object. If there is
62      * no referenced object, null is returned.
63      */

64     public MetaObject getLinkedMO() {
65         return linkedMO;
66     }
67
68     /**
69      * Sets the MetaObject referenced by the current MetaObject.
70      * @param linkedMO the MetaObject referenced by the current object
71      */

72     public void setLinkedMO(MetaObject linkedMO) {
73         this.linkedMO = linkedMO;
74     }
75
76     /**
77      * Returns the mapper name.
78      * @return the mapper name.
79      */

80     public String JavaDoc getMapperName() {
81         MetaObject mo = this;
82         while (!(mo instanceof Mapping)) {
83             mo = mo.getParent();
84         }
85         return (mo != null
86                 ? ((Mapping) mo).getMapperName()
87                 : "");
88     }
89
90     /**
91      * Returns the project name.
92      * @return the project name.
93      */

94     public String JavaDoc getProjectName() {
95         MetaObject mo = getParent();
96         while (! (mo instanceof ClassProject)) {
97             mo = mo.getParent();
98         }
99         return (mo != null
100                 ? ((ClassProject) mo).getProjectName()
101                 : "");
102     }
103 }
104
Popular Tags