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 Object implements LanguageMetricsProvider<T,O>
Base implementation forLanguageMetricsProvider.- Since:
- 6.11.0
- Author:
- Clément Fournier
-
-
Constructor Summary
Constructors Modifier Constructor Description protectedAbstractLanguageMetricsProvider(Class<T> tClass, Class<O> oClass)
-
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
-
-
-
-
Method Detail
-
asTypeNode
public T asTypeNode(Node anyNode)
Description copied from interface:LanguageMetricsProviderReturns the given node casted toLanguageMetricsProviderif it's of the correct type, otherwise returns null.- Specified by:
asTypeNodein interfaceLanguageMetricsProvider<T extends QualifiableNode,O extends QualifiableNode>
-
asOperationNode
public O asOperationNode(Node anyNode)
Description copied from interface:LanguageMetricsProviderReturns the given node casted toLanguageMetricsProviderif it's of the correct type, otherwise returns null.- Specified by:
asOperationNodein interfaceLanguageMetricsProvider<T extends QualifiableNode,O extends QualifiableNode>
-
computeForType
public double computeForType(MetricKey<T> key, T node, MetricOptions options)
Description copied from interface:LanguageMetricsProviderLikeMetricsComputer.computeForType(MetricKey, QualifiableNode, boolean, MetricOptions, MetricMemoizer), but performs no memoisation.- Specified by:
computeForTypein interfaceLanguageMetricsProvider<T extends QualifiableNode,O extends QualifiableNode>
-
computeForOperation
public double computeForOperation(MetricKey<O> key, O node, MetricOptions options)
Description copied from interface:LanguageMetricsProviderLikeMetricsComputer.computeForOperation(MetricKey, QualifiableNode, boolean, MetricOptions, MetricMemoizer)but performs no memoisation.- Specified by:
computeForOperationin interfaceLanguageMetricsProvider<T extends QualifiableNode,O extends QualifiableNode>
-
computeWithResultOption
public double computeWithResultOption(MetricKey<O> key, T node, MetricOptions options, ResultOption resultOption)
Description copied from interface:LanguageMetricsProviderLikeMetricsComputer.computeWithResultOption(MetricKey, QualifiableNode, boolean, MetricOptions, ResultOption, ProjectMemoizer)but performs no memoisation.- Specified by:
computeWithResultOptionin interfaceLanguageMetricsProvider<T extends QualifiableNode,O extends QualifiableNode>
-
computeAllMetricsFor
public Map<MetricKey<?>,Double> computeAllMetricsFor(Node node)
Description copied from interface:LanguageMetricsProviderComputes all metrics available on the given node. The returned results may contain Double.NaN as a value.- Specified by:
computeAllMetricsForin 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
-
-