org.deidentifier.arx.metric

## Class MetricDescription

- java.lang.Object
- - org.deidentifier.arx.metric.MetricDescription

All Implemented Interfaces:
  java.io.Serializable

    public abstract class MetricDescription
    extends java.lang.Object
    implements java.io.Serializable

A class describing a metric and its configuration options.

Author:
  Fabian Prasser
See Also:
  Serialized Form

### Method Summary

All Methods Instance Methods Abstract Methods Concrete Methods
`abstract Metric<?>` `createInstance(MetricConfiguration config)` Creates an instance with the given configuration options.
`java.lang.String` `getName()`
`java.util.List<Metric.AggregateFunction>` `getSupportedAggregateFunctions()` Returns a list of all supported aggregate functions.
`boolean` `isAggregateFunctionSupported()` Returns whether an aggregate function is supported by the metric.
`boolean` `isAttackerModelSupported()`
`boolean` `isAttributeWeightsSupported()`
`boolean` `isConfigurableCodingModelSupported()`
`abstract boolean` `isInstance(Metric<?> metric)` Returns whether the given metric is an instance of this description.
`boolean` `isMonotonicVariantSupported()`
`boolean` `isPrecomputationSupported()`

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

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

### Method Detail

#### createInstance

    public abstract Metric<?> createInstance(MetricConfiguration config)

Creates an instance with the given configuration options.

Parameters:
  `config` -
Returns:

#### getName

    public java.lang.String getName()

Returns:
  the name

#### getSupportedAggregateFunctions

    public java.util.List<Metric.AggregateFunction> getSupportedAggregateFunctions()

Returns a list of all supported aggregate functions.

Returns:

#### isAggregateFunctionSupported

    public boolean isAggregateFunctionSupported()

Returns whether an aggregate function is supported by the metric.

Returns:

#### isAttackerModelSupported

    public boolean isAttackerModelSupported()

Returns:
  the attackerModelSupported

#### isAttributeWeightsSupported

    public boolean isAttributeWeightsSupported()

Returns:
  the attributeWeightsSupported

#### isConfigurableCodingModelSupported

    public boolean isConfigurableCodingModelSupported()

Returns:
  the configurableCodingModelSupported

#### isInstance

    public abstract boolean isInstance(Metric<?> metric)

Returns whether the given metric is an instance of this description.

Parameters:
  `metric` -
Returns:

#### isMonotonicVariantSupported

    public boolean isMonotonicVariantSupported()

Returns:
  the monotonicVariantSupported

#### isPrecomputationSupported

    public boolean isPrecomputationSupported()

Returns:
  the precomputationSupported