Package org.eclipse.mat.internal.collectionextract

## Class RegularEnumSetExtractor

- java.lang.Object
- - org.eclipse.mat.internal.collectionextract.FieldArrayCollectionExtractor
  - - org.eclipse.mat.internal.collectionextract.FieldSizeArrayCollectionExtractor
    - - org.eclipse.mat.internal.collectionextract.RegularEnumSetExtractor

All Implemented Interfaces:
  `ICollectionExtractor`, `IMapExtractor`

    public class RegularEnumSetExtractor
    extends FieldSizeArrayCollectionExtractor
    implements IMapExtractor

### Nested Class Summary

### Nested classes/interfaces inherited from interface org.eclipse.mat.inspections.collectionextract.IMapExtractor

`IMapExtractor.EntryObject`

### Constructor Summary

Constructors
`RegularEnumSetExtractor​(String sizeField, String arrayField)` For java.util.RegularEnumSet

### Method Summary

All Methods Instance Methods Concrete Methods
`int[]` `extractEntryIds​(IObject coll)` Returns the object ids (int) for all objects which are contained in the collection
`Iterator<Map.Entry<IObject,​IObject>>` `extractMapEntries​(IObject collection)` Extracts the contents of a map (i.e.
`Double` `getCollisionRatio​(IObject collection)` Calculates the collision ratio in the collection.
`Integer` `getSize​(IObject coll)` Extract the size of the collection.
`boolean` `hasCollisionRatio()` Check if the extractor can calculate collision ratio

### Methods inherited from class org.eclipse.mat.internal.collectionextract.FieldSizeArrayCollectionExtractor

`hasSize`

### Methods inherited from class org.eclipse.mat.internal.collectionextract.FieldArrayCollectionExtractor

`extractEntries, getCapacity, getFillRatio, getNumberOfNotNullElements, hasCapacity, hasExtractableArray, hasExtractableContents, hasFillRatio`

### Methods inherited from class java.lang.Object

`equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Methods inherited from interface org.eclipse.mat.inspections.collectionextract.ICollectionExtractor

`extractEntries, getCapacity, getFillRatio, getNumberOfNotNullElements, hasCapacity, hasExtractableArray, hasExtractableContents, hasFillRatio, hasSize`

### Constructor Detail

#### RegularEnumSetExtractor

    public RegularEnumSetExtractor​(String sizeField,
                                   String arrayField)

For java.util.RegularEnumSet

Parameters:
  `sizeField` - - holds the bits indicating which set items are used
  `arrayField` - - all the enum values

### Method Detail

#### getSize

    public Integer getSize​(IObject coll)
                    throws SnapshotException

Description copied from interface: `ICollectionExtractor`
Extract the size of the collection.

Specified by:
  `getSize` in interface `ICollectionExtractor`
Overrides:
  `getSize` in class `FieldSizeArrayCollectionExtractor`
Parameters:
  `coll` - - the collection to find the size of
Returns:
  the size, or null if not available
Throws:
  `SnapshotException` - if there is a problem retrieving data from the snapshot
See Also:
  `ICollectionExtractor.hasSize()`

#### extractEntryIds

    public int[] extractEntryIds​(IObject coll)
                          throws SnapshotException

Description copied from interface: `ICollectionExtractor`
Returns the object ids (int) for all objects which are contained in the collection

Specified by:
  `extractEntryIds` in interface `ICollectionExtractor`
Overrides:
  `extractEntryIds` in class `FieldArrayCollectionExtractor`
Parameters:
  `coll` - - the collection to find the objects it holds
Returns:
  an array of ints which are the object ids.
Throws:
  `SnapshotException` - if there is a problem retrieving data from the snapshot
See Also:
  `ICollectionExtractor.hasExtractableContents()`

#### hasCollisionRatio

    public boolean hasCollisionRatio()

Description copied from interface: `IMapExtractor`
Check if the extractor can calculate collision ratio

Specified by:
  `hasCollisionRatio` in interface `IMapExtractor`
Returns:
  true if @`IMapExtractor.getCollisionRatio(IObject)` could be called
See Also:
  `IMapExtractor.getCollisionRatio(IObject)`

#### getCollisionRatio

    public Double getCollisionRatio​(IObject collection)
                             throws SnapshotException

Description copied from interface: `IMapExtractor`
Calculates the collision ratio in the collection. Could be an estimate.

Specified by:
  `getCollisionRatio` in interface `IMapExtractor`
Parameters:
  `collection` - - the collection to calculate the collision ratio of
Returns:
  Double number of elements with colliding keys / size
Throws:
  `SnapshotException`
See Also:
  `IMapExtractor.hasCollisionRatio()`

#### extractMapEntries

    public Iterator<Map.Entry<IObject,​IObject>> extractMapEntries​(IObject collection)
                                                                 throws SnapshotException

Description copied from interface: `IMapExtractor`
Extracts the contents of a map (i.e. an IObject representing a Map) and provides an Iterator over them

Specified by:
  `extractMapEntries` in interface `IMapExtractor`
Parameters:
  `collection` - - the map to extract contents from
Returns:
  an Iterator over the entries. If the original Map had an Entry object, the content of the iterator would usually be EntryObject
Throws:
  `SnapshotException`