diff --git a/build.gradle b/build.gradle
index 1bf323328..ce40bf863 100644
--- a/build.gradle
+++ b/build.gradle
@@ -197,6 +197,10 @@ task runPresubmits(type: Exec) {
args('config/presubmits.py')
}
+def javadocSource = []
+def javadocClasspath = []
+def javadocDependentTasks = []
+
subprojects {
// Skip no-op project
if (project.name == 'services') return
@@ -317,6 +321,10 @@ subprojects {
}
}
}
+
+ javadocSource << project.sourceSets.main.allJava
+ javadocClasspath << project.sourceSets.main.compileClasspath
+ javadocDependentTasks << project.tasks.compileJava
}
// If "-P verboseTestOutput=true" is passed in, configure all subprojects to dump all of their
@@ -445,3 +453,18 @@ task javaIncrementalFormatApply {
}
tasks.build.dependsOn(tasks.javaIncrementalFormatCheck)
+
+task javadoc(type: Javadoc) {
+ source javadocSource
+ classpath = files(javadocClasspath)
+ destinationDir = file("${buildDir}/docs/javadoc")
+ // In a lot of places we don't write @return so suppress warnings about that.
+ options.addBooleanOption('Xdoclint:all,-missing', true)
+ options.addBooleanOption("-allow-script-in-comments",true)
+ options.tags = ["type:a:Generic Type",
+ "error:a:Expected Error"]
+}
+
+tasks.build.dependsOn(tasks.javadoc)
+
+javadocDependentTasks.each { tasks.javadoc.shouldRunAfter(it) }
diff --git a/common/src/main/java/google/registry/util/Sleeper.java b/common/src/main/java/google/registry/util/Sleeper.java
index 12e5d48ab..288b0862a 100644
--- a/common/src/main/java/google/registry/util/Sleeper.java
+++ b/common/src/main/java/google/registry/util/Sleeper.java
@@ -21,7 +21,6 @@ import org.joda.time.ReadableDuration;
* An object which accepts requests to put the current thread to sleep.
*
* @see SystemSleeper
- * @see google.registry.testing.FakeSleeper
*/
@ThreadSafe
public interface Sleeper {
diff --git a/core/src/main/java/google/registry/bigquery/BigqueryConnection.java b/core/src/main/java/google/registry/bigquery/BigqueryConnection.java
index cc265d280..9a5bfd396 100644
--- a/core/src/main/java/google/registry/bigquery/BigqueryConnection.java
+++ b/core/src/main/java/google/registry/bigquery/BigqueryConnection.java
@@ -442,10 +442,8 @@ public class BigqueryConnection implements AutoCloseable {
* Returns the result of calling queryToLocalTable, but synchronously to avoid spawning new
* background threads, which App Engine doesn't support.
*
- * @see
- * App Engine Runtime
- *
- *
Returns the results of the query in an ImmutableTable on success.
+ * @see App Engine
+ * Runtime
*/
public ImmutableTable queryToLocalTableSync(String querySql) {
Job job = new Job()
@@ -576,8 +574,6 @@ public class BigqueryConnection implements AutoCloseable {
/**
* Launch a job, wait for it to complete, but do not check for errors.
- *
- * @throws BigqueryJobFailureException
*/
public Job runJob(Job job, @Nullable AbstractInputStreamContent data) {
return checkJob(waitForJob(launchJob(job, data)));
diff --git a/core/src/main/java/google/registry/dns/writer/dnsupdate/DnsMessageTransport.java b/core/src/main/java/google/registry/dns/writer/dnsupdate/DnsMessageTransport.java
index 151b03bfc..79f9950d4 100644
--- a/core/src/main/java/google/registry/dns/writer/dnsupdate/DnsMessageTransport.java
+++ b/core/src/main/java/google/registry/dns/writer/dnsupdate/DnsMessageTransport.java
@@ -84,7 +84,7 @@ public class DnsMessageTransport {
* @param query a message to send
* @return the response received from the server
* @throws IOException if the Socket input/output streams throws one
- * @throws IllegalArgumentException if the query is too large to be sent (> 65535 bytes)
+ * @throws IllegalArgumentException if the query is too large to be sent (> 65535 bytes)
*/
public Message send(Message query) throws IOException {
try (Socket socket = factory.createSocket(InetAddress.getByName(updateHost), DNS_PORT)) {
diff --git a/core/src/main/java/google/registry/flows/EppXmlSanitizer.java b/core/src/main/java/google/registry/flows/EppXmlSanitizer.java
index ee20afe71..af5ba6147 100644
--- a/core/src/main/java/google/registry/flows/EppXmlSanitizer.java
+++ b/core/src/main/java/google/registry/flows/EppXmlSanitizer.java
@@ -42,8 +42,8 @@ import javax.xml.stream.events.XMLEvent;
/**
* Sanitizes sensitive data in incoming/outgoing EPP XML messages.
*
- *
Current implementation masks user credentials (text following and tags) as
- * follows:
+ *
Current implementation masks user credentials (text following <pw> and <newPW>
+ * tags) as follows:
*
*
*
A control character (in ranges [0 - 1F] and [7F - 9F]) is replaced with 'C'.
diff --git a/core/src/main/java/google/registry/flows/custom/DomainCheckFlowCustomLogic.java b/core/src/main/java/google/registry/flows/custom/DomainCheckFlowCustomLogic.java
index ee575dcb2..a32a38bd1 100644
--- a/core/src/main/java/google/registry/flows/custom/DomainCheckFlowCustomLogic.java
+++ b/core/src/main/java/google/registry/flows/custom/DomainCheckFlowCustomLogic.java
@@ -75,7 +75,7 @@ public class DomainCheckFlowCustomLogic extends BaseFlowCustomLogic {
/**
* The time to perform the domain check as of. This defaults to the current time, but can be
- * overridden in v>=0.12 of the fee extension.
+ * overridden in v>=0.12 of the fee extension.
*/
public abstract DateTime asOfDate();
@@ -105,7 +105,7 @@ public class DomainCheckFlowCustomLogic extends BaseFlowCustomLogic {
/**
* The time to perform the domain check as of. This defaults to the current time, but can be
- * overridden in v>=0.12 of the fee extension.
+ * overridden in v>=0.12 of the fee extension.
*/
public abstract DateTime asOfDate();
diff --git a/core/src/main/java/google/registry/model/OteStats.java b/core/src/main/java/google/registry/model/OteStats.java
index 1e86febbb..2e06028fd 100644
--- a/core/src/main/java/google/registry/model/OteStats.java
+++ b/core/src/main/java/google/registry/model/OteStats.java
@@ -50,7 +50,8 @@ import java.util.stream.Collectors;
public class OteStats {
/**
- * Returns the statistics about the OT&E actions that have been taken by a particular registrar.
+ * Returns the statistics about the OT&E actions that have been taken by a particular
+ * registrar.
*/
public static OteStats getFromRegistrar(String registrarName) {
return new OteStats().recordRegistrarHistory(registrarName);
diff --git a/core/src/main/java/google/registry/model/UpdateAutoTimestamp.java b/core/src/main/java/google/registry/model/UpdateAutoTimestamp.java
index 50a0b5068..f9f69456e 100644
--- a/core/src/main/java/google/registry/model/UpdateAutoTimestamp.java
+++ b/core/src/main/java/google/registry/model/UpdateAutoTimestamp.java
@@ -30,7 +30,7 @@ public class UpdateAutoTimestamp extends ImmutableObject {
DateTime timestamp;
- /** Returns the timestamp, or {@link START_OF_TIME} if it's null. */
+ /** Returns the timestamp, or {@code START_OF_TIME} if it's null. */
public DateTime getTimestamp() {
return Optional.ofNullable(timestamp).orElse(START_OF_TIME);
}
diff --git a/core/src/main/java/google/registry/model/contact/ContactCommand.java b/core/src/main/java/google/registry/model/contact/ContactCommand.java
index aa9853595..638ee1ade 100644
--- a/core/src/main/java/google/registry/model/contact/ContactCommand.java
+++ b/core/src/main/java/google/registry/model/contact/ContactCommand.java
@@ -37,7 +37,7 @@ import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
/** A collection of {@link ContactResource} commands. */
public class ContactCommand {
- /** The fields on "chgType" from {@link "http://tools.ietf.org/html/rfc5733"}. */
+ /** The fields on "chgType" from RFC5733. */
@XmlTransient
public static class ContactCreateOrChange extends ImmutableObject
implements ResourceCreateOrChange {
@@ -111,8 +111,8 @@ public class ContactCommand {
}
/**
- * A create command for a {@link ContactResource}, mapping "createType" from
- * {@link "http://tools.ietf.org/html/rfc5733"}.
+ * A create command for a {@link ContactResource}, mapping "createType" from RFC5733}.
*/
@XmlType(propOrder = {"contactId", "postalInfo", "voice", "fax", "email", "authInfo", "disclose"})
@XmlRootElement
diff --git a/core/src/main/java/google/registry/model/contact/Disclose.java b/core/src/main/java/google/registry/model/contact/Disclose.java
index d0003afd9..25923376e 100644
--- a/core/src/main/java/google/registry/model/contact/Disclose.java
+++ b/core/src/main/java/google/registry/model/contact/Disclose.java
@@ -27,7 +27,7 @@ import javax.persistence.Embedded;
import javax.xml.bind.annotation.XmlAttribute;
import javax.xml.bind.annotation.XmlType;
-/** The "discloseType" from {@link "http://tools.ietf.org/html/rfc5733"}. */
+/** The "discloseType" from RFC5733. */
@Embed
@Embeddable
@XmlType(propOrder = {"name", "org", "addr", "voice", "fax", "email"})
@@ -76,7 +76,7 @@ public class Disclose extends ImmutableObject {
return flag;
}
- /** The "intLocType" from {@link "http://tools.ietf.org/html/rfc5733"}. */
+ /** The "intLocType" from RFC5733. */
@Embed
public static class PostalInfoChoice extends ImmutableObject {
@XmlAttribute
diff --git a/core/src/main/java/google/registry/model/contact/PostalInfo.java b/core/src/main/java/google/registry/model/contact/PostalInfo.java
index d71aed052..dcc2b90a3 100644
--- a/core/src/main/java/google/registry/model/contact/PostalInfo.java
+++ b/core/src/main/java/google/registry/model/contact/PostalInfo.java
@@ -32,8 +32,8 @@ import javax.xml.bind.annotation.adapters.NormalizedStringAdapter;
import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
/**
- * Implementation of both "postalInfoType" and "chgPostalInfoType" from {@link
- * "http://tools.ietf.org/html/rfc5733"}.
+ * Implementation of both "postalInfoType" and "chgPostalInfoType" from RFC5733.
*/
@Embed
@Embeddable
diff --git a/core/src/main/java/google/registry/model/domain/DomainCommand.java b/core/src/main/java/google/registry/model/domain/DomainCommand.java
index 9215d866b..766fec521 100644
--- a/core/src/main/java/google/registry/model/domain/DomainCommand.java
+++ b/core/src/main/java/google/registry/model/domain/DomainCommand.java
@@ -72,10 +72,10 @@ public class DomainCommand {
T cloneAndLinkReferences(DateTime now) throws InvalidReferencesException;
}
- /** The fields on "chgType" from {@link "http://tools.ietf.org/html/rfc5731"}. */
+ /** The fields on "chgType" from RFC5731. */
@XmlTransient
- public static class DomainCreateOrChange
- extends ImmutableObject implements ResourceCreateOrChange {
+ public static class DomainCreateOrChange extends ImmutableObject
+ implements ResourceCreateOrChange {
/** The contactId of the registrant who registered this domain. */
@XmlElement(name = "registrant")
@@ -103,19 +103,20 @@ public class DomainCommand {
}
/**
- * A create command for a {@link DomainBase}, mapping "createType" from
- * {@link "http://tools.ietf.org/html/rfc5731"}.
+ * A create command for a {@link DomainBase}, mapping "createType" from RFC5731.
*/
@XmlRootElement
- @XmlType(propOrder = {
- "fullyQualifiedDomainName",
- "period",
- "nameserverFullyQualifiedHostNames",
- "registrantContactId",
- "foreignKeyedDesignatedContacts",
- "authInfo"})
- public static class Create
- extends DomainCreateOrChange
+ @XmlType(
+ propOrder = {
+ "fullyQualifiedDomainName",
+ "period",
+ "nameserverFullyQualifiedHostNames",
+ "registrantContactId",
+ "foreignKeyedDesignatedContacts",
+ "authInfo"
+ })
+ public static class Create extends DomainCreateOrChange
implements CreateOrUpdate {
/** Fully qualified domain name, which serves as a unique identifier for this domain. */
diff --git a/core/src/main/java/google/registry/model/domain/Period.java b/core/src/main/java/google/registry/model/domain/Period.java
index 62621e4ea..9a98f0cc4 100644
--- a/core/src/main/java/google/registry/model/domain/Period.java
+++ b/core/src/main/java/google/registry/model/domain/Period.java
@@ -20,7 +20,7 @@ import javax.xml.bind.annotation.XmlAttribute;
import javax.xml.bind.annotation.XmlEnumValue;
import javax.xml.bind.annotation.XmlValue;
-/** The "periodType" from {@link "http://tools.ietf.org/html/rfc5731"}. */
+/** The "periodType" from RFC5731. */
@Embed
@javax.persistence.Embeddable
public class Period extends ImmutableObject {
diff --git a/core/src/main/java/google/registry/model/domain/fee12/FeeCheckCommandExtensionItemV12.java b/core/src/main/java/google/registry/model/domain/fee12/FeeCheckCommandExtensionItemV12.java
index fe8079914..23c984070 100644
--- a/core/src/main/java/google/registry/model/domain/fee12/FeeCheckCommandExtensionItemV12.java
+++ b/core/src/main/java/google/registry/model/domain/fee12/FeeCheckCommandExtensionItemV12.java
@@ -29,11 +29,13 @@ import org.joda.time.DateTime;
* An individual price check item in version 0.12 of the fee extension on domain check commands.
* Items look like:
*
+ *
*
* In a change from previous versions of the extension, items do not contain domain names; instead,
* the names from the non-extension check element are used.
diff --git a/core/src/main/java/google/registry/model/domain/launch/LaunchNotice.java b/core/src/main/java/google/registry/model/domain/launch/LaunchNotice.java
index 0a278b2a9..df1d2ba3f 100644
--- a/core/src/main/java/google/registry/model/domain/launch/LaunchNotice.java
+++ b/core/src/main/java/google/registry/model/domain/launch/LaunchNotice.java
@@ -95,9 +95,6 @@ public class LaunchNotice extends ImmutableObject {
/**
* Validate the checksum of the notice against the domain label.
- *
- * @throws IllegalArgumentException
- * @throws InvalidChecksumException
*/
public void validate(String domainLabel) throws InvalidChecksumException {
// According to http://tools.ietf.org/html/draft-lozano-tmch-func-spec-08#section-6.3, a TCNID
diff --git a/core/src/main/java/google/registry/model/domain/rgp/GracePeriodStatus.java b/core/src/main/java/google/registry/model/domain/rgp/GracePeriodStatus.java
index 62f836e37..4512c7706 100644
--- a/core/src/main/java/google/registry/model/domain/rgp/GracePeriodStatus.java
+++ b/core/src/main/java/google/registry/model/domain/rgp/GracePeriodStatus.java
@@ -49,9 +49,9 @@ public enum GracePeriodStatus implements EppEnum {
AUTO_RENEW("autoRenewPeriod"),
/**
- * This status value is used to describe a domain for which a command has been received,
- * but the domain has not yet been purged because an opportunity exists to restore the domain and
- * abort the deletion process.
+ * This status value is used to describe a domain for which a <delete> command has been
+ * received, but the domain has not yet been purged because an opportunity exists to restore the
+ * domain and abort the deletion process.
*/
REDEMPTION("redemptionPeriod"),
diff --git a/core/src/main/java/google/registry/model/domain/token/AllocationTokenExtension.java b/core/src/main/java/google/registry/model/domain/token/AllocationTokenExtension.java
index 496053fdb..7295db33c 100644
--- a/core/src/main/java/google/registry/model/domain/token/AllocationTokenExtension.java
+++ b/core/src/main/java/google/registry/model/domain/token/AllocationTokenExtension.java
@@ -25,7 +25,7 @@ import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
* An allocation token extension that may be present on EPP domain commands.
*
* @see the IETF
- * draft for full details.
+ * draft
*/
@XmlRootElement(name = "allocationToken")
public class AllocationTokenExtension extends ImmutableObject implements CommandExtension {
diff --git a/core/src/main/java/google/registry/model/eppcommon/Address.java b/core/src/main/java/google/registry/model/eppcommon/Address.java
index a12e93522..142511f7d 100644
--- a/core/src/main/java/google/registry/model/eppcommon/Address.java
+++ b/core/src/main/java/google/registry/model/eppcommon/Address.java
@@ -44,8 +44,9 @@ import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
/**
* Container for generic street address.
*
- *
This is the "addrType" type from {@link "http://tools.ietf.org/html/rfc5733"}. It also matches
- * the "addrType" type from {@link "http://tools.ietf.org/html/draft-lozano-tmch-smd"}.
+ *
This is the "addrType" type from RFC5733. It
+ * also matches the "addrType" type from Mark and Signed Mark Objects Mapping.
*
* @see google.registry.model.contact.ContactAddress
* @see google.registry.model.mark.MarkAddress
diff --git a/core/src/main/java/google/registry/model/eppcommon/PhoneNumber.java b/core/src/main/java/google/registry/model/eppcommon/PhoneNumber.java
index a516327fb..dbdaeab5d 100644
--- a/core/src/main/java/google/registry/model/eppcommon/PhoneNumber.java
+++ b/core/src/main/java/google/registry/model/eppcommon/PhoneNumber.java
@@ -29,8 +29,9 @@ import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
/**
* Container for generic E164 phone number.
*
- *
This is the "e164" type from {@link "http://tools.ietf.org/html/rfc5733"}. It also matches the
- * "e164Type" type from {@link "http://tools.ietf.org/html/draft-lozano-tmch-smd"}.
+ *
*
diff --git a/core/src/main/java/google/registry/model/eppoutput/Greeting.java b/core/src/main/java/google/registry/model/eppoutput/Greeting.java
index aa522ea69..b03b75475 100644
--- a/core/src/main/java/google/registry/model/eppoutput/Greeting.java
+++ b/core/src/main/java/google/registry/model/eppoutput/Greeting.java
@@ -24,7 +24,7 @@ import javax.xml.bind.annotation.XmlElementWrapper;
import org.joda.time.DateTime;
/**
- * A greeting, defined in {@link "http://tools.ietf.org/html/rfc5730"}.
+ * A greeting, defined in RFC5730.
*
*
It would be nice to make this a singleton, but we need the {@link #svDate} field to stay
* current.
diff --git a/core/src/main/java/google/registry/model/host/HostCommand.java b/core/src/main/java/google/registry/model/host/HostCommand.java
index 6334b790c..a417c4b71 100644
--- a/core/src/main/java/google/registry/model/host/HostCommand.java
+++ b/core/src/main/java/google/registry/model/host/HostCommand.java
@@ -32,7 +32,7 @@ import javax.xml.bind.annotation.XmlType;
/** A collection of {@link HostResource} commands. */
public class HostCommand {
- /** The fields on "chgType" from {@link "http://tools.ietf.org/html/rfc5732"}. */
+ /** The fields on "chgType" from RFC5732. */
@XmlTransient
abstract static class HostCreateOrChange extends AbstractSingleResourceCommand
implements ResourceCreateOrChange {
@@ -42,13 +42,13 @@ public class HostCommand {
}
/**
- * A create command for a {@link HostResource}, mapping "createType" from
- * {@link "http://tools.ietf.org/html/rfc5732"}.
+ * A create command for a {@link HostResource}, mapping "createType" from RFC5732.
*/
- @XmlType(propOrder = {"targetId", "inetAddresses" })
+ @XmlType(propOrder = {"targetId", "inetAddresses"})
@XmlRootElement
- public static class Create
- extends HostCreateOrChange implements ResourceCreateOrChange {
+ public static class Create extends HostCreateOrChange
+ implements ResourceCreateOrChange {
/** IP Addresses for this host. Can be null if this is an external host. */
@XmlElement(name = "addr")
Set inetAddresses;
diff --git a/core/src/main/java/google/registry/model/poll/PollMessage.java b/core/src/main/java/google/registry/model/poll/PollMessage.java
index 6fdfd99ae..c48934005 100644
--- a/core/src/main/java/google/registry/model/poll/PollMessage.java
+++ b/core/src/main/java/google/registry/model/poll/PollMessage.java
@@ -62,7 +62,7 @@ import org.joda.time.DateTime;
*
Poll messages are identified externally by registrars using the format defined in {@link
* PollMessageExternalKeyConverter}.
*
- * @see RFC5730 - EPP - <poll>
+ * @see RFC5730 - EPP - <poll>
* Command
*/
@Entity
diff --git a/core/src/main/java/google/registry/model/registry/label/ReservedList.java b/core/src/main/java/google/registry/model/registry/label/ReservedList.java
index c9b725a2f..3ade8a697 100644
--- a/core/src/main/java/google/registry/model/registry/label/ReservedList.java
+++ b/core/src/main/java/google/registry/model/registry/label/ReservedList.java
@@ -158,8 +158,8 @@ public final class ReservedList
/**
* Gets a ReservedList by name using the caching layer.
*
- * @return An Optional that has a value if a reserved list exists by the given name,
- * or absent if not.
+ * @return An Optional<ReservedList> that has a value if a reserved list exists by the given
+ * name, or absent if not.
* @throws UncheckedExecutionException if some other error occurs while trying to load the
* ReservedList from the cache or Datastore.
*/
diff --git a/core/src/main/java/google/registry/model/reporting/IcannReportingTypes.java b/core/src/main/java/google/registry/model/reporting/IcannReportingTypes.java
index b56f86916..b99c2e557 100644
--- a/core/src/main/java/google/registry/model/reporting/IcannReportingTypes.java
+++ b/core/src/main/java/google/registry/model/reporting/IcannReportingTypes.java
@@ -22,8 +22,8 @@ public final class IcannReportingTypes {
* Represents the set of possible ICANN Monthly Registry Functions Activity Report fields.
*
*
Refer to the
+ * ICANN registry agreement Specification 3 Section 2 for details.
*/
public enum ActivityReportField {
DOMAIN_CHECK("srs-dom-check"),
diff --git a/core/src/main/java/google/registry/persistence/converter/BillingCostTransitionConverter.java b/core/src/main/java/google/registry/persistence/converter/BillingCostTransitionConverter.java
index d54fa2089..a5a637daa 100644
--- a/core/src/main/java/google/registry/persistence/converter/BillingCostTransitionConverter.java
+++ b/core/src/main/java/google/registry/persistence/converter/BillingCostTransitionConverter.java
@@ -15,7 +15,6 @@
package google.registry.persistence.converter;
import avro.shaded.com.google.common.collect.Maps;
-import google.registry.model.common.TimedTransitionProperty;
import google.registry.model.registry.Registry.BillingCostTransition;
import java.util.Map;
import javax.persistence.Converter;
@@ -23,8 +22,8 @@ import org.joda.money.Money;
import org.joda.time.DateTime;
/**
- * JPA converter for storing/retrieving {@link TimedTransitionProperty } objects.
+ * JPA converter for storing/retrieving {@code TimedTransitionProperty}
+ * objects.
*/
@Converter(autoApply = true)
public class BillingCostTransitionConverter
diff --git a/core/src/main/java/google/registry/persistence/converter/CidrAddressBlockListConverter.java b/core/src/main/java/google/registry/persistence/converter/CidrAddressBlockListConverter.java
index 5b3a23a4d..c21da980e 100644
--- a/core/src/main/java/google/registry/persistence/converter/CidrAddressBlockListConverter.java
+++ b/core/src/main/java/google/registry/persistence/converter/CidrAddressBlockListConverter.java
@@ -15,12 +15,11 @@
package google.registry.persistence.converter;
import google.registry.util.CidrAddressBlock;
-import java.util.List;
import javax.persistence.AttributeConverter;
import javax.persistence.Converter;
/**
- * JPA {@link AttributeConverter} for storing/retrieving {@link List} objects.
+ * JPA {@link AttributeConverter} for storing/retrieving {@code List} objects.
* TODO(shicong): Investigate if we can have one converter for any List type
*/
@Converter(autoApply = true)
diff --git a/core/src/main/java/google/registry/persistence/converter/CurrencyToBillingConverter.java b/core/src/main/java/google/registry/persistence/converter/CurrencyToBillingConverter.java
index 72a98f09d..1170c9390 100644
--- a/core/src/main/java/google/registry/persistence/converter/CurrencyToBillingConverter.java
+++ b/core/src/main/java/google/registry/persistence/converter/CurrencyToBillingConverter.java
@@ -21,7 +21,7 @@ import java.util.Map;
import javax.persistence.Converter;
import org.joda.money.CurrencyUnit;
-/** JPA converter for storing/retrieving {@link Map } objects. */
+/** JPA converter for storing/retrieving {@code Map} objects. */
@Converter(autoApply = true)
public class CurrencyToBillingConverter
extends StringMapConverterBase {
diff --git a/core/src/main/java/google/registry/persistence/converter/PostalInfoChoiceListConverter.java b/core/src/main/java/google/registry/persistence/converter/PostalInfoChoiceListConverter.java
index a92236b24..8d5b044ba 100644
--- a/core/src/main/java/google/registry/persistence/converter/PostalInfoChoiceListConverter.java
+++ b/core/src/main/java/google/registry/persistence/converter/PostalInfoChoiceListConverter.java
@@ -16,11 +16,10 @@ package google.registry.persistence.converter;
import google.registry.model.contact.Disclose.PostalInfoChoice;
import google.registry.model.contact.PostalInfo;
-import java.util.List;
import javax.persistence.AttributeConverter;
import javax.persistence.Converter;
-/** JPA {@link AttributeConverter} for storing/retrieving {@link List < PostalInfoChoice >}. */
+/** JPA {@link AttributeConverter} for storing/retrieving {@code List}. */
@Converter(autoApply = true)
public class PostalInfoChoiceListConverter extends StringListConverterBase {
diff --git a/core/src/main/java/google/registry/persistence/converter/RegistrarPocSetConverter.java b/core/src/main/java/google/registry/persistence/converter/RegistrarPocSetConverter.java
index 74a4bbeb8..d7207ec9d 100644
--- a/core/src/main/java/google/registry/persistence/converter/RegistrarPocSetConverter.java
+++ b/core/src/main/java/google/registry/persistence/converter/RegistrarPocSetConverter.java
@@ -15,11 +15,10 @@
package google.registry.persistence.converter;
import google.registry.model.registrar.RegistrarContact.Type;
-import java.util.Set;
import javax.persistence.AttributeConverter;
import javax.persistence.Converter;
-/** JPA {@link AttributeConverter} for storing/retrieving {@link Set}. */
+/** JPA {@link AttributeConverter} for storing/retrieving {@code Set}. */
@Converter(autoApply = true)
public class RegistrarPocSetConverter extends StringSetConverterBase {
@Override
diff --git a/core/src/main/java/google/registry/persistence/converter/StatusValueSetConverter.java b/core/src/main/java/google/registry/persistence/converter/StatusValueSetConverter.java
index 3a0e66b15..7ced2e34b 100644
--- a/core/src/main/java/google/registry/persistence/converter/StatusValueSetConverter.java
+++ b/core/src/main/java/google/registry/persistence/converter/StatusValueSetConverter.java
@@ -15,11 +15,10 @@
package google.registry.persistence.converter;
import google.registry.model.eppcommon.StatusValue;
-import java.util.Set;
import javax.persistence.AttributeConverter;
import javax.persistence.Converter;
-/** JPA {@link AttributeConverter} for storing/retrieving {@link Set}. */
+/** JPA {@link AttributeConverter} for storing/retrieving {@code Set}. */
@Converter(autoApply = true)
public class StatusValueSetConverter extends StringSetConverterBase {
diff --git a/core/src/main/java/google/registry/persistence/converter/StringCollectionDescriptor.java b/core/src/main/java/google/registry/persistence/converter/StringCollectionDescriptor.java
index e3e3c66b1..8ee11e19f 100644
--- a/core/src/main/java/google/registry/persistence/converter/StringCollectionDescriptor.java
+++ b/core/src/main/java/google/registry/persistence/converter/StringCollectionDescriptor.java
@@ -37,7 +37,7 @@ import org.hibernate.type.descriptor.sql.SqlTypeDescriptor;
/**
* The {@link JavaTypeDescriptor} and {@link SqlTypeDescriptor} for {@link StringCollection}.
*
- *
A {@link StringCollection} object is a simple wrapper for a {@link Collection} which
+ *
A {@link StringCollection} object is a simple wrapper for a {@code Collection} which
* can be stored as a string array in the database. The {@link JavaTypeDescriptor} and {@link
* SqlTypeDescriptor} is used by JPA/Hibernate to map between the collection and {@link Array} which
* is the actual type that JDBC uses to read from and write to the database.
diff --git a/core/src/main/java/google/registry/persistence/converter/StringListConverter.java b/core/src/main/java/google/registry/persistence/converter/StringListConverter.java
index ebe056a4c..ced0f4ce7 100644
--- a/core/src/main/java/google/registry/persistence/converter/StringListConverter.java
+++ b/core/src/main/java/google/registry/persistence/converter/StringListConverter.java
@@ -14,11 +14,10 @@
package google.registry.persistence.converter;
-import java.util.List;
import javax.persistence.AttributeConverter;
import javax.persistence.Converter;
-/** JPA {@link AttributeConverter} for storing/retrieving {@link List}. */
+/** JPA {@link AttributeConverter} for storing/retrieving {@code List}. */
@Converter(autoApply = true)
public class StringListConverter extends StringListConverterBase {
diff --git a/core/src/main/java/google/registry/persistence/converter/StringMapDescriptor.java b/core/src/main/java/google/registry/persistence/converter/StringMapDescriptor.java
index 8bae07999..ebaa1256b 100644
--- a/core/src/main/java/google/registry/persistence/converter/StringMapDescriptor.java
+++ b/core/src/main/java/google/registry/persistence/converter/StringMapDescriptor.java
@@ -36,7 +36,7 @@ import org.hibernate.type.descriptor.sql.SqlTypeDescriptor;
/**
* The {@link JavaTypeDescriptor} and {@link SqlTypeDescriptor} for {@link StringMap}.
*
- *
A {@link StringMap} object is a simple wrapper for a {@link Map } which can be
+ *
A {@link StringMap} object is a simple wrapper for a {@code Map} which can be
* stored in a column with data type of hstore in the database. The {@link JavaTypeDescriptor} and
* {@link SqlTypeDescriptor} is used by JPA/Hibernate to map between the map and hstore which is the
* actual type that JDBC uses to read from and write to the database.
@@ -156,7 +156,7 @@ public class StringMapDescriptor extends AbstractTypeDescriptor
};
}
- /** A simple wrapper class for {@link Map}. */
+ /** A simple wrapper class for {@code Map}. */
public static class StringMap {
private Map map;
@@ -169,7 +169,7 @@ public class StringMapDescriptor extends AbstractTypeDescriptor
return new StringMap(ImmutableMap.copyOf(map));
}
- /** Returns the underlying {@link Map} object. */
+ /** Returns the underlying {@code Map} object. */
public Map getMap() {
return map;
}
diff --git a/core/src/main/java/google/registry/persistence/converter/StringSetConverter.java b/core/src/main/java/google/registry/persistence/converter/StringSetConverter.java
index 81b8ce3b0..9f608500c 100644
--- a/core/src/main/java/google/registry/persistence/converter/StringSetConverter.java
+++ b/core/src/main/java/google/registry/persistence/converter/StringSetConverter.java
@@ -14,11 +14,10 @@
package google.registry.persistence.converter;
-import java.util.Set;
import javax.persistence.AttributeConverter;
import javax.persistence.Converter;
-/** JPA {@link AttributeConverter} for storing/retrieving {@link Set}. */
+/** JPA {@link AttributeConverter} for storing/retrieving {@code Set}. */
@Converter(autoApply = true)
public class StringSetConverter extends StringSetConverterBase {
diff --git a/core/src/main/java/google/registry/persistence/converter/TldStateTransitionConverter.java b/core/src/main/java/google/registry/persistence/converter/TldStateTransitionConverter.java
index aef4344a1..bfc5796cc 100644
--- a/core/src/main/java/google/registry/persistence/converter/TldStateTransitionConverter.java
+++ b/core/src/main/java/google/registry/persistence/converter/TldStateTransitionConverter.java
@@ -15,7 +15,6 @@
package google.registry.persistence.converter;
import com.google.common.collect.Maps;
-import google.registry.model.common.TimedTransitionProperty;
import google.registry.model.registry.Registry.TldState;
import google.registry.model.registry.Registry.TldStateTransition;
import java.util.Map;
@@ -23,7 +22,7 @@ import javax.persistence.Converter;
import org.joda.time.DateTime;
/**
- * JPA converter for storing/retrieving {@link TimedTransitionProperty} objects.
*/
@Converter(autoApply = true)
diff --git a/core/src/main/java/google/registry/persistence/transaction/TransactionManager.java b/core/src/main/java/google/registry/persistence/transaction/TransactionManager.java
index e8081eb08..5c49b6a4a 100644
--- a/core/src/main/java/google/registry/persistence/transaction/TransactionManager.java
+++ b/core/src/main/java/google/registry/persistence/transaction/TransactionManager.java
@@ -17,6 +17,7 @@ package google.registry.persistence.transaction;
import com.google.common.collect.ImmutableCollection;
import com.google.common.collect.ImmutableList;
import google.registry.persistence.VKey;
+import java.util.NoSuchElementException;
import java.util.Optional;
import java.util.function.Supplier;
import org.joda.time.DateTime;
diff --git a/core/src/main/java/google/registry/rdap/RdapDomainSearchAction.java b/core/src/main/java/google/registry/rdap/RdapDomainSearchAction.java
index 433379690..39c1ba946 100644
--- a/core/src/main/java/google/registry/rdap/RdapDomainSearchAction.java
+++ b/core/src/main/java/google/registry/rdap/RdapDomainSearchAction.java
@@ -61,10 +61,9 @@ import javax.inject.Inject;
* (RDAP) Query Format
* @see RFC 7483: JSON Responses for the Registration
* Data Access Protocol (RDAP)
- *
- * TODO(guyben):This isn't required by the RDAP Technical Implementation Guide, and hence should be
- * deleted, at least until it's actually required.
*/
+// TODO: This isn't required by the RDAP Technical Implementation Guide, and hence should be
+// deleted, at least until it's actually required.
@Action(
service = Action.Service.PUBAPI,
path = "/rdap/domains",
diff --git a/core/src/main/java/google/registry/rdap/RdapEntitySearchAction.java b/core/src/main/java/google/registry/rdap/RdapEntitySearchAction.java
index 7acaebd20..b464675f8 100644
--- a/core/src/main/java/google/registry/rdap/RdapEntitySearchAction.java
+++ b/core/src/main/java/google/registry/rdap/RdapEntitySearchAction.java
@@ -72,10 +72,9 @@ import javax.inject.Inject;
* (RDAP) Query Format
* @see RFC 7483: JSON Responses for the Registration
* Data Access Protocol (RDAP)
- *
- * TODO(guyben):This isn't required by the RDAP Technical Implementation Guide, and hence should be
- * deleted, at least until it's actually required.
*/
+// TODO: This isn't required by the RDAP Technical Implementation Guide, and hence should be
+// deleted, at least until it's actually required.
@Action(
service = Action.Service.PUBAPI,
path = "/rdap/entities",
diff --git a/core/src/main/java/google/registry/rdap/RdapSearchActionBase.java b/core/src/main/java/google/registry/rdap/RdapSearchActionBase.java
index 66b1a42bf..4392ba085 100644
--- a/core/src/main/java/google/registry/rdap/RdapSearchActionBase.java
+++ b/core/src/main/java/google/registry/rdap/RdapSearchActionBase.java
@@ -221,10 +221,9 @@ public abstract class RdapSearchActionBase extends RdapActionBase {
*
*
This version handles a list of parameter values, all associated with the same name.
*
- *
Example: If the original parameters were "a=w&a=x&b=y&c=z", and this method is called with
- * parameterName = "b" and parameterValues of "p" and "q", the result will be
- * "a=w&a=x&c=z&b=p&b=q". The new values of parameter "b" replace the old ones.
- *
+ *
Example: If the original parameters were "a=w&a=x&b=y&c=z", and this method is
+ * called with parameterName = "b" and parameterValues of "p" and "q", the result will be
+ * "a=w&a=x&c=z&b=p&b=q". The new values of parameter "b" replace the old ones.
*/
protected String getRequestUrlWithExtraParameter(
String parameterName, List parameterValues) {
diff --git a/core/src/main/java/google/registry/rde/Ghostryde.java b/core/src/main/java/google/registry/rde/Ghostryde.java
index 2660473d8..9787bba9d 100644
--- a/core/src/main/java/google/registry/rde/Ghostryde.java
+++ b/core/src/main/java/google/registry/rde/Ghostryde.java
@@ -120,9 +120,6 @@ public final class Ghostryde {
/**
* Creates a ghostryde file from an in-memory byte array.
- *
- * @throws PGPException
- * @throws IOException
*/
public static byte[] encode(byte[] data, PGPPublicKey key)
throws IOException, PGPException {
@@ -137,9 +134,6 @@ public final class Ghostryde {
/**
* Deciphers a ghostryde file from an in-memory byte array.
- *
- * @throws PGPException
- * @throws IOException
*/
public static byte[] decode(byte[] data, PGPPrivateKey key)
throws IOException, PGPException {
diff --git a/core/src/main/java/google/registry/rde/RdeUtil.java b/core/src/main/java/google/registry/rde/RdeUtil.java
index 1b510d58d..72233a04d 100644
--- a/core/src/main/java/google/registry/rde/RdeUtil.java
+++ b/core/src/main/java/google/registry/rde/RdeUtil.java
@@ -46,9 +46,6 @@ public final class RdeUtil {
/**
* Look at some bytes from {@code xmlInput} to ensure it appears to be a FULL XML deposit and
* then use a regular expression to extract the watermark timestamp which is returned.
- *
- * @throws IOException
- * @throws XmlException
*/
public static DateTime peekWatermark(BufferedInputStream xmlInput)
throws IOException, XmlException {
diff --git a/core/src/main/java/google/registry/reporting/billing/BillingEmailUtils.java b/core/src/main/java/google/registry/reporting/billing/BillingEmailUtils.java
index 7bc40a40c..f74fa9268 100644
--- a/core/src/main/java/google/registry/reporting/billing/BillingEmailUtils.java
+++ b/core/src/main/java/google/registry/reporting/billing/BillingEmailUtils.java
@@ -34,7 +34,7 @@ import javax.mail.internet.InternetAddress;
import org.joda.time.YearMonth;
/** Utility functions for sending emails involving monthly invoices. */
-class BillingEmailUtils {
+public class BillingEmailUtils {
private final SendEmailService emailService;
private final YearMonth yearMonth;
diff --git a/core/src/main/java/google/registry/reporting/billing/GenerateInvoicesAction.java b/core/src/main/java/google/registry/reporting/billing/GenerateInvoicesAction.java
index 5f2e34db6..41866c35d 100644
--- a/core/src/main/java/google/registry/reporting/billing/GenerateInvoicesAction.java
+++ b/core/src/main/java/google/registry/reporting/billing/GenerateInvoicesAction.java
@@ -43,8 +43,8 @@ import org.joda.time.YearMonth;
* PublishInvoicesAction} to publish the subsequent output.
*
*
This action runs the {@link google.registry.beam.invoicing.InvoicingPipeline} beam template,
- * staged at gs://-beam/templates/invoicing. The pipeline then generates invoices for the
- * month and stores them on GCS.
+ * staged at gs://<projectId>-beam/templates/invoicing. The pipeline then generates invoices
+ * for the month and stores them on GCS.
*/
@Action(
service = Action.Service.BACKEND,
diff --git a/core/src/main/java/google/registry/reporting/spec11/PublishSpec11ReportAction.java b/core/src/main/java/google/registry/reporting/spec11/PublishSpec11ReportAction.java
index 384f6fc21..f7cabe2e3 100644
--- a/core/src/main/java/google/registry/reporting/spec11/PublishSpec11ReportAction.java
+++ b/core/src/main/java/google/registry/reporting/spec11/PublishSpec11ReportAction.java
@@ -53,7 +53,7 @@ import org.json.JSONException;
* pipeline accordingly.
*
*
This calls {@link Spec11EmailUtils#emailSpec11Reports(LocalDate, SoyTemplateInfo, String,
- * Set)} on success or {@link Spec11EmailUtils#sendAlertEmail(String, String)} on failure.
+ * ImmutableSet)} on success or {@link Spec11EmailUtils#sendAlertEmail(String, String)} on failure.
*/
@Action(
service = Action.Service.BACKEND,
diff --git a/core/src/main/java/google/registry/request/RequestParameters.java b/core/src/main/java/google/registry/request/RequestParameters.java
index 91372b42a..698f7e030 100644
--- a/core/src/main/java/google/registry/request/RequestParameters.java
+++ b/core/src/main/java/google/registry/request/RequestParameters.java
@@ -45,9 +45,9 @@ public final class RequestParameters {
*
*
*
/foo?bar=hello → hello
- *
/foo?bar=hello&bar=there → hello
+ *
/foo?bar=hello&bar=there → hello
*
/foo?bar= → 400 error (empty)
- *
/foo?bar=&bar=there → 400 error (empty)
+ *
/foo?bar=&bar=there → 400 error (empty)
*
/foo → 400 error (absent)
*
*
diff --git a/core/src/main/java/google/registry/schema/cursor/CursorDao.java b/core/src/main/java/google/registry/schema/cursor/CursorDao.java
index 09e86d255..496d275ce 100644
--- a/core/src/main/java/google/registry/schema/cursor/CursorDao.java
+++ b/core/src/main/java/google/registry/schema/cursor/CursorDao.java
@@ -59,7 +59,7 @@ public class CursorDao {
.transact(() -> jpaTm().getEntityManager().find(Cursor.class, new CursorId(type, scope)));
}
- /** If no scope is given, use {@link Cursor.GLOBAL} as the scope. */
+ /** If no scope is given, use {@link Cursor#GLOBAL} as the scope. */
public static Cursor load(CursorType type) {
checkNotNull(type, "The type of the cursor to load must be specified");
return load(type, Cursor.GLOBAL);
diff --git a/core/src/main/java/google/registry/schema/domain/RegistryLock.java b/core/src/main/java/google/registry/schema/domain/RegistryLock.java
index e20134fa3..fdbccb35c 100644
--- a/core/src/main/java/google/registry/schema/domain/RegistryLock.java
+++ b/core/src/main/java/google/registry/schema/domain/RegistryLock.java
@@ -214,13 +214,13 @@ public final class RegistryLock extends ImmutableObject implements Buildable, Sq
return lockCompletionTimestamp != null && unlockCompletionTimestamp == null;
}
- /** Returns true iff the lock was requested >= 1 hour ago and has not been verified. */
+ /** Returns true iff the lock was requested >= 1 hour ago and has not been verified. */
public boolean isLockRequestExpired(DateTime now) {
return !getLockCompletionTimestamp().isPresent()
&& isBeforeOrAt(getLockRequestTimestamp(), now.minusHours(1));
}
- /** Returns true iff the unlock was requested >= 1 hour ago and has not been verified. */
+ /** Returns true iff the unlock was requested >= 1 hour ago and has not been verified. */
public boolean isUnlockRequestExpired(DateTime now) {
Optional unlockRequestTimestamp = getUnlockRequestTimestamp();
return unlockRequestTimestamp.isPresent()
diff --git a/core/src/main/java/google/registry/storage/drive/DriveConnection.java b/core/src/main/java/google/registry/storage/drive/DriveConnection.java
index a9e9f9db7..b10864ddc 100644
--- a/core/src/main/java/google/registry/storage/drive/DriveConnection.java
+++ b/core/src/main/java/google/registry/storage/drive/DriveConnection.java
@@ -42,7 +42,7 @@ public class DriveConnection {
/**
* Creates a folder with the given parent.
*
- * @returns the folder id.
+ * @return the folder id.
*/
public String createFolder(String title, String parentFolderId) throws IOException {
return drive.files()
@@ -58,7 +58,7 @@ public class DriveConnection {
* existing file is the desired behavior, use {@link #createOrUpdateFile(String, MediaType,
* String, byte[])} instead.
*
- * @returns the file id.
+ * @return the file id.
*/
public String createFile(String title, MediaType mimeType, String parentFolderId, byte[] bytes)
throws IOException {
@@ -76,13 +76,10 @@ public class DriveConnection {
*
* @throws IllegalStateException if multiple files with that name exist in the given folder.
* @throws IOException if communication with Google Drive fails for any reason.
- * @returns the file id.
+ * @return the file id.
*/
public String createOrUpdateFile(
- String title,
- MediaType mimeType,
- String parentFolderId,
- byte[] bytes) throws IOException {
+ String title, MediaType mimeType, String parentFolderId, byte[] bytes) throws IOException {
List existingFiles = listFiles(parentFolderId, String.format("title = '%s'", title));
if (existingFiles.size() > 1) {
throw new IllegalStateException(String.format(
@@ -97,10 +94,10 @@ public class DriveConnection {
}
/**
- * Updates the file with the given id in place, setting the title, content, and mime type to
- * the newly specified values.
+ * Updates the file with the given id in place, setting the title, content, and mime type to the
+ * newly specified values.
*
- * @returns the file id.
+ * @return the file id.
*/
public String updateFile(String fileId, String title, MediaType mimeType, byte[] bytes)
throws IOException {
diff --git a/core/src/main/java/google/registry/tmch/TmchXmlSignature.java b/core/src/main/java/google/registry/tmch/TmchXmlSignature.java
index 4209d6804..6094178be 100644
--- a/core/src/main/java/google/registry/tmch/TmchXmlSignature.java
+++ b/core/src/main/java/google/registry/tmch/TmchXmlSignature.java
@@ -77,10 +77,6 @@ public class TmchXmlSignature {
*
* @throws GeneralSecurityException for unsupported protocols, certs not signed by the TMCH,
* incorrect keys, and for invalid, old, not-yet-valid or revoked certificates.
- * @throws IOException
- * @throws MarshalException
- * @throws ParserConfigurationException
- * @throws SAXException
*/
public void verify(byte[] smdXml)
throws GeneralSecurityException, IOException, MarshalException, ParserConfigurationException,
diff --git a/core/src/main/java/google/registry/tools/LevelDbLogReader.java b/core/src/main/java/google/registry/tools/LevelDbLogReader.java
index c88e55c82..0a0dad9b5 100644
--- a/core/src/main/java/google/registry/tools/LevelDbLogReader.java
+++ b/core/src/main/java/google/registry/tools/LevelDbLogReader.java
@@ -36,17 +36,16 @@ import java.util.Optional;
*
*
The input source is automatically closed when all data have been read.
*
- *
See log_format.md for the
- * leveldb log format specification.
- *
*
See log_format.md
*/
public final class LevelDbLogReader implements Iterator {
diff --git a/core/src/main/java/google/registry/ui/forms/FormField.java b/core/src/main/java/google/registry/ui/forms/FormField.java
index 1d3878e44..225ec2325 100644
--- a/core/src/main/java/google/registry/ui/forms/FormField.java
+++ b/core/src/main/java/google/registry/ui/forms/FormField.java
@@ -44,43 +44,45 @@ import javax.annotation.concurrent.Immutable;
* Declarative functional fluent form field converter / validator.
*
*
This class is responsible for converting arbitrary data, sent to us by the web browser, into
- * validated data structures that the server-side code can use. For example:
+ * validated data structures that the server-side code can use. For example:
*
- * private enum Gender { MALE, FEMALE }
+ *
+ * public Person makePerson(Map params) {
+ * Person.Builder person = new Person.Builder();
+ * for (String name : NAME_FIELD.extract(params).asSet()) {
+ * person.setName(name);
+ * }
+ * for (Gender name : GENDER_FIELD.extract(params).asSet()) {
+ * person.setGender(name);
+ * }
+ * return person.build();
+ * }
+ * }
*
*
This class provides full type-safetyif and only if you statically initialize
* your FormField objects and write a unit test that causes the class to be loaded.
*
*
Exception Handling
*
- *
When values passed to {@link #convert} or {@link #extract} don't meet the contract,
- * {@link FormFieldException} will be thrown, which provides the field name and a short error
- * message that's safe to pass along to the client.
+ *
When values passed to {@link #convert} or {@link #extract} don't meet the contract, {@link
+ * FormFieldException} will be thrown, which provides the field name and a short error message
+ * that's safe to pass along to the client.
*
- *
You can safely throw {@code FormFieldException} from within your validator functions, and
- * the field name will automatically be propagated into the exception object for you.
+ *
You can safely throw {@code FormFieldException} from within your validator functions, and the
+ * field name will automatically be propagated into the exception object for you.
*
*
In situations when you're validating lists or maps, you'll end up with a hierarchical field
* naming structure. For example, if you were validating a list of maps, an error generated by the
@@ -92,23 +94,25 @@ import javax.annotation.concurrent.Immutable;
*
You should never assign a partially constructed {@code FormField.Builder} to a variable or
* constant. Instead, you should use {@link #asBuilder()} or {@link #asBuilderNamed(String)}.
*
- *
Here is an example of how you might go about defining library definitions:
+ *
Here is an example of how you might go about defining library definitions:
*
- * final class FormFields {
- * private static final FormField COUNTRY_CODE =
- * FormField.named("countryCode")
- * .range(Range.singleton(2))
- * .uppercased()
- * .in(ImmutableSet.copyOf(Locale.getISOCountries()))
- * .build();
- * }
+ *
{@code
+ * final class FormFields {
+ * private static final FormField COUNTRY_CODE =
+ * FormField.named("countryCode")
+ * .range(Range.singleton(2))
+ * .uppercased()
+ * .in(ImmutableSet.copyOf(Locale.getISOCountries()))
+ * .build();
+ * }
*
- * final class Form {
- * private static final FormField COUNTRY_CODE_FIELD =
- * FormFields.COUNTRY_CODE.asBuilder()
- * .required()
- * .build();
- * }
+ * final class Form {
+ * private static final FormField COUNTRY_CODE_FIELD =
+ * FormFields.COUNTRY_CODE.asBuilder()
+ * .required()
+ * .build();
+ * }
+ * }
*
* @param input value type
* @param output value type
diff --git a/core/src/main/java/google/registry/ui/server/SendEmailUtils.java b/core/src/main/java/google/registry/ui/server/SendEmailUtils.java
index 98ec745fe..08f970405 100644
--- a/core/src/main/java/google/registry/ui/server/SendEmailUtils.java
+++ b/core/src/main/java/google/registry/ui/server/SendEmailUtils.java
@@ -105,9 +105,10 @@ public class SendEmailUtils {
}
}
- /** Sends an email from Nomulus to the registrarChangesNotificationEmailAddresses.
+ /**
+ * Sends an email from Nomulus to the registrarChangesNotificationEmailAddresses.
*
- *
See {@link #sendEmail(String, String, ImmutableList)}.
+ *
You can send AJAX requests to our WHOIS API from your very own website using the
* following embed code:
*
- *
- *
- *
- *
- *
- *
- *
- *
+ * }
+ * function OnClickSearchButton() {
+ * var query = document.getElementById('query-input').value;
+ * var req = new XMLHttpRequest();
+ * req.onreadystatechange = function() {
+ * if (req.readyState == 4) {
+ * var results = document.getElementById('whois-results');
+ * results.textContent = req.responseText;
+ * }
+ * };
+ * req.open('GET', WHOIS_API_URL + escape(query), true);
+ * req.send();
+ * }
+ * document.getElementById('search-button').onclick = OnClickSearchButton;
+ * document.getElementById('query-input').onkeypress = OnKeyPressQueryInput;
+ * })();
+ *
+ * }
*
* @see WhoisAction
*/
diff --git a/core/src/main/resources/google/registry/ui/soy/registrar/OteSetupConsole.soy b/core/src/main/resources/google/registry/ui/soy/registrar/OteSetupConsole.soy
index 03da925ca..f2a1af31d 100644
--- a/core/src/main/resources/google/registry/ui/soy/registrar/OteSetupConsole.soy
+++ b/core/src/main/resources/google/registry/ui/soy/registrar/OteSetupConsole.soy
@@ -55,7 +55,7 @@
{template .resultSuccess}
{@param baseClientId: string} /** The base clientId used for the OT&E setup. */
{@param contactEmail: string} /** The contact's email added to the registrars. */
- {@param clientIdToTld: map} /** The created registrars->TLD mapping. */
+ {@param clientIdToTld: map} /** The created registrars->TLD mapping. */
{@param password: string} /** The password given for the created registrars. */
{@param username: string} /** Arbitrary username to display. */
{@param logoutUrl: string} /** Generated URL for logging out of Google. */
diff --git a/prober/src/main/java/google/registry/monitoring/blackbox/ProbingSequence.java b/prober/src/main/java/google/registry/monitoring/blackbox/ProbingSequence.java
index 43977acef..6c5048121 100644
--- a/prober/src/main/java/google/registry/monitoring/blackbox/ProbingSequence.java
+++ b/prober/src/main/java/google/registry/monitoring/blackbox/ProbingSequence.java
@@ -33,8 +33,8 @@ import io.netty.channel.EventLoopGroup;
*
Inherits from {@link CircularList}, with element type of {@link ProbingStep} as the manner in
* which the sequence is carried out is similar to the {@link CircularList}. However, the {@link
* Builder} of {@link ProbingSequence} override {@link CircularList.AbstractBuilder} allowing for
- * more customized flows, that are looped, but not necessarily entirely circular. Example: first ->
- * second -> third -> fourth -> second -> third -> fourth -> second -> ...
+ * more customized flows, that are looped, but not necessarily entirely circular. Example: first
+ * -> second -> third -> fourth -> second -> third -> fourth -> second ->...
*
*
Created with {@link Builder} where we specify {@link EventLoopGroup}, {@link AbstractChannel}
* class type, then sequentially add in the {@link ProbingStep.Builder}s in order and mark which one
diff --git a/prober/src/main/java/google/registry/monitoring/blackbox/connection/ProbingAction.java b/prober/src/main/java/google/registry/monitoring/blackbox/connection/ProbingAction.java
index c9c9740e7..e3dac553f 100644
--- a/prober/src/main/java/google/registry/monitoring/blackbox/connection/ProbingAction.java
+++ b/prober/src/main/java/google/registry/monitoring/blackbox/connection/ProbingAction.java
@@ -47,9 +47,8 @@ import org.joda.time.Duration;
/**
* AutoValue class that represents action generated by {@link ProbingStep}
*
- *
Inherits from {@link Callable}, as it has can be called to perform its
- * specified task, and return the {@link ChannelFuture} that will be informed when the task has been
- * completed
+ *
Inherits from {@link Callable}, as it has can be called to perform its specified task, and
+ * return the {@link ChannelFuture} that will be informed when the task has been completed
*
*
Is an immutable class, as it is comprised of the tools necessary for making a specific type of
* connection. It goes hand in hand with {@link Protocol}, which specifies the kind of overall
diff --git a/prober/src/main/java/google/registry/monitoring/blackbox/handler/ActionHandler.java b/prober/src/main/java/google/registry/monitoring/blackbox/handler/ActionHandler.java
index a9e083ad1..8456e5de0 100644
--- a/prober/src/main/java/google/registry/monitoring/blackbox/handler/ActionHandler.java
+++ b/prober/src/main/java/google/registry/monitoring/blackbox/handler/ActionHandler.java
@@ -27,8 +27,8 @@ import io.netty.channel.SimpleChannelInboundHandler;
/**
* Superclass of all {@link io.netty.channel.ChannelHandler}s placed at end of channel pipeline
*
- *
{@link ActionHandler} inherits from {@link SimpleChannelInboundHandler},
- * as it should only be passed in messages that implement the {@link InboundMessageType} interface.
+ *
{@link ActionHandler} inherits from {@link SimpleChannelInboundHandler}, as it should only be
+ * passed in messages that implement the {@link InboundMessageType} interface.
*
*
The {@link ActionHandler} skeleton exists for a few main purposes. First, it returns a {@link
* ChannelPromise}, which informs the {@link ProbingAction} in charge that a response has been read.
diff --git a/prober/src/main/java/google/registry/monitoring/blackbox/handler/WebWhoisActionHandler.java b/prober/src/main/java/google/registry/monitoring/blackbox/handler/WebWhoisActionHandler.java
index 80b96e1e9..893a420ba 100644
--- a/prober/src/main/java/google/registry/monitoring/blackbox/handler/WebWhoisActionHandler.java
+++ b/prober/src/main/java/google/registry/monitoring/blackbox/handler/WebWhoisActionHandler.java
@@ -40,7 +40,7 @@ import org.joda.time.Duration;
*
*
Main purpose is to verify {@link HttpResponseMessage} received is valid. If the response
* implies a redirection it follows the redirection until either an Error Response is received, or
- * {@link HttpResponseStatus.OK} is received
+ * {@link HttpResponseStatus#OK} is received
*/
public class WebWhoisActionHandler extends ActionHandler {
diff --git a/prober/src/main/java/google/registry/monitoring/blackbox/message/EppMessage.java b/prober/src/main/java/google/registry/monitoring/blackbox/message/EppMessage.java
index d598d6ad1..cb8092bdf 100644
--- a/prober/src/main/java/google/registry/monitoring/blackbox/message/EppMessage.java
+++ b/prober/src/main/java/google/registry/monitoring/blackbox/message/EppMessage.java
@@ -209,8 +209,7 @@ public class EppMessage {
* @param xml the XML Document containing the EPP reponse to verify
* @param expressions a list of XPath expressions to query the document with.
* @param validate a boolean flag to control if schema validation occurs (useful for testing)
- * @throws IOException if InputStream throws one
- * @throws EppClientException if the EPP response cannot be read, parsed, or doesn't containing
+ * @throws FailureException if the EPP response cannot be read, parsed, or doesn't containing
* matching data specified in expressions
*/
protected static void verifyEppResponse(Document xml, List expressions, boolean validate)
@@ -309,7 +308,7 @@ public class EppMessage {
*
* @param responseBuffer the byte array to transform
* @return the resulting Document
- * @throws EppClientException if the transform fails
+ * @throws FailureException if the transform fails
*/
public static Document byteArrayToXmlDoc(byte[] responseBuffer) throws FailureException {
Document xml;
diff --git a/prober/src/main/java/google/registry/monitoring/blackbox/message/EppRequestMessage.java b/prober/src/main/java/google/registry/monitoring/blackbox/message/EppRequestMessage.java
index abfa3f4e0..5a42079b2 100644
--- a/prober/src/main/java/google/registry/monitoring/blackbox/message/EppRequestMessage.java
+++ b/prober/src/main/java/google/registry/monitoring/blackbox/message/EppRequestMessage.java
@@ -117,7 +117,7 @@ public class EppRequestMessage extends EppMessage implements OutboundMessageType
*
* @return the {@link ByteBuf} instance that stores the bytes representing the requisite EPP
* Request
- * @throws EppClientException- On the occasion that the prober can't appropriately convert the EPP
+ * @throws EppClientException On the occasion that the prober can't appropriately convert the EPP
* XML document to a {@link ByteBuf}, the blame falls on the prober, not the server, so it
* throws an {@link EppClientException}, which is a subclass of the {@link
* UndeterminedStateException}.
diff --git a/proxy/src/main/java/google/registry/proxy/handler/EppServiceHandler.java b/proxy/src/main/java/google/registry/proxy/handler/EppServiceHandler.java
index a7a33588f..20a2bdf18 100644
--- a/proxy/src/main/java/google/registry/proxy/handler/EppServiceHandler.java
+++ b/proxy/src/main/java/google/registry/proxy/handler/EppServiceHandler.java
@@ -76,18 +76,19 @@ public class EppServiceHandler extends HttpsRelayServiceHandler {
}
/**
- * Write to the server after SSL handshake completion to request
+ * Write {@code } to the server after SSL handshake completion to request {@code
+ * }
*
- *
When handling EPP over TCP, the server should issue a to the client when a
- * connection is established. Nomulus app however does not automatically sends the upon
- * connection. The proxy therefore first sends a to registry to request a
- * response.
+ *
When handling EPP over TCP, the server should issue a {@code } to the client when
+ * a connection is established. Nomulus app however does not automatically sends the {@code
+ * } upon connection. The proxy therefore first sends a {@code } to registry to
+ * request a {@code } response.
*
- *
The request is only sent after SSL handshake is completed between the client and the
- * proxy so that the client certificate hash is available, which is needed to communicate with the
- * server. Because {@link SslHandshakeCompletionEvent} is triggered before any calls to {@link
- * #channelRead} are scheduled by the event loop executor, the request is guaranteed to be
- * the first message sent to the server.
+ *
Note: This code was pilfered from {@link "com.google.net.base.LocalHost"} which was
+ *
Note: This code was pilfered from {@code com.google.net.base.LocalHost} which was
* never made open source.
*
* @throws UnknownHostException if the local host could not be resolved into an address
diff --git a/util/src/main/java/google/registry/util/NonFinalForTesting.java b/util/src/main/java/google/registry/util/NonFinalForTesting.java
index 0f961b070..3aa93164f 100644
--- a/util/src/main/java/google/registry/util/NonFinalForTesting.java
+++ b/util/src/main/java/google/registry/util/NonFinalForTesting.java
@@ -32,8 +32,6 @@ import java.lang.annotation.Target;
*
*
When this annotation is used on methods, it means that you should not override the method
* and it's only non-{@code final} so it can be mocked.
- *
- * @see google.registry.testing.InjectRule
*/
@Documented
@Retention(SOURCE)
diff --git a/util/src/main/java/google/registry/util/PosixTarHeader.java b/util/src/main/java/google/registry/util/PosixTarHeader.java
index e346870f8..510052317 100644
--- a/util/src/main/java/google/registry/util/PosixTarHeader.java
+++ b/util/src/main/java/google/registry/util/PosixTarHeader.java
@@ -416,8 +416,6 @@ public final class PosixTarHeader {
*
The modified time is always stored as a UNIX timestamp which is seconds since the UNIX
* epoch in UTC time. Because {@link DateTime} has millisecond precision, it gets rounded down
* (floor) to the second.
- *
- * @throws NullPointerException
*/
public Builder setMtime(DateTime mtime) {
checkNotNull(mtime, "mtime");
diff --git a/util/src/main/java/google/registry/util/Retrier.java b/util/src/main/java/google/registry/util/Retrier.java
index 3f1ae1efc..305a064fe 100644
--- a/util/src/main/java/google/registry/util/Retrier.java
+++ b/util/src/main/java/google/registry/util/Retrier.java
@@ -68,7 +68,7 @@ public class Retrier implements Serializable {
* original exception is propagated through to the caller. Checked exceptions are wrapped in a
* RuntimeException, while unchecked exceptions are propagated as-is.
*
- * @return the value returned by the {@link Callable}.
+ * @return the value returned by the {@link Callable}.
*/
public V callWithRetry(Callable callable, Predicate isRetryable) {
return callWithRetry(callable, LOGGING_FAILURE_REPORTER, isRetryable);
@@ -85,7 +85,7 @@ public class Retrier implements Serializable {
*
*
Uses a default FailureReporter that logs before each retry.
*
- * @return the value returned by the {@link Callable}.
+ * @return the value returned by the {@link Callable}.
*/
@SafeVarargs
public final V callWithRetry(
@@ -117,7 +117,7 @@ public class Retrier implements Serializable {
* exception is propagated through to the caller. Checked exceptions are wrapped in a
* RuntimeException, while unchecked exceptions are propagated as-is.
*
- * @return the value returned by the {@link Callable}.
+ * @return the value returned by the {@link Callable}.
*/
@SafeVarargs
public final V callWithRetry(
diff --git a/util/src/main/java/google/registry/util/TypeUtils.java b/util/src/main/java/google/registry/util/TypeUtils.java
index 4d5658571..86e26a5a2 100644
--- a/util/src/main/java/google/registry/util/TypeUtils.java
+++ b/util/src/main/java/google/registry/util/TypeUtils.java
@@ -30,7 +30,7 @@ import java.util.function.Predicate;
/** Utilities methods related to reflection. */
public class TypeUtils {
- /** A {@TypeToken} that removes an ugly cast in the common cases of getting a known type. */
+ /** A {@code TypeToken} that removes an ugly cast in the common cases of getting a known type. */
public static class TypeInstantiator extends TypeToken {
protected TypeInstantiator(Class> declaringClass) {
super(declaringClass);
@@ -94,9 +94,7 @@ public class TypeUtils {
return castedClass;
}
- /**
- * Aggregates enum "values" in a typesafe enum pattern into a string->field map.
- */
+ /** Aggregates enum "values" in a typesafe enum pattern into a string->field map. */
@SuppressWarnings("unchecked")
public static ImmutableMap getTypesafeEnumMapping(Class clazz) {
ImmutableMap.Builder builder = new ImmutableMap.Builder<>();