package jdepend.knowledge.architectpattern; import java.util.ArrayList; import java.util.List; import jdepend.framework.exception.JDependException; import jdepend.knowledge.architectpattern.identifyer.CommonalityLayerIdentifyer; import jdepend.knowledge.architectpattern.identifyer.CoreComponentIdentifyer; import jdepend.model.result.AnalysisResult; public class ArchitectPatternMgr { private List<ArchitectPatternIdentifyer> identifyers; private static ArchitectPatternMgr mgr = new ArchitectPatternMgr(); private ArchitectPatternMgr() { this.identifyers = new ArrayList<ArchitectPatternIdentifyer>(); this.identifyers.add(new CoreComponentIdentifyer()); this.identifyers.add(new CommonalityLayerIdentifyer()); } public static ArchitectPatternMgr getInstance() { return mgr; } public ArchitectPatternResult identify(AnalysisResult result) throws JDependException { ArchitectPatternWorker worker = new ArchitectPatternWorker(); for (ArchitectPatternIdentifyer identifyer : this.identifyers) { identifyer.setWorker(worker); identifyer.identify(result); } return new ArchitectPatternResult(worker.getCores(), worker.getLayers()); } }