Class AbstractFilter<T>
java.lang.Object
org.codehaus.mojo.jaxb2.shared.filters.AbstractFilter<T>
- All Implemented Interfaces:
Filter<T>
- Direct Known Subclasses:
AbstractPatternFilter,FileFilterAdapter
Abstract Filter implementation which handles separating
null candidate values from non-null
ones, and delegates processing to concrete subclass implementations. Also, this AbstractFilter
implementation provides a standard for emitting Filter debug statements (i.e. for toString() calls).- Since:
- 2.0
- Author:
- Lennart Jörelid, jGuru Europe AB
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected org.apache.maven.plugin.logging.Logprotected static final StringInitial-line indent for human-readable toString() rendering. -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedConvenience constructor which creates an AbstractFilter which does not process null values. -
Method Summary
Modifier and TypeMethodDescriptionfinal booleanMethod that is invoked to determine if a candidate instance should be accepted or not.protected final voidaddDelayedLogMessage(String logLevel, String message) Adds a log message to be emitted when this AbstractFilter is initialized (and the Log is made available to it).final voidinitialize(org.apache.maven.plugin.logging.Log log) Initializes this Filter, and assigns the supplied Log for use by this Filter.booleanprotected abstract booleanonCandidate(T nonNullCandidate) Method that is invoked to determine if a candidate instance should be accepted or not.protected voidOverride this method to perform some custom action after standard initialization is complete.protected booleanOverride this to perform an action other than debug logging whenever this AbstractFilter receives a null candidate.protected final voidsetProcessNullValues(boolean processNullValues) Assigns theprocessNullValuesproperty which indicates if this AbstractFilter should process null values or not.toString()protected final voidvalidateDiSetterCalledBeforeInitialization(String setterPropertyName) Validator method which should be called in a DI setter method to ensure that this AbstractFilter has not yet been initialized.
-
Field Details
-
TOSTRING_INDENT
Initial-line indent for human-readable toString() rendering.- See Also:
-
log
protected org.apache.maven.plugin.logging.Log log
-
-
Constructor Details
-
AbstractFilter
protected AbstractFilter()Convenience constructor which creates an AbstractFilter which does not process null values.
-
-
Method Details
-
validateDiSetterCalledBeforeInitialization
Validator method which should be called in a DI setter method to ensure that this AbstractFilter has not yet been initialized.- Parameters:
setterPropertyName- The name of the property to inject.
-
addDelayedLogMessage
Adds a log message to be emitted when this AbstractFilter is initialized (and the Log is made available to it).- Parameters:
logLevel- The logLevel of the message to emit.message- The message to emit.
-
setProcessNullValues
protected final void setProcessNullValues(boolean processNullValues) Assigns theprocessNullValuesproperty which indicates if this AbstractFilter should process null values or not.- Parameters:
processNullValues-trueto indicate that this AbstractFilter should process null values.
-
initialize
public final void initialize(org.apache.maven.plugin.logging.Log log) Initializes this Filter, and assigns the supplied Log for use by this Filter.- Specified by:
initializein interfaceFilter<T>- Parameters:
log- The non-null Log which should be used by this Filter to emit log messages.
-
isInitialized
public boolean isInitialized()- Specified by:
isInitializedin interfaceFilter<T>- Returns:
trueif this Filter has been properly initialized (by a call to theinitializemethod).
-
onInitialize
protected void onInitialize()Override this method to perform some custom action after standard initialization is complete. Default implementation does nothing, but the log is non-null and ready for use. -
accept
Method that is invoked to determine if a candidate instance should be accepted or not. Implementing classes should be prepared to handle
nullcandidate objects.- Specified by:
acceptin interfaceFilter<T>- Parameters:
candidate- The candidate that should be tested for acceptance by this Filter.- Returns:
trueif the candidate is accepted by this Filter andfalseotherwise.- Throws:
IllegalStateException- if this Filter is not initialized by a call to the initialize method before calling this matchAtLeastOnce method.
-
onNullCandidate
protected boolean onNullCandidate()Override this to perform an action other than debug logging whenever this AbstractFilter receives a null candidate. You also need to override this implementation if you want to return a value other thanfalse. There is no point in callingsuper.onNullCandidate()whenever this method is overridden.- Returns:
false- implying that AbstractFilters will not matchAtLeastOncenulls by default.
-
onCandidate
Method that is invoked to determine if a candidate instance should be accepted or not.
- Parameters:
nonNullCandidate- The candidate that should be tested for acceptance by this Filter. Never null.- Returns:
trueif the candidate is accepted by this Filter andfalseotherwise.
-
toString
-