001    package com.hammurapi.reasoning.impl;
002    
003    import java.util.ArrayList;
004    import java.util.Collections;
005    import java.util.List;
006    
007    import com.hammurapi.reasoning.ReasoningException;
008    
009    public class RuleExecutionException extends ReasoningException {
010    
011            private List<Exception> causes;
012    
013            public RuleExecutionException(List<Exception> causes) {
014                    super("There have been "+causes.size()+ " exceptions during rules execution ");
015                    this.causes = Collections.unmodifiableList(new ArrayList<Exception>(causes));
016            }
017            
018            public List<Exception> getCauses() {
019                    return causes;
020            }
021    }