package com.ausregistry.jtoolkit2.se; import org.w3c.dom.Element; /** * Use this to request the update of an ENUM domain object provisioned in an * EPP Registry. Instances of this class generate RFC5730, RFC5731 and RFC4114- * compliant ENUM domain update EPP command service elements via the toXML * method. The response expected from a server should be handled by a Response * object. * * @see com.ausregistry.jtoolkit2.se.Response */ public class EnumDomainUpdateCommand extends DomainUpdateCommand { private static final long serialVersionUID = 5215585614104019868L; /** * Minimal constructor for an ENUM domain update command. No domain add, * rem or chg elements are generated by instances constructed this way. * * @param addNaptrs a set of NAPTR records to be associated with this * domain which are not already associated with the domain. * * @param remNaptrs a set of NAPTR records currently associated with this * domain to be removed. */ public EnumDomainUpdateCommand(String name, NAPTR[] addNaptrs, NAPTR[] remNaptrs) { super(name); setExtension(addNaptrs, remNaptrs); } /** * Verbose constructor for an ENUM domain update command, supporting the * modification of every attribute of an ENUM domain. */ public EnumDomainUpdateCommand(String name, String pw, DomainAdd add, DomainRem rem, String registrantID, NAPTR[] addNaptrs, NAPTR[] remNaptrs) { super(name, pw, add, rem, registrantID); setExtension(addNaptrs, remNaptrs); } private void setExtension(NAPTR[] addNaptrs, NAPTR[] remNaptrs) { if (addNaptrs == null && remNaptrs == null) { return; } extension = xmlWriter.appendChild(command, "extension"); Element extensionElement = xmlWriter.appendChild(extension, "update", ExtensionImpl.E164.getURI()); if (addNaptrs != null) { Element e164Add = xmlWriter.appendChild(extensionElement, "add"); for (NAPTR naptr : addNaptrs) { naptr.appendToElement(xmlWriter, e164Add); } } if (remNaptrs != null) { Element e164Add = xmlWriter.appendChild(extensionElement, "rem"); for (NAPTR naptr : remNaptrs) { naptr.appendToElement(xmlWriter, e164Add); } } } }