01: package xdoclet.modules.ojb.model;
02:
03: /* Copyright 2004-2005 The Apache Software Foundation
04: *
05: * Licensed under the Apache License, Version 2.0 (the "License");
06: * you may not use this file except in compliance with the License.
07: * You may obtain a copy of the License at
08: *
09: * http://www.apache.org/licenses/LICENSE-2.0
10: *
11: * Unless required by applicable law or agreed to in writing, software
12: * distributed under the License is distributed on an "AS IS" BASIS,
13: * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14: * See the License for the specific language governing permissions and
15: * limitations under the License.
16: */
17:
18: /**
19: * Base class for feature descriptors (field, reference, collection).
20: *
21: * @author <a href="mailto:tomdz@users.sourceforge.net">Thomas Dudziak (tomdz@users.sourceforge.net)</a>
22: */
23: public abstract class FeatureDescriptorDef extends DefBase {
24: /** The original feature descriptor def that this descriptor def is a copy of */
25: private FeatureDescriptorDef _originalDef;
26: /** Whether this is an inherited feature */
27: private boolean _isInherited = false;
28: /** Whether this is a nested feature */
29: private boolean _isNested = false;
30:
31: /**
32: * Creates a new feature descriptor object.
33: *
34: * @param name The name of the feature
35: */
36: public FeatureDescriptorDef(String name) {
37: super (name);
38: }
39:
40: /**
41: * Creates copy of the given feature descriptor object. Note that the copy has no owner initially.
42: *
43: * @param src The original feature
44: * @param prefix A prefix for the name
45: */
46: public FeatureDescriptorDef(FeatureDescriptorDef src, String prefix) {
47: super (src, prefix);
48: _originalDef = src;
49: _isInherited = src._isInherited;
50: _isNested = src._isNested;
51: }
52:
53: /**
54: * Returns the original feature descriptor object that this one is a copy of.
55: *
56: * @return The original descriptor def or <code>null</code> if this feature is neither inherited nor nested
57: */
58: public FeatureDescriptorDef getOriginal() {
59: return _originalDef;
60: }
61:
62: /**
63: * Declares this feature to be inherited.
64: */
65: public void setInherited() {
66: _isInherited = true;
67: }
68:
69: /**
70: * Returns whether this feature has been inherited.
71: *
72: * @return <code>true</code> if this feature has been inherited
73: */
74: public boolean isInherited() {
75: return _isInherited;
76: }
77:
78: /**
79: * Declares this feature to be nested.
80: */
81: public void setNested() {
82: _isNested = true;
83: }
84:
85: /**
86: * Returns whether this feature is a nested feature.
87: *
88: * @return <code>true</code> if this feature is nested
89: */
90: public boolean isNested() {
91: return _isNested;
92: }
93: }
|