google-nomulus/java/google/registry
mcilwain 047bbf186e Extract premium pricing to a PricingEngine interface
This refactors the existing premium list functionality into the new
class StaticPremiumListPricingEngine, which implements PricingEngine.
A backfill @OnLoad is provided to default existing Registry entities
into the static implementation.  For now there is just this one
implementation.  Dagger map multibinding is used to generate the total
set of allowed pricing engines, and allows other parties to plug in
their own implementations.

The pricing engine is a required field on the Registry object.  If you
don't want a particular Registry to actually have a premium list, then
use the static pricing engine but don't actually set a premium list.

A subsequent CL will refactor the Key<PremiumList> field on the
Registry entity class to be handled solely by the
StaticPremiumListPricingEngine implementation.  Going forward, all
configuration and implementation details that are specific to a given
pricing engine should be handled by that pricing engine, and not as
fields on the Registry object.
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=121850176
2016-05-13 23:19:40 -04:00
..
backup Rename Java packages to use the .google TLD 2016-05-13 20:04:42 -04:00
bigquery Rename Java packages to use the .google TLD 2016-05-13 20:04:42 -04:00
braintree Rename Java packages to use the .google TLD 2016-05-13 20:04:42 -04:00
config Rename Java packages to use the .google TLD 2016-05-13 20:04:42 -04:00
cron Rename Java packages to use the .google TLD 2016-05-13 20:04:42 -04:00
dns Rename DomainNameUtils method to getTldFromSld 2016-05-13 23:19:02 -04:00
eclipse Rename Java packages to use the .google TLD 2016-05-13 20:04:42 -04:00
env Rename Java packages to use the .google TLD 2016-05-13 20:04:42 -04:00
export Rename Java packages to use the .google TLD 2016-05-13 20:04:42 -04:00
flows Extract premium pricing to a PricingEngine interface 2016-05-13 23:19:40 -04:00
gcs Rename Java packages to use the .google TLD 2016-05-13 20:04:42 -04:00
groups Rename Java packages to use the .google TLD 2016-05-13 20:04:42 -04:00
idn Rename Java packages to use the .google TLD 2016-05-13 20:04:42 -04:00
keyring/api Rename Java packages to use the .google TLD 2016-05-13 20:04:42 -04:00
loadtest Rename Java packages to use the .google TLD 2016-05-13 20:04:42 -04:00
mapreduce Rename Java packages to use the .google TLD 2016-05-13 20:04:42 -04:00
model Extract premium pricing to a PricingEngine interface 2016-05-13 23:19:40 -04:00
module Rename Java packages to use the .google TLD 2016-05-13 20:04:42 -04:00
monitoring/whitebox Extract premium pricing to a PricingEngine interface 2016-05-13 23:19:40 -04:00
pricing Extract premium pricing to a PricingEngine interface 2016-05-13 23:19:40 -04:00
rdap Prefer re2 over java.util.regex 2016-05-13 23:16:07 -04:00
rde Prefer re2 over java.util.regex 2016-05-13 23:16:07 -04:00
request Rename Java packages to use the .google TLD 2016-05-13 20:04:42 -04:00
security Rename Java packages to use the .google TLD 2016-05-13 20:04:42 -04:00
storage/drive Rename Java packages to use the .google TLD 2016-05-13 20:04:42 -04:00
tldconfig/idn Prefer re2 over java.util.regex 2016-05-13 23:16:07 -04:00
tmch Prefer re2 over java.util.regex 2016-05-13 23:16:07 -04:00
tools Extract premium pricing to a PricingEngine interface 2016-05-13 23:19:40 -04:00
ui Rename DomainNameUtils method to getTldFromSld 2016-05-13 23:19:02 -04:00
util Rename DomainNameUtils method to getTldFromSld 2016-05-13 23:19:02 -04:00
whois Rename Java packages to use the .google TLD 2016-05-13 20:04:42 -04:00
xjc Rename Java packages to use the .google TLD 2016-05-13 20:04:42 -04:00
xml Prefer re2 over java.util.regex 2016-05-13 23:16:07 -04:00
BUILD Make new source tree visible from internal release files 2016-05-13 23:16:01 -04:00
repositories.bzl Extract premium pricing to a PricingEngine interface 2016-05-13 23:19:40 -04:00