X-Git-Url: http://git.argeo.org/?a=blobdiff_plain;ds=inline;f=org.argeo.api.acr%2Fsrc%2Forg%2Fargeo%2Fapi%2Facr%2FAttributeFormatter.java;h=9f338965f829d2781649cb7fe192f9e2afa11a28;hb=5724ab347ddfba8f2b21cdcc2fa0b8e1e2b4e527;hp=c7023f1a37a4a58b2582fc62e4f9f7d509fb7336;hpb=3b45f571938e0eb6803084aac3f2bd298e6026ba;p=lgpl%2Fargeo-commons.git diff --git a/org.argeo.api.acr/src/org/argeo/api/acr/AttributeFormatter.java b/org.argeo.api.acr/src/org/argeo/api/acr/AttributeFormatter.java index c7023f1a3..9f338965f 100644 --- a/org.argeo.api.acr/src/org/argeo/api/acr/AttributeFormatter.java +++ b/org.argeo.api.acr/src/org/argeo/api/acr/AttributeFormatter.java @@ -1,5 +1,7 @@ package org.argeo.api.acr; +import javax.xml.namespace.NamespaceContext; + /** * An attribute type MUST consistently parse a string to an object so that * parse(obj.toString()).equals(obj) is verified. @@ -9,7 +11,15 @@ package org.argeo.api.acr; */ public interface AttributeFormatter { /** Parses a String to a Java object. */ - T parse(String str) throws IllegalArgumentException; + default T parse(String str) throws IllegalArgumentException { + return parse(RuntimeNamespaceContext.getNamespaceContext(), str); + } + + /** + * Parses a String to a Java object, possibly using the namespace context to + * resolve QName or CURIE. + */ + T parse(NamespaceContext namespaceContext, String str) throws IllegalArgumentException; /** Default implementation returns {@link Object#toString()} on the argument. */ default String format(T obj) {