public static final class ContractProvider.Builder
extends java.lang.Object
Modifier and Type | Field and Description |
---|---|
private java.util.Map<java.lang.Class<?>,java.lang.Integer> |
contracts |
private int |
defaultPriority |
private static ContractProvider |
EMPTY_MODEL |
private java.util.Set<java.lang.Class<? extends java.lang.annotation.Annotation>> |
nameBindings |
private java.lang.Class<? extends java.lang.annotation.Annotation> |
scope |
Modifier | Constructor and Description |
---|---|
private |
Builder() |
private |
Builder(ContractProvider original) |
Modifier and Type | Method and Description |
---|---|
ContractProvider.Builder |
addContract(java.lang.Class<?> contract)
Add a new provided contract.
|
ContractProvider.Builder |
addContract(java.lang.Class<?> contract,
int priority)
Add a new provided contract with priority.
|
ContractProvider.Builder |
addContracts(java.util.Collection<java.lang.Class<?>> contracts)
Add a new provided contracts.
|
ContractProvider.Builder |
addContracts(java.util.Map<java.lang.Class<?>,java.lang.Integer> contracts)
Add a new provided contracts.
|
ContractProvider.Builder |
addNameBinding(java.lang.Class<? extends java.lang.annotation.Annotation> binding)
Add a new contract provider name binding.
|
ContractProvider |
build()
Build a new contract provider model.
|
ContractProvider.Builder |
defaultPriority(int defaultPriority)
Set the contract default provider priority.
|
java.util.Map<java.lang.Class<?>,java.lang.Integer> |
getContracts()
Get the map of contracts for the built contract provider model.
|
int |
getDefaultPriority()
Get the default priority of the built contract provider model.
|
java.util.Set<java.lang.Class<? extends java.lang.annotation.Annotation>> |
getNameBindings()
Get name bindings of the built contract provider model.
|
java.lang.Class<? extends java.lang.annotation.Annotation> |
getScope()
Get the scope of the built contract provider model.
|
ContractProvider.Builder |
scope(java.lang.Class<? extends java.lang.annotation.Annotation> scope)
Change contract provider scope.
|
private static final ContractProvider EMPTY_MODEL
private java.lang.Class<? extends java.lang.annotation.Annotation> scope
private java.util.Map<java.lang.Class<?>,java.lang.Integer> contracts
private int defaultPriority
private java.util.Set<java.lang.Class<? extends java.lang.annotation.Annotation>> nameBindings
private Builder()
private Builder(ContractProvider original)
public ContractProvider.Builder scope(java.lang.Class<? extends java.lang.annotation.Annotation> scope)
Singleton
.)scope
- contract provider scope.public ContractProvider.Builder addContract(java.lang.Class<?> contract)
contract
- additional provided contract.public ContractProvider.Builder addContract(java.lang.Class<?> contract, int priority)
contract
- additional provided contract.priority
- priority for the contract.public ContractProvider.Builder addContracts(java.util.Map<java.lang.Class<?>,java.lang.Integer> contracts)
contracts
- additional provided contracts.public ContractProvider.Builder addContracts(java.util.Collection<java.lang.Class<?>> contracts)
contracts
- additional provided contracts.public ContractProvider.Builder defaultPriority(int defaultPriority)
ContractProvider.NO_PRIORITY
)defaultPriority
- default contract provider priority.public ContractProvider.Builder addNameBinding(java.lang.Class<? extends java.lang.annotation.Annotation> binding)
binding
- name binding.public java.lang.Class<? extends java.lang.annotation.Annotation> getScope()
null
if no scope
has been set explicitly.public java.util.Map<java.lang.Class<?>,java.lang.Integer> getContracts()
public int getDefaultPriority()
public java.util.Set<java.lang.Class<? extends java.lang.annotation.Annotation>> getNameBindings()
public ContractProvider build()