Class AbstractParserProvider<A extends java.lang.annotation.Annotation,​R,​P extends ResourceParser<? extends com.adelean.inject.resources.core.Parsable<?>,​?>>

java.lang.Object
com.adelean.inject.resources.junit.jupiter.core.AbstractParserProvider<A,​R,​P>
Direct Known Subclasses:
GsonProvider, JacksonMapperProvider, SnakeYamlProvider

public abstract class AbstractParserProvider<A extends java.lang.annotation.Annotation,​R,​P extends ResourceParser<? extends com.adelean.inject.resources.core.Parsable<?>,​?>>
extends java.lang.Object
  • Field Summary

    Fields 
    Modifier and Type Field Description
    protected java.lang.Class<A> annotationType  
    protected InjectionContext injectionContext  
    static java.util.Map<java.lang.Class<? extends java.lang.annotation.Annotation>,​java.lang.Class<? extends AbstractParserProvider<?,​?,​?>>> PARSER_PROVIDERS  
    protected java.lang.Class<?> testClass  
    protected java.lang.Object testInstance  
  • Constructor Summary

    Constructors 
    Constructor Description
    AbstractParserProvider​(InjectionContext injectionContext, @Nullable java.lang.Object testInstance, java.lang.Class<?> testClass, java.lang.Class<A> annotationType)  
  • Method Summary

    Modifier and Type Method Description
    static java.util.Map<java.lang.Class<? extends java.lang.annotation.Annotation>,​java.lang.Class<? extends AbstractParserProvider<?,​?,​?>>> allParserProviders()  
    protected abstract P createParser​(A parserAnnotation, R parser)  
    protected java.lang.String parserNameFromField​(java.lang.reflect.Field field, A annotation)  
    protected java.lang.String parserNameFromMethod​(java.lang.reflect.Method method, A annotation)  
    void provideFromField​(java.lang.reflect.Field field)  
    void provideFromMethod​(java.lang.reflect.Method method, java.lang.Object target)  
    static <T extends java.lang.annotation.Annotation>
    AbstractParserProvider<T,​?,​?>
    providerFor​(java.lang.Class<T> annotationType, @Nullable java.lang.Object testInstance, java.lang.Class<?> testClass, InjectionContext injectionContext)  

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

  • Constructor Details

    • AbstractParserProvider

      public AbstractParserProvider​(InjectionContext injectionContext, @Nullable @Nullable java.lang.Object testInstance, java.lang.Class<?> testClass, java.lang.Class<A> annotationType)
  • Method Details

    • providerFor

      public static <T extends java.lang.annotation.Annotation> AbstractParserProvider<T,​?,​?> providerFor​(java.lang.Class<T> annotationType, @Nullable @Nullable java.lang.Object testInstance, java.lang.Class<?> testClass, InjectionContext injectionContext)
    • provideFromMethod

      public void provideFromMethod​(java.lang.reflect.Method method, java.lang.Object target)
    • provideFromField

      public void provideFromField​(java.lang.reflect.Field field)
    • parserNameFromMethod

      protected java.lang.String parserNameFromMethod​(java.lang.reflect.Method method, A annotation)
    • parserNameFromField

      protected java.lang.String parserNameFromField​(java.lang.reflect.Field field, A annotation)
    • createParser

      protected abstract P createParser​(A parserAnnotation, R parser)
    • allParserProviders

      public static java.util.Map<java.lang.Class<? extends java.lang.annotation.Annotation>,​java.lang.Class<? extends AbstractParserProvider<?,​?,​?>>> allParserProviders()