net.shibboleth.utilities.java.support.logic
Class TransformAndCheckFunction<T>

java.lang.Object
  extended by net.shibboleth.utilities.java.support.logic.TransformAndCheckFunction<T>
Type Parameters:
T - type of input accepted by this function
All Implemented Interfaces:
com.google.common.base.Function<T,com.google.common.base.Optional<? extends T>>

@ThreadSafe
public class TransformAndCheckFunction<T>
extends Object
implements com.google.common.base.Function<T,com.google.common.base.Optional<? extends T>>

A Function that receives an input, runs it through a pre-processor and checks the result against a constraint. If the constraint matches that value is returned, wrapped in an Optional. If the constraint is not met and failOnConstraintViolation is false then Optional.absent() is returned. If the constraint is not met and failOnConstraintViolation is true then an IllegalArgumentException is thrown.


Field Summary
private  com.google.common.base.Predicate<T> constraint
          A constraint which must be met in order for an input to be valid.
private  boolean failOnConstraintViolation
          Whether input that does not meet the constraint should cause an error or just be silently dropped.
private  com.google.common.base.Function<T,? extends T> preprocessor
          A function applied to input prior to being constraint checked and accepted.
 
Constructor Summary
TransformAndCheckFunction(com.google.common.base.Function<T,? extends T> inputPreprocessor, com.google.common.base.Predicate<T> inputConstraint, boolean failOnInputConstraintViolation)
          Constructor.
 
Method Summary
 com.google.common.base.Optional<? extends T> apply(T input)
          
 boolean equals(Object obj)
          
 int hashCode()
          
 String toString()
          
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

preprocessor

private final com.google.common.base.Function<T,? extends T> preprocessor
A function applied to input prior to being constraint checked and accepted.


constraint

private final com.google.common.base.Predicate<T> constraint
A constraint which must be met in order for an input to be valid.


failOnConstraintViolation

private final boolean failOnConstraintViolation
Whether input that does not meet the constraint should cause an error or just be silently dropped.

Constructor Detail

TransformAndCheckFunction

public TransformAndCheckFunction(@Nonnull
                                 com.google.common.base.Function<T,? extends T> inputPreprocessor,
                                 @Nonnull
                                 com.google.common.base.Predicate<T> inputConstraint,
                                 boolean failOnInputConstraintViolation)
Constructor.

Parameters:
inputPreprocessor - function applied to input prior to being constraint checked and accepted
inputConstraint - constraint which must be met in order for an input to be valid
failOnInputConstraintViolation - whether input that does not meet the constraint should cause an error or just be ignored
Method Detail

apply

public com.google.common.base.Optional<? extends T> apply(T input)

Specified by:
apply in interface com.google.common.base.Function<T,com.google.common.base.Optional<? extends T>>

equals

public boolean equals(Object obj)

Specified by:
equals in interface com.google.common.base.Function<T,com.google.common.base.Optional<? extends T>>
Overrides:
equals in class Object

hashCode

public int hashCode()

Overrides:
hashCode in class Object

toString

public String toString()

Overrides:
toString in class Object


Copyright © 1999-2012. All Rights Reserved.