@Override public void setNext(FilterAction next) { checkNextInputAndOutputTypes(next, Document.class, Document.class); Preconditions.checkArgument(next.getSupportedInputType().isAssignableFrom(Document.class)); Preconditions.checkArgument(next.getSupportedOutputType().isAssignableFrom(Document.class)); this.next = next; }
@Override public void setNext(FilterAction next) { checkNextInputAndOutputTypes(next, Document.class, Document.class); Preconditions.checkArgument(next.getSupportedInputType().isAssignableFrom(Document.class)); Preconditions.checkArgument(next.getSupportedOutputType().isAssignableFrom(Document.class)); this.next = next; }
protected static final void checkNextInputAndOutputTypes(FilterAction next, Class<?> inputType, Class<?> outputType) throws FilterConfigurationException { if (!next.getSupportedInputType().isAssignableFrom(inputType)) { throw new FilterConfigurationException(String.format("inputTypes are not compatible %s (%s - %s)", next, next.getSupportedInputType(), inputType)); } if (!next.getSupportedOutputType().isAssignableFrom(outputType)) { throw new FilterConfigurationException(String.format("outputTypes are not compatible (%s - %s)", next.getSupportedOutputType(), outputType)); } } }