package jdepend.knowledge.domainanalysis; import java.io.Serializable; import java.util.ArrayList; import java.util.List; public class AdviseInfo implements Serializable { private static final long serialVersionUID = 3320461453807909958L; private String info; private String desc; private List<String> componentNames = new ArrayList<String>(); private transient String componentNameInfo; public AdviseInfo() { super(); } public AdviseInfo(String info) { super(); this.info = info; } public String getDesc() { return desc; } public void setDesc(String desc) { this.desc = desc; } public String getComponentNameInfo() { if (componentNameInfo == null) { StringBuilder info = new StringBuilder(); for (String componentName : componentNames) { info.append(componentName); info.append(","); } info.delete(info.length() - 1, info.length()); componentNameInfo = info.toString(); } return componentNameInfo; } public List<String> getComponentNames() { return componentNames; } public void addComponentName(String componentName) { if (!this.componentNames.contains(componentName)) { this.componentNames.add(componentName); } } protected String calInfo() { StringBuilder info = new StringBuilder(); info.append(desc); info.append(this.getComponentNameInfo()); return info.toString(); } @Override public String toString() { if (this.info == null) { this.info = this.calInfo(); } return this.info; } }