Class ServiceLocator


  • public class ServiceLocator
    extends Object
    Provides a Service Locator for looking up service classes.

    New services can be created based on the service definition settings.

    • Constructor Detail

      • ServiceLocator

        public ServiceLocator()
    • Method Detail

      • invalidateCache

        public static void invalidateCache()
        Invalidate the service definition cache.
        Since:
        4.3.2
      • getServiceForDefinition

        public static Object getServiceForDefinition​(ServiceDefinition serviceDefinition)
        Return a new service instance for the given service definition.
        Parameters:
        serviceDefinition - the service definition
        Returns:
        a new service instance for the given service definition
      • getServiceForName

        @Deprecated
        public static Object getServiceForName​(String serviceName)
        Deprecated.
        use ServiceDefinitionDao#getServiceForClientNameAndVersion(Long, String, Integer) or ServiceDefinitionDao.getClientService(Long, String, Integer) instead
        Return a new service instance for the given service definition name. This will retrieve the service version marked as the current version.
        Parameters:
        serviceName - the name of the service definition
        Returns:
        a new service instance for the given service definition name, or null if no service with the given name exists
      • getServiceForNameAndVersion

        @Deprecated
        public static Object getServiceForNameAndVersion​(String serviceName,
                                                         int versionNumber)
        Deprecated.
        use ServiceDefinitionDao#getClientServiceWithFallback(Long, String, Integer) or ServiceDefinitionDao.getClientService(Long, String, Integer) along with getServiceForDefinition(ServiceDefinition) instead
        Return a new service instance for the given service definition name and version number.
        Parameters:
        serviceName - the name of the service definition (required)
        versionNumber - the version number (required)
        Returns:
        a new service instance for the given service definition name, or null if no service with the given name exists
        Since:
        4.3.0
      • getServiceListForType

        public static List getServiceListForType​(String serviceType)
        Return a new service instance for the given service definition type.
        Parameters:
        serviceType - the type of the service definition
        Returns:
        a new service instance for the given service definition type
      • getServiceForDefinitionOrType

        public static Object getServiceForDefinitionOrType​(ServiceDefinition serviceDefinition,
                                                           String serviceType)
        Return a new service instance for the given service definition or type. If the service definition is not specified the default service definition for the service type will be used.
        Parameters:
        serviceDefinition - the service definition, can be null
        serviceType - the service type, cannot be null
        Returns:
        a new service instance for the given definition
      • getServiceForTypeDefault

        public static Object getServiceForTypeDefault​(String serviceType)
        Return a new service instance for the given default service type.
        Parameters:
        serviceType - the service type, cannot be null
        Returns:
        a new service instance for the given default service type
      • hasServiceForTypeDefault

        public static boolean hasServiceForTypeDefault​(String serviceType)
        Return true if there is a ServiceDefinition for the given service type.
        Parameters:
        serviceType - the service name to lookup
        Returns:
        true if there is a ServiceDefinition for the given service type
      • getEmailService

        public static IEmailService getEmailService()
        Return the default email service.
        Returns:
        the default email service
        Since:
        4.3.2
      • getEmailService

        public static IEmailService getEmailService​(Submission submission)
        Return the email service for the submission. TM looks for the email service at the form version level, then the client level, then the global service.
        Parameters:
        submission - the submission (required)
        Returns:
        the email service instance, or null if no email service was found
        Since:
        4.3.2
      • getPaymentGatewayService

        public static IPaymentGatewayService getPaymentGatewayService​(Client client)
        Returns the payment gateway service configured for the client
        Parameters:
        client - the client to look up the payment service for (required)
        Returns:
        the client payment service, or null if no client payment service defined
        Since:
        4.0.0
      • getHostedPaymentServiceForClient

        public static IHostedPaymentService getHostedPaymentServiceForClient​(Client client)
        Returns the hosted payment service configured for the client
        Parameters:
        client - the client to look up the payment service for
        Returns:
        the client hosted payment service, or null if no client payment service is defined or it is not a hosted service
      • getJobController

        public static IJobController getJobController​(Job job)
        Return the Job Controller service for the given job, or null if controller service not defined.
        Parameters:
        job - the job instance (required)
        Returns:
        the Job Controller service for the given job, or null if controller service not defined
        Since:
        4.0.0
      • getJobController

        public static IJobController getJobController​(TemplateVersion templateVersion)
        Return the Job Controller service for the given form template version, or null if service not associated.
        Parameters:
        templateVersion - the form template version (required)
        Returns:
        the Job Controller service for the given form template version, or null if service not associated
        Since:
        4.0.0
      • getFormVersionSelectorServiceForForm

        public static IFormVersionSelectorService getFormVersionSelectorServiceForForm​(Form form)
        Returns the form version selector service configured for the form
        Parameters:
        form - the form (required)
        Returns:
        the form version selector service for the form, or if not set, the default form version selector service
        Since:
        4.1.0
      • getReceiptNumberServiceForForm

        public static IReceiptNumberService getReceiptNumberServiceForForm​(Form form)
        Returns the receipt number service configured for the form
        Parameters:
        form - the form (required)
        Returns:
        the receipt number service for the form, or if not set, the default receipt number service
      • getTrackingNumberServiceForForm

        public static ITrackingNumberService getTrackingNumberServiceForForm​(Form form)
        Returns the tracking number service configured for the form
        Parameters:
        form - the form (required)
        Returns:
        the tracking number service for the form, or if not set, the default tracking number service
        Since:
        4.0.0
      • getComposerHtmlFormRenderService

        public static IComposerHtmlFormRenderService getComposerHtmlFormRenderService​(TemplateVersion version)
        Return the HTML form render service for the given form template version.
        Parameters:
        version - the form template version (required)
        Returns:
        the default Composer HTML form render service.
        Since:
        18.5.0
      • getComposerHtmlFormRenderService

        public static IComposerHtmlFormRenderService getComposerHtmlFormRenderService()
        Return the Composer HTML form render service.
        Returns:
        the default Composer HTML form render service.
      • getSubmissionPreprocessorServiceForTemplateVersion

        public static ISubmissionPreprocessorService getSubmissionPreprocessorServiceForTemplateVersion​(TemplateVersion version)
        Return the submission preprocessor service for a template version. If the template version defines a submission preprocessor service, it is used, otherwise the default submission preprocessor service is returned. If neither are defined, null is returned.
        Parameters:
        version - the non-null template version
        Returns:
        the submission preprocessor service
      • getSubmissionCompletedProcessor

        public static ISubmissionCompletedProcessor getSubmissionCompletedProcessor​(Submission submission)
        Return the submission form completed processor service for the given submissions template version.
        Parameters:
        submission - the non-null form submission
        Returns:
        the submission completed processor service, or null if non defined
      • getSubmissionDataStorageService

        public static ISubmissionDataStorageService getSubmissionDataStorageService​(Submission submission)
        Return the SubmissionDataStorageService for the given submission, or the default storage service if not defined.
        Parameters:
        submission - the submission record
        Returns:
        the SubmissionDataStorageService for the given submission
        Since:
        4.0.0
      • getSubmissionDataStorageServiceDefault

        public static ISubmissionDataStorageService getSubmissionDataStorageServiceDefault()
        Return the default SubmissionDataStorageService.
        Returns:
        the default SubmissionDataStorageService
        Since:
        4.0.0
      • getTwoFactorAuthenticationService

        public static ITwoFactorAuthenticationService getTwoFactorAuthenticationService​(Portal portal)
        Returns the 2-factor authentication service configured for the portal (via the security manager)
        Parameters:
        portal - the portal (required)
        Returns:
        the 2-factor authentication service for the portal, or null if not set
        Since:
        4.2.0
      • getSecurityFilterServiceForVersion

        public static IFormSecurityFilterService getSecurityFilterServiceForVersion​(TemplateVersion version)
        Return the form security filter service for a template version.
        Parameters:
        version - the non-null template version
        Returns:
        the form security filter service, or null if none is set