mirror of
https://github.com/google/nomulus.git
synced 2025-05-12 22:38:16 +02:00
Inject flows with a nested ternary rather than a map
This is more efficient (we were constructing all the providers and the map anew for every flow) and prettier. ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=125479328
This commit is contained in:
parent
317e92d88c
commit
0d47534246
2 changed files with 131 additions and 135 deletions
|
@ -14,22 +14,152 @@
|
|||
|
||||
package google.registry.flows;
|
||||
|
||||
import dagger.Module;
|
||||
import dagger.Provides;
|
||||
import dagger.Subcomponent;
|
||||
|
||||
import google.registry.flows.contact.ContactCheckFlow;
|
||||
import google.registry.flows.contact.ContactCreateFlow;
|
||||
import google.registry.flows.contact.ContactDeleteFlow;
|
||||
import google.registry.flows.contact.ContactInfoFlow;
|
||||
import google.registry.flows.contact.ContactTransferApproveFlow;
|
||||
import google.registry.flows.contact.ContactTransferCancelFlow;
|
||||
import google.registry.flows.contact.ContactTransferQueryFlow;
|
||||
import google.registry.flows.contact.ContactTransferRejectFlow;
|
||||
import google.registry.flows.contact.ContactTransferRequestFlow;
|
||||
import google.registry.flows.contact.ContactUpdateFlow;
|
||||
import google.registry.flows.domain.ClaimsCheckFlow;
|
||||
import google.registry.flows.domain.DomainAllocateFlow;
|
||||
import google.registry.flows.domain.DomainApplicationCreateFlow;
|
||||
import google.registry.flows.domain.DomainApplicationDeleteFlow;
|
||||
import google.registry.flows.domain.DomainApplicationInfoFlow;
|
||||
import google.registry.flows.domain.DomainApplicationUpdateFlow;
|
||||
import google.registry.flows.domain.DomainCheckFlow;
|
||||
import google.registry.flows.domain.DomainCreateFlow;
|
||||
import google.registry.flows.domain.DomainDeleteFlow;
|
||||
import google.registry.flows.domain.DomainInfoFlow;
|
||||
import google.registry.flows.domain.DomainRenewFlow;
|
||||
import google.registry.flows.domain.DomainRestoreRequestFlow;
|
||||
import google.registry.flows.domain.DomainTransferApproveFlow;
|
||||
import google.registry.flows.domain.DomainTransferCancelFlow;
|
||||
import google.registry.flows.domain.DomainTransferQueryFlow;
|
||||
import google.registry.flows.domain.DomainTransferRejectFlow;
|
||||
import google.registry.flows.domain.DomainTransferRequestFlow;
|
||||
import google.registry.flows.domain.DomainUpdateFlow;
|
||||
import google.registry.flows.host.HostCheckFlow;
|
||||
import google.registry.flows.host.HostCreateFlow;
|
||||
import google.registry.flows.host.HostDeleteFlow;
|
||||
import google.registry.flows.host.HostInfoFlow;
|
||||
import google.registry.flows.host.HostUpdateFlow;
|
||||
import google.registry.flows.poll.PollAckFlow;
|
||||
import google.registry.flows.poll.PollRequestFlow;
|
||||
import google.registry.flows.session.HelloFlow;
|
||||
import google.registry.flows.session.LoginFlow;
|
||||
import google.registry.flows.session.LogoutFlow;
|
||||
import google.registry.model.eppcommon.Trid;
|
||||
|
||||
/** Dagger component for flow classes. */
|
||||
@FlowScope
|
||||
@Subcomponent(modules = FlowModule.class)
|
||||
@Subcomponent(modules = {
|
||||
FlowModule.class,
|
||||
FlowComponent.FlowComponentModule.class})
|
||||
public interface FlowComponent {
|
||||
|
||||
Trid trid();
|
||||
FlowRunner flowRunner();
|
||||
|
||||
// Flows must be added here and in FlowComponentModule below.
|
||||
ContactCheckFlow contactCheckFlow();
|
||||
ContactCreateFlow contactCreateFlow();
|
||||
ContactDeleteFlow contactDeleteFlow();
|
||||
ContactInfoFlow contactInfoFlow();
|
||||
ContactTransferApproveFlow contactTransferApproveFlow();
|
||||
ContactTransferCancelFlow contactTransferCancelFlow();
|
||||
ContactTransferQueryFlow contactTransferQueryFlow();
|
||||
ContactTransferRejectFlow contactTransferRejectFlow();
|
||||
ContactTransferRequestFlow contactTransferRequestFlow();
|
||||
ContactUpdateFlow contactUpdateFlow();
|
||||
ClaimsCheckFlow claimsCheckFlow();
|
||||
DomainAllocateFlow domainAllocateFlow();
|
||||
DomainApplicationCreateFlow domainApplicationCreateFlow();
|
||||
DomainApplicationDeleteFlow domainApplicationDeleteFlow();
|
||||
DomainApplicationInfoFlow domainApplicationInfoFlow();
|
||||
DomainApplicationUpdateFlow domainApplicationUpdateFlow();
|
||||
DomainCheckFlow domainCheckFlow();
|
||||
DomainCreateFlow domainCreateFlow();
|
||||
DomainDeleteFlow domainDeleteFlow();
|
||||
DomainInfoFlow domainInfoFlow();
|
||||
DomainRenewFlow domainRenewFlow();
|
||||
DomainRestoreRequestFlow domainRestoreRequestFlow();
|
||||
DomainTransferApproveFlow domainTransferApproveFlow();
|
||||
DomainTransferCancelFlow domainTransferCancelFlow();
|
||||
DomainTransferQueryFlow domainTransferQueryFlow();
|
||||
DomainTransferRejectFlow domainTransferRejectFlow();
|
||||
DomainTransferRequestFlow domainTransferRequestFlow();
|
||||
DomainUpdateFlow domainUpdateFlow();
|
||||
HostCheckFlow hostCheckFlow();
|
||||
HostCreateFlow hostCreateFlow();
|
||||
HostDeleteFlow hostDeleteFlow();
|
||||
HostInfoFlow hostInfoFlow();
|
||||
HostUpdateFlow hostUpdateFlow();
|
||||
PollAckFlow pollAckFlow();
|
||||
PollRequestFlow pollRequestFlow();
|
||||
HelloFlow helloFlow();
|
||||
LoginFlow loginFlow();
|
||||
LogoutFlow logoutFlow();
|
||||
|
||||
/** Dagger-implemented builder for this subcomponent. */
|
||||
@Subcomponent.Builder
|
||||
interface Builder {
|
||||
Builder flowModule(FlowModule flowModule);
|
||||
FlowComponent build();
|
||||
}
|
||||
|
||||
/** Module to delegate injection of a desired {@link Flow}. */
|
||||
@Module
|
||||
static class FlowComponentModule {
|
||||
@Provides
|
||||
@FlowScope
|
||||
static Flow provideFlow(FlowComponent flows, Class<? extends Flow> clazz) {
|
||||
return clazz.equals(ContactCheckFlow.class) ? flows.contactCheckFlow()
|
||||
: clazz.equals(ContactCreateFlow.class) ? flows.contactCreateFlow()
|
||||
: clazz.equals(ContactDeleteFlow.class) ? flows.contactDeleteFlow()
|
||||
: clazz.equals(ContactInfoFlow.class) ? flows.contactInfoFlow()
|
||||
: clazz.equals(ContactTransferApproveFlow.class) ? flows.contactTransferApproveFlow()
|
||||
: clazz.equals(ContactTransferCancelFlow.class) ? flows.contactTransferCancelFlow()
|
||||
: clazz.equals(ContactTransferQueryFlow.class) ? flows.contactTransferQueryFlow()
|
||||
: clazz.equals(ContactTransferRejectFlow.class) ? flows.contactTransferRejectFlow()
|
||||
: clazz.equals(ContactTransferRequestFlow.class) ? flows.contactTransferRequestFlow()
|
||||
: clazz.equals(ContactUpdateFlow.class) ? flows.contactUpdateFlow()
|
||||
: clazz.equals(ClaimsCheckFlow.class) ? flows.claimsCheckFlow()
|
||||
: clazz.equals(DomainAllocateFlow.class) ? flows.domainAllocateFlow()
|
||||
: clazz.equals(DomainApplicationCreateFlow.class) ? flows.domainApplicationCreateFlow()
|
||||
: clazz.equals(DomainApplicationDeleteFlow.class) ? flows.domainApplicationDeleteFlow()
|
||||
: clazz.equals(DomainApplicationInfoFlow.class) ? flows.domainApplicationInfoFlow()
|
||||
: clazz.equals(DomainApplicationUpdateFlow.class) ? flows.domainApplicationUpdateFlow()
|
||||
: clazz.equals(DomainCheckFlow.class) ? flows.domainCheckFlow()
|
||||
: clazz.equals(DomainCreateFlow.class) ? flows.domainCreateFlow()
|
||||
: clazz.equals(DomainDeleteFlow.class) ? flows.domainDeleteFlow()
|
||||
: clazz.equals(DomainInfoFlow.class) ? flows.domainInfoFlow()
|
||||
: clazz.equals(DomainRenewFlow.class) ? flows.domainRenewFlow()
|
||||
: clazz.equals(DomainRestoreRequestFlow.class) ? flows.domainRestoreRequestFlow()
|
||||
: clazz.equals(DomainTransferApproveFlow.class) ? flows.domainTransferApproveFlow()
|
||||
: clazz.equals(DomainTransferCancelFlow.class) ? flows.domainTransferCancelFlow()
|
||||
: clazz.equals(DomainTransferQueryFlow.class) ? flows.domainTransferQueryFlow()
|
||||
: clazz.equals(DomainTransferRejectFlow.class) ? flows.domainTransferRejectFlow()
|
||||
: clazz.equals(DomainTransferRequestFlow.class) ? flows.domainTransferRequestFlow()
|
||||
: clazz.equals(DomainUpdateFlow.class) ? flows.domainUpdateFlow()
|
||||
: clazz.equals(HostCheckFlow.class) ? flows.hostCheckFlow()
|
||||
: clazz.equals(HostCreateFlow.class) ? flows.hostCreateFlow()
|
||||
: clazz.equals(HostDeleteFlow.class) ? flows.hostDeleteFlow()
|
||||
: clazz.equals(HostInfoFlow.class) ? flows.hostInfoFlow()
|
||||
: clazz.equals(HostUpdateFlow.class) ? flows.hostUpdateFlow()
|
||||
: clazz.equals(PollAckFlow.class) ? flows.pollAckFlow()
|
||||
: clazz.equals(PollRequestFlow.class) ? flows.pollRequestFlow()
|
||||
: clazz.equals(HelloFlow.class) ? flows.helloFlow()
|
||||
: clazz.equals(LoginFlow.class) ? flows.loginFlow()
|
||||
: clazz.equals(LogoutFlow.class) ? flows.logoutFlow()
|
||||
: null;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue