- Content getParent();
-
- /*
- * ATTRIBUTES OPERATIONS
- */
-
- <A> Optional<A> get(QName key, Class<A> clss);
-
- Class<?> getType(QName key);
-
- boolean isMultiple(QName key);
-
- <A> List<A> getMultiple(QName key, Class<A> clss);
-
- /*
- * ATTRIBUTES OPERATION HELPERS
- */
- default boolean containsKey(QNamed key) {
- return containsKey(key.qName());
- }
-
- default <A> Optional<A> get(QNamed key, Class<A> clss) {
- return get(key.qName(), clss);
- }
-
- default Object get(QNamed key) {
- return get(key.qName());
- }
-
- default Object put(QNamed key, Object value) {
- return put(key.qName(), value);
- }
-
- default Object remove(QNamed key) {
- return remove(key.qName());
- }
-
- // TODO do we really need the helpers below?
-
- default Object get(String key) {
- return get(unqualified(key));
- }
-
- default Object put(String key, Object value) {
- return put(unqualified(key), value);
- }
-
- default Object remove(String key) {
- return remove(unqualified(key));
- }
-
- @SuppressWarnings("unchecked")
- default <A> List<A> getMultiple(QName key) {
- Class<A> type;
- try {
- type = (Class<A>) getType(key);
- } catch (ClassCastException e) {
- throw new IllegalArgumentException("Requested type is not the default type");
- }
- List<A> res = getMultiple(key, type);
- return res;