diff --git a/java/google/registry/flows/domain/DomainFlowUtils.java b/java/google/registry/flows/domain/DomainFlowUtils.java index 7709321cf..7b0aab7e7 100644 --- a/java/google/registry/flows/domain/DomainFlowUtils.java +++ b/java/google/registry/flows/domain/DomainFlowUtils.java @@ -79,7 +79,7 @@ import google.registry.model.mark.Mark; import google.registry.model.mark.ProtectedMark; import google.registry.model.mark.Trademark; import google.registry.model.poll.PollMessage; -import google.registry.model.pricing.PricingEngine.DomainPrices; +import google.registry.model.pricing.PremiumPricingEngine.DomainPrices; import google.registry.model.registrar.Registrar; import google.registry.model.registry.Registry; import google.registry.model.registry.Registry.TldState; diff --git a/java/google/registry/model/pricing/PricingEngine.java b/java/google/registry/model/pricing/PremiumPricingEngine.java similarity index 79% rename from java/google/registry/model/pricing/PricingEngine.java rename to java/google/registry/model/pricing/PremiumPricingEngine.java index 3524f72e9..1bd2c683f 100644 --- a/java/google/registry/model/pricing/PricingEngine.java +++ b/java/google/registry/model/pricing/PremiumPricingEngine.java @@ -19,8 +19,13 @@ import com.google.common.base.Optional; import org.joda.money.Money; import org.joda.time.DateTime; -/** A plugin interface for premium pricing engines. */ -public interface PricingEngine { +/** + * A plugin interface for premium pricing engines. + * + *
A premium pricing engine is responsible solely for determining whether a given label is + * premium or not, and if it is, how much it should cost. + */ +public interface PremiumPricingEngine { /** * Returns the prices for the given fully qualified domain name at the given time. @@ -31,9 +36,9 @@ public interface PricingEngine { public DomainPrices getDomainPrices(String fullyQualifiedDomainName, DateTime priceTime); /** - * A class containing information on prices for a specific domain name. + * A class containing information on premium prices for a specific domain name. * - *
Any implementation of PricingEngine is responsible for determining all of these. + *
Any implementation of PremiumPricingEngine is responsible for determining all of these.
*/
public static class DomainPrices {
@@ -42,20 +47,17 @@ public interface PricingEngine {
// create, renew, restore, and transfer.
private Money createCost;
private Money renewCost;
- private Optional This is primarily used for EAP registration fees.
- */
- public Optional To add a new pricing engine, create a new class that implements {@link PricingEngine}, and add
- * a module that provides an instance of PricingEngine with a To add a new pricing engine, create a new class that implements {@link PremiumPricingEngine},
+ * and add a module that provides an instance of PricingEngine with a
+ * PricingEngineClassKey
- * annotation with the class of the implementation and also @Provides @IntoMap
- * annotations.
+ * PricingEngineClassKey annotation with the class of the implementation and also
+ * @Provides @IntoMap annotations.
*/
@Module
public class PricingModule {
/** The annotation used for PricingEngine implementation keys. */
@MapKey
- @interface PricingEngineClassKey {
- Class extends PricingEngine> value();
+ @interface PremiumPricingEngineClassKey {
+ Class extends PremiumPricingEngine> value();
}
@Provides @IntoMap
- @PricingEngineClassKey(StaticPremiumListPricingEngine.class)
- static PricingEngine provideStaticPremiumList(StaticPremiumListPricingEngine engine) {
+ @PremiumPricingEngineClassKey(StaticPremiumListPricingEngine.class)
+ static PremiumPricingEngine provideStaticPremiumList(StaticPremiumListPricingEngine engine) {
return engine;
}
}
diff --git a/java/google/registry/tools/CreateOrUpdateTldCommand.java b/java/google/registry/tools/CreateOrUpdateTldCommand.java
index edf59e060..cfcabdc43 100644
--- a/java/google/registry/tools/CreateOrUpdateTldCommand.java
+++ b/java/google/registry/tools/CreateOrUpdateTldCommand.java
@@ -245,7 +245,7 @@ abstract class CreateOrUpdateTldCommand extends MutatingCommand {
oldRegistry == null
? new Registry.Builder()
.setTldStr(tld)
- .setPricingEngineClass(StaticPremiumListPricingEngine.class)
+ .setPremiumPricingEngineClass(StaticPremiumListPricingEngine.class)
: oldRegistry.asBuilder();
if (escrow != null) {
diff --git a/javatests/google/registry/model/registry/label/PremiumListTest.java b/javatests/google/registry/model/registry/label/PremiumListTest.java
index 6e4e4e92c..a84f5037f 100644
--- a/javatests/google/registry/model/registry/label/PremiumListTest.java
+++ b/javatests/google/registry/model/registry/label/PremiumListTest.java
@@ -74,7 +74,7 @@ public class PremiumListTest {
persistResource(
new Registry.Builder()
.setTldStr("ghost")
- .setPricingEngineClass(StaticPremiumListPricingEngine.class)
+ .setPremiumPricingEngineClass(StaticPremiumListPricingEngine.class)
.build());
assertThat(Registry.get("ghost").getPremiumList()).isNull();
assertThat(getPremiumPrice("blah", "ghost")).isAbsent();
diff --git a/javatests/google/registry/pricing/PricingEngineProxyTest.java b/javatests/google/registry/pricing/PricingEngineProxyTest.java
index caa68edc3..d23915cca 100644
--- a/javatests/google/registry/pricing/PricingEngineProxyTest.java
+++ b/javatests/google/registry/pricing/PricingEngineProxyTest.java
@@ -26,7 +26,7 @@ import static org.joda.money.CurrencyUnit.USD;
import com.google.common.collect.ImmutableSortedMap;
-import google.registry.model.pricing.PricingEngine;
+import google.registry.model.pricing.PremiumPricingEngine;
import google.registry.model.registry.Registry;
import google.registry.model.registry.label.PremiumList;
import google.registry.testing.AppEngineRule;
@@ -147,7 +147,7 @@ public class PricingEngineProxyTest {
public void testFailure_cantLoadPricingEngine() throws Exception {
createTld("example");
persistResource(
- Registry.get("example").asBuilder().setPricingEngineClass(FakePricingEngine.class).build());
+ Registry.get("example").asBuilder().setPremiumPricingEngineClass(FakePricingEngine.class).build());
thrown.expect(
IllegalStateException.class,
String.format(
@@ -156,5 +156,5 @@ public class PricingEngineProxyTest {
getDomainCreateCost("bad.example", clock.nowUtc(), 1);
}
- private abstract static class FakePricingEngine implements PricingEngine {}
+ private abstract static class FakePricingEngine implements PremiumPricingEngine {}
}
diff --git a/javatests/google/registry/testing/DatastoreHelper.java b/javatests/google/registry/testing/DatastoreHelper.java
index e2214f7ba..fc3b037af 100644
--- a/javatests/google/registry/testing/DatastoreHelper.java
+++ b/javatests/google/registry/testing/DatastoreHelper.java
@@ -235,7 +235,7 @@ public class DatastoreHelper {
.setServerStatusChangeBillingCost(Money.of(USD, 19))
// Always set a default premium list. Tests that don't want it can delete it.
.setPremiumList(persistPremiumList(tld, DEFAULT_PREMIUM_LIST_CONTENTS.get()))
- .setPricingEngineClass(StaticPremiumListPricingEngine.class)
+ .setPremiumPricingEngineClass(StaticPremiumListPricingEngine.class)
.build();
}