# Class MocImpl

java.lang.Object
uk.ac.starlink.ttools.moc.MocImpl

public abstract class MocImpl extends Object
Characterises an implementation of MOC building.

Since:
  28 Jan 2025
Author:
  Mark Taylor

## Field Summary

Fields
Modifier and Type
Field
Description
`static final MocImpl`
`AUTO`
Instance that picks an implementation based on order.
`static final MocImpl`
`BITSET`
Instance based on IndexBags and BitSets.
`static final int`
`BITSET_MAXORDER`
Maximum MOC order for BitSet use in adaptive modes.
`static final MocImpl`
`CDS`
Instance based on CDS MOC library.
`static final MocImpl`
`LIST`
Instance based on IndexBags, BitSets and Int/LongBags.

## Constructor Summary

Constructors
Modifier
Constructor
Description
`protected`
`MocImpl(String name, String description)`
Constructor.

## Method Summary

Modifier and Type
Method
Description
`abstract MocBuilder`
`createMocBuilder(int mocOrder)`
Returns a new MocBuilder for a given maximum order.
`String`
`getDescription()`
Returns a short description of this instance.
`String`
`getName()`
Returns this instance's name.
`String`
`toString()`

### Methods inherited from class Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

## Field Details

### BITSET_MAXORDER

public static final int BITSET_MAXORDER
Maximum MOC order for BitSet use in adaptive modes.

See Also:
  - Constant Field Values

### CDS

public static final MocImpl CDS
Instance based on CDS MOC library.

### BITSET

public static final MocImpl BITSET
Instance based on IndexBags and BitSets.

### LIST

public static final MocImpl LIST
Instance based on IndexBags, BitSets and Int/LongBags.

### AUTO

public static final MocImpl AUTO
Instance that picks an implementation based on order.

## Constructor Details

### MocImpl

protected MocImpl(String name, String description)
Constructor.

Parameters:
  `name` - implementation name
  `description` - implementation description

## Method Details

### createMocBuilder

public abstract MocBuilder createMocBuilder(int mocOrder)
Returns a new MocBuilder for a given maximum order.

Parameters:
  `mocOrder` - maximum order of resulting MOCs

### getName

public String getName()
Returns this instance's name.

Returns:
  name

### getDescription

public String getDescription()
Returns a short description of this instance.

Returns:
  description

### toString

public String toString()

Overrides:
  `toString` in class `Object`