org.apache.maven.plugins.enforcer
Class AbstractRequireFiles

java.lang.Object
  extended by org.apache.maven.plugins.enforcer.AbstractStandardEnforcerRule
      extended by org.apache.maven.plugins.enforcer.AbstractRequireFiles
Direct Known Subclasses:
RequireFilesDontExist, RequireFilesExist, RequireFilesSize

public abstract class AbstractRequireFiles
extends AbstractStandardEnforcerRule

Contains the common code to compare an array of files against a requirement.

Author:
Brian Fox

Field Summary
 
Fields inherited from class org.apache.maven.plugins.enforcer.AbstractStandardEnforcerRule
message
 
Constructor Summary
AbstractRequireFiles()
           
 
Method Summary
 void execute(EnforcerRuleHelper helper)
           
 String getCacheId()
          If your rule is cacheable, you must return a unique id when parameters or conditions change that would cause the result to be different.
 boolean isCacheable()
          This tells the system if the results are cacheable at all.
 boolean isResultValid(EnforcerRule cachedRule)
          If the rule is cacheable and the same id is found in the cache, the stored results are passed to this method to allow double checking of the results.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

AbstractRequireFiles

public AbstractRequireFiles()
Method Detail

execute

public void execute(EnforcerRuleHelper helper)
             throws EnforcerRuleException
Throws:
EnforcerRuleException

getCacheId

public String getCacheId()
If your rule is cacheable, you must return a unique id when parameters or conditions change that would cause the result to be different. Multiple cached results are stored based on their id. The easiest way to do this is to return a hash computed from the values of your parameters. If your rule is not cacheable, then the result here is not important, you may return anything.

Returns:
the cache id

isCacheable

public boolean isCacheable()
This tells the system if the results are cacheable at all. Keep in mind that during forked builds and other things, a given rule may be executed more than once for the same project. This means that even things that change from project to project may still be cacheable in certain instances.

Returns:
true if rule is cacheable

isResultValid

public boolean isResultValid(EnforcerRule cachedRule)
If the rule is cacheable and the same id is found in the cache, the stored results are passed to this method to allow double checking of the results. Most of the time this can be done by generating unique ids, but sometimes the results of objects returned by the helper need to be queried. You may for example, store certain objects in your rule and then query them later.

Parameters:
cachedRule - the cached rule
Returns:
true if the stored results are valid for the same id.


Copyright © 2007-2012 The Apache Software Foundation. All Rights Reserved.