Class EPPUtil


  • public class EPPUtil
    extends java.lang.Object
    Provides a set of utility static methods for use by the EPP Codec classes.
    • Field Summary

      Fields 
      Modifier and Type Field Description
      static java.lang.String DATE_FORMAT
      Format used for the XML Schema date data type.
      static java.lang.String DEFAULT_TIME_INSTANT_FORMAT
      Default format used for the XML Schema dateTime data type
    • Constructor Summary

      Constructors 
      Constructor Description
      EPPUtil()  
    • Method Summary

      All Methods Static Methods Concrete Methods 
      Modifier and Type Method Description
      static void appendChildren​(org.w3c.dom.Element aSource, org.w3c.dom.Element aDest)
      Appends the children Nodes of aSource as children nodes of aDest.
      static java.lang.String collapseWhitespace​(java.lang.String inString)
      Collapse Whitespace, which means that all leading and trailing whitespace will be stripped, and all internal whitespace collapsed to single space characters.
      static java.math.BigDecimal decodeBigDecimal​(org.w3c.dom.Element aElement)
      Decode BigDecimal, from an XML Element.
      static java.math.BigDecimal decodeBigDecimal​(org.w3c.dom.Element aElement, java.lang.String aNS, java.lang.String aTagName)
      Decode BigDecimal, by XML namespace and tag name, from an XML Element.
      static java.lang.Boolean decodeBoolean​(org.w3c.dom.Element aElement, java.lang.String aNS, java.lang.String aTagName)
      Decode Boolean, by XML namespace and tag name, from an XML Element.
      static boolean decodeBooleanAttr​(org.w3c.dom.Element aElement, java.lang.String aAttr)
      Decodes a boolean attribute value given the Element and attribute name.
      static EPPCodecComponent decodeComp​(org.w3c.dom.Element aElement, java.lang.String aNS, java.lang.String aTagName, java.lang.Class aClass)
      Decode a EPPCodecComponent, by XML namespace and tag name, from an XML Element.
      static java.util.List decodeCompList​(org.w3c.dom.Element aElement, java.lang.String aNS, java.lang.String aTagName, java.lang.Class aClass)
      Decode a List of EPPCodecComponent's, by XML namespace and tag name, from an XML Element.
      static java.util.Vector decodeCompVector​(org.w3c.dom.Element aElement, java.lang.String aNS, java.lang.String aTagName, java.lang.Class aClass)
      Decode a Vector of EPPCodecComponent's, by XML namespace and tag name, from an XML Element.
      static java.util.Date decodeDate​(java.lang.String aDateValue)
      Decode an XML Schema date data type (YYYY-MM-DD) to a Java Date object.
      static java.util.Date decodeDate​(org.w3c.dom.Element aElement, java.lang.String aNS, java.lang.String aTagName)
      Decode Date, by XML namespace and tag name, from an XML Element.
      static java.util.List decodeEnumList​(org.w3c.dom.Element aElement, java.lang.String aNS, java.lang.String aTagName, java.lang.Class aEnumType)
      Decode a List of Enum's by XML namespace and tag name, from an XML Element.
      static java.lang.Integer decodeInteger​(org.w3c.dom.Element aElement, java.lang.String aNS, java.lang.String aTagName)
      Decode Integer, by XML namespace and tag name, from an XML Element.
      static java.util.List decodeIntegerList​(org.w3c.dom.Element aElement, java.lang.String aNS, java.lang.String aTagName)
      Decode a List of Integer's by XML namespace and tag name, from an XML Element.
      static java.util.List decodeList​(org.w3c.dom.Element aElement, java.lang.String aNS, java.lang.String aTagName)
      Decode a List of String's by XML namespace and tag name, from an XML Element.
      static java.lang.String decodeString​(org.w3c.dom.Element aElement, java.lang.String aNS, java.lang.String aTagName)
      Decode String, by XML namespace and tag name, from an XML Element.
      static java.lang.String decodeStringAttr​(org.w3c.dom.Element aElement, java.lang.String aAttr)
      Decodes a string attribute by name.
      static java.lang.String decodeStringValue​(org.w3c.dom.Element aElement)
      Decode String value from an XML Element.
      static java.util.Date decodeTimeInstant​(java.lang.String aTimeInstant)
      Decode an XML Schema timeInstant data type to a Java Date object.
      static java.util.Date decodeTimeInstant​(org.w3c.dom.Element aElement, java.lang.String aNS, java.lang.String aTagName)
      Decode Date, as date and time, by XML namespace and tag name, from an XML Element.
      static java.util.Vector decodeVector​(org.w3c.dom.Element aElement, java.lang.String aNS, java.lang.String aTagName)
      Decode a Vector of String's by XML namespace and tag name, from an XML Element.
      static java.lang.String encodeBase64​(org.w3c.dom.Element aElement)
      Base64 encode the XML Element tree.
      static void encodeBigDecimal​(org.w3c.dom.Document aDocument, org.w3c.dom.Element aElement, java.math.BigDecimal aBigDecimal, java.lang.String aFormat)
      Encode a Double in XML with a given XML namespace and tag name.
      static void encodeBigDecimal​(org.w3c.dom.Document aDocument, org.w3c.dom.Element aRoot, java.math.BigDecimal aBigDecimal, java.lang.String aNS, java.lang.String aTagName, java.lang.String aFormat)
      Encode a Double in XML with a given XML namespace and tag name.
      static void encodeBoolean​(org.w3c.dom.Document aDocument, org.w3c.dom.Element aRoot, java.lang.Boolean aBoolean, java.lang.String aNS, java.lang.String aTagName)
      Encode a Boolean in XML with a given XML namespace and tag name.
      static void encodeBooleanAttr​(org.w3c.dom.Element aElement, java.lang.String aAttr, boolean aVal)
      Encodes a boolean Element attribute value.
      static void encodeComp​(org.w3c.dom.Document aDocument, org.w3c.dom.Element aRoot, EPPCodecComponent aComp)
      Encode a EPPCodecComponent instance in XML.
      static void encodeCompList​(org.w3c.dom.Document aDocument, org.w3c.dom.Element aRoot, java.util.List aList)
      Encode a List of EPPCodecComponent's in XML.
      static void encodeCompVector​(org.w3c.dom.Document aDocument, org.w3c.dom.Element aRoot, java.util.Vector aVector)
      Encode a Vector of EPPCodecComponent's in XML.
      static java.lang.String encodeDate​(java.util.Date aDate)
      Encode a Java Date into an XML Schema date data type string.
      static void encodeDate​(org.w3c.dom.Document aDocument, org.w3c.dom.Element aRoot, java.util.Date aDate, java.lang.String aNS, java.lang.String aTagName)
      Encode a Date in XML with a given XML namespace and tag name.
      static void encodeInteger​(org.w3c.dom.Document aDocument, org.w3c.dom.Element aRoot, java.lang.Integer aInteger, java.lang.String aNS, java.lang.String aTagName)
      Encode a Integer in XML with a given XML namespace and tag name.
      static void encodeIntegerList​(org.w3c.dom.Document aDocument, org.w3c.dom.Element aRoot, java.util.List aList, java.lang.String aNS, java.lang.String aTagName)
      Encode a List of Integer's in XML with a given XML namespace and tag name.
      static void encodeList​(org.w3c.dom.Document aDocument, org.w3c.dom.Element aRoot, java.util.List aList, java.lang.String aNS, java.lang.String aTagName)
      Encode a List of String's in XML with a given XML namespace and tag name.
      static void encodeNill​(org.w3c.dom.Document aDocument, org.w3c.dom.Element aRoot, java.lang.String aNS, java.lang.String aTagName)
      DOCUMENT ME!
      static void encodeString​(org.w3c.dom.Document aDocument, org.w3c.dom.Element aRoot, java.lang.String aString, java.lang.String aNS, java.lang.String aTagName)
      Encode a String in XML with a given XML namespace and tag name.
      static void encodeStringList​(org.w3c.dom.Document aDocument, org.w3c.dom.Element aRoot, java.util.List aList, java.lang.String aNS, java.lang.String aTagName)  
      static java.lang.String encodeTimeInstant​(java.util.Date aDate)
      Encode a Java Date into an XML Schema timeInstant data type string.
      static void encodeTimeInstant​(org.w3c.dom.Document aDocument, org.w3c.dom.Element aRoot, java.util.Date aDate, java.lang.String aNS, java.lang.String aTagName)
      Encode a Date, as date and time, in XML with a given XML namespace and tag name.
      static void encodeVector​(org.w3c.dom.Document aDocument, org.w3c.dom.Element aRoot, java.util.Vector aVector, java.lang.String aNS, java.lang.String aTagName)
      Encode a Vector of String's in XML with a given XML namespace and tag name.
      static boolean equalLists​(java.util.List aV1, java.util.List aV2)
      compares two List instances.
      static boolean equalVectors​(java.util.Vector aV1, java.util.Vector aV2)
      compares two Vector instances.
      static java.util.Set<java.lang.String> findDuplicateExtNamespaces​(java.util.List<EPPCodecComponent> aExtensions)
      Find the set of duplicate EPP extensions based on the list of EPP extensions.
      static java.util.Set<java.lang.String> findExtNamespaces​(java.util.List<EPPCodecComponent> aExtensions, java.util.List<java.lang.String> aFilterExtNamespaces)
      Find the set of unique EPP extension XML namespaces based on the list of EPP extensions and the optional use of a list of XML namespaces to filter.
      static java.util.Set<java.lang.String> findExtNamespaceSuffixes​(java.util.List<EPPCodecComponent> aExtensions, java.util.List<java.lang.String> aFilterExtNamespaceSuffixes)
      Find the set of unique EPP extension XML namespace suffixes based on the list of EPP extensions and the optional use of a list of XML namespace suffixes to filter.
      static java.util.Set<java.lang.String> findUnsupportedExtNamespaces​(java.util.List<java.lang.String> aSupportedExtNamespaces, java.util.List<EPPCodecComponent> aExtensions)
      Find the set of unsupported EPP extensions based on passing the list of supported extension XML namespaces and the list of EPP extensions.
      static java.util.Set<java.lang.String> findUnsupportedExtNamespaceSuffixes​(java.util.List<java.lang.String> aSupportedExtNamespaceSuffixes, java.util.List<EPPCodecComponent> aExtensions)
      Find the set of unsupported EPP extensions based on passing the list of supported extension XML namespace suffixes and the list of EPP extensions.
      static org.w3c.dom.Element getElementByTagNameNS​(org.w3c.dom.Element aElement, java.lang.String aNS, java.lang.String aTagName)
      Gets the first direct child element with a given tag name and XML namespace.
      static java.util.Vector getElementsByTagNameNS​(org.w3c.dom.Element aElement, java.lang.String aNS, java.lang.String aTagName)
      Gets all of the direct child element with a given tag name and XML namespace.
      static org.w3c.dom.Element getFirstElementChild​(org.w3c.dom.Element aElement)
      Gets the first DOM Element Node of the aElement DOM Element.
      static java.lang.String getLocalName​(java.lang.String aQualifiedName)
      Gets the local name given the qualified element name.
      static org.w3c.dom.Element getNextElementSibling​(org.w3c.dom.Element aElement)
      Gets the next sibling Element of a provided Element.
      static java.lang.String getPrefix​(java.lang.String aQualifiedName)
      Gets the namespace prefix given a qualified name.
      static java.lang.String getTextContent​(org.w3c.dom.Node node)
      A pass-thru to the getTextContent() method using a default value of false for the required flag.
      static java.lang.String getTextContent​(org.w3c.dom.Node node, boolean allowEmpty)
      Return the text data within an XML tag.
      <id>12345</id> yields the String "12345"
      If the node==null, child==null, value==null, or value=="" => Exception
      UNLESS allowEmpty, in which case return ""
      static java.lang.String getTimeInstantFormat()
      Gets the XML Schema timeDate format used in and #encodeTimeInstant(Document, Element, Date, String, String).
      static boolean listSubset​(java.util.List aV1, java.util.List aV2)
      Determines if one List is a subset of another List.
      static java.lang.String namespaceToNamespaceSuffix​(java.lang.String aNamespace)
      Convert an XML namespace to an XML namespace suffix.
      static java.lang.String removeWhitespace​(java.lang.String inString)
      Remove Whitespace, which means that all whitespace will be stripped.
      static void setTimeInstantFormat​(java.lang.String aTimeInstantFormat)
      Sets the XML Schema timeDate format used in and #encodeTimeInstant(Document, Element, Date, String, String).
      static java.lang.String toString​(EPPCodecComponent aComponent)
      Converts an EPPCodecComponent to a String for printing.
      static java.lang.String toString​(org.w3c.dom.Element aElement)
      Converts an aElement to a String for printing.
      static java.lang.String toStringNoIndent​(org.w3c.dom.Element aElement)
      Converts an aElement to a String for printing without pretty printing.
      static boolean vectorSubset​(java.util.Vector aV1, java.util.Vector aV2)
      Determines if one Vector is a subset of another Vector.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • DEFAULT_TIME_INSTANT_FORMAT

        public static final java.lang.String DEFAULT_TIME_INSTANT_FORMAT
        Default format used for the XML Schema dateTime data type
        See Also:
        Constant Field Values
      • DATE_FORMAT

        public static final java.lang.String DATE_FORMAT
        Format used for the XML Schema date data type.
        See Also:
        Constant Field Values
    • Constructor Detail

      • EPPUtil

        public EPPUtil()
    • Method Detail

      • setTimeInstantFormat

        public static void setTimeInstantFormat​(java.lang.String aTimeInstantFormat)
        Sets the XML Schema timeDate format used in and #encodeTimeInstant(Document, Element, Date, String, String). The format must follow the format supported by SimpleDateFormat.
        Parameters:
        aTimeInstantFormat - XML Schema timeDate format supported by SimpleDateFormat.
      • appendChildren

        public static void appendChildren​(org.w3c.dom.Element aSource,
                                          org.w3c.dom.Element aDest)
        Appends the children Nodes of aSource as children nodes of aDest.
        Parameters:
        aSource - Source Element tree to get children from
        aDest - Destination Element to append aSource children.
      • decodeBigDecimal

        public static java.math.BigDecimal decodeBigDecimal​(org.w3c.dom.Element aElement,
                                                            java.lang.String aNS,
                                                            java.lang.String aTagName)
                                                     throws EPPDecodeException
        Decode BigDecimal, by XML namespace and tag name, from an XML Element. The children elements of aElement will be searched for the specified aNS namespace URI and the specified aTagName. The first XML element found will be decoded and returned. If no element is found, null is returned.
        Parameters:
        aElement - XML Element to scan. For example, the element could be <domain:create>
        aNS - XML namespace of the elements. For example, for domain element this is "urn:iana:xmlns:domain".
        aTagName - Tag name of the element including an optional namespace prefix. For example, the tag name for the domain name is "domain:name".
        Returns:
        BigDecimal value if found; null otherwise.
        Throws:
        EPPDecodeException - Error decoding aElement.
      • decodeBigDecimal

        public static java.math.BigDecimal decodeBigDecimal​(org.w3c.dom.Element aElement)
                                                     throws EPPDecodeException
        Decode BigDecimal, from an XML Element. The aElement element will be decoded and returned. If element is null, null is returned.
        Parameters:
        aElement - XML Element to decode.
        Returns:
        BigDecimal value if aElement is not null; null otherwise.
        Throws:
        EPPDecodeException - Error decoding aElement.
      • decodeBoolean

        public static java.lang.Boolean decodeBoolean​(org.w3c.dom.Element aElement,
                                                      java.lang.String aNS,
                                                      java.lang.String aTagName)
                                               throws EPPDecodeException
        Decode Boolean, by XML namespace and tag name, from an XML Element. The children elements of aElement will be searched for the specified aNS namespace URI and the specified aTagName. The first XML element found will be decoded and returned. If no element is found, null is returned.
        Parameters:
        aElement - XML Element to scan. For example, the element could be <domain:create>
        aNS - XML namespace of the elements. For example, for domain element this is "urn:iana:xmlns:domain".
        aTagName - Tag name of the element including an optional namespace prefix. For example, the tag name for the domain name is "domain:name".
        Returns:
        Boolean value if found; null otherwise.
        Throws:
        EPPDecodeException - Error decoding aElement.
      • decodeBooleanAttr

        public static boolean decodeBooleanAttr​(org.w3c.dom.Element aElement,
                                                java.lang.String aAttr)
                                         throws EPPDecodeException
        Decodes a boolean attribute value given the Element and attribute name.
        Parameters:
        aElement - Element with the attribute to look for
        aAttr - Attribute name
        Returns:
        Decoded boolean value
        Throws:
        EPPDecodeException - Cound not find attribute or the attribute value is not a valid boolean value
      • decodeStringAttr

        public static java.lang.String decodeStringAttr​(org.w3c.dom.Element aElement,
                                                        java.lang.String aAttr)
        Decodes a string attribute by name. If the attribute is not found, null is returned.
        Parameters:
        aElement - Element to search for the attribute
        aAttr - Attribute name to search for
        Returns:
        Attribute String value if exists; null otherwise.
      • decodeComp

        public static EPPCodecComponent decodeComp​(org.w3c.dom.Element aElement,
                                                   java.lang.String aNS,
                                                   java.lang.String aTagName,
                                                   java.lang.Class aClass)
                                            throws EPPDecodeException
        Decode a EPPCodecComponent, by XML namespace and tag name, from an XML Element. The children elements of aElement will be searched for the specified aNS namespace URI and the specified aTagName. There first XML element found will be used to initial and instance of aClass.
        Parameters:
        aElement - XML Element to scan. For example, the element could be <domain:update>
        aNS - XML namespace of the elements. For example, for domain element this is "urn:iana:xmlns:domain".
        aTagName - Tag name of the element including an optional namespace prefix. For example, the tag name for the domain name servers is "domain:server".
        aClass - Class to instantiate for a found XML element. This must be a class that implements EPPCodecComponent
        Returns:
        Instance of aClass that represents the found XML elements if found; null otherwise.
        Throws:
        EPPDecodeException - Error decoding aElement.
      • decodeCompList

        public static java.util.List decodeCompList​(org.w3c.dom.Element aElement,
                                                    java.lang.String aNS,
                                                    java.lang.String aTagName,
                                                    java.lang.Class aClass)
                                             throws EPPDecodeException
        Decode a List of EPPCodecComponent's, by XML namespace and tag name, from an XML Element. The children elements of aElement will be searched for the specified aNS namespace URI and the specified aTagName. Each XML element found will result in the instantiation of aClass, which will decode the associated XML element and added to the returned List.
        Parameters:
        aElement - XML Element to scan. For example, the element could be <domain:add>
        aNS - XML namespace of the elements. For example, for domain element this is "urn:iana:xmlns:domain".
        aTagName - Tag name of the element including an optional namespace prefix. For example, the tag name for the contact elements of >domain:add> is "domain:contact".
        aClass - Class to instantiate for each found XML element. This must be a class that implements EPPCodecComponent
        Returns:
        List of EPPCodecComponent elements representing the found XML elements.
        Throws:
        EPPDecodeException - Error decoding aElement.
      • decodeCompVector

        public static java.util.Vector decodeCompVector​(org.w3c.dom.Element aElement,
                                                        java.lang.String aNS,
                                                        java.lang.String aTagName,
                                                        java.lang.Class aClass)
                                                 throws EPPDecodeException
        Decode a Vector of EPPCodecComponent's, by XML namespace and tag name, from an XML Element. The children elements of aElement will be searched for the specified aNS namespace URI and the specified aTagName. Each XML element found will result in the instantiation of aClass, which will decode the associated XML element and added to the returned Vector.
        Parameters:
        aElement - XML Element to scan. For example, the element could be <domain:add>
        aNS - XML namespace of the elements. For example, for domain element this is "urn:iana:xmlns:domain".
        aTagName - Tag name of the element including an optional namespace prefix. For example, the tag name for the contact elements of <domain:add> is "domain:contact".
        aClass - Class to instantiate for each found XML element. This must be a class that implements EPPCodecComponent
        Returns:
        Vector of EPPCodecComponent elements representing the found XML elements.
        Throws:
        EPPDecodeException - Error decoding aElement.
      • decodeDate

        public static java.util.Date decodeDate​(org.w3c.dom.Element aElement,
                                                java.lang.String aNS,
                                                java.lang.String aTagName)
                                         throws EPPDecodeException
        Decode Date, by XML namespace and tag name, from an XML Element. The children elements of aElement will be searched for the specified aNS namespace URI and the specified aTagName. The first XML element found will be decoded and returned. If no element is found, null is returned. The format used for decoding the date is defined by the constant EPPUtil.DATE_FORMAT.
        Parameters:
        aElement - XML Element to scan. For example, the element could be <trans-id>
        aNS - XML namespace of the elements. For example, for domain element this is "urn:iana:xmlns:epp".
        aTagName - Tag name of the element including an optional namespace prefix. For example, the tag name for the transaction Id date is "date".
        Returns:
        Date value if found; null otherwise.
        Throws:
        EPPDecodeException - Error decoding aElement.
      • decodeDate

        public static java.util.Date decodeDate​(java.lang.String aDateValue)
        Decode an XML Schema date data type (YYYY-MM-DD) to a Java Date object.
        Parameters:
        aDateValue - XML Schema date data type string (YYYY-MM-DD).
        Returns:
        Java Date object.
      • decodeInteger

        public static java.lang.Integer decodeInteger​(org.w3c.dom.Element aElement,
                                                      java.lang.String aNS,
                                                      java.lang.String aTagName)
                                               throws EPPDecodeException
        Decode Integer, by XML namespace and tag name, from an XML Element. The children elements of aElement will be searched for the specified aNS namespace URI and the specified aTagName. The first XML element found will be decoded and returned. If no element is found, null is returned.
        Parameters:
        aElement - XML Element to scan. For example, the element could be <domain:create>
        aNS - XML namespace of the elements. For example, for domain element this is "urn:iana:xmlns:domain".
        aTagName - Tag name of the element including an optional namespace prefix. For example, the tag name for the domain name is "domain:name".
        Returns:
        Integer value if found; null otherwise.
        Throws:
        EPPDecodeException - Error decoding aElement.
      • decodeEnumList

        public static java.util.List decodeEnumList​(org.w3c.dom.Element aElement,
                                                    java.lang.String aNS,
                                                    java.lang.String aTagName,
                                                    java.lang.Class aEnumType)
                                             throws EPPDecodeException
        Decode a List of Enum's by XML namespace and tag name, from an XML Element. The children elements of aElement will be searched for the specified aNS namespace URI and the specified aTagName. Each XML element found will be decoded and added to the returned List of Enum values using the Enum.valueOf(Class, String) method.
        Parameters:
        aElement - XML Element to scan. For example, the element could be <domain:update>
        aNS - XML namespace of the elements. For example, for domain element this is "urn:iana:xmlns:domain".
        aTagName - Tag name of the element including an optional namespace prefix. For example, the tag name for the domain name servers is "domain:server".
        aEnumType - Enum type associated with tag.
        Returns:
        List of Enum elements that match the aEnumType representing matching the XML element values.
        Throws:
        EPPDecodeException - Error decoding aElement.
      • decodeList

        public static java.util.List decodeList​(org.w3c.dom.Element aElement,
                                                java.lang.String aNS,
                                                java.lang.String aTagName)
                                         throws EPPDecodeException
        Decode a List of String's by XML namespace and tag name, from an XML Element. The children elements of aElement will be searched for the specified aNS namespace URI and the specified aTagName. Each XML element found will be decoded and added to the returned List. Empty child elements, will result in empty string ("") return List elements.
        Parameters:
        aElement - XML Element to scan. For example, the element could be <domain:update>
        aNS - XML namespace of the elements. For example, for domain element this is "urn:iana:xmlns:domain".
        aTagName - Tag name of the element including an optional namespace prefix. For example, the tag name for the domain name servers is "domain:server".
        Returns:
        List of String elements representing the text nodes of the found XML elements.
        Throws:
        EPPDecodeException - Error decoding aElement.
      • decodeString

        public static java.lang.String decodeString​(org.w3c.dom.Element aElement,
                                                    java.lang.String aNS,
                                                    java.lang.String aTagName)
                                             throws EPPDecodeException
        Decode String, by XML namespace and tag name, from an XML Element. The children elements of aElement will be searched for the specified aNS namespace URI and the specified aTagName. The first XML element found will be decoded and returned. If no element is found, null is returned.
        Parameters:
        aElement - XML Element to scan. For example, the element could be <domain:create>
        aNS - XML namespace of the elements. For example, for domain element this is "urn:iana:xmlns:domain".
        aTagName - Tag name of the element including an optional namespace prefix. For example, the tag name for the domain name is "domain:name".
        Returns:
        String value if found; null otherwise.
        Throws:
        EPPDecodeException - Error decoding aElement.
      • decodeStringValue

        public static java.lang.String decodeStringValue​(org.w3c.dom.Element aElement)
        Decode String value from an XML Element.
        Parameters:
        aElement - XML Element to get the String value.
        Returns:
        String value if set; "" other.
      • decodeTimeInstant

        public static java.util.Date decodeTimeInstant​(org.w3c.dom.Element aElement,
                                                       java.lang.String aNS,
                                                       java.lang.String aTagName)
                                                throws EPPDecodeException
        Decode Date, as date and time, by XML namespace and tag name, from an XML Element. The children elements of aElement will be searched for the specified aNS namespace URI and the specified aTagName. The first XML element found will be decoded and returned. If no element is found, null is returned. The format used for decoding the date is defined by the constant EPPUtil.TIME_INSTANT_FORMAT.
        Parameters:
        aElement - XML Element to scan. For example, the element could be <trans-id>
        aNS - XML namespace of the elements. For example, for domain element this is "urn:iana:xmlns:epp".
        aTagName - Tag name of the element including an optional namespace prefix. For example, the tag name for the transaction Id date is "date".
        Returns:
        Date value as date and time if found; null otherwise.
        Throws:
        EPPDecodeException - Error decoding aElement.
      • decodeTimeInstant

        public static java.util.Date decodeTimeInstant​(java.lang.String aTimeInstant)
        Decode an XML Schema timeInstant data type to a Java Date object.
        Parameters:
        aTimeInstant - XML Schema timeInstant data type string.
        Returns:
        Java Date object if aTimeInstant format is valid; null otherwise
      • decodeVector

        public static java.util.Vector decodeVector​(org.w3c.dom.Element aElement,
                                                    java.lang.String aNS,
                                                    java.lang.String aTagName)
                                             throws EPPDecodeException
        Decode a Vector of String's by XML namespace and tag name, from an XML Element. The children elements of aElement will be searched for the specified aNS namespace URI and the specified aTagName. Each XML element found will be decoded and added to the returned Vector. Empty child elements, will result in empty string ("") return Vector elements.
        Parameters:
        aElement - XML Element to scan. For example, the element could be <domain:update>
        aNS - XML namespace of the elements. For example, for domain element this is "urn:iana:xmlns:domain".
        aTagName - Tag name of the element including an optional namespace prefix. For example, the tag name for the domain name servers is "domain:server".
        Returns:
        Vector of String elements representing the text nodes of the found XML elements.
        Throws:
        EPPDecodeException - Error decoding aElement.
      • encodeBigDecimal

        public static void encodeBigDecimal​(org.w3c.dom.Document aDocument,
                                            org.w3c.dom.Element aRoot,
                                            java.math.BigDecimal aBigDecimal,
                                            java.lang.String aNS,
                                            java.lang.String aTagName,
                                            java.lang.String aFormat)
                                     throws EPPEncodeException
        Encode a Double in XML with a given XML namespace and tag name. Takes an optional argument for the format of the Double, if not provided then it uses #0.00 which formats the double to 2 decimal places.
        Parameters:
        aDocument - DOM Document of aRoot. This parameter also acts as a factory for XML elements.
        aRoot - XML Element to add children nodes to. For example, the root node could be <domain:update>
        aBigDecimal - Double to add.
        aNS - XML namespace of the element. For example, for domain element this is "urn:iana:xmlns:domain".
        aTagName - Tag name of the element including an optional namespace prefix. For example, the tag name for the domain name is "domain:name".
        aFormat - Format to use following the DecimalFormat format. If null is passed, the default format of "#0.00" is used.
        Throws:
        EPPEncodeException - Error encoding the Double.
      • encodeBigDecimal

        public static void encodeBigDecimal​(org.w3c.dom.Document aDocument,
                                            org.w3c.dom.Element aElement,
                                            java.math.BigDecimal aBigDecimal,
                                            java.lang.String aFormat)
                                     throws EPPEncodeException
        Encode a Double in XML with a given XML namespace and tag name. Takes an optional argument for the format of the Double, if not provided then it uses #0.00 which formats the double to 2 decimal places.
        Parameters:
        aDocument - DOM Document of aRoot. This parameter also acts as a factory for XML elements.
        aElement - XML Element to add the text node encoded with the BigDecimal value.
        aBigDecimal - Double to encode into the text node of the element.
        aFormat - Format to use following the DecimalFormat format. If null is passed, the default format of "#0.00" is used.
        Throws:
        EPPEncodeException - Error encoding the Double.
      • encodeBoolean

        public static void encodeBoolean​(org.w3c.dom.Document aDocument,
                                         org.w3c.dom.Element aRoot,
                                         java.lang.Boolean aBoolean,
                                         java.lang.String aNS,
                                         java.lang.String aTagName)
                                  throws EPPEncodeException
        Encode a Boolean in XML with a given XML namespace and tag name. If aBoolean is null an element is not added.
        Parameters:
        aDocument - DOM Document of aRoot. This parameter also acts as a factory for XML elements.
        aRoot - XML Element to add children nodes to. For example, the root node could be <domain:update>
        aBoolean - Boolean to add.
        aNS - XML namespace of the element. For example, for domain element this is "urn:iana:xmlns:domain".
        aTagName - Tag name of the element including an optional namespace prefix. For example, the tag name for the domain name is "domain:name".
        Throws:
        EPPEncodeException - Error encoding the Boolean.
      • encodeBooleanAttr

        public static void encodeBooleanAttr​(org.w3c.dom.Element aElement,
                                             java.lang.String aAttr,
                                             boolean aVal)
        Encodes a boolean Element attribute value. The attribute is set to "1" with a value of true and is set to "0" with a value of false.
        Parameters:
        aElement - Element to add attribute to
        aAttr - Attribute name
        aVal - Attribute boolean value
      • encodeComp

        public static void encodeComp​(org.w3c.dom.Document aDocument,
                                      org.w3c.dom.Element aRoot,
                                      EPPCodecComponent aComp)
                               throws EPPEncodeException
        Encode a EPPCodecComponent instance in XML. The component is first checked for not being null, than it will be appended as a child of aRoot.
        Parameters:
        aDocument - DOM Document of aRoot. This parameter also acts as a factory for XML elements.
        aRoot - XML Element to add to. For example, the root node could be <domain:update>
        aComp - EPPCodecComponent's to add.
        Throws:
        EPPEncodeException - Error encoding EPPCodecComponent.
      • encodeCompList

        public static void encodeCompList​(org.w3c.dom.Document aDocument,
                                          org.w3c.dom.Element aRoot,
                                          java.util.List aList)
                                   throws EPPEncodeException
        Encode a List of EPPCodecComponent's in XML. Each aList element will be encoded and added to aRoot.
        Parameters:
        aDocument - DOM Document of aRoot. This parameter also acts as a factory for XML elements.
        aRoot - XML Element to add children nodes to. For example, the root node could be <domain:update>
        aList - List of EPPCodecComponent's to add.
        Throws:
        EPPEncodeException - Error encoding the List of EPPCodecComponent's.
      • encodeCompVector

        public static void encodeCompVector​(org.w3c.dom.Document aDocument,
                                            org.w3c.dom.Element aRoot,
                                            java.util.Vector aVector)
                                     throws EPPEncodeException
        Encode a Vector of EPPCodecComponent's in XML. Each aVector element will be encoded and added to aRoot.
        Parameters:
        aDocument - DOM Document of aRoot. This parameter also acts as a factory for XML elements.
        aRoot - XML Element to add children nodes to. For example, the root node could be <domain:update>
        aVector - Vector of EPPCodecComponent's to add.
        Throws:
        EPPEncodeException - Error encoding the Vector of EPPCodecComponent's.
      • encodeDate

        public static java.lang.String encodeDate​(java.util.Date aDate)
        Encode a Java Date into an XML Schema date data type string.
        Parameters:
        aDate - Java Date to encode into a XML Schema date data type string.
        Returns:
        Encoded XML Schema date data type string.
      • encodeDate

        public static void encodeDate​(org.w3c.dom.Document aDocument,
                                      org.w3c.dom.Element aRoot,
                                      java.util.Date aDate,
                                      java.lang.String aNS,
                                      java.lang.String aTagName)
                               throws EPPEncodeException
        Encode a Date in XML with a given XML namespace and tag name. The format used for encoding the date is defined by the constant EPPUtil.DATE_FORMAT.
        Parameters:
        aDocument - DOM Document of aRoot. This parameter also acts as a factory for XML elements.
        aRoot - XML Element to add children nodes to. For example, the root node could be <domain:update>
        aDate - Date to add.
        aNS - XML namespace of the element. For example, for domain element this is "urn:iana:xmlns:domain".
        aTagName - Tag name of the element including an optional namespace prefix. For example, the tag name for the domain name is "domain:name".
        Throws:
        EPPEncodeException - Error encoding Date.
      • encodeList

        public static void encodeList​(org.w3c.dom.Document aDocument,
                                      org.w3c.dom.Element aRoot,
                                      java.util.List aList,
                                      java.lang.String aNS,
                                      java.lang.String aTagName)
                               throws EPPEncodeException
        Encode a List of String's in XML with a given XML namespace and tag name.
        Parameters:
        aDocument - DOM Document of aRoot. This parameter also acts as a factory for XML elements.
        aRoot - XML Element to add children nodes to. For example, the root node could be <domain:update>
        aList - List of String's to add.
        aNS - XML namespace of the elements. For example, for domain element this is "urn:iana:xmlns:domain".
        aTagName - Tag name of the element including an optional namespace prefix. For example, the tag name for the domain name servers is "domain:server".
        Throws:
        EPPEncodeException - Error encoding the List of String 's.
      • encodeNill

        public static void encodeNill​(org.w3c.dom.Document aDocument,
                                      org.w3c.dom.Element aRoot,
                                      java.lang.String aNS,
                                      java.lang.String aTagName)
                               throws EPPEncodeException
        DOCUMENT ME!
        Parameters:
        aDocument - DOCUMENT ME!
        aRoot - DOCUMENT ME!
        aNS - DOCUMENT ME!
        aTagName - DOCUMENT ME!
        Throws:
        EPPEncodeException - DOCUMENT ME!
      • encodeString

        public static void encodeString​(org.w3c.dom.Document aDocument,
                                        org.w3c.dom.Element aRoot,
                                        java.lang.String aString,
                                        java.lang.String aNS,
                                        java.lang.String aTagName)
                                 throws EPPEncodeException
        Encode a String in XML with a given XML namespace and tag name.
        Parameters:
        aDocument - DOM Document of aRoot. This parameter also acts as a factory for XML elements.
        aRoot - XML Element to add children nodes to. For example, the root node could be <domain:update>
        aString - String to add.
        aNS - XML namespace of the element. For example, for domain element this is "urn:iana:xmlns:domain".
        aTagName - Tag name of the element including an optional namespace prefix. For example, the tag name for the domain name is "domain:name".
        Throws:
        EPPEncodeException - Error encoding the String.
      • encodeInteger

        public static void encodeInteger​(org.w3c.dom.Document aDocument,
                                         org.w3c.dom.Element aRoot,
                                         java.lang.Integer aInteger,
                                         java.lang.String aNS,
                                         java.lang.String aTagName)
                                  throws EPPEncodeException
        Encode a Integer in XML with a given XML namespace and tag name. If the Integer is null nothing will be encoded.
        Parameters:
        aDocument - DOM Document of aRoot. This parameter also acts as a factory for XML elements.
        aRoot - XML Element to add children nodes to. For example, the root node could be <domain:update>
        aInteger - Integer to add.
        aNS - XML namespace of the element. For example, for domain element this is "urn:iana:xmlns:domain".
        aTagName - Tag name of the element including an optional namespace prefix. For example, the tag name for the domain name is "domain:name".
        Throws:
        EPPEncodeException - Error encoding the Integer.
      • encodeStringList

        public static void encodeStringList​(org.w3c.dom.Document aDocument,
                                            org.w3c.dom.Element aRoot,
                                            java.util.List aList,
                                            java.lang.String aNS,
                                            java.lang.String aTagName)
      • encodeTimeInstant

        public static java.lang.String encodeTimeInstant​(java.util.Date aDate)
        Encode a Java Date into an XML Schema timeInstant data type string. The XML Schema timeInstant data type string has the following format: CCYY-MM-DDThh:mm:ss.ssss can be followed by a Z to indicate Coordinated Universal Time
        Parameters:
        aDate - Java Date to encode into a XML Schema timeInstant data type string.
        Returns:
        Encoded XML Schema timeInstant data type string.
      • encodeTimeInstant

        public static void encodeTimeInstant​(org.w3c.dom.Document aDocument,
                                             org.w3c.dom.Element aRoot,
                                             java.util.Date aDate,
                                             java.lang.String aNS,
                                             java.lang.String aTagName)
                                      throws EPPEncodeException
        Encode a Date, as date and time, in XML with a given XML namespace and tag name. The format used for encoding the date is defined by the constant EPPUtil.TIME_INSTANT_FORMAT.
        Parameters:
        aDocument - DOM Document of aRoot. This parameter also acts as a factory for XML elements.
        aRoot - XML Element to add children nodes to. For example, the root node could be <domain:expire-data>
        aDate - Date as date and time to add.
        aNS - XML namespace of the element. For example, for domain element this is "urn:iana:xmlns:domain".
        aTagName - Tag name of the element including an optional namespace prefix. For example, the tag name for the domain expiration date and time is "domain:expiration-date".
        Throws:
        EPPEncodeException - Error encoding Date.
      • encodeVector

        public static void encodeVector​(org.w3c.dom.Document aDocument,
                                        org.w3c.dom.Element aRoot,
                                        java.util.Vector aVector,
                                        java.lang.String aNS,
                                        java.lang.String aTagName)
                                 throws EPPEncodeException
        Encode a Vector of String's in XML with a given XML namespace and tag name.
        Parameters:
        aDocument - DOM Document of aRoot. This parameter also acts as a factory for XML elements.
        aRoot - XML Element to add children nodes to. For example, the root node could be <domain:update>
        aVector - Vector of String's to add.
        aNS - XML namespace of the elements. For example, for domain element this is "urn:iana:xmlns:domain".
        aTagName - Tag name of the element including an optional namespace prefix. For example, the tag name for the domain name servers is "domain:server".
        Throws:
        EPPEncodeException - Error encoding the Vector of String's.
      • equalLists

        public static boolean equalLists​(java.util.List aV1,
                                         java.util.List aV2)
        compares two List instances. The Java 1.1 List class does not implement the equals methods, so equalLists was written to implement equals of two Lists (aV1 and aV2). This method is not need for Java 2.
        Parameters:
        aV1 - First List instance to compare.
        aV2 - Second List instance to compare.
        Returns:
        true if List's are equal; false otherwise.
      • equalVectors

        public static boolean equalVectors​(java.util.Vector aV1,
                                           java.util.Vector aV2)
        compares two Vector instances. The Java 1.1 Vector class does not implement the equals methods, so equalVectors was written to implement equals of two Vectors (aV1 and aV2). This method is not need for Java 2.
        Parameters:
        aV1 - First Vector instance to compare.
        aV2 - Second Vector instance to compare.
        Returns:
        true if Vector's are equal; false otherwise.
      • getElementByTagNameNS

        public static org.w3c.dom.Element getElementByTagNameNS​(org.w3c.dom.Element aElement,
                                                                java.lang.String aNS,
                                                                java.lang.String aTagName)
        Gets the first direct child element with a given tag name and XML namespace.
        Parameters:
        aElement - Root element to start from to search for the element
        aNS - XML namespace of the elements. For example, for domain element this is "urn:iana:xmlns:domain".
        aTagName - Tag name to scan for.
        Returns:
        Matching Element if found; null otherwise.
      • getElementsByTagNameNS

        public static java.util.Vector getElementsByTagNameNS​(org.w3c.dom.Element aElement,
                                                              java.lang.String aNS,
                                                              java.lang.String aTagName)
        Gets all of the direct child element with a given tag name and XML namespace.
        Parameters:
        aElement - Root element to start from to search for the element
        aNS - XML namespace of the elements. For example, for domain element this is "urn:iana:xmlns:domain".
        aTagName - Tag name to scan for.
        Returns:
        Vector of Node instances that are elements and have the specified tag name and XML namespace.
      • getLocalName

        public static java.lang.String getLocalName​(java.lang.String aQualifiedName)
        Gets the local name given the qualified element name. If the local name is passed, it will be simply returned back.
        Parameters:
        aQualifiedName - Qualified name of the element like domain:name. A localhost like name can be passed without error.
        Returns:
        Localname of the qualified name
      • getPrefix

        public static java.lang.String getPrefix​(java.lang.String aQualifiedName)
        Gets the namespace prefix given a qualified name. If no prefix is found, empty string is returned.
        Parameters:
        aQualifiedName - Qualified name of the element like domain:name.
        Returns:
        Namespace prefix of the qualified name if found; empty string ("") if not found.
      • getFirstElementChild

        public static org.w3c.dom.Element getFirstElementChild​(org.w3c.dom.Element aElement)
        Gets the first DOM Element Node of the aElement DOM Element.
        Parameters:
        aElement - Element to scan for the first element.
        Returns:
        Found DOM Element Node if found; null otherwise.
      • getNextElementSibling

        public static org.w3c.dom.Element getNextElementSibling​(org.w3c.dom.Element aElement)
        Gets the next sibling Element of a provided Element.
        Parameters:
        aElement - Element to start scan for the next Element.
        Returns:
        Found DOM Element Node if found; null otherwise.
      • getTextContent

        public static java.lang.String getTextContent​(org.w3c.dom.Node node)
                                               throws EPPDecodeException
        A pass-thru to the getTextContent() method using a default value of false for the required flag.
        Parameters:
        node - Node to get the text node from.
        Returns:
        The text node String value if found; throwing EPPDecodeException otherwise.
        Throws:
        EPPDecodeException - Error getting text node
      • getTextContent

        public static java.lang.String getTextContent​(org.w3c.dom.Node node,
                                                      boolean allowEmpty)
                                               throws EPPDecodeException
        Return the text data within an XML tag.
        <id>12345</id> yields the String "12345"
        If the node==null, child==null, value==null, or value=="" => Exception
        UNLESS allowEmpty, in which case return ""

        For reference:
        <tag></tag> => child is null
        <tag/> => child is null
        <tag> </tag> => value is empty

        Parameters:
        node - Node to get the text node from.
        allowEmpty - Allow empty text node return value. If true then if the text node is not found, the empty string will be returned instead of throwing the EPPDecodeException.
        Returns:
        The text node String value if found; empty string if allowEmpty is true and EPPDecodeException if allowEmpty is false otherwise.
        Throws:
        EPPDecodeException - Error getting text node
      • listSubset

        public static boolean listSubset​(java.util.List aV1,
                                         java.util.List aV2)
        Determines if one List is a subset of another List. If every element in aV1 is in aV2 return true; otherwise return false.
        Parameters:
        aV1 - Subset List to compare against aV2
        aV2 - Superset List to compare against aV1
        Returns:
        true if aV1 is a subset of aV2; false otherwise.
      • toString

        public static java.lang.String toString​(EPPCodecComponent aComponent)
        Converts an EPPCodecComponent to a String for printing. Each EPPCodecComponent can use this utility method to implement Object.toString().
        Parameters:
        aComponent - a concrete EPPCodecComponent instance
        Returns:
        String representation of EPPCodecComponent if successful; "ERROR" String otherwise.
      • toString

        public static java.lang.String toString​(org.w3c.dom.Element aElement)
        Converts an aElement to a String for printing.
        Parameters:
        aElement - Element to print
        Returns:
        String representation of Element if successful; "ERROR" String otherwise.
      • toStringNoIndent

        public static java.lang.String toStringNoIndent​(org.w3c.dom.Element aElement)
        Converts an aElement to a String for printing without pretty printing.
        Parameters:
        aElement - Element to print
        Returns:
        String representation of Element if successful; "ERROR" String otherwise.
      • vectorSubset

        public static boolean vectorSubset​(java.util.Vector aV1,
                                           java.util.Vector aV2)
        Determines if one Vector is a subset of another Vector. If every element in aV1 is in aV2 return true; otherwise return false.
        Parameters:
        aV1 - Subset Vector to compare against aV2
        aV2 - Superset Vector to compare against aV1
        Returns:
        true if aV1 is a subset of aV2; false otherwise.
      • decodeIntegerList

        public static java.util.List decodeIntegerList​(org.w3c.dom.Element aElement,
                                                       java.lang.String aNS,
                                                       java.lang.String aTagName)
                                                throws EPPDecodeException
        Decode a List of Integer's by XML namespace and tag name, from an XML Element. The children elements of aElement will be searched for the specified aNS namespace URI and the specified aTagName. Each XML element found will be decoded and added to the returned List. Empty child elements, will result in an EPPDecodeException.
        Parameters:
        aElement - XML Element to scan. For example, the element could be <domain:update>
        aNS - XML namespace of the elements. For example, for domain element this is "urn:iana:xmlns:domain".
        aTagName - Tag name of the element including an optional namespace prefix. For example, the tag name for the domain name servers is "domain:server".
        Returns:
        List of Integer elements representing the text nodes of the found XML elements.
        Throws:
        EPPDecodeException - Error decoding aElement.
      • encodeIntegerList

        public static void encodeIntegerList​(org.w3c.dom.Document aDocument,
                                             org.w3c.dom.Element aRoot,
                                             java.util.List aList,
                                             java.lang.String aNS,
                                             java.lang.String aTagName)
                                      throws EPPEncodeException
        Encode a List of Integer's in XML with a given XML namespace and tag name.
        Parameters:
        aDocument - DOM Document of aRoot. This parameter also acts as a factory for XML elements.
        aRoot - XML Element to add children nodes to. For example, the root node could be <domain:update>
        aList - List of Integer's to add.
        aNS - XML namespace of the elements. For example, for domain element this is "urn:iana:xmlns:domain".
        aTagName - Tag name of the element including an optional namespace prefix. For example, the tag name for the domain name servers is "domain:server".
        Throws:
        EPPEncodeException - Error encoding the List of Integer 's.
      • collapseWhitespace

        public static java.lang.String collapseWhitespace​(java.lang.String inString)
        Collapse Whitespace, which means that all leading and trailing whitespace will be stripped, and all internal whitespace collapsed to single space characters. Intended to emulate XML Schema whitespace (collapse) constraining facet: http://www.w3.org/TR/xmlschema-2/#rf-whiteSpace
        Parameters:
        inString - String to be collapsed
        Returns:
        String with whitespace collapsed, or null when result is empty
      • removeWhitespace

        public static java.lang.String removeWhitespace​(java.lang.String inString)
        Remove Whitespace, which means that all whitespace will be stripped.
        Parameters:
        inString - String from which to remove whitespace
        Returns:
        String with whitespace removed, or null when result is empty
      • encodeBase64

        public static java.lang.String encodeBase64​(org.w3c.dom.Element aElement)
                                             throws java.lang.Exception
        Base64 encode the XML Element tree.
        Parameters:
        aElement - Root element to encode in Base64
        Returns:
        Base64 encoded value of the XML Element tree.
        Throws:
        java.lang.Exception - Error encoding the Element
      • findDuplicateExtNamespaces

        public static java.util.Set<java.lang.String> findDuplicateExtNamespaces​(java.util.List<EPPCodecComponent> aExtensions)
        Find the set of duplicate EPP extensions based on the list of EPP extensions.
        Parameters:
        aExtensions - List of EPP extensions to find duplicates
        Returns:
        Set of duplicate EPP extension XML namespaces; null otherwise.
      • findUnsupportedExtNamespaces

        public static java.util.Set<java.lang.String> findUnsupportedExtNamespaces​(java.util.List<java.lang.String> aSupportedExtNamespaces,
                                                                                   java.util.List<EPPCodecComponent> aExtensions)
        Find the set of unsupported EPP extensions based on passing the list of supported extension XML namespaces and the list of EPP extensions.
        Parameters:
        aSupportedExtNamespaces - List of supported EPP extension XML namespaces. Pass null for no supported extensions.
        aExtensions - List of EPP extensions to scan for unsupported XML namespaces
        Returns:
        Set of unsupported EPP extension XML namespaces; null otherwise.
      • findUnsupportedExtNamespaceSuffixes

        public static java.util.Set<java.lang.String> findUnsupportedExtNamespaceSuffixes​(java.util.List<java.lang.String> aSupportedExtNamespaceSuffixes,
                                                                                          java.util.List<EPPCodecComponent> aExtensions)
        Find the set of unsupported EPP extensions based on passing the list of supported extension XML namespace suffixes and the list of EPP extensions. See namespaceToNamespaceSuffix(String) for conversion of an XML namespace to an XML namespace suffix.
        Parameters:
        aSupportedExtNamespaceSuffixes - List of supported EPP extension XML namespace suffixes. Pass null for no supported extensions.
        aExtensions - List of EPP extensions to scan for unsupported XML namespace suffixes
        Returns:
        Set of unsupported EPP extension XML namespace suffixes; null otherwise.
      • findExtNamespaces

        public static java.util.Set<java.lang.String> findExtNamespaces​(java.util.List<EPPCodecComponent> aExtensions,
                                                                        java.util.List<java.lang.String> aFilterExtNamespaces)
        Find the set of unique EPP extension XML namespaces based on the list of EPP extensions and the optional use of a list of XML namespaces to filter.
        Parameters:
        aExtensions - List of EPP extension to find unique EPP extension XML namespaces.
        aFilterExtNamespaces - Filter extension XML namespaces from the returned set. Set to null for no filtering.
        Returns:
        Set of unique EPP extension XML namespaces.
      • findExtNamespaceSuffixes

        public static java.util.Set<java.lang.String> findExtNamespaceSuffixes​(java.util.List<EPPCodecComponent> aExtensions,
                                                                               java.util.List<java.lang.String> aFilterExtNamespaceSuffixes)
        Find the set of unique EPP extension XML namespace suffixes based on the list of EPP extensions and the optional use of a list of XML namespace suffixes to filter. An XML namespace suffix is the last element of an XML namespace is "secDNS-1.1" for the XML namespace "urn:ietf:params:xml:ns:secDNS-1.1" or "sync-1.0" for "http://www.verisign.com/epp/sync-1.0".
        Only two forms of XML namespaces is supported:
        • IANA XML namespace - Uses ':' as a separator
        • URL namespace - Uses a uRL with "/" for the path separator

        Any unsupported XML namespaces will be returned unmodified.
        Parameters:
        aExtensions - List of EPP extensions to find unique EPP extension XML namespace suffixes.
        aFilterExtNamespaceSuffixes - Filter extension XML namespace suffixes from the returned set. Set to null for no filtering.
        Returns:
        Set of unique EPP extension XML namespace suffixes.
      • namespaceToNamespaceSuffix

        public static java.lang.String namespaceToNamespaceSuffix​(java.lang.String aNamespace)
        Convert an XML namespace to an XML namespace suffix. An XML namespace suffix is the last element of an XML namespace is "secDNS-1.1" for the XML namespace "urn:ietf:params:xml:ns:secDNS-1.1" or "sync-1.0" for "http://www.verisign.com/epp/sync-1.0".
        Only two forms of XML namespaces is supported:
        • IANA XML namespace - Uses ':' as a separator
        • URL namespace - Uses a uRL with "/" for the path separator

        An unsupported XML namespace will be returned unmodified.
        Parameters:
        aNamespace - XML namespace to convert to an XML namespace suffix.
        Returns:
        XML namespace suffix if format is supported; unmodified XML namespace otherwise.