mirror of
https://github.com/google/nomulus.git
synced 2025-05-23 04:39:35 +02:00
Simplify the fee extensions.
I added shared base classes to all of the Fee extension types that make it possible to fully ignore the version in the flows. (You ask for a FeeCreateCommandExtension, for example, and you get one without having to worry about which). This is an improvement over the old code that asked you to provide a list of possible fee extensions and then ask for the first one in preference order. As part of this I was able to make the Fee implementation a bit simpler as well. ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=137992390
This commit is contained in:
parent
2dd703ef3a
commit
8256120b3a
66 changed files with 786 additions and 954 deletions
|
@ -14,20 +14,24 @@
|
|||
|
||||
package google.registry.model.domain.fee;
|
||||
|
||||
/**
|
||||
* Interface for individual fee extension items in Check responses. These are derived from the more
|
||||
* general query items (which cover Info responses as well), but may also contain a domain name,
|
||||
* depending on the version of the fee extension.
|
||||
*/
|
||||
public interface FeeCheckResponseExtensionItem extends FeeQueryResponseExtensionItem {
|
||||
import javax.xml.bind.annotation.XmlTransient;
|
||||
|
||||
/** Builder for {@link FeeCheckResponseExtensionItem}. */
|
||||
public interface Builder extends FeeQueryResponseExtensionItem.Builder {
|
||||
/**
|
||||
* Abstract class for individual fee extension items in Check responses. These are derived from the
|
||||
* more general query items (which cover Info responses as well), but may also contain a domain
|
||||
* name, depending on the version of the fee extension.
|
||||
*/
|
||||
@XmlTransient
|
||||
public abstract class FeeCheckResponseExtensionItem extends FeeQueryResponseExtensionItem {
|
||||
|
||||
/** Abstract builder for {@link FeeCheckResponseExtensionItem}. */
|
||||
public abstract static class Builder<T extends FeeCheckResponseExtensionItem>
|
||||
extends FeeQueryResponseExtensionItem.Builder<T, Builder<T>> {
|
||||
|
||||
/** The name associated with the item. Has no effect if domain names are not supported. */
|
||||
public Builder setDomainNameIfSupported(String name);
|
||||
|
||||
public FeeCheckResponseExtensionItem build();
|
||||
public Builder<T> setDomainNameIfSupported(@SuppressWarnings("unused") String name) {
|
||||
return this; // Default impl is a noop.
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue