org.hackystat.projectbrowser.page.dailyprojectdata.coupling
Class CouplingData

java.lang.Object
  extended by org.hackystat.projectbrowser.page.dailyprojectdata.coupling.CouplingData
All Implemented Interfaces:
java.io.Serializable

public class CouplingData
extends java.lang.Object
implements java.io.Serializable

Data structure for representing coupling information about a single project. This representation includes the Project, plus the number of classes in the project with coupling in each of five buckets: 0-5, 6-10, 11-15, 16-20, and 20+

Author:
Philip Johnson, Shaoxuan Zhang
See Also:
Serialized Form

Constructor Summary
CouplingData(org.hackystat.sensorbase.resource.projects.jaxb.Project name)
          Creates a new couplingData instance and initializes the buckets to zero.
 
Method Summary
 void addEntry(int couplingCount, org.hackystat.dailyprojectdata.resource.coupling.jaxb.CouplingData data)
          Updates this CouplingData instance with information about the number of couplings for a specific class.
 java.lang.String getBucketCountString(int bucket)
          Returns the current value of the specified bucket as a string.
 int getBucketPercentage(int bucket)
          Returns the bucket value as a percentage of the total number of entries across all buckets.
 java.lang.String getBucketPercentageString(int bucket)
          Returns the bucket percentage as a string.
 int getBucketValue(int bucket)
          Returns the current value of the specified bucket.
 DailyProjectDetailsPanel getPanel(java.lang.String id, int bucket, boolean isCount)
          Returns a details panel containing information about this bucket.
 org.hackystat.sensorbase.resource.projects.jaxb.Project getProject()
          Return the project associated with this data.
 int getTotal()
          Returns the total number of entries across all buckets.
 java.lang.String getTotalString()
          Returns the total number of entries across all buckets as a string.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

CouplingData

public CouplingData(org.hackystat.sensorbase.resource.projects.jaxb.Project name)
Creates a new couplingData instance and initializes the buckets to zero.

Parameters:
name - The name of the Project associated with this instance.
Method Detail

addEntry

public void addEntry(int couplingCount,
                     org.hackystat.dailyprojectdata.resource.coupling.jaxb.CouplingData data)
Updates this CouplingData instance with information about the number of couplings for a specific class.

Parameters:
couplingCount - The number of couplings.
data - The Coupling data.

getBucketValue

public int getBucketValue(int bucket)
Returns the current value of the specified bucket.

Parameters:
bucket - The bucket number, where 0 is the first one and 4 is the last one.
Returns:
The value inside the given bucket.

getTotal

public int getTotal()
Returns the total number of entries across all buckets.

Returns:
The total number of entries.

getTotalString

public java.lang.String getTotalString()
Returns the total number of entries across all buckets as a string.

Returns:
The total number of entries.

getBucketPercentage

public int getBucketPercentage(int bucket)
Returns the bucket value as a percentage of the total number of entries across all buckets.

Parameters:
bucket - The bucket whose percentage is to be returned.
Returns:
The bucket as a percentage.

getBucketCountString

public java.lang.String getBucketCountString(int bucket)
Returns the current value of the specified bucket as a string.

Parameters:
bucket - The bucket number, where 0 is the first one and 4 is the last one.
Returns:
The value inside the given bucket.

getBucketPercentageString

public java.lang.String getBucketPercentageString(int bucket)
Returns the bucket percentage as a string.

Parameters:
bucket - The bucket.
Returns:
Its percentage as a string.

getProject

public org.hackystat.sensorbase.resource.projects.jaxb.Project getProject()
Return the project associated with this data.

Returns:
The project.

getPanel

public DailyProjectDetailsPanel getPanel(java.lang.String id,
                                         int bucket,
                                         boolean isCount)
Returns a details panel containing information about this bucket.

Parameters:
id - The wicket id for this panel.
bucket - The bucket of interest.
isCount - True if the count should be returned, false if percentage.
Returns:
The DailyProjectDetailsPanel instance.