package com.ausregistry.jtoolkit2.se;
import com.ausregistry.jtoolkit2.xml.XMLDocument;
import javax.xml.xpath.XPathExpressionException;
/**
* Use this to access contact object transfer information as provided in an EPP
* contact transfer response compliant with RFC5730 and RFC5733. Such a service
* element is sent by a compliant EPP server in response to a valid contact
* transfer command, implemented by a subclass of the ContactTransferCommand
* class.
*
* @see com.ausregistry.jtoolkit2.se.ContactTransferCommand
* @see com.ausregistry.jtoolkit2.se.ContactTransferRequestCommand
* @see com.ausregistry.jtoolkit2.se.ContactTransferApproveCommand
* @see com.ausregistry.jtoolkit2.se.ContactTransferCancelCommand
* @see com.ausregistry.jtoolkit2.se.ContactTransferRejectCommand
* @see com.ausregistry.jtoolkit2.se.ContactTransferQueryCommand
*/
public class ContactTransferResponse extends TransferResponse {
private static final long serialVersionUID = -3303074732303130291L;
private static final String CON_ID_EXPR = RES_DATA_EXPR + "/contact:trnData/contact:id/text()";
private static final String CON_TR_STATUS_EXPR = exprReplace(TR_STATUS_EXPR);
private static final String CON_REID_EXPR = exprReplace(REID_EXPR);
private static final String CON_REDATE_EXPR = exprReplace(REDATE_EXPR);
private static final String CON_ACID_EXPR = exprReplace(ACID_EXPR);
private static final String CON_ACDATE_EXPR = exprReplace(ACDATE_EXPR);
private String id;
public ContactTransferResponse() {
super(StandardObjectType.CONTACT);
}
protected static String exprReplace(String expr) {
return expr.replaceAll(OBJ,
StandardObjectType.CONTACT.getName());
}
public String getID() {
return id;
}
@Override
public void fromXML(XMLDocument xmlDoc) {
super.fromXML(xmlDoc);
if (!resultArray[0].succeeded()) {
return;
}
try {
id = xmlDoc.getNodeValue(CON_ID_EXPR);
} catch (XPathExpressionException xpee) {
maintLogger.warning(xpee.getMessage());
}
}
protected String trStatusExpr() {
return CON_TR_STATUS_EXPR;
}
protected String reIDExpr() {
return CON_REID_EXPR;
}
protected String reDateExpr() {
return CON_REDATE_EXPR;
}
protected String acIDExpr() {
return CON_ACID_EXPR;
}
protected String acDateExpr() {
return CON_ACDATE_EXPR;
}
}