mirror of
https://github.com/google/nomulus.git
synced 2025-04-30 12:07:51 +02:00
111 lines
4 KiB
Java
111 lines
4 KiB
Java
// Copyright 2016 The Nomulus Authors. All Rights Reserved.
|
|
//
|
|
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
// you may not use this file except in compliance with the License.
|
|
// You may obtain a copy of the License at
|
|
//
|
|
// http://www.apache.org/licenses/LICENSE-2.0
|
|
//
|
|
// Unless required by applicable law or agreed to in writing, software
|
|
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
// See the License for the specific language governing permissions and
|
|
// limitations under the License.
|
|
|
|
package google.registry.model.transfer;
|
|
|
|
import com.googlecode.objectify.annotation.Embed;
|
|
import google.registry.model.EppResource;
|
|
import google.registry.model.eppoutput.EppResponse.ResponseData;
|
|
import javax.xml.bind.annotation.XmlElement;
|
|
import javax.xml.bind.annotation.XmlRootElement;
|
|
import javax.xml.bind.annotation.XmlTransient;
|
|
import javax.xml.bind.annotation.XmlType;
|
|
import org.joda.time.DateTime;
|
|
|
|
/**
|
|
* A response to a transfer command on a {@link EppResource}. This base class contains fields that
|
|
* are common to all transfer responses; derived classes add resource specific fields.
|
|
*/
|
|
@XmlTransient
|
|
public abstract class TransferResponse extends BaseTransferObject implements ResponseData {
|
|
|
|
/** An adapter to output the XML in response to a transfer command on a domain. */
|
|
@Embed
|
|
@XmlRootElement(name = "trnData", namespace = "urn:ietf:params:xml:ns:domain-1.0")
|
|
@XmlType(propOrder = {
|
|
"fullyQualifiedDomainName",
|
|
"transferStatus",
|
|
"gainingClientId",
|
|
"transferRequestTime",
|
|
"losingClientId",
|
|
"pendingTransferExpirationTime",
|
|
"extendedRegistrationExpirationTime"},
|
|
namespace = "urn:ietf:params:xml:ns:domain-1.0")
|
|
public static class DomainTransferResponse extends TransferResponse {
|
|
|
|
@XmlElement(name = "name")
|
|
String fullyQualifiedDomainName;
|
|
|
|
public String getFullyQualifiedDomainName() {
|
|
return fullyQualifiedDomainName;
|
|
}
|
|
|
|
/**
|
|
* The new registration expiration time that will take effect if this transfer is approved. This
|
|
* will only be set on pending or approved transfers, not on cancelled or rejected ones.
|
|
*/
|
|
@XmlElement(name = "exDate")
|
|
DateTime extendedRegistrationExpirationTime;
|
|
|
|
public DateTime getExtendedRegistrationExpirationTime() {
|
|
return extendedRegistrationExpirationTime;
|
|
}
|
|
|
|
/** Builder for {@link DomainTransferResponse}. */
|
|
public static class Builder
|
|
extends BaseTransferObject.Builder<DomainTransferResponse, Builder> {
|
|
public Builder setFullyQualifiedDomainNameName(String fullyQualifiedDomainName) {
|
|
getInstance().fullyQualifiedDomainName = fullyQualifiedDomainName;
|
|
return this;
|
|
}
|
|
|
|
/** Set the registration expiration time that will take effect if this transfer completes. */
|
|
public Builder setExtendedRegistrationExpirationTime(
|
|
DateTime extendedRegistrationExpirationTime) {
|
|
getInstance().extendedRegistrationExpirationTime = extendedRegistrationExpirationTime;
|
|
return this;
|
|
}
|
|
}
|
|
}
|
|
|
|
/** An adapter to output the XML in response to a transfer command on a contact. */
|
|
@Embed
|
|
@XmlRootElement(name = "trnData", namespace = "urn:ietf:params:xml:ns:contact-1.0")
|
|
@XmlType(propOrder = {
|
|
"contactId",
|
|
"transferStatus",
|
|
"gainingClientId",
|
|
"transferRequestTime",
|
|
"losingClientId",
|
|
"pendingTransferExpirationTime"},
|
|
namespace = "urn:ietf:params:xml:ns:contact-1.0")
|
|
public static class ContactTransferResponse extends TransferResponse {
|
|
|
|
@XmlElement(name = "id")
|
|
String contactId;
|
|
|
|
public String getContactId() {
|
|
return contactId;
|
|
}
|
|
|
|
/** Builder for {@link ContactTransferResponse}. */
|
|
public static class Builder
|
|
extends BaseTransferObject.Builder<ContactTransferResponse, Builder> {
|
|
public Builder setContactId(String contactId) {
|
|
getInstance().contactId = contactId;
|
|
return this;
|
|
}
|
|
}
|
|
}
|
|
}
|