/** * Converts an XML element into an <code>EppXriAuthority</code> object. The caller of this method * must make sure that the root node is of the EPP Authority type. * * @param root root node for an <code>EppXriAuthority</code> object in XML format * @return an <code>EppXriAuthority</code> object, or null if the node is invalid */ public static EppEntity fromXML(Node root) { EppXriAuthority authority = new EppXriAuthority(); NodeList list = root.getChildNodes(); for (int i = 0; i < list.getLength(); i++) { Node node = list.item(i); String name = node.getLocalName(); if (name == null) { continue; } if (name.equals("authId")) { authority.setAuthorityId(EppUtil.getText(node)); } if (name.equals("isEscrow")) { authority.setIsEscrow(EppUtil.getTextAsBool(node)); } if (name.equals("isContact")) { authority.setIsContact(EppUtil.getTextAsBool(node)); } if (name.equals("escrowAgent")) { EppXriTrustee agent = (EppXriTrustee) EppXriTrustee.fromXML(node); if (agent != null) authority.setEscrowAgent(agent); } if (name.equals("contactAgent")) { EppXriTrustee agent = (EppXriTrustee) EppXriTrustee.fromXML(node); if (agent != null) authority.setContactAgent(agent); } else if (name.equals("socialData")) { EppXriSocialData socialData = (EppXriSocialData) EppXriSocialData.fromXML(node); if (socialData != null) { authority.setSocialData(socialData); } } else if (name.equals("trustee")) { EppXriTrustee trustee = (EppXriTrustee) EppXriTrustee.fromXML(node); if (trustee != null) { authority.addTrustee(trustee); } } else if (name.equals("contactId")) { EppXriContactData con = (EppXriContactData) EppXriContactData.fromXML(node); if (con != null) { authority.addContactHandle(con); } } else if (name.equals("ref")) { EppXriRef ref = (EppXriRef) EppXriRef.fromXML(node); if (ref != null) { authority.addRef(ref); } } else if (name.equals("redirect")) { EppXriURI redirect = (EppXriURI) EppXriURI.fromXML(node); if (redirect != null) { authority.addRedirect(redirect); } } else if (name.equals("equivID")) { EppXriSynonym equivID = (EppXriSynonym) EppXriSynonym.fromXML(node); if (equivID != null) { authority.addEquivID(equivID); } } if (name.equals("canonicalEquivID")) { authority.setCanonicalEquivID(EppUtil.getText(node)); } else if (name.equals("sep")) { EppXriServiceEndpoint sep = (EppXriServiceEndpoint) EppXriServiceEndpoint.fromXML(node); if (sep != null) { authority.addServiceEndpoint(sep); } } else if (name.equals("iname")) { authority.addIName(EppUtil.getText(node)); } else if (name.equals("inumber")) { EppXriNumberAttribute xin = (EppXriNumberAttribute) EppXriNumberAttribute.fromXML(node); if (xin != null) { authority.addINumber(xin); } } else if (name.equals("iservice")) { authority.addIService(EppUtil.getText(node)); } else if (name.equals("authInfo")) { EppAuthInfo authInfo = (EppAuthInfo) EppAuthInfo.fromXML(node); if (authInfo != null) { authority.setAuthInfo(authInfo); } } else if (name.equals("extension")) { authority.setExtension(EppUtil.getText(node)); } else { authority.fromXMLCommon(node, name); } } return authority; }