1 /***
2 * Copyright 2007 the original author or authors.
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * For more information visit
11 * http://72miles.com and
12 * http://architecturerules.googlecode.com/svn/docs/index.html
13 */
14
15 package com.seventytwomiles.architecturerules.services;
16
17
18 import com.seventytwomiles.architecturerules.exceptions.CyclicRedundancyException;
19
20
21
22 /***
23 * <p>Interface for the CyclicRedundancyService to provide a contract for
24 * implementations to adhere to. This service provides the functionality
25 * necessary to check for cyclic dependencies.</p>
26 *
27 * @author mikenereson
28 */
29 public interface CyclicRedundancyService {
30
31
32 /***
33 * <p>Check all the packages in all of the source directories and search for
34 * any cyclic redundancy</p>
35 *
36 * @throws CyclicRedundancyException when cyclic redundancy is found
37 */
38 void performCyclicRedundancyCheck() throws CyclicRedundancyException;
39 }