diff --git a/javatests/google/registry/model/BUILD b/javatests/google/registry/model/BUILD index 031f4c56b..29b3fc1e4 100644 --- a/javatests/google/registry/model/BUILD +++ b/javatests/google/registry/model/BUILD @@ -17,6 +17,7 @@ java_library( "**/*.java", ]), resources = [ + "schema.txt", ] + glob(["**/testdata/*.xml"]), deps = [ "//java/com/google/common/annotations", diff --git a/javatests/google/registry/model/schema.txt b/javatests/google/registry/model/schema.txt new file mode 100644 index 000000000..dd1ffa074 --- /dev/null +++ b/javatests/google/registry/model/schema.txt @@ -0,0 +1,891 @@ +enum com.google.common.collect.BoundType { + CLOSED; + OPEN; +} +class google.registry.model.CreateAutoTimestamp { + org.joda.time.DateTime timestamp; +} +class google.registry.model.UpdateAutoTimestamp { + org.joda.time.DateTime timestamp; +} +class google.registry.model.billing.BillingEvent$Cancellation { + @Id long id; + @Parent com.googlecode.objectify.Key parent; + com.googlecode.objectify.Ref refOneTime; + com.googlecode.objectify.Ref refRecurring; + google.registry.model.billing.BillingEvent$Reason reason; + java.lang.String clientId; + java.lang.String targetId; + java.util.Set flags; + org.joda.time.DateTime billingTime; + org.joda.time.DateTime eventTime; +} +enum google.registry.model.billing.BillingEvent$Flag { + ALLOCATION; + ANCHOR_TENANT; + AUTO_RENEW; + LANDRUSH; + SUNRISE; + SYNTHETIC; +} +class google.registry.model.billing.BillingEvent$Modification { + @Id long id; + @Parent com.googlecode.objectify.Key parent; + com.googlecode.objectify.Ref eventRef; + google.registry.model.billing.BillingEvent$Reason reason; + java.lang.String clientId; + java.lang.String description; + java.lang.String targetId; + java.util.Set flags; + org.joda.money.Money cost; + org.joda.time.DateTime eventTime; +} +class google.registry.model.billing.BillingEvent$OneTime { + @Id long id; + @Parent com.googlecode.objectify.Key parent; + google.registry.model.billing.BillingEvent$Reason reason; + java.lang.Integer periodYears; + java.lang.Long cancellationTargetId; + java.lang.String clientId; + java.lang.String targetId; + java.util.Set flags; + org.joda.money.Money cost; + org.joda.time.DateTime billingTime; + org.joda.time.DateTime eventTime; + org.joda.time.DateTime syntheticCreationTime; +} +enum google.registry.model.billing.BillingEvent$Reason { + AUTO_RENEW; + CREATE; + ERROR; + RENEW; + RESTORE; + SERVER_STATUS; + TRANSFER; +} +class google.registry.model.billing.BillingEvent$Recurring { + @Id long id; + @Parent com.googlecode.objectify.Key parent; + google.registry.model.billing.BillingEvent$Reason reason; + google.registry.model.common.TimeOfYear recurrenceTimeOfYear; + java.lang.String clientId; + java.lang.String targetId; + java.util.Set flags; + org.joda.time.DateTime eventTime; + org.joda.time.DateTime recurrenceEndTime; +} +class google.registry.model.billing.RegistrarBillingEntry { + @Id long id; + @Parent com.googlecode.objectify.Key parent; + java.lang.String description; + java.lang.String transactionId; + org.joda.money.CurrencyUnit currency; + org.joda.money.Money amount; + org.joda.money.Money balance; + org.joda.time.DateTime created; +} +class google.registry.model.billing.RegistrarCredit { + @Id long id; + @Parent com.googlecode.objectify.Ref parent; + google.registry.model.billing.RegistrarCredit$CreditType type; + java.lang.String description; + java.lang.String tld; + org.joda.money.CurrencyUnit currency; + org.joda.time.DateTime creationTime; +} +enum google.registry.model.billing.RegistrarCredit$CreditType { + AUCTION; + PROMOTION; +} +class google.registry.model.billing.RegistrarCreditBalance { + @Id long id; + @Parent com.googlecode.objectify.Ref parent; + org.joda.money.Money amount; + org.joda.time.DateTime effectiveTime; + org.joda.time.DateTime writtenTime; +} +class google.registry.model.common.Cursor { + @Id java.lang.String id; + @Parent com.googlecode.objectify.Key parent; + org.joda.time.DateTime cursorTime; +} +class google.registry.model.common.EntityGroupRoot { + @Id java.lang.String id; + google.registry.model.UpdateAutoTimestamp updateTimestamp; +} +class google.registry.model.common.GaeUserIdConverter { + @Id long id; + com.google.appengine.api.users.User user; +} +class google.registry.model.common.PersistedRangeLong { + com.google.common.collect.BoundType lowerBoundType; + com.google.common.collect.BoundType upperBoundType; + java.lang.Long lowerBound; + java.lang.Long upperBound; +} +class google.registry.model.common.TimeOfYear { + java.lang.String timeString; +} +class google.registry.model.contact.ContactAddress { + java.lang.String city; + java.lang.String countryCode; + java.lang.String state; + java.lang.String zip; + java.util.List street; +} +class google.registry.model.contact.ContactAuthInfo { + google.registry.model.eppcommon.AuthInfo$PasswordAuth pw; +} +class google.registry.model.contact.ContactPhoneNumber { + java.lang.String extension; + java.lang.String phoneNumber; +} +class google.registry.model.contact.ContactResource { + @Id java.lang.String repoId; + com.google.common.collect.ImmutableSortedMap> revisions; + google.registry.model.CreateAutoTimestamp creationTime; + google.registry.model.UpdateAutoTimestamp updateTimestamp; + google.registry.model.contact.ContactAuthInfo authInfo; + google.registry.model.contact.ContactPhoneNumber fax; + google.registry.model.contact.ContactPhoneNumber voice; + google.registry.model.contact.Disclose disclose; + google.registry.model.contact.PostalInfo internationalizedPostalInfo; + google.registry.model.contact.PostalInfo localizedPostalInfo; + google.registry.model.transfer.TransferData transferData; + java.lang.String contactId; + java.lang.String creationClientId; + java.lang.String currentSponsorClientId; + java.lang.String email; + java.lang.String lastEppUpdateClientId; + java.util.Set status; + org.joda.time.DateTime deletionTime; + org.joda.time.DateTime lastEppUpdateTime; + org.joda.time.DateTime lastTransferTime; +} +class google.registry.model.contact.Disclose { + google.registry.model.eppcommon.PresenceMarker email; + google.registry.model.eppcommon.PresenceMarker fax; + google.registry.model.eppcommon.PresenceMarker voice; + java.lang.Boolean flag; + java.util.List addr; + java.util.List name; + java.util.List org; +} +class google.registry.model.contact.Disclose$PostalInfoChoice { + google.registry.model.contact.PostalInfo$Type type; +} +class google.registry.model.contact.PostalInfo { + google.registry.model.contact.ContactAddress address; + google.registry.model.contact.PostalInfo$Type type; + java.lang.String name; + java.lang.String org; +} +enum google.registry.model.contact.PostalInfo$Type { + INTERNATIONALIZED; + LOCALIZED; +} +class google.registry.model.domain.DesignatedContact { + google.registry.model.domain.DesignatedContact$Type type; + google.registry.model.domain.ReferenceUnion contactId; +} +enum google.registry.model.domain.DesignatedContact$Type { + ADMIN; + BILLING; + REGISTRANT; + TECH; +} +class google.registry.model.domain.DomainApplication { + @Id java.lang.String repoId; + com.google.common.collect.ImmutableSortedMap> revisions; + google.registry.model.CreateAutoTimestamp creationTime; + google.registry.model.UpdateAutoTimestamp updateTimestamp; + google.registry.model.domain.DomainAuthInfo authInfo; + google.registry.model.domain.launch.ApplicationStatus applicationStatus; + google.registry.model.domain.launch.LaunchNotice launchNotice; + google.registry.model.domain.launch.LaunchPhase phase; + google.registry.model.eppcommon.Trid creationTrid; + google.registry.model.transfer.TransferData transferData; + java.lang.String creationClientId; + java.lang.String currentSponsorClientId; + java.lang.String fullyQualifiedDomainName; + java.lang.String idnTableName; + java.lang.String lastEppUpdateClientId; + java.lang.String tld; + java.util.List encodedSignedMarks; + java.util.Set allContacts; + java.util.Set> nameservers; + java.util.Set dsData; + java.util.Set status; + org.joda.money.Money auctionPrice; + org.joda.time.DateTime deletionTime; + org.joda.time.DateTime lastEppUpdateTime; + org.joda.time.DateTime lastTransferTime; +} +class google.registry.model.domain.DomainAuthInfo { + google.registry.model.eppcommon.AuthInfo$PasswordAuth pw; +} +class google.registry.model.domain.DomainBase { + @Id java.lang.String repoId; + com.google.common.collect.ImmutableSortedMap> revisions; + google.registry.model.CreateAutoTimestamp creationTime; + google.registry.model.UpdateAutoTimestamp updateTimestamp; + google.registry.model.domain.DomainAuthInfo authInfo; + google.registry.model.domain.launch.LaunchNotice launchNotice; + google.registry.model.transfer.TransferData transferData; + java.lang.String creationClientId; + java.lang.String currentSponsorClientId; + java.lang.String fullyQualifiedDomainName; + java.lang.String idnTableName; + java.lang.String lastEppUpdateClientId; + java.lang.String tld; + java.util.Set allContacts; + java.util.Set> nameservers; + java.util.Set dsData; + java.util.Set status; + org.joda.time.DateTime deletionTime; + org.joda.time.DateTime lastEppUpdateTime; + org.joda.time.DateTime lastTransferTime; +} +class google.registry.model.domain.DomainResource { + @Id java.lang.String repoId; + com.google.common.collect.ImmutableSortedMap> revisions; + com.googlecode.objectify.Key deletePollMessage; + com.googlecode.objectify.Ref autorenewBillingEvent; + com.googlecode.objectify.Ref application; + com.googlecode.objectify.Ref autorenewPollMessage; + google.registry.model.CreateAutoTimestamp creationTime; + google.registry.model.UpdateAutoTimestamp updateTimestamp; + google.registry.model.domain.DomainAuthInfo authInfo; + google.registry.model.domain.launch.LaunchNotice launchNotice; + google.registry.model.transfer.TransferData transferData; + java.lang.String creationClientId; + java.lang.String currentSponsorClientId; + java.lang.String fullyQualifiedDomainName; + java.lang.String idnTableName; + java.lang.String lastEppUpdateClientId; + java.lang.String smdId; + java.lang.String tld; + java.util.Set allContacts; + java.util.Set gracePeriods; + java.util.Set> nameservers; + java.util.Set dsData; + java.util.Set status; + java.util.Set subordinateHosts; + org.joda.time.DateTime applicationTime; + org.joda.time.DateTime deletionTime; + org.joda.time.DateTime lastEppUpdateTime; + org.joda.time.DateTime lastTransferTime; + org.joda.time.DateTime registrationExpirationTime; +} +class google.registry.model.domain.GracePeriod { + com.googlecode.objectify.Ref billingEventOneTime; + com.googlecode.objectify.Ref billingEventRecurring; + google.registry.model.domain.rgp.GracePeriodStatus type; + java.lang.String clientId; + org.joda.time.DateTime expirationTime; +} +class google.registry.model.domain.Period { + google.registry.model.domain.Period$Unit unit; + java.lang.Integer value; +} +enum google.registry.model.domain.Period$Unit { + MONTHS; + YEARS; +} +class google.registry.model.domain.ReferenceUnion { + com.googlecode.objectify.Ref linked; +} +enum google.registry.model.domain.launch.ApplicationStatus { + ALLOCATED; + INVALID; + PENDING_ALLOCATION; + PENDING_VALIDATION; + REJECTED; + VALIDATED; +} +class google.registry.model.domain.launch.LaunchInfoResponseExtension { + google.registry.model.domain.launch.ApplicationStatus applicationStatus; + google.registry.model.domain.launch.LaunchPhase phase; + java.lang.String applicationId; + java.util.List marks; +} +class google.registry.model.domain.launch.LaunchNotice { + google.registry.model.domain.launch.LaunchNotice$NoticeIdType noticeId; + org.joda.time.DateTime acceptedTime; + org.joda.time.DateTime expirationTime; +} +class google.registry.model.domain.launch.LaunchNotice$NoticeIdType { + java.lang.String tcnId; + java.lang.String validatorId; +} +class google.registry.model.domain.launch.LaunchPhase { + java.lang.String phase; + java.lang.String subphase; +} +enum google.registry.model.domain.rgp.GracePeriodStatus { + ADD; + AUTO_RENEW; + PENDING_DELETE; + PENDING_RESTORE; + REDEMPTION; + RENEW; + SUNRUSH_ADD; + TRANSFER; +} +class google.registry.model.domain.secdns.DelegationSignerData { + byte[] digest; + int algorithm; + int digestType; + int keyTag; +} +class google.registry.model.eppcommon.AuthInfo$PasswordAuth { + java.lang.String repoId; + java.lang.String value; +} +class google.registry.model.eppcommon.PresenceMarker { + boolean marked; +} +enum google.registry.model.eppcommon.StatusValue { + CLIENT_DELETE_PROHIBITED; + CLIENT_HOLD; + CLIENT_RENEW_PROHIBITED; + CLIENT_TRANSFER_PROHIBITED; + CLIENT_UPDATE_PROHIBITED; + INACTIVE; + LINKED; + OK; + PENDING_CREATE; + PENDING_DELETE; + PENDING_TRANSFER; + PENDING_UPDATE; + SERVER_DELETE_PROHIBITED; + SERVER_HOLD; + SERVER_RENEW_PROHIBITED; + SERVER_TRANSFER_PROHIBITED; + SERVER_UPDATE_PROHIBITED; +} +class google.registry.model.eppcommon.Trid { + java.lang.String clientTransactionId; + java.lang.String serverTransactionId; +} +class google.registry.model.export.LogsExportCursor { + @Id long id; + @Parent com.googlecode.objectify.Key parent; + java.util.List filesPendingImport; + java.util.Set exportedRanges; +} +class google.registry.model.host.HostResource { + @Id java.lang.String repoId; + com.google.common.collect.ImmutableSortedMap> revisions; + com.googlecode.objectify.Ref superordinateDomain; + google.registry.model.CreateAutoTimestamp creationTime; + google.registry.model.UpdateAutoTimestamp updateTimestamp; + google.registry.model.transfer.TransferData transferData; + java.lang.String creationClientId; + java.lang.String currentSponsorClientId; + java.lang.String fullyQualifiedHostName; + java.lang.String lastEppUpdateClientId; + java.util.Set status; + java.util.Set inetAddresses; + org.joda.time.DateTime deletionTime; + org.joda.time.DateTime lastEppUpdateTime; + org.joda.time.DateTime lastSuperordinateChange; + org.joda.time.DateTime lastTransferTime; +} +class google.registry.model.index.DomainApplicationIndex { + @Id java.lang.String fullyQualifiedDomainName; + google.registry.model.UpdateAutoTimestamp updateTimestamp; + java.util.Set> references; +} +class google.registry.model.index.EppResourceIndex { + @Id java.lang.String id; + @Parent com.googlecode.objectify.Key bucket; + com.googlecode.objectify.Ref reference; + google.registry.model.UpdateAutoTimestamp updateTimestamp; + java.lang.String kind; +} +class google.registry.model.index.EppResourceIndexBucket { + @Id long bucketId; +} +class google.registry.model.index.ForeignKeyIndex$ForeignKeyContactIndex { + @Id java.lang.String foreignKey; + com.googlecode.objectify.Ref topReference; + google.registry.model.UpdateAutoTimestamp updateTimestamp; + org.joda.time.DateTime deletionTime; +} +class google.registry.model.index.ForeignKeyIndex$ForeignKeyDomainIndex { + @Id java.lang.String foreignKey; + com.googlecode.objectify.Ref topReference; + google.registry.model.UpdateAutoTimestamp updateTimestamp; + org.joda.time.DateTime deletionTime; +} +class google.registry.model.index.ForeignKeyIndex$ForeignKeyHostIndex { + @Id java.lang.String foreignKey; + com.googlecode.objectify.Ref topReference; + google.registry.model.UpdateAutoTimestamp updateTimestamp; + org.joda.time.DateTime deletionTime; +} +class google.registry.model.mark.CourtMark { + java.lang.String countryCode; + java.lang.String courtName; + java.lang.String goodsAndServices; + java.lang.String id; + java.lang.String markName; + java.lang.String referenceNumber; + java.util.List contacts; + java.util.List markHolders; + java.util.List labels; + java.util.List regions; + org.joda.time.DateTime protectionDate; +} +class google.registry.model.mark.Mark { + java.util.List courtMarks; + java.util.List trademarks; + java.util.List treatyOrStatuteMarks; +} +class google.registry.model.mark.MarkAddress { + java.lang.String city; + java.lang.String countryCode; + java.lang.String state; + java.lang.String zip; + java.util.List street; +} +class google.registry.model.mark.MarkContact { + google.registry.model.mark.MarkAddress address; + google.registry.model.mark.MarkContact$ContactType type; + google.registry.model.mark.MarkPhoneNumber fax; + google.registry.model.mark.MarkPhoneNumber voice; + java.lang.String email; + java.lang.String name; + java.lang.String organization; +} +enum google.registry.model.mark.MarkContact$ContactType { + AGENT; + OWNER; + THIRD_PARTY; +} +class google.registry.model.mark.MarkHolder { + google.registry.model.mark.MarkAddress address; + google.registry.model.mark.MarkHolder$EntitlementType entitlement; + google.registry.model.mark.MarkPhoneNumber fax; + google.registry.model.mark.MarkPhoneNumber voice; + java.lang.String email; + java.lang.String name; + java.lang.String organization; +} +enum google.registry.model.mark.MarkHolder$EntitlementType { + ASSIGNEE; + LICENSEE; + OWNER; +} +class google.registry.model.mark.MarkPhoneNumber { + java.lang.String extension; + java.lang.String phoneNumber; +} +class google.registry.model.mark.MarkProtection { + java.lang.String countryCode; + java.lang.String region; + java.util.List rulingCountryCodes; +} +class google.registry.model.mark.Trademark { + java.lang.String applicationId; + java.lang.String goodsAndServices; + java.lang.String id; + java.lang.String jurisdiction; + java.lang.String markName; + java.lang.String registrationNumber; + java.util.List contacts; + java.util.List markHolders; + java.util.List markClasses; + java.util.List labels; + org.joda.time.DateTime applicationDate; + org.joda.time.DateTime expirationDate; + org.joda.time.DateTime registrationDate; +} +class google.registry.model.mark.TreatyOrStatuteMark { + java.lang.String goodsAndServices; + java.lang.String id; + java.lang.String markName; + java.lang.String referenceNumber; + java.lang.String title; + java.util.List contacts; + java.util.List markHolders; + java.util.List markProtections; + java.util.List labels; + org.joda.time.DateTime executionDate; + org.joda.time.DateTime protectionDate; +} +class google.registry.model.ofy.CommitLogBucket { + @Id long bucketNum; + org.joda.time.DateTime lastWrittenTime; +} +class google.registry.model.ofy.CommitLogCheckpoint { + @Id long checkpointTime; + @Parent com.googlecode.objectify.Key parent; + java.util.List bucketTimestamps; +} +class google.registry.model.ofy.CommitLogCheckpointRoot { + @Id long id; + org.joda.time.DateTime lastWrittenTime; +} +class google.registry.model.ofy.CommitLogManifest { + @Id long commitTime; + @Parent com.googlecode.objectify.Key parent; + java.util.Set> deletions; +} +class google.registry.model.ofy.CommitLogMutation { + @Id java.lang.String entityKey; + @Parent com.googlecode.objectify.Key parent; + byte[] entityProtoBytes; +} +class google.registry.model.poll.PendingActionNotificationResponse$ContactPendingActionNotificationResponse { + google.registry.model.eppcommon.Trid trid; + google.registry.model.poll.PendingActionNotificationResponse$NameOrId nameOrId; + org.joda.time.DateTime processedDate; +} +class google.registry.model.poll.PendingActionNotificationResponse$DomainPendingActionNotificationResponse { + google.registry.model.eppcommon.Trid trid; + google.registry.model.poll.PendingActionNotificationResponse$NameOrId nameOrId; + org.joda.time.DateTime processedDate; +} +class google.registry.model.poll.PendingActionNotificationResponse$NameOrId { + boolean actionResult; + java.lang.String value; +} +class google.registry.model.poll.PollMessage { + @Id long id; + @Parent com.googlecode.objectify.Key parent; + java.lang.String clientId; + java.lang.String msg; + org.joda.time.DateTime eventTime; +} +class google.registry.model.poll.PollMessage$Autorenew { + @Id long id; + @Parent com.googlecode.objectify.Key parent; + java.lang.String clientId; + java.lang.String msg; + java.lang.String targetId; + org.joda.time.DateTime autorenewEndTime; + org.joda.time.DateTime eventTime; +} +class google.registry.model.poll.PollMessage$OneTime { + @Id long id; + @Parent com.googlecode.objectify.Key parent; + google.registry.model.domain.launch.LaunchInfoResponseExtension launchInfoResponseExtension; + java.lang.String clientId; + java.lang.String msg; + java.util.List contactPendingActionNotificationResponses; + java.util.List domainPendingActionNotificationResponses; + java.util.List contactTransferResponses; + java.util.List domainTransferResponses; + org.joda.time.DateTime eventTime; +} +class google.registry.model.rde.RdeRevision { + @Id java.lang.String id; + int revision; +} +class google.registry.model.registrar.Registrar { + @Id java.lang.String clientIdentifier; + @Parent com.googlecode.objectify.Key parent; + boolean blockPremiumNames; + boolean contactsRequireSyncing; + google.registry.model.CreateAutoTimestamp creationTime; + google.registry.model.UpdateAutoTimestamp lastUpdateTime; + google.registry.model.registrar.Registrar$BillingMethod billingMethod; + google.registry.model.registrar.Registrar$State state; + google.registry.model.registrar.Registrar$Type type; + google.registry.model.registrar.RegistrarAddress internationalizedAddress; + google.registry.model.registrar.RegistrarAddress localizedAddress; + java.lang.Long billingIdentifier; + java.lang.Long ianaIdentifier; + java.lang.String clientCertificate; + java.lang.String clientCertificateHash; + java.lang.String driveFolderId; + java.lang.String emailAddress; + java.lang.String failoverClientCertificate; + java.lang.String failoverClientCertificateHash; + java.lang.String faxNumber; + java.lang.String icannReferralEmail; + java.lang.String passwordHash; + java.lang.String phoneNumber; + java.lang.String phonePasscode; + java.lang.String referralUrl; + java.lang.String registrarName; + java.lang.String salt; + java.lang.String url; + java.lang.String whoisServer; + java.util.List ipAddressWhitelist; + java.util.Set allowedTlds; + org.joda.time.DateTime lastCertificateUpdateTime; +} +enum google.registry.model.registrar.Registrar$BillingMethod { + BRAINTREE; + EXTERNAL; +} +enum google.registry.model.registrar.Registrar$State { + ACTIVE; + PENDING; + SUSPENDED; +} +enum google.registry.model.registrar.Registrar$Type { + EXTERNAL_MONITORING; + INTERNAL; + MONITORING; + OTE; + PDT; + REAL; + TEST; +} +class google.registry.model.registrar.RegistrarAddress { + java.lang.String city; + java.lang.String countryCode; + java.lang.String state; + java.lang.String zip; + java.util.List street; +} +class google.registry.model.registrar.RegistrarContact { + @Id java.lang.String emailAddress; + @Parent com.googlecode.objectify.Key parent; + boolean visibleInWhoisAsAdmin; + boolean visibleInWhoisAsTech; + java.lang.String faxNumber; + java.lang.String gaeUserId; + java.lang.String name; + java.lang.String phoneNumber; + java.util.Set types; +} +enum google.registry.model.registrar.RegistrarContact$Type { + ABUSE; + ADMIN; + BILLING; + LEGAL; + MARKETING; + TECH; + WHOIS; +} +class google.registry.model.registry.Registry { + @Id java.lang.String tldStrId; + @Parent com.googlecode.objectify.Key parent; + boolean dnsPaused; + boolean escrowEnabled; + boolean premiumPriceAckRequired; + com.googlecode.objectify.Key premiumList; + google.registry.model.CreateAutoTimestamp creationTime; + google.registry.model.common.TimedTransitionProperty tldStateTransitions; + google.registry.model.common.TimedTransitionProperty renewBillingCostTransitions; + google.registry.model.registry.Registry$TldType tldType; + java.lang.String driveFolderId; + java.lang.String lordnUsername; + java.lang.String pricingEngineClassName; + java.lang.String roidSuffix; + java.lang.String tldStr; + java.lang.String tldUnicode; + java.util.Set> reservedLists; + java.util.Set allowedFullyQualifiedHostNames; + java.util.Set allowedRegistrantContactIds; + org.joda.money.CurrencyUnit currency; + org.joda.money.Money createBillingCost; + org.joda.money.Money restoreBillingCost; + org.joda.money.Money serverStatusChangeBillingCost; + org.joda.time.DateTime claimsPeriodEnd; + org.joda.time.Duration addGracePeriodLength; + org.joda.time.Duration anchorTenantAddGracePeriodLength; + org.joda.time.Duration autoRenewGracePeriodLength; + org.joda.time.Duration automaticTransferLength; + org.joda.time.Duration pendingDeleteLength; + org.joda.time.Duration redemptionGracePeriodLength; + org.joda.time.Duration renewGracePeriodLength; + org.joda.time.Duration sunrushAddGracePeriodLength; + org.joda.time.Duration transferGracePeriodLength; +} +class google.registry.model.registry.Registry$BillingCostTransition { + org.joda.money.Money billingCost; + org.joda.time.DateTime transitionTime; +} +enum google.registry.model.registry.Registry$TldState { + GENERAL_AVAILABILITY; + LANDRUSH; + PDT; + PREDELEGATION; + QUIET_PERIOD; + SUNRISE; + SUNRUSH; +} +class google.registry.model.registry.Registry$TldStateTransition { + google.registry.model.registry.Registry$TldState tldState; + org.joda.time.DateTime transitionTime; +} +enum google.registry.model.registry.Registry$TldType { + REAL; + TEST; +} +class google.registry.model.registry.RegistryCursor { + @Id java.lang.String cursorType; + @Parent com.googlecode.objectify.Key registry; + org.joda.time.DateTime date; +} +class google.registry.model.registry.label.PremiumList { + @Id java.lang.String name; + @Parent com.googlecode.objectify.Key parent; + com.googlecode.objectify.Key revisionKey; + java.lang.String description; + org.joda.time.DateTime creationTime; + org.joda.time.DateTime lastUpdateTime; +} +class google.registry.model.registry.label.PremiumList$PremiumListEntry { + @Id java.lang.String label; + @Parent com.googlecode.objectify.Key parent; + java.lang.String comment; + org.joda.money.Money price; +} +class google.registry.model.registry.label.PremiumList$PremiumListRevision { + @Id long revisionId; + @Parent com.googlecode.objectify.Key parent; +} +enum google.registry.model.registry.label.ReservationType { + ALLOWED_IN_SUNRISE; + FULLY_BLOCKED; + MISTAKEN_PREMIUM; + NAME_COLLISION; + RESERVED_FOR_ANCHOR_TENANT; + UNRESERVED; +} +class google.registry.model.registry.label.ReservedList { + @Id java.lang.String name; + @Parent com.googlecode.objectify.Key parent; + boolean shouldPublish; + java.lang.String description; + java.util.Map reservedListMap; + org.joda.time.DateTime creationTime; + org.joda.time.DateTime lastUpdateTime; +} +class google.registry.model.registry.label.ReservedList$ReservedListEntry { + @Id java.lang.String label; + google.registry.model.registry.label.ReservationType reservationType; + java.lang.String authCode; + java.lang.String comment; +} +class google.registry.model.reporting.HistoryEntry { + @Id long id; + @Parent com.googlecode.objectify.Ref parent; + boolean bySuperuser; + byte[] xmlBytes; + google.registry.model.domain.Period period; + google.registry.model.eppcommon.Trid trid; + google.registry.model.reporting.HistoryEntry$Type type; + java.lang.Boolean requestedByRegistrar; + java.lang.String clientId; + java.lang.String reason; + org.joda.time.DateTime modificationTime; +} +enum google.registry.model.reporting.HistoryEntry$Type { + CONTACT_CREATE; + CONTACT_DELETE; + CONTACT_DELETE_FAILURE; + CONTACT_PENDING_DELETE; + CONTACT_TRANSFER_APPROVE; + CONTACT_TRANSFER_CANCEL; + CONTACT_TRANSFER_REJECT; + CONTACT_TRANSFER_REQUEST; + CONTACT_UPDATE; + DOMAIN_ALLOCATE; + DOMAIN_APPLICATION_CREATE; + DOMAIN_APPLICATION_DELETE; + DOMAIN_APPLICATION_STATUS_UPDATE; + DOMAIN_APPLICATION_UPDATE; + DOMAIN_CREATE; + DOMAIN_DELETE; + DOMAIN_RENEW; + DOMAIN_RESTORE; + DOMAIN_TRANSFER_APPROVE; + DOMAIN_TRANSFER_CANCEL; + DOMAIN_TRANSFER_REJECT; + DOMAIN_TRANSFER_REQUEST; + DOMAIN_UPDATE; + HOST_CREATE; + HOST_DELETE; + HOST_DELETE_FAILURE; + HOST_PENDING_DELETE; + HOST_UPDATE; + SYNTHETIC; +} +class google.registry.model.server.Lock { + @Id java.lang.String lockId; + java.util.LinkedHashSet queue; + org.joda.time.DateTime expirationTime; +} +class google.registry.model.server.ServerSecret { + @Id long id; + @Parent com.googlecode.objectify.Key parent; + long leastSignificant; + long mostSignificant; +} +class google.registry.model.smd.EncodedSignedMark { + com.google.appengine.api.datastore.Text encodedData; + java.lang.String encoding; +} +class google.registry.model.smd.SignedMarkRevocationList { + @Id long id; + @Parent com.googlecode.objectify.Key parent; + java.util.Map revokes; + org.joda.time.DateTime creationTime; +} +class google.registry.model.tmch.ClaimsListShard { + @Id long id; + @Parent com.googlecode.objectify.Key parent; + java.util.Map labelsToKeys; + org.joda.time.DateTime creationTime; +} +class google.registry.model.tmch.ClaimsListShard$ClaimsListRevision { + @Id long versionId; + @Parent com.googlecode.objectify.Key parent; +} +class google.registry.model.tmch.ClaimsListShard$ClaimsListSingleton { + @Id long id; + @Parent com.googlecode.objectify.Key parent; + com.googlecode.objectify.Key activeRevision; +} +class google.registry.model.tmch.TmchCrl { + @Id long id; + @Parent com.googlecode.objectify.Key parent; + java.lang.String crl; + org.joda.time.DateTime updated; +} +class google.registry.model.transfer.TransferData { + com.googlecode.objectify.Ref serverApproveBillingEvent; + com.googlecode.objectify.Ref serverApproveAutorenewEvent; + com.googlecode.objectify.Ref serverApproveAutorenewPollMessage; + google.registry.model.eppcommon.Trid transferRequestTrid; + google.registry.model.transfer.TransferStatus transferStatus; + java.lang.Integer extendedRegistrationYears; + java.lang.String gainingClientId; + java.lang.String losingClientId; + java.util.Set> serverApproveEntities; + org.joda.time.DateTime pendingTransferExpirationTime; + org.joda.time.DateTime transferRequestTime; +} +class google.registry.model.transfer.TransferResponse$ContactTransferResponse { + google.registry.model.transfer.TransferStatus transferStatus; + java.lang.String contactId; + java.lang.String gainingClientId; + java.lang.String losingClientId; + org.joda.time.DateTime pendingTransferExpirationTime; + org.joda.time.DateTime transferRequestTime; +} +class google.registry.model.transfer.TransferResponse$DomainTransferResponse { + google.registry.model.transfer.TransferStatus transferStatus; + java.lang.String fullyQualifiedDomainName; + java.lang.String gainingClientId; + java.lang.String losingClientId; + org.joda.time.DateTime extendedRegistrationExpirationTime; + org.joda.time.DateTime pendingTransferExpirationTime; + org.joda.time.DateTime transferRequestTime; +} +enum google.registry.model.transfer.TransferStatus { + CLIENT_APPROVED; + CLIENT_CANCELLED; + CLIENT_REJECTED; + PENDING; + SERVER_APPROVED; + SERVER_CANCELLED; +}