01: /*
02: * GeoTools - OpenSource mapping toolkit
03: * http://geotools.org
04: * (C) 2004-2006, GeoTools Project Managment Committee (PMC)
05: *
06: * This library is free software; you can redistribute it and/or
07: * modify it under the terms of the GNU Lesser General Public
08: * License as published by the Free Software Foundation;
09: * version 2.1 of the License.
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: package org.geotools.feature.type;
17:
18: import org.geotools.feature.AttributeType;
19: import org.opengis.filter.Filter;
20:
21: /**
22: * This level of inheritance is intended for documentation purposes ...
23: * so read carefully :).
24: *
25: * A nested Attribute is equivalent to a weak feature, or a feature without a Fid.
26: * This distinction is important because there is very little difference between
27: * a Java Bean and a nested Attribute, except the existance of this class.
28: * This class is a simplified version of the XML schema which would be used to
29: * represent this object as XML.
30: *
31: * The other subtle divergence between a Nested Attribute, and a Feature is the
32: * idea that a Feature can be translated into and out of GML, while a Nested
33: * Attribute is really just a typed Object. Much of what is represented within
34: * the Nested Attribute and NestedAttributeType can, and is duplicated in many
35: * bean2xml and xml2bean libraries (they use introspection ... we declare it in
36: * a human readable form).
37: *
38: * @author dzwiers
39: *
40: * @source $URL: http://svn.geotools.org/geotools/tags/2.4.1/modules/library/main/src/main/java/org/geotools/feature/type/NestedAttributeType.java $
41: */
42: public class NestedAttributeType extends ListAttributeType {
43:
44: /**
45: * super(copy)
46: * @param copy
47: */
48: public NestedAttributeType(NestedAttributeType copy) {
49: super (copy);
50: }
51:
52: /**
53: * @param name
54: * @param nillable
55: * @param min
56: * @param max
57: * @param children
58: */
59: public NestedAttributeType(String name, boolean nillable, int min,
60: int max, AttributeType[] children, Filter restriction) {
61: super (name, nillable, min, max, children, restriction);
62: }
63:
64: /**
65: * @param name
66: * @param nillable
67: * @param children
68: */
69: public NestedAttributeType(String name, boolean nillable,
70: AttributeType[] children) {
71: super(name, nillable, children);
72: }
73:
74: }
|