google-nomulus/java/google/registry/model
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
..
annotations Rename Java packages to use the .google TLD 2016-05-13 20:04:42 -04:00
billing Rename Java packages to use the .google TLD 2016-05-13 20:04:42 -04:00
common Add global-scoped (and other type-scoped) cursors 2016-05-13 23:19:34 -04:00
contact Rename Java packages to use the .google TLD 2016-05-13 20:04:42 -04:00
domain Rename DomainNameUtils method to getTldFromSld 2016-05-13 23:19:02 -04:00
eppcommon Rename Java packages to use the .google TLD 2016-05-13 20:04:42 -04:00
eppinput Rename Java packages to use the .google TLD 2016-05-13 20:04:42 -04:00
eppoutput 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
host Rename Java packages to use the .google TLD 2016-05-13 20:04:42 -04:00
index Rename Java packages to use the .google TLD 2016-05-13 20:04:42 -04:00
mark Rename Java packages to use the .google TLD 2016-05-13 20:04:42 -04:00
ofy Rename Java packages to use the .google TLD 2016-05-13 20:04:42 -04:00
poll Rename Java packages to use the .google TLD 2016-05-13 20:04:42 -04:00
pricing Extract premium pricing to a PricingEngine interface 2016-05-13 23:19:40 -04:00
rde Rename Java packages to use the .google TLD 2016-05-13 20:04:42 -04:00
registrar Prefer re2 over java.util.regex 2016-05-13 23:16:07 -04:00
registry Extract premium pricing to a PricingEngine interface 2016-05-13 23:19:40 -04:00
reporting Rename Java packages to use the .google TLD 2016-05-13 20:04:42 -04:00
server Rename Java packages to use the .google TLD 2016-05-13 20:04:42 -04:00
smd Rename Java packages to use the .google TLD 2016-05-13 20:04:42 -04:00
tmch Rename Java packages to use the .google TLD 2016-05-13 20:04:42 -04:00
transfer Rename Java packages to use the .google TLD 2016-05-13 20:04:42 -04:00
translators Rename Java packages to use the .google TLD 2016-05-13 20:04:42 -04:00
AbstractFieldExposer.java Rename Java packages to use the .google TLD 2016-05-13 20:04:42 -04:00
BackupGroupRoot.java Rename Java packages to use the .google TLD 2016-05-13 20:04:42 -04:00
BUILD Prefer re2 over java.util.regex 2016-05-13 23:16:07 -04:00
Buildable.java Rename Java packages to use the .google TLD 2016-05-13 20:04:42 -04:00
CreateAutoTimestamp.java Rename Java packages to use the .google TLD 2016-05-13 20:04:42 -04:00
EntityClasses.java Add global-scoped (and other type-scoped) cursors 2016-05-13 23:19:34 -04:00
EppResource.java Rename Java packages to use the .google TLD 2016-05-13 20:04:42 -04:00
EppResourceUtils.java Rename Java packages to use the .google TLD 2016-05-13 20:04:42 -04:00
generate_field_exposer.sh Rename Java packages to use the .google TLD 2016-05-13 20:04:42 -04:00
generate_field_exposer_registry.sh Rename Java packages to use the .google TLD 2016-05-13 20:04:42 -04:00
ImmutableObject.java Rename Java packages to use the .google TLD 2016-05-13 20:04:42 -04:00
Jsonifiable.java Rename Java packages to use the .google TLD 2016-05-13 20:04:42 -04:00
JsonMapBuilder.java Rename Java packages to use the .google TLD 2016-05-13 20:04:42 -04:00
ModelUtils.java Rename Java packages to use the .google TLD 2016-05-13 20:04:42 -04:00
package-info.java Rename Java packages to use the .google TLD 2016-05-13 20:04:42 -04:00
RoidSuffixes.java Rename Java packages to use the .google TLD 2016-05-13 20:04:42 -04:00
SchemaVersion.java Update deprecated Predicates.assignableFrom 2016-05-13 23:19:13 -04:00
UpdateAutoTimestamp.java Rename Java packages to use the .google TLD 2016-05-13 20:04:42 -04:00