static void validateInterface(Class<?> serviceInterface, int validationType) {
    """
	Validates the interface of a service. In case of failed validation, an
	unchecked {@link IllegalServiceException} is thrown.
	
	To be valid, a service interface must comply with a series of
	constraints:
	<ul>
	<li>Being annotated with a complete {@link ServiceInterface} annotation;</li>
	<li>Having all methods with supported return type;</li>
	<li>Having all methods with parameters whose type is supported</li>
	<li>Having all methods throwing {@link ServiceInvocationException}</li>
	</ul>
	
	Supported types includes only native Java types.
	
	@param serviceInterface
	- the interface to be validated;
	@param validationType
	- the validation to be performed, either
	<code>TYPE_PUBLISHED</code> or <code>TYPE_REMOTE</code>
    """
		// Verify serviceInterface is an interface.
		assertThat(serviceInterface.isInterface(), ErrorMsg.INTERFACE_REQUIRED);

		// Verify serviceInterface has the right annotation.
		ServiceInterface service = serviceInterface.getAnnotation(ServiceInterface.class);
		assertThat(service != null, ErrorMsg.MISSING_ANNOTATION);

		// Verify service name is not empty
		assertThat(!isStringEmpty(service.name()), ErrorMsg.MISSING_SERVICE_NAME);

		// Verify service app name is not empty for remote services
		assertThat(!(validationType == TYPE_REMOTE && isStringEmpty(service.app())), ErrorMsg.MISSING_APP_NAME);

		// Analyze methods
		for (Method m : serviceInterface.getMethods()) {
			if (m.isAnnotationPresent(ActivityConsumer.class)) {
				validateActivityConsumer(service.name(), m);
			} else {
				validateStandardMethod(service.name(), m);
			}
		}
	}
static void validateInterface(Class<?> serviceInterface, int validationType) {
		// Verify serviceInterface is an interface.
		assertThat(serviceInterface.isInterface(), ErrorMsg.INTERFACE_REQUIRED);

		// Verify serviceInterface has the right annotation.
		ServiceInterface service = serviceInterface.getAnnotation(ServiceInterface.class);
		assertThat(service != null, ErrorMsg.MISSING_ANNOTATION);

		// Verify service name is not empty
		assertThat(!isStringEmpty(service.name()), ErrorMsg.MISSING_SERVICE_NAME);

		// Verify service app name is not empty for remote services
		assertThat(!(validationType == TYPE_REMOTE && isStringEmpty(service.app())), ErrorMsg.MISSING_APP_NAME);

		// Analyze methods
		for (Method m : serviceInterface.getMethods()) {
			if (m.isAnnotationPresent(ActivityConsumer.class)) {
				validateActivityConsumer(service.name(), m);
			} else {
				validateStandardMethod(service.name(), m);
			}
		}
	}
static void validateInterface ( Class < ? > serviceInterface , int validationType ) { // Verify serviceInterface is an interface. assertThat ( serviceInterface . isInterface ( ) , ErrorMsg . INTERFACE_REQUIRED ) ; // Verify serviceInterface has the right annotation. ServiceInterface service = serviceInterface . getAnnotation ( ServiceInterface . class ) ; assertThat ( service != null , ErrorMsg . MISSING_ANNOTATION ) ; // Verify service name is not empty assertThat ( ! isStringEmpty ( service . name ( ) ) , ErrorMsg . MISSING_SERVICE_NAME ) ; // Verify service app name is not empty for remote services assertThat ( ! ( validationType == TYPE_REMOTE && isStringEmpty ( service . app ( ) ) ) , ErrorMsg . MISSING_APP_NAME ) ; // Analyze methods for ( Method m : serviceInterface . getMethods ( ) ) { if ( m . isAnnotationPresent ( ActivityConsumer . class ) ) { validateActivityConsumer ( service . name ( ) , m ) ; } else { validateStandardMethod ( service . name ( ) , m ) ; } } }
Validates the interface of a service. In case of failed validation, an
unchecked {@link IllegalServiceException} is thrown.

To be valid, a service interface must comply with a series of
constraints:
<ul>
<li>Being annotated with a complete {@link ServiceInterface} annotation;</li>
<li>Having all methods with supported return type;</li>
<li>Having all methods with parameters whose type is supported</li>
<li>Having all methods throwing {@link ServiceInvocationException}</li>
</ul>

Supported types includes only native Java types.

@param serviceInterface
- the interface to be validated;
@param validationType
- the validation to be performed, either
<code>TYPE_PUBLISHED</code> or <code>TYPE_REMOTE</code>
Validates the interface of a service . In case of failed validation an unchecked { @link IllegalServiceException } is thrown .