Package cdc.issues.checks
Class CompositeChecker<O>
- java.lang.Object
-
- cdc.issues.checks.AbstractChecker<O>
-
- cdc.issues.checks.CompositeChecker<O>
-
- Type Parameters:
O- The checked object type.
- All Implemented Interfaces:
cdc.util.debug.Printable
public class CompositeChecker<O> extends AbstractChecker<O>
Specialization ofAbstractCheckerthat aggregates checkers dedicated to the same object type.This checker does nothing by itself, it delegates checks to its components.
- Author:
- Damien Carbonne
-
-
Constructor Summary
Constructors Constructor Description CompositeChecker(SnapshotManager manager, Class<O> objectClass)Creates an empty composite checker.CompositeChecker(SnapshotManager manager, Class<O> objectClass, AbstractChecker<? super O>... components)Creates a composite checker with some components.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected CompositeChecker<O>add(AbstractChecker<? super O> component)Add a component checker to this composite checker.CheckResultcheck(CheckContext context, O object, Location location)Method that must be specialized to check an object.List<AbstractChecker<? super O>>getComponents()booleanisEnabled()voidprint(PrintStream out, int level)StringtoString()-
Methods inherited from class cdc.issues.checks.AbstractChecker
accepts, addStat, check, checkAndStat, checkAndStat, getManager, getObjectClass
-
-
-
-
Constructor Detail
-
CompositeChecker
public CompositeChecker(SnapshotManager manager, Class<O> objectClass)
Creates an empty composite checker.- Parameters:
manager- The manager.objectClass- The object class.
-
CompositeChecker
@SafeVarargs public CompositeChecker(SnapshotManager manager, Class<O> objectClass, AbstractChecker<? super O>... components)
Creates a composite checker with some components.- Parameters:
manager- The manager.objectClass- The object class.components- The components (checkers).
-
-
Method Detail
-
add
protected CompositeChecker<O> add(AbstractChecker<? super O> component)
Add a component checker to this composite checker.- Parameters:
component- The component checker.- Returns:
- This composite checker.
-
getComponents
public final List<AbstractChecker<? super O>> getComponents()
- Returns:
- The components.
-
isEnabled
public final boolean isEnabled()
- Specified by:
isEnabledin classAbstractChecker<O>- Returns:
trueif this checker is enabled.
-
check
public final CheckResult check(CheckContext context, O object, Location location)
Description copied from class:AbstractCheckerMethod that must be specialized to check an object.It is this method responsibility to store detected issues into the associated manager.
- Specified by:
checkin classAbstractChecker<O>- Parameters:
context- The context.object- The object to check.location- The object location.- Returns:
- The check result.
-
print
public void print(PrintStream out, int level)
-
-