Class AbstractCollectionFormInjector<T>

Type Parameters:
T - The type of collection that will be created.
All Implemented Interfaces:
ValueInjector
Direct Known Subclasses:
ListFormInjector, MapFormInjector

public abstract class AbstractCollectionFormInjector<T> extends PrefixedFormInjector
Abstract implementation of
invalid reference
NestedFormInjector
that can inject collections.
  • Field Details

    • collectionType

      private final Class collectionType
    • pattern

      private final Pattern pattern
  • Constructor Details

    • AbstractCollectionFormInjector

      protected AbstractCollectionFormInjector(Class collectionType, Class genericType, String prefix, Pattern pattern, ResteasyProviderFactory factory)
      Creates an injector to inject a collection.
      Parameters:
      collectionType - The type of collection to return.
      genericType - The type of elements in the collection.
      pattern - The pattern that a field name should follow to be a part of this collection. The first group in the pattern must be the index.
  • Method Details

    • inject

      public Object inject(HttpRequest request, HttpResponse response)
      Inject inside the context of an HTTP request. Wraps the request in a Creates a collection instance and fills it with content by using the super implementation.
      Specified by:
      inject in interface ValueInjector
      Overrides:
      inject in class PrefixedFormInjector
      Parameters:
      request -
      response -
      Returns:
    • findMatchingPrefixesWithNoneEmptyValues

      private Set<String> findMatchingPrefixesWithNoneEmptyValues(javax.ws.rs.core.MultivaluedMap<String,String> parameters)
      Finds all field names that follow the pattern.
    • createInstance

      protected abstract T createInstance(Class collectionType)
      Creates an instance of the collection type.
    • addTo

      protected abstract void addTo(T collection, String key, Object value)
      Adds the item to the collection.