Class AbstractLanguageMetricsProvider<T extends QualifiableNode,O extends QualifiableNode>
- java.lang.Object
-
- net.sourceforge.pmd.lang.metrics.internal.AbstractLanguageMetricsProvider<T,O>
-
- All Implemented Interfaces:
LanguageMetricsProvider<T,O>
public abstract class AbstractLanguageMetricsProvider<T extends QualifiableNode,O extends QualifiableNode> extends java.lang.Object implements LanguageMetricsProvider<T,O>
Base implementation forLanguageMetricsProvider
.- Since:
- 6.11.0
- Author:
- Clément Fournier
-
-
Constructor Summary
Constructors Modifier Constructor Description protected
AbstractLanguageMetricsProvider(java.lang.Class<T> tClass, java.lang.Class<O> oClass, MetricsComputer<T,O> computer)
-
Method Summary
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface net.sourceforge.pmd.lang.metrics.LanguageMetricsProvider
getAvailableOperationMetrics, getAvailableTypeMetrics
-
-
-
-
Constructor Detail
-
AbstractLanguageMetricsProvider
protected AbstractLanguageMetricsProvider(java.lang.Class<T> tClass, java.lang.Class<O> oClass, MetricsComputer<T,O> computer)
-
-
Method Detail
-
asTypeNode
public T asTypeNode(Node anyNode)
Description copied from interface:LanguageMetricsProvider
Returns the given node casted toLanguageMetricsProvider
if it's of the correct type, otherwise returns null.- Specified by:
asTypeNode
in interfaceLanguageMetricsProvider<T extends QualifiableNode,O extends QualifiableNode>
-
asOperationNode
public O asOperationNode(Node anyNode)
Description copied from interface:LanguageMetricsProvider
Returns the given node casted toLanguageMetricsProvider
if it's of the correct type, otherwise returns null.- Specified by:
asOperationNode
in interfaceLanguageMetricsProvider<T extends QualifiableNode,O extends QualifiableNode>
-
computeForType
public double computeForType(MetricKey<T> key, T node, MetricOptions options)
Description copied from interface:LanguageMetricsProvider
LikeMetricsComputer.computeForType(MetricKey, QualifiableNode, boolean, MetricOptions, MetricMemoizer)
, but performs no memoisation.- Specified by:
computeForType
in interfaceLanguageMetricsProvider<T extends QualifiableNode,O extends QualifiableNode>
-
computeForOperation
public double computeForOperation(MetricKey<O> key, O node, MetricOptions options)
Description copied from interface:LanguageMetricsProvider
LikeMetricsComputer.computeForOperation(MetricKey, QualifiableNode, boolean, MetricOptions, MetricMemoizer)
but performs no memoisation.- Specified by:
computeForOperation
in interfaceLanguageMetricsProvider<T extends QualifiableNode,O extends QualifiableNode>
-
computeWithResultOption
public double computeWithResultOption(MetricKey<O> key, T node, MetricOptions options, ResultOption option)
Description copied from interface:LanguageMetricsProvider
LikeMetricsComputer.computeWithResultOption(MetricKey, QualifiableNode, boolean, MetricOptions, ResultOption, ProjectMemoizer)
but performs no memoisation.- Specified by:
computeWithResultOption
in interfaceLanguageMetricsProvider<T extends QualifiableNode,O extends QualifiableNode>
-
computeAllMetricsFor
public java.util.Map<MetricKey<?>,java.lang.Double> computeAllMetricsFor(Node node)
Description copied from interface:LanguageMetricsProvider
Computes all metrics available on the given node. The returned results may contain Double.NaN as a value.- Specified by:
computeAllMetricsFor
in interfaceLanguageMetricsProvider<T extends QualifiableNode,O extends QualifiableNode>
- Parameters:
node
- Node to inspect- Returns:
- A map of metric key to their result, possibly empty, but with no null value
-
-