Package org.apache.tapestry5.ioc
Interface ServiceBindingOptions
-
- All Known Implementing Classes:
ServiceBinderImpl
public interface ServiceBindingOptions
Allows additional options for a service to be specified, overriding hard coded defaults or defaults from annotations on the service.- See Also:
ServiceDef2
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description ServiceBindingOptions
eagerLoad()
Turns eager loading on for this service.ServiceBindingOptions
preventDecoration()
Disallows service decoration for this service.ServiceBindingOptions
preventReloading()
Identifies a service for which live class reloading is not desired.ServiceBindingOptions
scope(java.lang.String scope)
Sets the scope of the service, overriding theScope
annotation on the service implementation class.ServiceBindingOptions
withId(java.lang.String id)
Allows a specific service id for the service to be provided, rather than the default (from the service interface).ServiceBindingOptions
withMarker(java.lang.Class<? extends java.lang.annotation.Annotation>... marker)
Defines the marker interface(s) for the service, used to connect injections by type at the point of injection with a particular service implementation, based on the intersection of type and marker interface.ServiceBindingOptions
withSimpleId()
Uses the the simple (unqualified) class name of the implementation class as the id of the service.
-
-
-
Method Detail
-
withId
ServiceBindingOptions withId(java.lang.String id)
Allows a specific service id for the service to be provided, rather than the default (from the service interface). This is useful when multiple services implement the same interface, since service ids must be unique.- Parameters:
id
-- Returns:
- this binding options, for further configuration
-
withSimpleId
ServiceBindingOptions withSimpleId()
Uses the the simple (unqualified) class name of the implementation class as the id of the service.- Returns:
- this binding options, for further configuration
- Throws:
java.lang.IllegalStateException
- if the class name was not defined (viaServiceBinder.bind(Class, Class)
orServiceBinder.bind(Class)
).- Since:
- 5.3
-
scope
ServiceBindingOptions scope(java.lang.String scope)
Sets the scope of the service, overriding theScope
annotation on the service implementation class.- Parameters:
scope
-- Returns:
- this binding options, for further configuration
- See Also:
ScopeConstants
-
eagerLoad
ServiceBindingOptions eagerLoad()
Turns eager loading on for this service. This may also be accomplished using theEagerLoad
annotation on the service implementation class.- Returns:
- this binding options, for further configuration
-
preventDecoration
ServiceBindingOptions preventDecoration()
Disallows service decoration for this service.- Returns:
- this binding options, for further configuration
-
preventReloading
ServiceBindingOptions preventReloading()
Identifies a service for which live class reloading is not desired. This primarily applies to certain internal Tapestry services, and is necessary during the development of Tapestry itself. In user applications, services defined in library modules are not subject to reloading because the class files are stored in JARs, not as local file system files.- Since:
- 5.2.0
-
withMarker
ServiceBindingOptions withMarker(java.lang.Class<? extends java.lang.annotation.Annotation>... marker)
Defines the marker interface(s) for the service, used to connect injections by type at the point of injection with a particular service implementation, based on the intersection of type and marker interface. The containing module will sometimes provide a set of default marker annotations for all services within the module, this method allows that default to be extended.- Parameters:
marker
- one or more markers to add- Returns:
- this binding options, for further configuration
-
-