KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > netbeans > modules > xml > wsdl > ui > property > model > BuiltInCustomizer


1 /*
2  * The contents of this file are subject to the terms of the Common Development
3  * and Distribution License (the License). You may not use this file except in
4  * compliance with the License.
5  *
6  * You can obtain a copy of the License at http://www.netbeans.org/cddl.html
7  * or http://www.netbeans.org/cddl.txt.
8  *
9  * When distributing Covered Code, include this CDDL Header Notice in each file
10  * and include the License file at http://www.netbeans.org/cddl.txt.
11  * If applicable, add the following below the CDDL Header, with the fields
12  * enclosed by brackets [] replaced by your own identifying information:
13  * "Portions Copyrighted [year] [name of copyright owner]"
14  *
15  * The Original Software is NetBeans. The Initial Developer of the Original
16  * Software is Sun Microsystems, Inc. Portions Copyright 1997-2007 Sun
17  * Microsystems, Inc. All Rights Reserved.
18  */

19
20 /**
21  * This generated bean class BuiltInCustomizer
22  * matches the schema element 'BuiltInCustomizer'.
23  * The root bean class is ElementProperties
24  *
25  * Generated on Mon Feb 05 17:54:51 PST 2007
26  * @Generated
27  */

28
29 package org.netbeans.modules.xml.wsdl.ui.property.model;
30
31 public class BuiltInCustomizer {
32     public static final String JavaDoc DEPENDSONCUSTOMIZER = "DependsOnCustomizer"; // NOI18N
33
public static final String JavaDoc SIMPLECUSTOMIZER = "SimpleCustomizer"; // NOI18N
34

35     private DependsOnCustomizer _DependsOnCustomizer;
36     private SimpleCustomizer _SimpleCustomizer;
37
38     /**
39      * Normal starting point constructor.
40      */

41     public BuiltInCustomizer() {
42     }
43
44     /**
45      * Deep copy
46      */

47     public BuiltInCustomizer(org.netbeans.modules.xml.wsdl.ui.property.model.BuiltInCustomizer source) {
48         this(source, false);
49     }
50
51     /**
52      * Deep copy
53      * @param justData just copy the XML relevant data
54      */

55     public BuiltInCustomizer(org.netbeans.modules.xml.wsdl.ui.property.model.BuiltInCustomizer source, boolean justData) {
56         _DependsOnCustomizer = (source._DependsOnCustomizer == null) ? null : newDependsOnCustomizer(source._DependsOnCustomizer, justData);
57         _SimpleCustomizer = (source._SimpleCustomizer == null) ? null : newSimpleCustomizer(source._SimpleCustomizer, justData);
58     }
59
60     // This attribute is mandatory
61
public void setDependsOnCustomizer(org.netbeans.modules.xml.wsdl.ui.property.model.DependsOnCustomizer value) {
62         _DependsOnCustomizer = value;
63         if (value != null) {
64             // It's a mutually exclusive property.
65
setSimpleCustomizer(null);
66         }
67     }
68
69     public org.netbeans.modules.xml.wsdl.ui.property.model.DependsOnCustomizer getDependsOnCustomizer() {
70         return _DependsOnCustomizer;
71     }
72
73     // This attribute is mandatory
74
public void setSimpleCustomizer(org.netbeans.modules.xml.wsdl.ui.property.model.SimpleCustomizer value) {
75         _SimpleCustomizer = value;
76         if (value != null) {
77             // It's a mutually exclusive property.
78
setDependsOnCustomizer(null);
79         }
80     }
81
82     public org.netbeans.modules.xml.wsdl.ui.property.model.SimpleCustomizer getSimpleCustomizer() {
83         return _SimpleCustomizer;
84     }
85
86     /**
87      * Create a new bean using it's default constructor.
88      * This does not add it to any bean graph.
89      */

90     public org.netbeans.modules.xml.wsdl.ui.property.model.DependsOnCustomizer newDependsOnCustomizer() {
91         return new org.netbeans.modules.xml.wsdl.ui.property.model.DependsOnCustomizer();
92     }
93
94     /**
95      * Create a new bean, copying from another one.
96      * This does not add it to any bean graph.
97      */

98     public org.netbeans.modules.xml.wsdl.ui.property.model.DependsOnCustomizer newDependsOnCustomizer(DependsOnCustomizer source, boolean justData) {
99         return new org.netbeans.modules.xml.wsdl.ui.property.model.DependsOnCustomizer(source, justData);
100     }
101
102     /**
103      * Create a new bean using it's default constructor.
104      * This does not add it to any bean graph.
105      */

106     public org.netbeans.modules.xml.wsdl.ui.property.model.SimpleCustomizer newSimpleCustomizer() {
107         return new org.netbeans.modules.xml.wsdl.ui.property.model.SimpleCustomizer();
108     }
109
110     /**
111      * Create a new bean, copying from another one.
112      * This does not add it to any bean graph.
113      */

114     public org.netbeans.modules.xml.wsdl.ui.property.model.SimpleCustomizer newSimpleCustomizer(SimpleCustomizer source, boolean justData) {
115         return new org.netbeans.modules.xml.wsdl.ui.property.model.SimpleCustomizer(source, justData);
116     }
117
118     public void writeNode(java.io.Writer JavaDoc out) throws java.io.IOException JavaDoc {
119         String JavaDoc myName;
120         myName = "BuiltInCustomizer";
121         writeNode(out, myName, ""); // NOI18N
122
}
123
124     public void writeNode(java.io.Writer JavaDoc out, String JavaDoc nodeName, String JavaDoc indent) throws java.io.IOException JavaDoc {
125         writeNode(out, nodeName, null, indent, new java.util.HashMap JavaDoc());
126     }
127
128     /**
129      * It's not recommended to call this method directly.
130      */

131     public void writeNode(java.io.Writer JavaDoc out, String JavaDoc nodeName, String JavaDoc namespace, String JavaDoc indent, java.util.Map JavaDoc namespaceMap) throws java.io.IOException JavaDoc {
132         out.write(indent);
133         out.write("<");
134         if (namespace != null) {
135             out.write((String JavaDoc)namespaceMap.get(namespace));
136             out.write(":");
137         }
138         out.write(nodeName);
139         writeNodeAttributes(out, nodeName, namespace, indent, namespaceMap);
140         out.write(">\n");
141         writeNodeChildren(out, nodeName, namespace, indent, namespaceMap);
142         out.write(indent);
143         out.write("</");
144         if (namespace != null) {
145             out.write((String JavaDoc)namespaceMap.get(namespace));
146             out.write(":");
147         }
148         out.write(nodeName);
149         out.write(">\n");
150     }
151
152     protected void writeNodeAttributes(java.io.Writer JavaDoc out, String JavaDoc nodeName, String JavaDoc namespace, String JavaDoc indent, java.util.Map JavaDoc namespaceMap) throws java.io.IOException JavaDoc {
153     }
154
155     protected void writeNodeChildren(java.io.Writer JavaDoc out, String JavaDoc nodeName, String JavaDoc namespace, String JavaDoc indent, java.util.Map JavaDoc namespaceMap) throws java.io.IOException JavaDoc {
156         String JavaDoc nextIndent = indent + " ";
157         if (_DependsOnCustomizer != null) {
158             _DependsOnCustomizer.writeNode(out, "DependsOnCustomizer", null, nextIndent, namespaceMap);
159         }
160         if (_SimpleCustomizer != null) {
161             _SimpleCustomizer.writeNode(out, "SimpleCustomizer", null, nextIndent, namespaceMap);
162         }
163     }
164
165     public void readNode(org.w3c.dom.Node JavaDoc node) {
166         readNode(node, new java.util.HashMap JavaDoc());
167     }
168
169     public void readNode(org.w3c.dom.Node JavaDoc node, java.util.Map JavaDoc namespacePrefixes) {
170         if (node.hasAttributes()) {
171             org.w3c.dom.NamedNodeMap JavaDoc attrs = node.getAttributes();
172             org.w3c.dom.Attr JavaDoc attr;
173             java.lang.String JavaDoc attrValue;
174             boolean firstNamespaceDef = true;
175             for (int attrNum = 0; attrNum < attrs.getLength(); ++attrNum) {
176                 attr = (org.w3c.dom.Attr JavaDoc) attrs.item(attrNum);
177                 String JavaDoc attrName = attr.getName();
178                 if (attrName.startsWith("xmlns:")) {
179                     if (firstNamespaceDef) {
180                         firstNamespaceDef = false;
181                         // Dup prefix map, so as to not write over previous values, and to make it easy to clear out our entries.
182
namespacePrefixes = new java.util.HashMap JavaDoc(namespacePrefixes);
183                     }
184                     String JavaDoc attrNSPrefix = attrName.substring(6, attrName.length());
185                     namespacePrefixes.put(attrNSPrefix, attr.getValue());
186                 }
187             }
188             readNodeAttributes(node, namespacePrefixes, attrs);
189         }
190         readNodeChildren(node, namespacePrefixes);
191     }
192
193     protected void readNodeAttributes(org.w3c.dom.Node JavaDoc node, java.util.Map JavaDoc namespacePrefixes, org.w3c.dom.NamedNodeMap JavaDoc attrs) {
194         org.w3c.dom.Attr JavaDoc attr;
195         java.lang.String JavaDoc attrValue;
196     }
197
198     protected void readNodeChildren(org.w3c.dom.Node JavaDoc node, java.util.Map JavaDoc namespacePrefixes) {
199         org.w3c.dom.NodeList JavaDoc children = node.getChildNodes();
200         for (int i = 0, size = children.getLength(); i < size; ++i) {
201             org.w3c.dom.Node JavaDoc childNode = children.item(i);
202             String JavaDoc childNodeName = (childNode.getLocalName() == null ? childNode.getNodeName().intern() : childNode.getLocalName().intern());
203             String JavaDoc childNodeValue = "";
204             if (childNode.getFirstChild() != null) {
205                 childNodeValue = childNode.getFirstChild().getNodeValue();
206             }
207             if (childNodeName == "DependsOnCustomizer") {
208                 _DependsOnCustomizer = newDependsOnCustomizer();
209                 _DependsOnCustomizer.readNode(childNode, namespacePrefixes);
210             }
211             else if (childNodeName == "SimpleCustomizer") {
212                 _SimpleCustomizer = newSimpleCustomizer();
213                 _SimpleCustomizer.readNode(childNode, namespacePrefixes);
214             }
215             else {
216                 // Found extra unrecognized childNode
217
}
218         }
219     }
220
221     public void changePropertyByName(String JavaDoc name, Object JavaDoc value) {
222         if (name == null) return;
223         name = name.intern();
224         if (name == "dependsOnCustomizer")
225             setDependsOnCustomizer((DependsOnCustomizer)value);
226         else if (name == "simpleCustomizer")
227             setSimpleCustomizer((SimpleCustomizer)value);
228         else
229             throw new IllegalArgumentException JavaDoc(name+" is not a valid property name for BuiltInCustomizer");
230     }
231
232     public Object JavaDoc fetchPropertyByName(String JavaDoc name) {
233         if (name == "dependsOnCustomizer")
234             return getDependsOnCustomizer();
235         if (name == "simpleCustomizer")
236             return getSimpleCustomizer();
237         throw new IllegalArgumentException JavaDoc(name+" is not a valid property name for BuiltInCustomizer");
238     }
239
240     public String JavaDoc nameSelf() {
241         return "BuiltInCustomizer";
242     }
243
244     public String JavaDoc nameChild(Object JavaDoc childObj) {
245         return nameChild(childObj, false, false);
246     }
247
248     /**
249      * @param childObj The child object to search for
250      * @param returnSchemaName Whether or not the schema name should be returned or the property name
251      * @return null if not found
252      */

253     public String JavaDoc nameChild(Object JavaDoc childObj, boolean returnConstName, boolean returnSchemaName) {
254         return nameChild(childObj, returnConstName, returnSchemaName, false);
255     }
256
257     /**
258      * @param childObj The child object to search for
259      * @param returnSchemaName Whether or not the schema name should be returned or the property name
260      * @return null if not found
261      */

262     public String JavaDoc nameChild(Object JavaDoc childObj, boolean returnConstName, boolean returnSchemaName, boolean returnXPathName) {
263         if (childObj instanceof SimpleCustomizer) {
264             SimpleCustomizer child = (SimpleCustomizer) childObj;
265             if (child == _SimpleCustomizer) {
266                 if (returnConstName) {
267                     return SIMPLECUSTOMIZER;
268                 } else if (returnSchemaName) {
269                     return "SimpleCustomizer";
270                 } else if (returnXPathName) {
271                     return "SimpleCustomizer";
272                 } else {
273                     return "SimpleCustomizer";
274                 }
275             }
276         }
277         if (childObj instanceof DependsOnCustomizer) {
278             DependsOnCustomizer child = (DependsOnCustomizer) childObj;
279             if (child == _DependsOnCustomizer) {
280                 if (returnConstName) {
281                     return DEPENDSONCUSTOMIZER;
282                 } else if (returnSchemaName) {
283                     return "DependsOnCustomizer";
284                 } else if (returnXPathName) {
285                     return "DependsOnCustomizer";
286                 } else {
287                     return "DependsOnCustomizer";
288                 }
289             }
290         }
291         return null;
292     }
293
294     /**
295      * Return an array of all of the properties that are beans and are set.
296      */

297     public java.lang.Object JavaDoc[] childBeans(boolean recursive) {
298         java.util.List JavaDoc children = new java.util.LinkedList JavaDoc();
299         childBeans(recursive, children);
300         java.lang.Object JavaDoc[] result = new java.lang.Object JavaDoc[children.size()];
301         return (java.lang.Object JavaDoc[]) children.toArray(result);
302     }
303
304     /**
305      * Put all child beans into the beans list.
306      */

307     public void childBeans(boolean recursive, java.util.List JavaDoc beans) {
308         if (_DependsOnCustomizer != null) {
309             if (recursive) {
310                 _DependsOnCustomizer.childBeans(true, beans);
311             }
312             beans.add(_DependsOnCustomizer);
313         }
314         if (_SimpleCustomizer != null) {
315             if (recursive) {
316                 _SimpleCustomizer.childBeans(true, beans);
317             }
318             beans.add(_SimpleCustomizer);
319         }
320     }
321
322     public boolean equals(Object JavaDoc o) {
323         return o instanceof org.netbeans.modules.xml.wsdl.ui.property.model.BuiltInCustomizer && equals((org.netbeans.modules.xml.wsdl.ui.property.model.BuiltInCustomizer) o);
324     }
325
326     public boolean equals(org.netbeans.modules.xml.wsdl.ui.property.model.BuiltInCustomizer inst) {
327         if (inst == this) {
328             return true;
329         }
330         if (inst == null) {
331             return false;
332         }
333         if (!(_DependsOnCustomizer == null ? inst._DependsOnCustomizer == null : _DependsOnCustomizer.equals(inst._DependsOnCustomizer))) {
334             return false;
335         }
336         if (!(_SimpleCustomizer == null ? inst._SimpleCustomizer == null : _SimpleCustomizer.equals(inst._SimpleCustomizer))) {
337             return false;
338         }
339         return true;
340     }
341
342     public int hashCode() {
343         int result = 17;
344         result = 37*result + (_DependsOnCustomizer == null ? 0 : _DependsOnCustomizer.hashCode());
345         result = 37*result + (_SimpleCustomizer == null ? 0 : _SimpleCustomizer.hashCode());
346         return result;
347     }
348
349 }
350
351
352 /*
353         The following schema file has been used for generation:
354
355 <?xml version="1.0" encoding="UTF-8"?>
356
357 <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
358             targetNamespace="http://xml.netbeans.org/schema/wsdlui/property"
359             xmlns:tns="http://xml.netbeans.org/schema/wsdlui/property"
360             elementFormDefault="qualified">
361     <xsd:element name="ElementProperties">
362         <xsd:annotation>
363             <xsd:documentation xml:lang="en-US">Root node for specifying customizers for a element.
364                 This needs to be on the GlobalElement which would represent the node in the WSDL tree.
365             If this is defined in local elements it is ignored.</xsd:documentation>
366         </xsd:annotation>
367         <xsd:complexType>
368             <xsd:sequence>
369                 <xsd:element ref="tns:PropertyGroup" maxOccurs="unbounded" />
370                 <xsd:element ref="tns:Property" maxOccurs="unbounded" />
371                 <xsd:element ref="tns:GroupedProperty" maxOccurs="unbounded" />
372             </xsd:sequence>
373         </xsd:complexType>
374     </xsd:element>
375     
376     <xsd:element name="PropertyGroup">
377         <xsd:annotation>
378             <xsd:documentation xml:lang="en-US">Used to create groups in the property sheet.
379                 By default, if no groups are defined all the properties will be shown
380                 in the default Property sheet called "Properties".
381                 name : defines the name of the Group.
382                 groupOrder : defines the order in which the groups will be created. The groupOrder starts with 1.
383                 isDefault : overrides the default property sheet to be this group rather than "Properties".
384                 This enables the user to put non-customized properties (which do not have a Property defined in this xml) to go into this property sheet.
385                 
386                 
387             </xsd:documentation>
388         </xsd:annotation>
389         <xsd:complexType>
390             <xsd:attribute name="name" type="xsd:string" use="required"/>
391             <xsd:attribute name="groupOrder" type="xsd:int"/>
392             <xsd:attribute name="isDefault" type="xsd:boolean" default="false"/>
393         </xsd:complexType>
394     </xsd:element>
395     <xsd:element name="Property">
396         <xsd:annotation>
397             <xsd:documentation xml:lang="en-US">Property represents each attribute that would be created for the Node in the wsdleditor tree.
398                 It defines a way to specify customizers for attributes.
399                 There are 3 types of Property customizers:
400                 SchemaCustomizer : The default Customizer is the SchemaCustomizer, which shows drop downs for enumerations and boolean attributes,
401                 and String customizer for all other types. So if there is no Property defined for a attribute, it will have
402                 SchemaCustomizer.
403                 BuiltInCustomizer : specifies a way to put already defined customizer to be shown. Examples are part chooser, message chooser etc.
404                 NewCustomizer : provides a way to create a custom customizer specific to the user requirement. When using this the developer has
405                 to implement the SPI org.netbeans.modules.xml.wsdl.ui.spi.WSDLLookupProvider, and add a implementation of
406                 org.netbeans.modules.xml.wsdl.ui.spi.NewCustomizerProvider, which will provide the custom Node.Property to be shown in the
407                 wsdl editor property sheet.
408             </xsd:documentation>
409         </xsd:annotation>
410         <xsd:complexType>
411             <xsd:choice>
412                 <xsd:element name="SchemaCustomizer"/>
413                 <xsd:element name="BuiltInCustomizer">
414                     <xsd:complexType xmlns:xsd="http://www.w3.org/2001/XMLSchema">
415                         <xsd:choice>
416                             <xsd:element name="DependsOnCustomizer">
417                                 <xsd:annotation>
418                                     <xsd:documentation xml:lang="en-US">Use a built-in customizer whose value(s) depend on some other attribute
419                                         of the the same element or some other source.
420                                     </xsd:documentation>
421                                 </xsd:annotation>
422                                 <xsd:complexType>
423                                     <xsd:choice>
424                                         <xsd:element name="StaticCustomizer">
425                                             <xsd:annotation>
426                                                 <xsd:documentation xml:lang="en-US">dependsOnAttributeName : the attribute on which the value(s) of the chooser would depend on.
427                                                     For example: some elements may have a attribute for message and another for part, and the PartsChooser should show parts from the message that is selected in the message attribute.
428                                                     In that the dependsOnAttributeName for PartChooser would be message.
429                                                 </xsd:documentation>
430                                             </xsd:annotation>
431                                             <xsd:complexType>
432                                                 <xsd:attribute name="dependsOnAttributeName" type="xsd:QName"/>
433                                             </xsd:complexType>
434                                         </xsd:element>
435                                         <!--No use case as of yet, xsd:element name="DynamicCustomizer">
436                                             <xsd:annotation>
437                                                 <xsd:documentation xml:lang="en-US">
438                                                     
439                                                 </xsd:documentation>
440                                             </xsd:annotation>
441                                             <xsd:complexType>
442                                                 <xsd:attribute name="dependsOnAttributeValueType" type="xsd:string"/>
443                                                 <xsd:attribute name="attributeValueProviderClass" type="xsd:string"/>
444                                             </xsd:complexType>
445                                         </xsd:element-->
446                                     </xsd:choice>
447                                     <xsd:attribute name="name" type="tns:builtInCustomizerTypes"/>
448                                 </xsd:complexType>
449                             </xsd:element>
450                             <xsd:element name="SimpleCustomizer">
451                                 <xsd:annotation>
452                                     <xsd:documentation xml:lang="en-US">
453                                         Use the builtin chooser that are available (the names are defined under builtInCustomizerTypes simple type as enumerations,
454                                         name: specifies which builtin chooser to use.
455                                     </xsd:documentation>
456                                 </xsd:annotation>
457                                 <xsd:complexType xmlns:xsd="http://www.w3.org/2001/XMLSchema">
458                                     <xsd:sequence/>
459                                     <xsd:attribute name="name" type="tns:builtInCustomizerTypes"/>
460                                 </xsd:complexType>
461                             </xsd:element>
462                         </xsd:choice>
463                     </xsd:complexType>
464                 </xsd:element>
465                 <xsd:element ref="tns:NewCustomizer"/>
466             </xsd:choice>
467             <xsd:attribute name="attributeName" type="xsd:string" use="required"/>
468             <xsd:attribute name="isNameableAttribute" type="xsd:boolean" default="false"/>
469             <xsd:attribute name="decoratorAttribute" type="xsd:QName"/>
470             <xsd:attribute name="groupName" type="xsd:string"/>
471             <xsd:attribute name="propertyOrder" type="xsd:int"/>
472         </xsd:complexType>
473     </xsd:element>
474     <xsd:element name="GroupedProperty">
475         <xsd:annotation>
476             <xsd:documentation xml:lang="en-US">Some attributes in a element are mutually exclusive, so in the UI, for unambiguous usage, the user may want to add a single property chooser for 2 or more attributes, which will set the appropriate attribute depending on some criteria that the customizer may determine.
477                 groupedAttributeNames : specify all the mutually exclusive attributes. There will be a single customizer for all these attributes.
478                 groupName : specifies which PropertyGroup this belongs to.
479                 propertyOrder : specifies the order in the PropertyGroup where this property would be placed.
480                 displayName: specifies the Display name of the combined chooser.
481             </xsd:documentation>
482         </xsd:annotation>
483         <xsd:complexType>
484             <xsd:choice>
485                 <xsd:element name="BuiltInCustomizer" >
486                     <xsd:annotation>
487                         <xsd:documentation xml:lang="en-US">To use pre-built customizers.
488                         </xsd:documentation>
489                     </xsd:annotation>
490                     <xsd:complexType>
491                         <xsd:choice>
492                             <xsd:element name="ElementOrTypeChooser">
493                                 <xsd:annotation>
494                                     <xsd:documentation xml:lang="en-US">Shows a Tree based selector, which shows all the elements/types from Inline/Imported schemas.
495                                         elementAttributeName : the attribute on which GlobalElement data type would be set.
496                                         typeAttributeName : the attribute on which GlobalType data type would be set.
497                                     </xsd:documentation>
498                                 </xsd:annotation>
499                                 <xsd:complexType>
500                                     <xsd:attribute name="elementAttributeName" type="xsd:NCName"/>
501                                     <xsd:attribute name="typeAttributeName" type="xsd:NCName"/>
502                                 </xsd:complexType>
503                             </xsd:element>
504                             <xsd:element name="ElementOrTypeOrMessagePartChooser">
505                                 <xsd:annotation>
506                                     <xsd:documentation xml:lang="en-US">Shows a Tree based selector, which shows all the elements/types from Inline/Imported schemas and also the messages from all imported and existing wsdls.
507                                         elementAttributeName : the attribute on which GlobalElement data type would be set.
508                                         typeAttributeName : the attribute on which GlobalType data type would be set.
509                                         messageAttributeName : the attribute on which Message data type would be set.
510                                         partAttributeName : the attribute on which part would be set.
511                                         This chooser can select between a GlobalElement or GlobalType or a wsdl Part.
512                                         
513                                     </xsd:documentation>
514                                 </xsd:annotation>
515                                 <xsd:complexType>
516                                     <xsd:attribute name="elementAttributeName" type="xsd:NCName"/>
517                                     <xsd:attribute name="typeAttributeName" type="xsd:NCName"/>
518                                     <xsd:attribute name="messageAttributeName" type="xsd:NCName"/>
519                                     <xsd:attribute name="partAttributeName" type="xsd:NCName"/>
520                                 </xsd:complexType>
521                             </xsd:element>
522                         </xsd:choice>
523                     </xsd:complexType>
524                 </xsd:element>
525                 <xsd:element ref="tns:NewCustomizer"/>
526             </xsd:choice>
527             <xsd:attribute name="groupedAttributeNames" type="tns:attributeList" use="required"/>
528             <xsd:attribute name="groupName" type="xsd:string"/>
529             <xsd:attribute name="propertyOrder" type="xsd:int"/>
530             <xsd:attribute name="displayName" type="xsd:NCName" use="required"/>
531         </xsd:complexType>
532     </xsd:element>
533     
534     
535     <xsd:element name="NewCustomizer">
536         <xsd:annotation>
537             <xsd:documentation xml:lang="en-US">Provides a way for developer to provide a custom property customizer for the attribute, if the builtin chooser dont satisfy their requirements.
538 When using this the developer has to implement the SPI org.netbeans.modules.xml.wsdl.ui.spi.WSDLLookupProvider, and add a implementation of org.netbeans.modules.xml.wsdl.ui.spi.NewCustomizerProvider, which will provide the custom Node.Property to be shown in the wsdl editor property sheet.
539             </xsd:documentation>
540         </xsd:annotation>
541     </xsd:element>
542     
543     
544     <xsd:simpleType name="builtInCustomizerTypes">
545         <xsd:restriction base="xsd:string">
546             <xsd:enumeration value="MessageChooser">
547                 <xsd:annotation>
548                     <xsd:documentation xml:lang="en-US">Shows a drop down of all messages in the current WSDL document and also ones in imported WSDL documents.</xsd:documentation>
549                 </xsd:annotation>
550             </xsd:enumeration>
551             <xsd:enumeration value="PartChooser">
552                 <xsd:annotation>
553                     <xsd:documentation xml:lang="en-US">Show a drop down of all parts for a message. By default, the chooser assumes that it is in the binding section under input/output/fault, and shows all the parts for the message selected in the input/output/fault.
554     If not, then the dependsOnCustomizer needs to be used to specify the attribute which represents the message, whose parts will be shown</xsd:documentation>
555                 </xsd:annotation>
556             </xsd:enumeration>
557             <xsd:enumeration value="PortTypeChooser">
558                 <xsd:annotation>
559                     <xsd:documentation xml:lang="en-US">Show a drop down of all port types in the WSDL Document/Imported WSDL Documents.</xsd:documentation>
560                 </xsd:annotation>
561             </xsd:enumeration>
562             <xsd:enumeration value="PartsChooser">
563                 <xsd:annotation>
564                     <xsd:documentation xml:lang="en-US">Show a dialog of all parts for a message, from which multiple parts can be selected. By default, the chooser assumes that it is in the binding section under input/output/fault, and shows all the parts for the message selected in the input/output/fault.
565     If not, then the dependsOnCustomizer needs to be used to specify the attribute which represents the message, whose parts will be shown</xsd:documentation>
566                 </xsd:annotation>
567             </xsd:enumeration>
568         </xsd:restriction>
569     </xsd:simpleType>
570     
571     <xsd:simpleType name="attributeList">
572         <xsd:list itemType="xsd:string"/>
573     </xsd:simpleType>
574     
575 </xsd:schema>
576
577 */

578
Popular Tags