Package com.linecorp.armeria.server.docs
Interface DocServicePlugin
@UnstableApi public interface DocServicePlugin
Generates the
ServiceSpecification
s of the supported Service
s.-
Method Summary
Modifier and Type Method Description ServiceSpecification
generateSpecification(Set<ServiceConfig> serviceConfigs, DocServiceFilter filter)
Generates a newServiceSpecification
that provides the information about the supportedService
s.default String
guessServiceMethodName(Object exampleRequest)
Guesses the name of the service method who handles the specified example request.default String
guessServiceName(Object exampleRequest)
Guesses the name of the service who handles the specified example request.default Map<String,String>
loadDocStrings(Set<ServiceConfig> serviceConfigs)
Loads the documentation strings that describes services and their methods, enums and their values and structs/exceptions and their fields.String
name()
Returns the name of this plugin.default String
serializeExampleRequest(String serviceName, String methodName, Object exampleRequest)
Serializes the specified example request into a string.default Set<Class<?>>
supportedExampleRequestTypes()
Returns theSet
of the example request types supported by this plugin.Set<Class<? extends Service<?,?>>>
supportedServiceTypes()
-
Method Details
-
name
String name()Returns the name of this plugin. -
supportedServiceTypes
-
generateSpecification
ServiceSpecification generateSpecification(Set<ServiceConfig> serviceConfigs, DocServiceFilter filter)Generates a newServiceSpecification
that provides the information about the supportedService
s.- Parameters:
serviceConfigs
- theServiceConfig
s of theService
s that are instances of thesupportedServiceTypes()
filter
- theDocServiceFilter
that checks whether a method will be included while buildingDocService
-
loadDocStrings
Loads the documentation strings that describes services and their methods, enums and their values and structs/exceptions and their fields. TheMap
returned by this method will contain the documentation strings identified by the key strings that conforms to one of the following formats:"{service name}"
- a docstring that describes a service"{service name}/{method name}"
- a docstring that describes a service method"{service name}/{method name}/{parameter name}"
- a docstring that describes a service method parameter"{type name}"
- a docstring that describes an enum, a struct or an exception"{type name}/{field name}"
- a docstring that describes a field of an enum, a struct or an exception
-
supportedExampleRequestTypes
Returns theSet
of the example request types supported by this plugin. -
guessServiceName
Guesses the name of the service who handles the specified example request.- Parameters:
exampleRequest
- the example request object which is an instance of one of theClass
es returned bysupportedExampleRequestTypes()
- Returns:
- the service name, or
null
if failed to guess.
-
guessServiceMethodName
Guesses the name of the service method who handles the specified example request.- Parameters:
exampleRequest
- the example request object which is an instance of one of theClass
es returned bysupportedExampleRequestTypes()
- Returns:
- the service method name, or
null
if failed to guess.
-
serializeExampleRequest
@Nullable default String serializeExampleRequest(String serviceName, String methodName, Object exampleRequest)Serializes the specified example request into a string.- Parameters:
serviceName
- the name of the servicemethodName
- the name of the methodexampleRequest
- the example request- Returns:
- the serialized example, or
null
if not able to serialize.
-