Class JavaMetrics


  • public final class JavaMetrics
    extends Object
    User bound façade of the Metrics Framework. Provides a uniform interface for the calculation of metrics.
    Author:
    Clément Fournier
    • Method Detail

      • get

        public static double get​(net.sourceforge.pmd.lang.metrics.MetricKey<ASTAnyTypeDeclaration> key,
                                 ASTAnyTypeDeclaration node)
        Computes the standard value of the metric identified by its code on a class AST node.
        Parameters:
        key - The key identifying the metric to be computed
        node - The node on which to compute the metric
        Returns:
        The value of the metric, or Double.NaN if the value couldn't be computed
      • get

        public static double get​(net.sourceforge.pmd.lang.metrics.MetricKey<ASTAnyTypeDeclaration> key,
                                 ASTAnyTypeDeclaration node,
                                 net.sourceforge.pmd.lang.metrics.MetricOptions options)
        Computes a metric identified by its code on a class AST node, possibly selecting a variant with the MetricOptions parameter.
        Parameters:
        key - The key identifying the metric to be computed
        node - The node on which to compute the metric
        options - The options of the metric
        Returns:
        The value of the metric, or Double.NaN if the value couldn't be computed
      • get

        public static double get​(net.sourceforge.pmd.lang.metrics.MetricKey<MethodLikeNode> key,
                                 MethodLikeNode node)
        Computes the standard version of the metric identified by the key on a operation AST node.
        Parameters:
        key - The key identifying the metric to be computed
        node - The node on which to compute the metric
        Returns:
        The value of the metric, or Double.NaN if the value couldn't be computed
      • get

        public static double get​(net.sourceforge.pmd.lang.metrics.MetricKey<MethodLikeNode> key,
                                 MethodLikeNode node,
                                 net.sourceforge.pmd.lang.metrics.MetricOptions options)
        Computes a metric identified by its key on a operation AST node.
        Parameters:
        key - The key identifying the metric to be computed
        node - The node on which to compute the metric
        options - The options of the metric
        Returns:
        The value of the metric, or Double.NaN if the value couldn't be computed
      • get

        public static double get​(net.sourceforge.pmd.lang.metrics.MetricKey<MethodLikeNode> key,
                                 ASTAnyTypeDeclaration node,
                                 net.sourceforge.pmd.lang.metrics.ResultOption resultOption)
        Compute the sum, average, or highest value of the standard operation metric on all operations of the class node. The type of operation is specified by the ResultOption parameter.
        Parameters:
        key - The key identifying the metric to be computed
        node - The node on which to compute the metric
        resultOption - The result option to use
        Returns:
        The value of the metric, or Double.NaN if the value couldn't be computed
      • get

        public static double get​(net.sourceforge.pmd.lang.metrics.MetricKey<MethodLikeNode> key,
                                 ASTAnyTypeDeclaration node,
                                 net.sourceforge.pmd.lang.metrics.MetricOptions options,
                                 net.sourceforge.pmd.lang.metrics.ResultOption resultOption)
        Compute the sum, average, or highest value of the operation metric on all operations of the class node. The type of operation is specified by the ResultOption parameter.
        Parameters:
        key - The key identifying the metric to be computed
        node - The node on which to compute the metric
        resultOption - The result option to use
        options - The version of the metric
        Returns:
        The value of the metric, or Double.NaN if the value couldn't be computed