Create *InfoData objects instead of reusing *Resource objects

This is probably best from a code-cleanliness perspective anyways,
but the rationale is that tightly coupling the resources to the
info responses was a straightjacket that required all status
values and fields to be directly available on the resource. With
this change, I already was able to get rid of the preMarshal()
hackery, and I will be able to get rid of cloneWithLinkedStatus()
and most of the contents of cloneProjectedAtTime() for non-domains.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=144252924
This commit is contained in:
cgoldfeder 2017-01-11 14:49:10 -08:00 committed by Ben McIlwain
parent 96a71ded91
commit b0bcc1bb3d
22 changed files with 586 additions and 230 deletions

View file

@ -25,14 +25,15 @@ import javax.xml.bind.annotation.XmlValue;
* @see <a href="http://tools.ietf.org/html/rfc5731#section-2.2">
* RFC 5731 - EPP Domain Name Mapping - Contact and Client Identifiers</a>
*/
class ForeignKeyedDesignatedContact extends ImmutableObject {
public class ForeignKeyedDesignatedContact extends ImmutableObject {
@XmlAttribute(required = true)
DesignatedContact.Type type;
@XmlValue
String contactId;
static ForeignKeyedDesignatedContact create(DesignatedContact.Type type, String contactId) {
public static ForeignKeyedDesignatedContact create(
DesignatedContact.Type type, String contactId) {
ForeignKeyedDesignatedContact instance = new ForeignKeyedDesignatedContact();
instance.type = type;
instance.contactId = contactId;