package com.constellio.model.utils; import java.util.List; @SuppressWarnings("serial") public class DependencyUtilsRuntimeException extends RuntimeException { public DependencyUtilsRuntimeException(String message, Throwable cause) { super(message, cause); } public DependencyUtilsRuntimeException(String message) { super(message); } public DependencyUtilsRuntimeException(Throwable cause) { super(cause); } @SuppressWarnings("rawtypes") public static class CyclicDependency extends DependencyUtilsRuntimeException { private final List cyclicDependencies; public CyclicDependency(List cyclicDependencies) { super(toMessage(cyclicDependencies)); this.cyclicDependencies = cyclicDependencies; } private static String toMessage(List cyclicDependencies) { StringBuilder sb = new StringBuilder("There is a cyclic dependency : "); for (Object cyclicDependency : cyclicDependencies) { sb.append(cyclicDependency.toString()); sb.append("->"); } sb.append(cyclicDependencies.get(0).toString()); return sb.toString(); } @SuppressWarnings("unchecked") public <T> List<T> getCyclicDependencies() { return cyclicDependencies; } } }