org.sonar.plugins.php.phpdepend.xml.ClassNode Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of sonar-php-plugin Show documentation
Show all versions of sonar-php-plugin Show documentation
Enables analysis of PHP projects into Sonar.
The newest version!
/*
* Sonar PHP Plugin
* Copyright (C) 2010 Sonar PHP Plugin
* [email protected]
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 3 of the License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02
*/
package org.sonar.plugins.php.phpdepend.xml;
import java.util.ArrayList;
import java.util.List;
import com.thoughtworks.xstream.annotations.XStreamAlias;
import com.thoughtworks.xstream.annotations.XStreamAsAttribute;
import com.thoughtworks.xstream.annotations.XStreamImplicit;
/**
* The Class representing a phpdepend report file class node.
*/
@XStreamAlias("class")
public final class ClassNode {
/** The code lines number. */
@XStreamAsAttribute
@XStreamAlias("ncloc")
private double codeLinesNumber;
/** The lines number. */
@XStreamAsAttribute
@XStreamAlias("loc")
private double linesNumber;
/** The comment line number. */
@XStreamAsAttribute
@XStreamAlias("cloc")
private double commentLineNumber;
/** The complexity. */
@XStreamAsAttribute
@XStreamAlias("wmc")
private double complexity;
/** The method number. */
@XStreamAsAttribute
@XStreamAlias("nom")
private double methodNumber;
/** The methodes. */
@XStreamImplicit
private List methodes;
/**
* Instantiates a new class node.
*
* @param codeLinesNumber
* the code lines number
* @param linesNumber
* the lines number
* @param complexity
* the complexity
* @param methodNumber
* the method number
* @param methodes
* the methodes
*/
public ClassNode(final double codeLinesNumber, final double commentLineNumber, final double linesNumber, final double complexity,
final double methodNumber, final List methodes) {
super();
this.codeLinesNumber = codeLinesNumber;
this.commentLineNumber = commentLineNumber;
this.complexity = complexity;
this.methodNumber = methodNumber;
this.methodes = methodes;
this.linesNumber = linesNumber;
}
/**
* Adds the method.
*
* @param methode
* the methode
*/
public void addMethod(final MethodNode methode) {
if (methodes == null) {
methodes = new ArrayList();
}
methodes.add(methode);
}
/**
* Gets the code lines number.
*
* @return the code lines number
*/
public double getCodeLinesNumber() {
return codeLinesNumber;
}
/**
* Gets the comment line number.
*
* @return the comment line number
*/
public double getCommentLineNumber() {
return commentLineNumber;
}
/**
* Gets the complexity.
*
* @return the complexity
*/
public double getComplexity() {
return complexity;
}
/**
* Gets the lines number.
*
* @return the lines number
*/
public double getLinesNumber() {
return linesNumber;
}
/**
* Gets the methodes.
*
* @return the methodes
*/
public List getMethodes() {
return methodes;
}
/**
* Gets the method number.
*
* @return the method number
*/
public double getMethodNumber() {
return methodNumber;
}
/**
* Sets the classes.
*
* @param methodes
* the new classes
*/
public void setClasses(final List methodes) {
this.methodes = methodes;
}
/**
* Sets the code lines number.
*
* @param codeLinesNumber
* the new code lines number
*/
public void setCodeLinesNumber(final double codeLinesNumber) {
this.codeLinesNumber = codeLinesNumber;
}
/**
* Sets the comment line number.
*
* @param commentLineNumber
* the new comment line number
*/
public void setCommentLineNumber(final double commentLineNumber) {
this.commentLineNumber = commentLineNumber;
}
/**
* Sets the complexity.
*
* @param complexity
* the new complexity
*/
public void setComplexity(final double complexity) {
this.complexity = complexity;
}
/**
* Sets the lines number.
*
* @param linesNumber
* the new lines number
*/
public void setLinesNumber(final double linesNumber) {
this.linesNumber = linesNumber;
}
/**
* Sets the method number.
*
* @param methodNumber
* the new method number
*/
public void setMethodNumber(final double methodNumber) {
this.methodNumber = methodNumber;
}
}