64 * be calculated once. */
65 private transient Integer myHashCode = null;
66 private transient String myToString = null;
67 private transient Set<String> myNamesSet = null;
68
69
70 /* *** Constructor *** */
71
72 /**
73 * Constructs a <code>CompositeType</code> instance, checking for the validity of the given parameters.
74 * The validity constraints are described below for each parameter.
75 * <p>
76 * Note that the contents of the three array parameters
77 * <var>itemNames</var>, <var>itemDescriptions</var> and <var>itemTypes</var>
78 * are internally copied so that any subsequent modification of these arrays by the caller of this constructor
79 * has no impact on the constructed <code>CompositeType</code> instance.
80 * <p>
81 * The Java class name of composite data values this composite type represents
82 * (ie the class name returned by the {@link OpenType#getClassName() getClassName} method)
83 * is set to the string value returned by <code>CompositeData.class.getName()</code>.
84 * <p>
85 * @param typeName The name given to the composite type this instance represents; cannot be a null or empty string.
86 * <br>
87 * @param description The human readable description of the composite type this instance represents;
88 * cannot be a null or empty string.
89 * <br>
90 * @param itemNames The names of the items contained in the
91 * composite data values described by this <code>CompositeType</code> instance;
92 * cannot be null and should contain at least one element; no element can be a null or empty string.
93 * Note that the order in which the item names are given is not important to differentiate a
94 * <code>CompositeType</code> instance from another;
95 * the item names are internally stored sorted in ascending alphanumeric order.
96 * <br>
97 * @param itemDescriptions The descriptions, in the same order as <var>itemNames</var>, of the items contained in the
98 * composite data values described by this <code>CompositeType</code> instance;
99 * should be of the same size as <var>itemNames</var>;
100 * no element can be null or an empty string.
101 * <br>
102 * @param itemTypes The open type instances, in the same order as <var>itemNames</var>, describing the items contained
103 * in the composite data values described by this <code>CompositeType</code> instance;
104 * should be of the same size as <var>itemNames</var>;
|
64 * be calculated once. */
65 private transient Integer myHashCode = null;
66 private transient String myToString = null;
67 private transient Set<String> myNamesSet = null;
68
69
70 /* *** Constructor *** */
71
72 /**
73 * Constructs a <code>CompositeType</code> instance, checking for the validity of the given parameters.
74 * The validity constraints are described below for each parameter.
75 * <p>
76 * Note that the contents of the three array parameters
77 * <var>itemNames</var>, <var>itemDescriptions</var> and <var>itemTypes</var>
78 * are internally copied so that any subsequent modification of these arrays by the caller of this constructor
79 * has no impact on the constructed <code>CompositeType</code> instance.
80 * <p>
81 * The Java class name of composite data values this composite type represents
82 * (ie the class name returned by the {@link OpenType#getClassName() getClassName} method)
83 * is set to the string value returned by <code>CompositeData.class.getName()</code>.
84 *
85 * @param typeName The name given to the composite type this instance represents; cannot be a null or empty string.
86 * <br>
87 * @param description The human readable description of the composite type this instance represents;
88 * cannot be a null or empty string.
89 * <br>
90 * @param itemNames The names of the items contained in the
91 * composite data values described by this <code>CompositeType</code> instance;
92 * cannot be null and should contain at least one element; no element can be a null or empty string.
93 * Note that the order in which the item names are given is not important to differentiate a
94 * <code>CompositeType</code> instance from another;
95 * the item names are internally stored sorted in ascending alphanumeric order.
96 * <br>
97 * @param itemDescriptions The descriptions, in the same order as <var>itemNames</var>, of the items contained in the
98 * composite data values described by this <code>CompositeType</code> instance;
99 * should be of the same size as <var>itemNames</var>;
100 * no element can be null or an empty string.
101 * <br>
102 * @param itemTypes The open type instances, in the same order as <var>itemNames</var>, describing the items contained
103 * in the composite data values described by this <code>CompositeType</code> instance;
104 * should be of the same size as <var>itemNames</var>;
|