public interface DataFilter
data providers
before passing it to data loaders
.DataProvider
,
DataLoader
Modifier and Type | Method and Description |
---|---|
NamedData |
filter(NamedData original)
Filter the named data.
|
NamedData filter(NamedData original) throws IOException
Filtering is often based on suffix. For example a gzip compressed file will have an original name of the form base.ext.gz when the corresponding uncompressed file will have a filtered name base.ext.
Beware that as the data providers manager
will attempt to pile all filters in a stack as long as their implementation
of this method returns a value different from the original
parameter.
This implies that the filter, must perform some checks to see if it must
be applied or not. If for example there is a need for a deciphering filter
to be applied once to all data, then the filter should for example check
for a suffix in the name
and create a new
filtered NamedData
instance only if the suffix is present,
removing the suffix from the filtered instance. Failing to do so and simply
creating a filtered instance with one deciphering layer without changing the
name would result in an infinite stack of deciphering filters being built, until
a stack overflow or memory exhaustion exception occurs.
original
- original named dataoriginal
if this filter
does not apply to this named dataIOException
- if filtered stream cannot be createdCopyright © 2002-2019 CS Systèmes d'information. All rights reserved.