We already provide a string-based constructor, but that requires a valid
revision date. A QNameModule does not require a revision, which is
reflected by other factory methods. Add a two-string factory method,
which does not take a revision argument.
Change-Id: I7c9bd36fc972a843b6b45ef972400a8f77f9c9b0
Signed-off-by: Robert Varga <rovarga@cisco.com>
* Local name part of QName. MUST NOT BE null.
* @return
* @throws NullPointerException
* Local name part of QName. MUST NOT BE null.
* @return
* @throws NullPointerException
- * If any of paramaters is null.
+ * If any of parameters is null.
* @throws IllegalArgumentException
* If <code>namespace</code> is not valid URI or
* <code>revision</code> is not according to format
* @throws IllegalArgumentException
* If <code>namespace</code> is not valid URI or
* <code>revision</code> is not according to format
*/
public static QName create(final String namespace, final String revision, final String localName)
throws IllegalArgumentException {
*/
public static QName create(final String namespace, final String revision, final String localName)
throws IllegalArgumentException {
- final URI namespaceUri;
+ final URI namespaceUri = parseNamespace(namespace);
+ final Date revisionDate = parseRevision(revision);
+ return create(namespaceUri, revisionDate, localName);
+ }
+
+ private static URI parseNamespace(final String namespace) {
- namespaceUri = new URI(namespace);
+ return new URI(namespace);
} catch (URISyntaxException ue) {
throw new IllegalArgumentException(String.format("Namespace '%s' is not a valid URI", namespace), ue);
}
} catch (URISyntaxException ue) {
throw new IllegalArgumentException(String.format("Namespace '%s' is not a valid URI", namespace), ue);
}
- Date revisionDate = parseRevision(revision);
- return create(namespaceUri, revisionDate, localName);
+ /**
+ * Creates new QName.
+ *
+ * @param namespace
+ * Namespace of QName, MUST NOT BE Null.
+ * @param localName
+ * Local name part of QName. MUST NOT BE null.
+ * @return
+ * @throws NullPointerException
+ * If any of parameters is null.
+ * @throws IllegalArgumentException
+ * If <code>namespace</code> is not valid URI.
+ */
+ public static QName create(final String namespace, final String localName) throws IllegalArgumentException {
+ return create(parseNamespace(namespace), null, localName);