Class EndpointDiscoverer<E extends ExposableEndpoint<O>,O extends Operation>
java.lang.Object
org.springframework.boot.actuate.endpoint.annotation.EndpointDiscoverer<E,O>
- Type Parameters:
E- the endpoint typeO- the operation type
- All Implemented Interfaces:
EndpointsSupplier<E>
- Direct Known Subclasses:
ControllerEndpointDiscoverer,JmxEndpointDiscoverer,ServletEndpointDiscoverer,WebEndpointDiscoverer
public abstract class EndpointDiscoverer<E extends ExposableEndpoint<O>,O extends Operation>
extends Object
implements EndpointsSupplier<E>
A Base for
EndpointsSupplier implementations that discover
@Endpoint beans and @EndpointExtension beans
in an application context.- Since:
- 2.0.0
- Author:
- Andy Wilkinson, Stephane Nicoll, Phillip Webb
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprotected static final classA key generated for anOperationbased on specific criteria from the actual operation implementation. -
Constructor Summary
ConstructorsConstructorDescriptionEndpointDiscoverer(ApplicationContext applicationContext, ParameterValueMapper parameterValueMapper, Collection<OperationInvokerAdvisor> invokerAdvisors, Collection<EndpointFilter<E>> filters) Create a newEndpointDiscovererinstance. -
Method Summary
Modifier and TypeMethodDescriptionprotected abstract EcreateEndpoint(Object endpointBean, EndpointId id, boolean enabledByDefault, Collection<O> operations) Factory method called to create theendpoint.protected abstract OcreateOperation(EndpointId endpointId, DiscoveredOperationMethod operationMethod, OperationInvoker invoker) Factory method to create anendpoint operation.protected abstract EndpointDiscoverer.OperationKeycreateOperationKey(O operation) Create anEndpointDiscoverer.OperationKeyfor the given operation.final Collection<E>Return the provided endpoints.protected booleanisEndpointTypeExposed(Class<?> beanType) Determine if an endpoint bean should be exposed.protected booleanisExtensionTypeExposed(Class<?> extensionBeanType) Determine if an extension bean should be exposed.
-
Constructor Details
-
EndpointDiscoverer
public EndpointDiscoverer(ApplicationContext applicationContext, ParameterValueMapper parameterValueMapper, Collection<OperationInvokerAdvisor> invokerAdvisors, Collection<EndpointFilter<E>> filters) Create a newEndpointDiscovererinstance.- Parameters:
applicationContext- the source application contextparameterValueMapper- the parameter value mapperinvokerAdvisors- invoker advisors to applyfilters- filters to apply
-
-
Method Details
-
getEndpoints
Description copied from interface:EndpointsSupplierReturn the provided endpoints.- Specified by:
getEndpointsin interfaceEndpointsSupplier<E extends ExposableEndpoint<O>>- Returns:
- the endpoints
-
isExtensionTypeExposed
Determine if an extension bean should be exposed. Subclasses can override this method to provide additional logic.- Parameters:
extensionBeanType- the extension bean type- Returns:
trueif the extension is exposed
-
isEndpointTypeExposed
Determine if an endpoint bean should be exposed. Subclasses can override this method to provide additional logic.- Parameters:
beanType- the endpoint bean type- Returns:
trueif the endpoint is exposed
-
getEndpointType
-
createEndpoint
protected abstract E createEndpoint(Object endpointBean, EndpointId id, boolean enabledByDefault, Collection<O> operations) Factory method called to create theendpoint.- Parameters:
endpointBean- the source endpoint beanid- the ID of the endpointenabledByDefault- if the endpoint is enabled by defaultoperations- the endpoint operations- Returns:
- a created endpoint (a
DiscoveredEndpointis recommended)
-
createOperation
protected abstract O createOperation(EndpointId endpointId, DiscoveredOperationMethod operationMethod, OperationInvoker invoker) Factory method to create anendpoint operation.- Parameters:
endpointId- the endpoint idoperationMethod- the operation methodinvoker- the invoker to use- Returns:
- a created operation
-
createOperationKey
Create anEndpointDiscoverer.OperationKeyfor the given operation.- Parameters:
operation- the source operation- Returns:
- the operation key
-