0
|
1
|
|
2
|
|
3 package javax.wadls.extensions;
|
|
4
|
|
5 import java.util.*;
|
|
6 import javax.xml.namespace.*;
|
|
7
|
|
8 /**
|
|
9 * Classes that implement this interface can contain extensibility
|
|
10 * attributes.
|
|
11 *
|
|
12 * @author Matthew J. Duftler
|
|
13 * @author Paul Fremantle
|
|
14 */
|
|
15 public interface AttributeExtensible
|
|
16 {
|
|
17 public static final int NO_DECLARED_TYPE = -1;
|
|
18 public static final int STRING_TYPE = 0;
|
|
19 public static final int QNAME_TYPE = 1;
|
|
20 public static final int LIST_OF_STRINGS_TYPE = 2;
|
|
21 public static final int LIST_OF_QNAMES_TYPE = 3;
|
|
22
|
|
23 /**
|
|
24 * Set an extension attribute on this element. Pass in a null value to remove
|
|
25 * an extension attribute.
|
|
26 *
|
|
27 * @param name the extension attribute name
|
|
28 * @param value the extension attribute value. Can be a String, a QName, a
|
|
29 * List of Strings, or a List of QNames.
|
|
30 *
|
|
31 * @see #getExtensionAttribute
|
|
32 * @see #getExtensionAttributes
|
|
33 * @see ExtensionRegistry#registerExtensionAttributeType
|
|
34 * @see ExtensionRegistry#queryExtensionAttributeType
|
|
35 */
|
|
36 public void setExtensionAttribute(QName name, Object value);
|
|
37
|
|
38 /**
|
|
39 * Retrieve an extension attribute from this element. If the extension
|
|
40 * attribute is not defined, null is returned.
|
|
41 *
|
|
42 * @param name the extension attribute name
|
|
43 *
|
|
44 * @return the value of the extension attribute, or null if
|
|
45 * it is not defined. Can be a String, a QName, a List of Strings, or a List
|
|
46 * of QNames.
|
|
47 *
|
|
48 * @see #setExtensionAttribute
|
|
49 * @see #getExtensionAttributes
|
|
50 * @see ExtensionRegistry#registerExtensionAttributeType
|
|
51 * @see ExtensionRegistry#queryExtensionAttributeType
|
|
52 */
|
|
53 public Object getExtensionAttribute(QName name);
|
|
54
|
|
55 /**
|
|
56 * Get the map containing all the extension attributes defined
|
|
57 * on this element. The keys are the qnames of the attributes.
|
|
58 *
|
|
59 * @return a map containing all the extension attributes defined
|
|
60 * on this element
|
|
61 *
|
|
62 * @see #setExtensionAttribute
|
|
63 * @see #getExtensionAttribute
|
|
64 * @see ExtensionRegistry#registerExtensionAttributeType
|
|
65 * @see ExtensionRegistry#queryExtensionAttributeType
|
|
66 */
|
|
67 public Map getExtensionAttributes();
|
|
68
|
|
69 /**
|
|
70 * Get the list of local attribute names defined for this element in
|
|
71 * the WSDL specification.
|
|
72 *
|
|
73 * @return a List of Strings, one for each local attribute name
|
|
74 */
|
|
75 public List getNativeAttributeNames();
|
|
76 }
|