## org.biojava.bio.dist
Class OrderNDistributionFactory

    java.lang.Object
      org.biojava.bio.dist.OrderNDistributionFactory

All Implemented Interfaces:
  DistributionFactory

    public class OrderNDistributionFactory

extends Object
implements DistributionFactory

Default factory for Order-N distributions.

Since:
  1.1
Author:
  Thomas Down, Mark Schreiber

Nested Class Summary

Nested classes/interfaces inherited from interface org.biojava.bio.dist.DistributionFactory
`DistributionFactory.DefaultDistributionFactory`

Field Summary
`static DistributionFactory` `DEFAULT` Factory which used DistributionFactory.DEFAULT to create conditioned distributions.

Constructor Summary
`OrderNDistributionFactory(DistributionFactory df)` Construct a new OrderNDistributionFactory with a specified factory for conditioned distributions.

Method Summary
`Distribution` `createDistribution(Alphabet alpha)` Creates an OrderNDistribution of the appropriate type.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### DEFAULT

    public static final DistributionFactory DEFAULT

  Factory which used DistributionFactory.DEFAULT to create conditioned distributions.

Constructor Detail

### OrderNDistributionFactory

    public OrderNDistributionFactory(DistributionFactory df)

  Construct a new OrderNDistributionFactory with a specified factory for conditioned distributions.

  Parameters:
    `df` - The DistributionFactory used for construction new conditioned distributions.

Method Detail

### createDistribution

    public Distribution createDistribution(Alphabet alpha)
                                    throws IllegalAlphabetException

  Creates an OrderNDistribution of the appropriate type.

  Specified by:
    `createDistribution` in interface `DistributionFactory`
  Parameters:
    `alpha` - the Alphabet should be in a form that clearly indicates the conditioning and the conditioned alphabet unless it is very obvious. For example (DNA x DNA) is obvious, ((DNA x DNA x DNA) x DNA) indicates that (DNA x DNA x DNA) is the conditioning `Alphabet` and DNA is the conditioned `Alphabet`. (DNA x DNA x DNA x DNA) doesn't but for compatibility with biojava 1.2 this is allowed in the constructor. As from biojava 1.2.3 or greater this will be internally converted to ((DNA x DNA x DNA) x DNA) which was the convention implied by biojava 1.2 Calls to the returned `Distribution`s `getAlphabet()` method will return the converted `Alphabet`.
  Returns:
    An OrderNDistribution
  Throws:
    `IllegalAlphabetException` - if a Distribution cannot be made with that `Alphabet`.