Skip to content

Commit

Permalink
initial support for context-modifying modules
Browse files Browse the repository at this point in the history
  • Loading branch information
stoicflame committed Sep 19, 2016
1 parent e015945 commit 7d03d79
Show file tree
Hide file tree
Showing 8 changed files with 40 additions and 6 deletions.
@@ -0,0 +1,25 @@
package com.webcohesion.enunciate.module;

import java.util.Collections;
import java.util.List;

/**
* @author Ryan Heaton
*/
public abstract class BasicProviderModule extends BasicEnunicateModule implements ApiRegistryProviderModule {

@Override
public List<DependencySpec> getDependencySpecifications() {
return Collections.<DependencySpec>singletonList(new DependencySpec() {
@Override
public boolean accept(EnunciateModule module) {
return module instanceof ContextModifyingModule;
}

@Override
public boolean isFulfilled() {
return true;
}
});
}
}
@@ -0,0 +1,9 @@
package com.webcohesion.enunciate.module;

/**
* Marker interface for designating a module as one that modifies the Enunciate context.
*
* @author Ryan Heaton
*/
public interface ContextModifyingModule extends EnunciateModule {
}
Expand Up @@ -40,7 +40,7 @@
* @author Ryan Heaton
*/
@SuppressWarnings ( "unchecked" )
public class JacksonModule extends BasicEnunicateModule implements TypeFilteringModule, MediaTypeDefinitionModule, ApiRegistryProviderModule, ApiFeatureProviderModule {
public class JacksonModule extends BasicProviderModule implements TypeFilteringModule, MediaTypeDefinitionModule, ApiRegistryProviderModule, ApiFeatureProviderModule {

private DataTypeDetectionStrategy defaultDataTypeDetectionStrategy;
private boolean jacksonDetected = false;
Expand Down
Expand Up @@ -39,7 +39,7 @@
* @author Ryan Heaton
*/
@SuppressWarnings ( "unchecked" )
public class Jackson1Module extends BasicEnunicateModule implements TypeFilteringModule, MediaTypeDefinitionModule, ApiRegistryProviderModule, ApiFeatureProviderModule {
public class Jackson1Module extends BasicProviderModule implements TypeFilteringModule, MediaTypeDefinitionModule, ApiRegistryProviderModule, ApiFeatureProviderModule {

private DataTypeDetectionStrategy defaultDataTypeDetectionStrategy;
private boolean jacksonDetected = false;
Expand Down
Expand Up @@ -37,7 +37,7 @@
* @author Ryan Heaton
*/
@SuppressWarnings ( "unchecked" )
public class JaxbModule extends BasicEnunicateModule implements TypeFilteringModule, MediaTypeDefinitionModule, ApiRegistryProviderModule, ApiFeatureProviderModule {
public class JaxbModule extends BasicProviderModule implements TypeFilteringModule, MediaTypeDefinitionModule, ApiRegistryProviderModule, ApiFeatureProviderModule {

private DataTypeDetectionStrategy defaultDataTypeDetectionStrategy;
private EnunciateJaxbContext jaxbContext;
Expand Down
Expand Up @@ -39,7 +39,7 @@
* @author Ryan Heaton
*/
@SuppressWarnings ( "unchecked" )
public class JaxrsModule extends BasicEnunicateModule implements TypeFilteringModule, ApiRegistryProviderModule, ApiFeatureProviderModule {
public class JaxrsModule extends BasicProviderModule implements TypeFilteringModule, ApiRegistryProviderModule, ApiFeatureProviderModule {

private DataTypeDetectionStrategy defaultDataTypeDetectionStrategy;
private final List<MediaTypeDefinitionModule> mediaTypeModules = new ArrayList<MediaTypeDefinitionModule>();
Expand Down
Expand Up @@ -41,7 +41,7 @@
* @author Ryan Heaton
*/
@SuppressWarnings ( "unchecked" )
public class JaxwsModule extends BasicEnunicateModule implements TypeFilteringModule, ApiRegistryProviderModule, ApiFeatureProviderModule, WebInfAwareModule {
public class JaxwsModule extends BasicProviderModule implements TypeFilteringModule, ApiRegistryProviderModule, ApiFeatureProviderModule, WebInfAwareModule {

private JaxbModule jaxbModule;
private DataTypeDetectionStrategy defaultDataTypeDetectionStrategy;
Expand Down
Expand Up @@ -35,7 +35,7 @@
* @author Ryan Heaton
*/
@SuppressWarnings ( "unchecked" )
public class SpringWebModule extends BasicEnunicateModule implements TypeFilteringModule, ApiRegistryProviderModule, ApiFeatureProviderModule {
public class SpringWebModule extends BasicProviderModule implements TypeFilteringModule, ApiRegistryProviderModule, ApiFeatureProviderModule {

private DataTypeDetectionStrategy defaultDataTypeDetectionStrategy;
private final List<MediaTypeDefinitionModule> mediaTypeModules = new ArrayList<MediaTypeDefinitionModule>();
Expand Down

0 comments on commit 7d03d79

Please sign in to comment.