# Uses of Interface
org.apache.commons.collections4.Factory

Packages that use Factory
Package
Description
org.apache.commons.collections4
Interfaces and utilities shared across all packages.
org.apache.commons.collections4.functors
Implements the `Closure`, `Predicate`, `Transformer` and `Factory` interfaces.
org.apache.commons.collections4.list
Implements the `List` interface.
org.apache.commons.collections4.map
Implements the `Map`, `IterableMap`, `OrderedMap` and `SortedMap` interfaces.

- ## Uses of Factory in org.apache.commons.collections4

  Methods in org.apache.commons.collections4 that return Factory
  Modifier and Type
  Method
  Description
  `static <T> Factory<T>`
  FactoryUtils.`constantFactory(T constantToReturn)`
  Creates a Factory that will return the same object each time the factory is used.
  `static <T> Factory<T>`
  FactoryUtils.`exceptionFactory()`
  Gets a Factory that always throws an exception.
  `static <T> Factory<T>`
  FactoryUtils.`instantiateFactory(Class<T> classToInstantiate)`
  Creates a Factory that can create objects of a specific type using a no-args constructor.
  `static <T> Factory<T>`
  FactoryUtils.`instantiateFactory(Class<T> classToInstantiate, Class<?>[] paramTypes, Object[] args)`
  Creates a Factory that can create objects of a specific type using the arguments specified to this method.
  `static <T> Factory<T>`
  FactoryUtils.`nullFactory()`
  Gets a Factory that will return null each time the factory is used.
  `static <T> Factory<T>`
  FactoryUtils.`prototypeFactory(T prototype)`
  Creates a Factory that will return a clone of the same prototype object each time the factory is used.
  Methods in org.apache.commons.collections4 with parameters of type Factory
  Modifier and Type
  Method
  Description
  `static <I, O> Transformer<I,O>`
  TransformerUtils.`asTransformer(Factory<? extends O> factory)`
  Creates a Transformer that calls a Factory each time the transformer is used.
  `static <E> List<E>`
  ListUtils.`lazyList(List<E> list, Factory<? extends E> factory)`
  Returns a "lazy" list whose elements will be created on demand.
  `static <K, V> IterableMap<K,V>`
  MapUtils.`lazyMap(Map<K,V> map, Factory<? extends V> factory)`
  Returns a "lazy" map whose values will be created on demand.
  `static <K, V> SortedMap<K,V>`
  MapUtils.`lazySortedMap(SortedMap<K,V> map, Factory<? extends V> factory)`
  Returns a "lazy" sorted map whose values will be created on demand.
  `static <K, V, C extends Collection<V>>
  MultiValueMap<K,V>`
  MapUtils.`multiValueMap(Map<K,C> map, Factory<C> collectionFactory)`
  Deprecated.
  since 4.1, use `MultiValuedMap` instead
  `static <O, R extends Collection<O>>
  List<R>`
  IterableUtils.`partition(Iterable<? extends O> iterable, Factory<R> partitionFactory, Predicate<? super O>... predicates)`
  Partitions all elements from iterable into separate output collections, based on the evaluation of the given predicates.

- ## Uses of Factory in org.apache.commons.collections4.functors

  Classes in org.apache.commons.collections4.functors that implement Factory
  Modifier and Type
  Class
  Description
  `class`
  `ConstantFactory<T>`
  Factory implementation that returns the same constant each time.
  `final class`
  `ExceptionFactory<T>`
  Factory implementation that always throws an exception.
  `class`
  `InstantiateFactory<T>`
  Factory implementation that creates a new object instance by reflection.
  Fields in org.apache.commons.collections4.functors declared as Factory
  Modifier and Type
  Field
  Description
  `static final Factory`
  ExceptionFactory.`INSTANCE`
  Singleton predicate instance
  `static final Factory`
  ConstantFactory.`NULL_INSTANCE`
  Returns null each time
  Methods in org.apache.commons.collections4.functors that return Factory
  Modifier and Type
  Method
  Description
  `static <T> Factory<T>`
  ConstantFactory.`constantFactory(T constantToReturn)`
  Factory method that performs validation.
  `static <T> Factory<T>`
  ExceptionFactory.`exceptionFactory()`
  Factory returning the singleton instance.
  `Factory<? extends R>`
  FactoryTransformer.`getFactory()`
  Gets the factory.
  `static <T> Factory<T>`
  InstantiateFactory.`instantiateFactory(Class<T> classToInstantiate, Class<?>[] paramTypes, Object[] args)`
  Factory method that performs validation.
  `static <T> Factory<T>`
  PrototypeFactory.`prototypeFactory(T prototype)`
  Factory method that performs validation.
  Methods in org.apache.commons.collections4.functors with parameters of type Factory
  Modifier and Type
  Method
  Description
  `static <I, O> Transformer<I,O>`
  FactoryTransformer.`factoryTransformer(Factory<? extends O> factory)`
  Factory method that performs validation.
  Constructors in org.apache.commons.collections4.functors with parameters of type Factory
  Modifier
  Constructor
  Description
  ``
  `FactoryTransformer(Factory<? extends R> factory)`
  Constructor that performs no validation.

- ## Uses of Factory in org.apache.commons.collections4.list

  Methods in org.apache.commons.collections4.list with parameters of type Factory
  Modifier and Type
  Method
  Description
  `static <E> LazyList<E>`
  LazyList.`lazyList(List<E> list, Factory<? extends E> factory)`
  Factory method to create a lazily instantiating list.
  Constructors in org.apache.commons.collections4.list with parameters of type Factory
  Modifier
  Constructor
  Description
  `protected`
  `LazyList(List<E> list, Factory<? extends E> factory)`
  Constructor that wraps (not copies).

- ## Uses of Factory in org.apache.commons.collections4.map

  Methods in org.apache.commons.collections4.map with parameters of type Factory
  Modifier and Type
  Method
  Description
  `static <K, V> DefaultedMap<K,V>`
  DefaultedMap.`defaultedMap(Map<K,V> map, Factory<? extends V> factory)`
  Factory method to create a defaulting map.
  `static <K, V> LazyMap<K,V>`
  LazyMap.`lazyMap(Map<K,V> map, Factory<? extends V> factory)`
  Factory method to create a lazily instantiated map.
  `static <K, V> LazySortedMap<K,V>`
  LazySortedMap.`lazySortedMap(SortedMap<K,V> map, Factory<? extends V> factory)`
  Factory method to create a lazily instantiated sorted map.
  `static <K, V, C extends Collection<V>>
  MultiValueMap<K,V>`
  MultiValueMap.`multiValueMap(Map<K,? super C> map, Factory<C> collectionFactory)`
  Deprecated.
  Creates a map which decorates the given `map` and creates the value collections using the supplied `collectionFactory`.
  Constructors in org.apache.commons.collections4.map with parameters of type Factory
  Modifier
  Constructor
  Description
  `protected`
  `LazyMap(Map<K,V> map, Factory<? extends V> factory)`
  Constructor that wraps (not copies).
  `protected`
  `LazySortedMap(SortedMap<K,V> map, Factory<? extends V> factory)`
  Constructor that wraps (not copies).
  `protected`
  `MultiValueMap(Map<K,? super C> map, Factory<C> collectionFactory)`
  Deprecated.
  Creates a MultiValueMap which decorates the given `map` and creates the value collections using the supplied `collectionFactory`.