org.eclipse.net4j.util.factory

## Interface IFactory

- All Known Subinterfaces:
    IManagedContainerFactory
  All Known Implementing Classes:
    AuthenticatorFactory, ChallengeNegotiatorFactory, CredentialsProviderFactory, DelegableReentrantLock.DelegateDetector.Factory, ElementWizardFactory, ExecutorServiceFactory, Factory, FactoryDescriptor, FileAuthenticatorFactory, FileUserManagerFactory, GZIPStreamWrapper.Factory, IConfirmationProvider.Factory, IConfirmationProvider.Factory.Default, InteractiveConfirmationProvider.Factory, IStreamWrapper.Factory, NegotiatorFactory, PropertiesFactory, RandomizerFactory, ResponseNegotiatorFactory, TimerLifecycle.DaemonFactory, UserManagerFactory

      public interface IFactory

  `Creates` objects from a string `description`.

  If a factory is registered in an `IManagedContainer`, the `IManagedContainerFactory` extension interface injects that container into the factory for it to reach back into to obtain dependencies.

  Author:
    Eike Stepper
  See Also:
    `IManagedContainerFactory`
  Apiviz
  Apiviz
    `IFactoryKey`

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method and Description
    --- | ---
    `java.lang.Object` | `create(java.lang.String description)`
    `java.lang.String` | `getDescriptionFor(java.lang.Object product)`
    `IFactoryKey` | `getKey()`

- - ### Method Detail

    - #### getKey

          IFactoryKey getKey()

    - #### create

          java.lang.Object create(java.lang.String description)
                           throws ProductCreationException

      Throws:
        `ProductCreationException`

    - #### getDescriptionFor

          java.lang.String getDescriptionFor(java.lang.Object product)

Copyright (c) 2014 Eike Stepper (Berlin, Germany) and others.
All rights reserved. This program and the accompanying materials are made available under the terms of the Eclipse Public License v1.0 which accompanies this distribution, and is available at http://www.eclipse.org/legal/epl-v10.html