001 /* 002 Copyright (C) 2000 Chr. Clemens Lee <clemens@kclee.com>. 003 004 This file is part of JavaNCSS 005 (http://www.kclee.com/clemens/java/javancss/). 006 007 JavaNCSS is free software; you can redistribute it and/or modify it 008 under the terms of the GNU General Public License as published by the 009 Free Software Foundation; either version 2, or (at your option) any 010 later version. 011 012 JavaNCSS is distributed in the hope that it will be useful, but WITHOUT 013 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 014 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 015 for more details. 016 017 You should have received a copy of the GNU General Public License 018 along with JavaNCSS; see the file COPYING. If not, write to 019 the Free Software Foundation, Inc., 59 Temple Place - Suite 330, 020 Boston, MA 02111-1307, USA. */ 021 022 package javancss; 023 024 /** 025 * Base data class to store all metrics common to packages, objects and functions. 026 * 027 * @author Herv? Boutemy 028 * @version $Id: Metric.java 121 2009-01-17 22:19:45Z hboutemy $ 029 */ 030 public abstract class Metric implements Comparable 031 { 032 public String name = "."; 033 /** Non Commenting Source Statements (NCSS). */ 034 public int ncss = 0; 035 public int javadocs = 0; 036 public int javadocsLn = 0; 037 public int singleLn = 0; 038 public int multiLn = 0; 039 040 public Metric() 041 { 042 super(); 043 } 044 045 public void clear() 046 { 047 name = "."; 048 ncss = 0; 049 javadocs = 0; 050 javadocsLn = 0; 051 singleLn = 0; 052 multiLn = 0; 053 } 054 055 public String toString() { 056 return name; 057 } 058 059 public int compareTo( Object o ) 060 { 061 return name.compareTo( ((Metric)o).name ); 062 } 063 064 public boolean equals( Object o ) 065 { 066 return compareTo( o ) == 0; 067 } 068 069 public int hashCode() 070 { 071 return name.hashCode(); 072 } 073 }