package husacct.analyse.domain.famix;
import husacct.analyse.abstraction.dto.ClassDTO;
class FamixClass extends FamixDecompositionEntity {
public String sourceFilePath = "";
public int linesOfCode = 0;
public boolean isInterface = false;
public boolean isInnerClass = false;
public boolean isEnumeration = false;
public boolean isAbstract = false;
public boolean hasInnerClasses = false;
public String belongsToClass = null;
@Override
public boolean equals(Object object) {
return object instanceof FamixClass && super.uniqueName.equals(((FamixClass) object).uniqueName);
}
public ClassDTO getDTO() {
ClassDTO cDTO = new ClassDTO(name, uniqueName, visibility, external, belongsToPackage, sourceFilePath, linesOfCode,
isInterface, isInnerClass, isEnumeration, isAbstract, hasInnerClasses, belongsToClass);
return cDTO;
}
@Override
public String toString() {
String classRepresentation = "";
classRepresentation += "\nName: " + super.name;
classRepresentation += "\nBelongs to Package: " + belongsToPackage;
classRepresentation += "\nSourceFilePath: " + sourceFilePath + ", LOC: " + linesOfCode;
if (isInterface) {
classRepresentation += "\nisInterface: true" + ", isEnumeration: " + isEnumeration;
} else {
classRepresentation += "\nisInterface: false";
}
if (isAbstract) {
classRepresentation += "\nisAbstract: true";
} else {
classRepresentation += "\nisAbstract: false";
}
classRepresentation += "\nIs Inner Class: ";
if (isInnerClass) {
classRepresentation += "true";
} else {
classRepresentation += "false";
}
if (isInnerClass) {
classRepresentation += "\nBelongs to class: " + belongsToClass;
}
classRepresentation += "\n Visibillity: " + super.visibility;
classRepresentation += "\n\n";
return classRepresentation;
}
}